<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Condition Type FM in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-type-fm/m-p/3308747#M792452</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check the program below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zvadin01 LINE-COUNT 100 MESSAGE-ID vn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Definition of tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;TABLES: komk    , "Communication Header for Pricing&lt;/P&gt;&lt;P&gt;        komp    , "Pricing Communication Item&lt;/P&gt;&lt;P&gt;        komvd   , "Price Determination Communication-&lt;/P&gt;&lt;P&gt;                  "Cond.Record for Printing&lt;/P&gt;&lt;P&gt;        vbco3   , "Sales Doc.Access Methods: Key Fields:&lt;/P&gt;&lt;P&gt;                  "Document Printing&lt;/P&gt;&lt;P&gt;        vbdkr   , "Document Header View for Billing&lt;/P&gt;&lt;P&gt;        vbrk    , "Billing Document: Header Data&lt;/P&gt;&lt;P&gt;        vbdpr   , "Document Item View for Billing&lt;/P&gt;&lt;P&gt;        sadr    , "Address Management: Company Data&lt;/P&gt;&lt;P&gt;        tvko    , "Organizational Unit: Sales Organizations&lt;/P&gt;&lt;P&gt;        t001    , "Company Codes&lt;/P&gt;&lt;P&gt;        t001g   , "Company Code-Dependent Standard Texts&lt;/P&gt;&lt;P&gt;        t012    , "House Banks&lt;/P&gt;&lt;P&gt;        t012k   , "House Bank Accounts&lt;/P&gt;&lt;P&gt;        knbk    , "Customer Master (Bank Details)&lt;/P&gt;&lt;P&gt;        bnka    , "Bank master record&lt;/P&gt;&lt;P&gt;        kna1    , "General Data in Customer Master&lt;/P&gt;&lt;P&gt;        knb1    , "Customer Master (Company Code)&lt;/P&gt;&lt;P&gt;        usr21   , "Assign user name address key&lt;/P&gt;&lt;P&gt;        adrp    , "Persons (Business Address Services)&lt;/P&gt;&lt;P&gt;        komv    , "Pricing Communications-Condition Record&lt;/P&gt;&lt;P&gt;        vbdka   , "Document Header View for Inquiry,Quotation,Order&lt;/P&gt;&lt;P&gt;        vbdpa   , "Document Item View for Inquiries,Quotation,Order&lt;/P&gt;&lt;P&gt;        zcngts  . "GTS data to SAP for Paul Wurth China&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Additional definitions of tables for general issues&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;INCLUDE rvadtabl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Definition of internal tables&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpr OCCURS 100.      "Internal table for items&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpr.&lt;/P&gt;&lt;P&gt;DATA: END OF tvbdpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomv OCCURS 50.        "Pricing Communications-&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komv.        "Condition Record&lt;/P&gt;&lt;P&gt;DATA: END OF tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomvd OCCURS 50.       "Price Determination&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komvd.       "Communication-Cond.Record for&lt;/P&gt;&lt;P&gt;DATA: END OF tkomvd.                   "Printing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF hkomvd OCCURS 50.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komvd.&lt;/P&gt;&lt;P&gt;DATA: END OF hkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpa OCCURS 0.        "Internal table for SO items&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpa.&lt;/P&gt;&lt;P&gt;DATA: END OF tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF text OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE tline.&lt;/P&gt;&lt;P&gt;DATA: END OF text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: da_mess LIKE vbfs OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gs_finaltb,&lt;/P&gt;&lt;P&gt;         docno(20)  TYPE c, "Invoice Number&lt;/P&gt;&lt;P&gt;         quant(4)   TYPE c, "Line Item Quantity&lt;/P&gt;&lt;P&gt;         kunrg(10)  TYPE c, "Customer Number&lt;/P&gt;&lt;P&gt;         cunam(100) TYPE c, "Customer name&lt;/P&gt;&lt;P&gt;         cureg(20)  TYPE c, "Customer Registration Number&lt;/P&gt;&lt;P&gt;         cuadd(80)  TYPE c, "Customer Address&lt;/P&gt;&lt;P&gt;         cubnk(180) TYPE c, "Customer Bank, Account Number&lt;/P&gt;&lt;P&gt;         remrk(160) TYPE c, "PO number and SO number&lt;/P&gt;&lt;P&gt;         isuby(40)  TYPE c, "Creater of invoice&lt;/P&gt;&lt;P&gt;         chkby(40)  TYPE c, "Invoice checker (Leave blank)&lt;/P&gt;&lt;P&gt;         rcvby(40)  TYPE c, "Invoice Receiver (Leave blank)&lt;/P&gt;&lt;P&gt;         ltnam(80)  TYPE c, "List trade name constant as ######&lt;/P&gt;&lt;P&gt;         bdate(8)   TYPE c, "Bill Date (Leave Blank)&lt;/P&gt;&lt;P&gt;         bukrs(4)   TYPE c, "Company Code&lt;/P&gt;&lt;P&gt;         hobnk(80)  TYPE c, "House bank Company&lt;/P&gt;&lt;P&gt;         coadd(80)  TYPE c, "Company Address&lt;/P&gt;&lt;P&gt;         mdesc(60)  TYPE c, "Material Description&lt;/P&gt;&lt;P&gt;         munit(16)  TYPE c, "Unit of Measure&lt;/P&gt;&lt;P&gt;         mtype(35)  TYPE c, "Material Type&lt;/P&gt;&lt;P&gt;         mqnty(17)  TYPE c, "Material Quantity&lt;/P&gt;&lt;P&gt;         ntamt(20)  TYPE c, "Net Amount&lt;/P&gt;&lt;P&gt;         txrat(15)  TYPE c, "Tax Rate&lt;/P&gt;&lt;P&gt;         txamt(20)  TYPE c, "Tax Amount&lt;/P&gt;&lt;P&gt;         gtxit(4)   TYPE c, "Goods Tax Items (Leave blank)&lt;/P&gt;&lt;P&gt;         ndsam(20)  TYPE c, "Net discount amount (Leave blank)&lt;/P&gt;&lt;P&gt;         txamd(20)  TYPE c, "Tax amount discount (Leave blank)&lt;/P&gt;&lt;P&gt;         dsrat(7)   TYPE c, "Discount Rate (Leave blank)&lt;/P&gt;&lt;P&gt;         price(20)  TYPE c, "Unit Price&lt;/P&gt;&lt;P&gt;         prway(1)   TYPE c, "Pricing way constant aa 1&lt;/P&gt;&lt;P&gt;         gtdat(8)   TYPE c, "GTS Date for Invoice (Leave blank)&lt;/P&gt;&lt;P&gt;         gtcod(20)  TYPE c, "GTS Invoice Code (Leave blank)&lt;/P&gt;&lt;P&gt;         gtinv(20)  TYPE c, "GTS Invoice Reference Number (Leave blank)&lt;/P&gt;&lt;P&gt;         gtbas(20)  TYPE c, "GTS Calculated base amount (Leave blank)&lt;/P&gt;&lt;P&gt;         gttax(20)  TYPE c, "GTS Calculated tax amount (Leave blank)&lt;/P&gt;&lt;P&gt;         gtnet(20)  TYPE c, "GTS Calculated net amount (Leave blank)&lt;/P&gt;&lt;P&gt;         invty(1)   TYPE c, "Invoice type&lt;/P&gt;&lt;P&gt;       END OF gs_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_finaltb TYPE STANDARD TABLE OF gs_finaltb,&lt;/P&gt;&lt;P&gt;      wa_finaltb TYPE gs_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc1.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc2.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc3.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc4.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tfpltdr OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE fpltdr.&lt;/P&gt;&lt;P&gt;DATA: END   OF tfpltdr.&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Definition of internal variables&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;DATA: retcode   LIKE sy-subrc.         "Returncode&lt;/P&gt;&lt;P&gt;DATA: nast_anzal LIKE nast-anzal.      "Number of outputs (Orig. + Cop.)&lt;/P&gt;&lt;P&gt;DATA: xscreen(1) TYPE c.               "Output on printer or screen&lt;/P&gt;&lt;P&gt;DATA: pr_kappl(01)   TYPE c VALUE 'V'. "Application for pricing&lt;/P&gt;&lt;P&gt;DATA: print_mwskz.                     "Mehrwertsteuer-Kz drucken&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: cust_banka   LIKE adrc-addrnumber,   "Customer bank address no.&lt;/P&gt;&lt;P&gt;      hous_banka   LIKE adrc-addrnumber,   "House Bank Address number&lt;/P&gt;&lt;P&gt;      amount       LIKE komv-kwert,        "Amount&lt;/P&gt;&lt;P&gt;      w_cunit(10),                         "Chinese unit&lt;/P&gt;&lt;P&gt;      w_case(1)    TYPE c,                 "Case value for cancel inv&lt;/P&gt;&lt;P&gt;      w_refdoc(16) TYPE c,                 "Reference Document number&lt;/P&gt;&lt;P&gt;      w_xblnr      LIKE vbrk-vbeln,        "Reference Document number&lt;/P&gt;&lt;P&gt;      itqty(13) TYPE c.             "Order Quantity&lt;/P&gt;&lt;P&gt;*data for access to central address maintenance&lt;/P&gt;&lt;P&gt;INCLUDE sdzavdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FORMS START&lt;/STRONG&gt;*********************************************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Standard Routine ENTRY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM entry USING return_code us_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR retcode.&lt;/P&gt;&lt;P&gt;  xscreen = us_screen.&lt;/P&gt;&lt;P&gt;  PERFORM processing USING us_screen.&lt;/P&gt;&lt;P&gt;  CASE retcode.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      return_code = 0.&lt;/P&gt;&lt;P&gt;    WHEN 3.&lt;/P&gt;&lt;P&gt;      return_code = 3.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      return_code = 1.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ENTRY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Customer Entry-Routines&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Customized Routine PROCESSING&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM processing USING proc_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_data_predoc_sales.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM f_get_add_data.&lt;/P&gt;&lt;P&gt;  PERFORM f_map_header.&lt;/P&gt;&lt;P&gt;  PERFORM item_print.&lt;/P&gt;&lt;P&gt;  PERFORM f_post_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "PROCESSING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      SAP STANDARD-SUBROUTINES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      General provision of data for the form&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv = tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR komk.&lt;/P&gt;&lt;P&gt;  CLEAR komp.&lt;/P&gt;&lt;P&gt;  CLEAR nast_anzal.      "Clear aux. variable for number of outputs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF nast-objky+10(6) NE space.&lt;/P&gt;&lt;P&gt;    vbco3-vbeln = nast-objky+16(10).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    vbco3-vbeln = nast-objky.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbco3-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  vbco3-spras = nast-spras.&lt;/P&gt;&lt;P&gt;  vbco3-kunde = nast-parnr.&lt;/P&gt;&lt;P&gt;  vbco3-parvw = nast-parvw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Provision for Billing Document Print&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'RV_BILLING_PRINT_VIEW'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comwa                        = vbco3&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      kopf                         = vbdkr&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pos                          = tvbdpr&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      terms_of_payment_not_in_t052 = 1&lt;/P&gt;&lt;P&gt;      error_message                = 5&lt;/P&gt;&lt;P&gt;      OTHERS                       = 4.&lt;/P&gt;&lt;P&gt;  IF NOT sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 1.&lt;/P&gt;&lt;P&gt;      syst-msgty = 'I'.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Sender Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sender.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Price Print Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_header_prices.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Reference document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_ref_doc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_ITEM_PRICES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the price data for the item is fetched from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      the database.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_item_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: komp,&lt;/P&gt;&lt;P&gt;         tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF komk-knumv NE vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    CLEAR komk.&lt;/P&gt;&lt;P&gt;    komk-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    komk-kalsm = vbdkr-kalsm.&lt;/P&gt;&lt;P&gt;    komk-fkart = vbdkr-fkart.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    IF vbdkr-kappl NE space.&lt;/P&gt;&lt;P&gt;      komk-kappl = vbdkr-kappl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdkr-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdkr-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdkr-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdkr-spart.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdkr-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdkr-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdkr-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdkr-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdkr-kurrf_dat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  komp-kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  komp-kursk = vbdpr-kursk.&lt;/P&gt;&lt;P&gt;  komp-kursk_dat = vbdpr-kursk_dat.&lt;/P&gt;&lt;P&gt;  IF vbdkr-vbtyp CA 'HKNOT6'.&lt;/P&gt;&lt;P&gt;    IF  vbdpr-shkzg CA ' A'.&lt;/P&gt;&lt;P&gt;      komp-shkzg = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF  vbdpr-shkzg CA 'BX'.&lt;/P&gt;&lt;P&gt;      komp-shkzg = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_ITEM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comm_head_i = komk&lt;/P&gt;&lt;P&gt;      comm_item_i = komp&lt;/P&gt;&lt;P&gt;      language    = nast-spras&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      comm_head_e = komk&lt;/P&gt;&lt;P&gt;      comm_item_e = komp&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv       = tkomv&lt;/P&gt;&lt;P&gt;      tkomvd      = tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_ITEM_PRICES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_HEADER_PRICES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the price data for the header is fetched from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      the database.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_header_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF komk-knumv NE vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    CLEAR komk.&lt;/P&gt;&lt;P&gt;    komk-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    komk-kalsm = vbdkr-kalsm.&lt;/P&gt;&lt;P&gt;    komk-fkart = vbdkr-fkart.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    IF vbdkr-kappl NE space.&lt;/P&gt;&lt;P&gt;      komk-kappl = vbdkr-kappl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdkr-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdkr-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-knuma = vbdkr-knuma.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdkr-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdkr-spart.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdkr-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdkr-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdkr-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdkr-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdkr-kurrf_dat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_HEAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comm_head_i = komk&lt;/P&gt;&lt;P&gt;      language    = nast-spras&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      comm_head_e = komk&lt;/P&gt;&lt;P&gt;      comm_mwskz  = print_mwskz&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv       = tkomv&lt;/P&gt;&lt;P&gt;      tkomvd      = hkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_HEADER_PRICES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  get_ref_doc_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ref doc data for cancellation invoice&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_ref_doc_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdkr-fkart = 'YCSC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: vbrk, w_refdoc, w_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  cancelled invoice number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    w_refdoc = vbdkr-xblnr.&lt;/P&gt;&lt;P&gt;    CONDENSE w_refdoc.&lt;/P&gt;&lt;P&gt;    w_xblnr = w_refdoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT w_xblnr IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM vbrk&lt;/P&gt;&lt;P&gt;      WHERE vbeln = w_xblnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create case&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF vbrk-fkdat IS INITIAL.&lt;/P&gt;&lt;P&gt;      w_case  = '0'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF vbrk-fkdat&lt;EM&gt;4(2) = vbdkr-fkdat&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        w_case = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        w_case = '2'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      data selection for GTS ztable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE *&lt;/P&gt;&lt;P&gt;        FROM zcngts&lt;/P&gt;&lt;P&gt;        WHERE vbeln = vbrk-vbeln.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_case = '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_ref_doc_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM item_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Clear final work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR wa_finaltb.&lt;/P&gt;&lt;P&gt;    vbdpr = tvbdpr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Item Prices&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM get_item_prices.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Map Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_map_item.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Append line item information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND wa_finaltb TO i_finaltb.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PROTOCOL_UPDATE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      The messages are collected for the processing protocol.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM protocol_update.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK xscreen = space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'NAST_PROTOCOL_UPDATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      msg_arbgb = syst-msgid&lt;/P&gt;&lt;P&gt;      msg_nr    = syst-msgno&lt;/P&gt;&lt;P&gt;      msg_ty    = syst-msgty&lt;/P&gt;&lt;P&gt;      msg_v1    = syst-msgv1&lt;/P&gt;&lt;P&gt;      msg_v2    = syst-msgv2&lt;/P&gt;&lt;P&gt;      msg_v3    = syst-msgv3&lt;/P&gt;&lt;P&gt;      msg_v4    = syst-msgv4&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS    = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "PROTOCOL_UPDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SENDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine determines the address of the sender (Table VKO)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM tvko  WHERE vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    syst-msgid = 'VN'.&lt;/P&gt;&lt;P&gt;    syst-msgno = '203'.&lt;/P&gt;&lt;P&gt;    syst-msgty = 'E'.&lt;/P&gt;&lt;P&gt;    syst-msgv1 = 'TVKO'.&lt;/P&gt;&lt;P&gt;    syst-msgv2 = syst-subrc.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR gv_fb_addr_get_selection.&lt;/P&gt;&lt;P&gt;  gv_fb_addr_get_selection-addrnumber = tvko-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ADDR_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      address_selection = gv_fb_addr_get_selection&lt;/P&gt;&lt;P&gt;      address_group     = 'CA01'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      sadr              = sadr&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS            = 01.                               "SADR40A&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR sadr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbdkr-sland = sadr-land1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    syst-msgid = 'VN'.&lt;/P&gt;&lt;P&gt;    syst-msgno = '203'.&lt;/P&gt;&lt;P&gt;    syst-msgty = 'E'.&lt;/P&gt;&lt;P&gt;    syst-msgv1 = 'SADR'.&lt;/P&gt;&lt;P&gt;    syst-msgv2 = syst-subrc.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal accounting: Address of the accounting area read&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF vbdkr-vbtyp CA '56'.&lt;/P&gt;&lt;P&gt;    CLEAR t001g.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM t001g WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;                                 AND programm EQ sy-repid&lt;/P&gt;&lt;P&gt;                                 AND txtid EQ 'SD'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SENDER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA_PREDOC_SALES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Preceding Sales Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data_predoc_sales .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: vbelv LIKE vbfa-vbelv.&lt;/P&gt;&lt;P&gt;  DATA: vbco3p TYPE vbco3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vbelv FROM vbfa INTO vbelv&lt;/P&gt;&lt;P&gt;  WHERE vbeln = vbdkr-vbeln&lt;/P&gt;&lt;P&gt;    AND vbtyp_v = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbco3p-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  vbco3p-spras = 'EN'.&lt;/P&gt;&lt;P&gt;  vbco3p-vbeln = vbelv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comwa                       = vbco3p&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      kopf                        = vbdka&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pos                         = tvbdpa&lt;/P&gt;&lt;P&gt;      mess                        = da_mess&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fehler_bei_datenbeschaffung = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA_PREDOC_SALES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_get_add_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Additional Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_get_add_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address number and VAT registration number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE kunnr&lt;/P&gt;&lt;P&gt;                adrnr&lt;/P&gt;&lt;P&gt;                stceg&lt;/P&gt;&lt;P&gt;  FROM kna1 INTO CORRESPONDING FIELDS OF kna1&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address in chinese&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrc&lt;/P&gt;&lt;P&gt;  INTO adrc1&lt;/P&gt;&lt;P&gt;  WHERE addrnumber = kna1-adrnr&lt;/P&gt;&lt;P&gt;    AND nation = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank using customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM knbk&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunag AND&lt;/P&gt;&lt;P&gt;        banks = 'CN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank GTS Name using address data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT knbk-bankl IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE adrnr&lt;/P&gt;&lt;P&gt;    FROM bnka&lt;/P&gt;&lt;P&gt;    INTO cust_banka&lt;/P&gt;&lt;P&gt;    WHERE banks = 'CN' AND&lt;/P&gt;&lt;P&gt;          bankl = knbk-bankl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    customer bank address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR adrc3.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;      INTO adrc3&lt;/P&gt;&lt;P&gt;      WHERE addrnumber = cust_banka&lt;/P&gt;&lt;P&gt;        AND nation = 'C'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creater Name person number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM usr21&lt;/P&gt;&lt;P&gt;  WHERE bname = vbdkr-ernam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;creater Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrp&lt;/P&gt;&lt;P&gt;  WHERE persnumber = usr21-persnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank Id from Customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE hbkid&lt;/P&gt;&lt;P&gt;  FROM knb1&lt;/P&gt;&lt;P&gt;  INTO knb1-hbkid&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunag&lt;/P&gt;&lt;P&gt;    AND bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank name according to customer record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT knb1-hbkid IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;    FROM t012&lt;/P&gt;&lt;P&gt;    WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;      AND hbkid = knb1-hbkid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  house bank address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE adrnr&lt;/P&gt;&lt;P&gt;    FROM bnka&lt;/P&gt;&lt;P&gt;    INTO hous_banka&lt;/P&gt;&lt;P&gt;    WHERE banks = t012-banks&lt;/P&gt;&lt;P&gt;      AND bankl = t012-bankl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    house bank address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR adrc4.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;      INTO adrc4&lt;/P&gt;&lt;P&gt;      WHERE addrnumber = hous_banka&lt;/P&gt;&lt;P&gt;        AND nation = 'C'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  House Bank Account number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;    FROM t012k&lt;/P&gt;&lt;P&gt;    WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;      AND hbkid = knb1-hbkid.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company code Address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE bukrs&lt;/P&gt;&lt;P&gt;                adrnr&lt;/P&gt;&lt;P&gt;  FROM t001 INTO CORRESPONDING FIELDS OF t001&lt;/P&gt;&lt;P&gt;  WHERE bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrc&lt;/P&gt;&lt;P&gt;  INTO adrc2&lt;/P&gt;&lt;P&gt;  WHERE addrnumber = t001-adrnr&lt;/P&gt;&lt;P&gt;    AND nation = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_add_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_map_header&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Map Header Data to Final internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_map_header .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear final work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First Row&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '1'.&lt;/P&gt;&lt;P&gt;    wa_finaltb-docno = vbrk-vbeln.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    wa_finaltb-docno = vbdkr-vbeln.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Line Item Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-quant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-kunrg = vbdkr-kunrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc1-name1 adrc1-name2 adrc1-name3 adrc1-name4&lt;/P&gt;&lt;P&gt;              INTO wa_finaltb-cunam SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Register Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-cureg = kna1-stceg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc1-street adrc1-str_suppl1 adrc1-str_suppl2&lt;/P&gt;&lt;P&gt;              adrc1-location adrc1-city2 adrc1-tel_number&lt;/P&gt;&lt;P&gt;              INTO wa_finaltb-cuadd SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank and Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc3-name2 knbk-koinh INTO wa_finaltb-cubnk&lt;/P&gt;&lt;P&gt;              SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remark&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '2'.&lt;/P&gt;&lt;P&gt;    CONCATENATE '########' zcngts-gtsic '##' zcngts-gtsin&lt;/P&gt;&lt;P&gt;                 INTO wa_finaltb-remrk SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;    CONCATENATE vbdka-vbeln wa_finaltb-remrk INTO wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;    SHIFT wa_finaltb-remrk RIGHT BY 4 PLACES.&lt;/P&gt;&lt;P&gt;    CONCATENATE vbdka-bstkd wa_finaltb-remrk INTO wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Issued by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONDENSE: adrp-name_first, adrp-name_last.&lt;/P&gt;&lt;P&gt;  CONCATENATE adrp-name_first adrp-name_last INTO&lt;/P&gt;&lt;P&gt;              wa_finaltb-isuby SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-chkby.&lt;/P&gt;&lt;P&gt;  PERFORM read_text USING 'Y001' vbdkr-tdname 'VBBK'.&lt;/P&gt;&lt;P&gt;  IF NOT text[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE text INDEX 1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0 AND NOT text-tdline IS INITIAL.&lt;/P&gt;&lt;P&gt;      CONDENSE text-tdline.&lt;/P&gt;&lt;P&gt;      wa_finaltb-chkby = text-tdline.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receive by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-rcvby.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Trade Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-ltnam = '######'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Bill date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-bdate = vbdkr-fkdat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc4-name2 t012k-bankn INTO wa_finaltb-hobnk&lt;/P&gt;&lt;P&gt;              SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc2-name1 adrc2-name2 adrc2-name3 adrc2-name4&lt;/P&gt;&lt;P&gt;              adrc2-street adrc2-str_suppl1 adrc2-str_suppl2&lt;/P&gt;&lt;P&gt;              adrc2-location adrc2-city2 adrc2-post_code1 adrc2-city1&lt;/P&gt;&lt;P&gt;              adrc2-tel_number INTO wa_finaltb-coadd SEPARATED BY&lt;/P&gt;&lt;P&gt;              space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE w_case.&lt;/P&gt;&lt;P&gt;    WHEN '0' OR '2'.&lt;/P&gt;&lt;P&gt;      wa_finaltb-invty = '0'.&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;      wa_finaltb-invty = '1'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append first row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_finaltb TO i_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_map_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_map_item&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Map Item Data to Final internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_map_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR amount.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of Goods and Taxable service&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-mdesc = vbdpr-arktx.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_cunit = vbdpr-vrkme.&lt;/P&gt;&lt;P&gt;  CONDENSE w_cunit NO-GAPS.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      input          = w_cunit&lt;/P&gt;&lt;P&gt;      language       = '1'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output         = w_cunit&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      unit_not_found = 1&lt;/P&gt;&lt;P&gt;      OTHERS         = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CONDENSE w_cunit NO-GAPS.&lt;/P&gt;&lt;P&gt;  wa_finaltb-munit = w_cunit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spec and Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-mtype = vbdpr-idnkd.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Qty&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get item billing plan from SO and change quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_bill_percnt.&lt;/P&gt;&lt;P&gt;  vbdpr-fkimg = vbdpr-fkimg * tfpltdr-fproz.&lt;/P&gt;&lt;P&gt;  vbdpr-fkimg = vbdpr-fkimg / 10000.&lt;/P&gt;&lt;P&gt;  itqty = vbdpr-fkimg.&lt;/P&gt;&lt;P&gt;  CONDENSE itqty NO-GAPS.&lt;/P&gt;&lt;P&gt;  wa_finaltb-mqnty = itqty.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Net Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE tkomv WITH KEY kschl = 'YIPR' kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_finaltb-ntamt = tkomv-kwert.&lt;/P&gt;&lt;P&gt;    amount = tkomv-kbetr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE tkomv WITH KEY kschl = 'MWST' kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Tax Rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_finaltb-txrat = tkomv-kbetr / '10.00'.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-txrat NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_finaltb-txrat '%' INTO wa_finaltb-txrat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Tax amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_finaltb-txamt = tkomv-kwert.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Goods Tax Items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-gtxit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Net discount amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-ndsam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tax Amount of Discount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-txamd.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Discount Rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-dsrat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unit Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-price = amount.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pricing way&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-prway = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Format Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONDENSE wa_finaltb-ntamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-ntamt.&lt;/P&gt;&lt;P&gt;  CONDENSE wa_finaltb-txamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-txamt.&lt;/P&gt;&lt;P&gt;  CONDENSE wa_finaltb-price NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Place Signs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '2'.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-mqnty INTO wa_finaltb-mqnty.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-mqnty NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-ntamt INTO wa_finaltb-ntamt.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-ntamt NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-txamt INTO wa_finaltb-txamt.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-txamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_map_item&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_post_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Post File to Application server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_post_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: outfile1(80) TYPE c VALUE&lt;/P&gt;&lt;P&gt;        '.\pwcn_gts_invoice',&lt;/P&gt;&lt;P&gt;        outfile2(80) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '.\gts_invoice_'&lt;/P&gt;&lt;P&gt;              vbdkr-vbeln INTO outfile2.&lt;/P&gt;&lt;P&gt;  OPEN DATASET outfile1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE 'File cannot be created' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT i_finaltb INTO wa_finaltb.&lt;/P&gt;&lt;P&gt;      TRANSFER wa_finaltb TO outfile1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'A record cannot be transferred to File' TYPE 'I'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET outfile1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'File cannot be closed' TYPE 'I'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET outfile2 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE 'File cannot be created for history' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT i_finaltb INTO wa_finaltb.&lt;/P&gt;&lt;P&gt;      TRANSFER wa_finaltb TO outfile2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'A record cannot be transferred to File' TYPE 'I'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET outfile2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'File cannot be closed' TYPE 'I'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_post_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_format_amount&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      convert amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_format_amount  USING p_amt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: length TYPE i.&lt;/P&gt;&lt;P&gt;  DATA: offset TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  length = STRLEN( p_amt ).&lt;/P&gt;&lt;P&gt;  offset = 3.&lt;/P&gt;&lt;P&gt;  length = length - 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    length = length - 3.&lt;/P&gt;&lt;P&gt;    offset = offset + 3.&lt;/P&gt;&lt;P&gt;    IF length &amp;lt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE p_amt(length) ',' p_amt+length(offset)&lt;/P&gt;&lt;P&gt;                INTO p_amt.&lt;/P&gt;&lt;P&gt;    offset = offset + 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_format_amount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  get_bill_percnt&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Billed Percent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_bill_percnt .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR tfpltdr.&lt;/P&gt;&lt;P&gt;  REFRESH tfpltdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE tvbdpa WITH KEY posnr = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0 AND NOT tvbdpa-fplnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    vbdpa = tvbdpa.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_fplnr    = vbdpa-fplnr&lt;/P&gt;&lt;P&gt;        i_language = 'E'&lt;/P&gt;&lt;P&gt;        i_vbeln    = vbdka-vbeln&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        zfpltdr    = tfpltdr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE tfpltdr WITH KEY fkdat = vbdkr-fkdat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_bill_percnt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  read_text&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM read_text USING &amp;amp;01 &amp;amp;02 &amp;amp;03 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS lang TYPE thead-tdspras VALUE 'E'.&lt;/P&gt;&lt;P&gt;  REFRESH text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      id                      = &amp;amp;01&lt;/P&gt;&lt;P&gt;      language                = lang&lt;/P&gt;&lt;P&gt;      name                    = &amp;amp;02&lt;/P&gt;&lt;P&gt;      object                  = &amp;amp;03&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      lines                   = text&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      id                      = 1&lt;/P&gt;&lt;P&gt;      language                = 2&lt;/P&gt;&lt;P&gt;      name                    = 3&lt;/P&gt;&lt;P&gt;      not_found               = 4&lt;/P&gt;&lt;P&gt;      object                  = 5&lt;/P&gt;&lt;P&gt;      reference_check         = 6&lt;/P&gt;&lt;P&gt;      wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;      OTHERS                  = 8.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    FREE text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vijai&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Vijai Dixit on Jul 1, 2008 7:53 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jan 2008 11:25:33 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-31T11:25:33Z</dc:date>
    <item>
      <title>Condition Type FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-type-fm/m-p/3308746#M792451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can some one give me the FM through which I can get the Condition Record(KNUMH) and Condition Value based on the Condition Type(KSCHL)??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help.Its urgent.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 11:18:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-type-fm/m-p/3308746#M792451</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T11:18:55Z</dc:date>
    </item>
    <item>
      <title>Re: Condition Type FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/condition-type-fm/m-p/3308747#M792452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check the program below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zvadin01 LINE-COUNT 100 MESSAGE-ID vn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Definition of tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;TABLES: komk    , "Communication Header for Pricing&lt;/P&gt;&lt;P&gt;        komp    , "Pricing Communication Item&lt;/P&gt;&lt;P&gt;        komvd   , "Price Determination Communication-&lt;/P&gt;&lt;P&gt;                  "Cond.Record for Printing&lt;/P&gt;&lt;P&gt;        vbco3   , "Sales Doc.Access Methods: Key Fields:&lt;/P&gt;&lt;P&gt;                  "Document Printing&lt;/P&gt;&lt;P&gt;        vbdkr   , "Document Header View for Billing&lt;/P&gt;&lt;P&gt;        vbrk    , "Billing Document: Header Data&lt;/P&gt;&lt;P&gt;        vbdpr   , "Document Item View for Billing&lt;/P&gt;&lt;P&gt;        sadr    , "Address Management: Company Data&lt;/P&gt;&lt;P&gt;        tvko    , "Organizational Unit: Sales Organizations&lt;/P&gt;&lt;P&gt;        t001    , "Company Codes&lt;/P&gt;&lt;P&gt;        t001g   , "Company Code-Dependent Standard Texts&lt;/P&gt;&lt;P&gt;        t012    , "House Banks&lt;/P&gt;&lt;P&gt;        t012k   , "House Bank Accounts&lt;/P&gt;&lt;P&gt;        knbk    , "Customer Master (Bank Details)&lt;/P&gt;&lt;P&gt;        bnka    , "Bank master record&lt;/P&gt;&lt;P&gt;        kna1    , "General Data in Customer Master&lt;/P&gt;&lt;P&gt;        knb1    , "Customer Master (Company Code)&lt;/P&gt;&lt;P&gt;        usr21   , "Assign user name address key&lt;/P&gt;&lt;P&gt;        adrp    , "Persons (Business Address Services)&lt;/P&gt;&lt;P&gt;        komv    , "Pricing Communications-Condition Record&lt;/P&gt;&lt;P&gt;        vbdka   , "Document Header View for Inquiry,Quotation,Order&lt;/P&gt;&lt;P&gt;        vbdpa   , "Document Item View for Inquiries,Quotation,Order&lt;/P&gt;&lt;P&gt;        zcngts  . "GTS data to SAP for Paul Wurth China&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Additional definitions of tables for general issues&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;INCLUDE rvadtabl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Definition of internal tables&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpr OCCURS 100.      "Internal table for items&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpr.&lt;/P&gt;&lt;P&gt;DATA: END OF tvbdpr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomv OCCURS 50.        "Pricing Communications-&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komv.        "Condition Record&lt;/P&gt;&lt;P&gt;DATA: END OF tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomvd OCCURS 50.       "Price Determination&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komvd.       "Communication-Cond.Record for&lt;/P&gt;&lt;P&gt;DATA: END OF tkomvd.                   "Printing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF hkomvd OCCURS 50.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komvd.&lt;/P&gt;&lt;P&gt;DATA: END OF hkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpa OCCURS 0.        "Internal table for SO items&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpa.&lt;/P&gt;&lt;P&gt;DATA: END OF tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF text OCCURS 10.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE tline.&lt;/P&gt;&lt;P&gt;DATA: END OF text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: da_mess LIKE vbfs OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF gs_finaltb,&lt;/P&gt;&lt;P&gt;         docno(20)  TYPE c, "Invoice Number&lt;/P&gt;&lt;P&gt;         quant(4)   TYPE c, "Line Item Quantity&lt;/P&gt;&lt;P&gt;         kunrg(10)  TYPE c, "Customer Number&lt;/P&gt;&lt;P&gt;         cunam(100) TYPE c, "Customer name&lt;/P&gt;&lt;P&gt;         cureg(20)  TYPE c, "Customer Registration Number&lt;/P&gt;&lt;P&gt;         cuadd(80)  TYPE c, "Customer Address&lt;/P&gt;&lt;P&gt;         cubnk(180) TYPE c, "Customer Bank, Account Number&lt;/P&gt;&lt;P&gt;         remrk(160) TYPE c, "PO number and SO number&lt;/P&gt;&lt;P&gt;         isuby(40)  TYPE c, "Creater of invoice&lt;/P&gt;&lt;P&gt;         chkby(40)  TYPE c, "Invoice checker (Leave blank)&lt;/P&gt;&lt;P&gt;         rcvby(40)  TYPE c, "Invoice Receiver (Leave blank)&lt;/P&gt;&lt;P&gt;         ltnam(80)  TYPE c, "List trade name constant as ######&lt;/P&gt;&lt;P&gt;         bdate(8)   TYPE c, "Bill Date (Leave Blank)&lt;/P&gt;&lt;P&gt;         bukrs(4)   TYPE c, "Company Code&lt;/P&gt;&lt;P&gt;         hobnk(80)  TYPE c, "House bank Company&lt;/P&gt;&lt;P&gt;         coadd(80)  TYPE c, "Company Address&lt;/P&gt;&lt;P&gt;         mdesc(60)  TYPE c, "Material Description&lt;/P&gt;&lt;P&gt;         munit(16)  TYPE c, "Unit of Measure&lt;/P&gt;&lt;P&gt;         mtype(35)  TYPE c, "Material Type&lt;/P&gt;&lt;P&gt;         mqnty(17)  TYPE c, "Material Quantity&lt;/P&gt;&lt;P&gt;         ntamt(20)  TYPE c, "Net Amount&lt;/P&gt;&lt;P&gt;         txrat(15)  TYPE c, "Tax Rate&lt;/P&gt;&lt;P&gt;         txamt(20)  TYPE c, "Tax Amount&lt;/P&gt;&lt;P&gt;         gtxit(4)   TYPE c, "Goods Tax Items (Leave blank)&lt;/P&gt;&lt;P&gt;         ndsam(20)  TYPE c, "Net discount amount (Leave blank)&lt;/P&gt;&lt;P&gt;         txamd(20)  TYPE c, "Tax amount discount (Leave blank)&lt;/P&gt;&lt;P&gt;         dsrat(7)   TYPE c, "Discount Rate (Leave blank)&lt;/P&gt;&lt;P&gt;         price(20)  TYPE c, "Unit Price&lt;/P&gt;&lt;P&gt;         prway(1)   TYPE c, "Pricing way constant aa 1&lt;/P&gt;&lt;P&gt;         gtdat(8)   TYPE c, "GTS Date for Invoice (Leave blank)&lt;/P&gt;&lt;P&gt;         gtcod(20)  TYPE c, "GTS Invoice Code (Leave blank)&lt;/P&gt;&lt;P&gt;         gtinv(20)  TYPE c, "GTS Invoice Reference Number (Leave blank)&lt;/P&gt;&lt;P&gt;         gtbas(20)  TYPE c, "GTS Calculated base amount (Leave blank)&lt;/P&gt;&lt;P&gt;         gttax(20)  TYPE c, "GTS Calculated tax amount (Leave blank)&lt;/P&gt;&lt;P&gt;         gtnet(20)  TYPE c, "GTS Calculated net amount (Leave blank)&lt;/P&gt;&lt;P&gt;         invty(1)   TYPE c, "Invoice type&lt;/P&gt;&lt;P&gt;       END OF gs_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: i_finaltb TYPE STANDARD TABLE OF gs_finaltb,&lt;/P&gt;&lt;P&gt;      wa_finaltb TYPE gs_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc1.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc2.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc3.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF adrc4.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE adrc.&lt;/P&gt;&lt;P&gt;DATA: END OF adrc4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tfpltdr OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE fpltdr.&lt;/P&gt;&lt;P&gt;DATA: END   OF tfpltdr.&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Definition of internal variables&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;DATA: retcode   LIKE sy-subrc.         "Returncode&lt;/P&gt;&lt;P&gt;DATA: nast_anzal LIKE nast-anzal.      "Number of outputs (Orig. + Cop.)&lt;/P&gt;&lt;P&gt;DATA: xscreen(1) TYPE c.               "Output on printer or screen&lt;/P&gt;&lt;P&gt;DATA: pr_kappl(01)   TYPE c VALUE 'V'. "Application for pricing&lt;/P&gt;&lt;P&gt;DATA: print_mwskz.                     "Mehrwertsteuer-Kz drucken&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: cust_banka   LIKE adrc-addrnumber,   "Customer bank address no.&lt;/P&gt;&lt;P&gt;      hous_banka   LIKE adrc-addrnumber,   "House Bank Address number&lt;/P&gt;&lt;P&gt;      amount       LIKE komv-kwert,        "Amount&lt;/P&gt;&lt;P&gt;      w_cunit(10),                         "Chinese unit&lt;/P&gt;&lt;P&gt;      w_case(1)    TYPE c,                 "Case value for cancel inv&lt;/P&gt;&lt;P&gt;      w_refdoc(16) TYPE c,                 "Reference Document number&lt;/P&gt;&lt;P&gt;      w_xblnr      LIKE vbrk-vbeln,        "Reference Document number&lt;/P&gt;&lt;P&gt;      itqty(13) TYPE c.             "Order Quantity&lt;/P&gt;&lt;P&gt;*data for access to central address maintenance&lt;/P&gt;&lt;P&gt;INCLUDE sdzavdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;FORMS START&lt;/STRONG&gt;*********************************************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Standard Routine ENTRY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM entry USING return_code us_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR retcode.&lt;/P&gt;&lt;P&gt;  xscreen = us_screen.&lt;/P&gt;&lt;P&gt;  PERFORM processing USING us_screen.&lt;/P&gt;&lt;P&gt;  CASE retcode.&lt;/P&gt;&lt;P&gt;    WHEN 0.&lt;/P&gt;&lt;P&gt;      return_code = 0.&lt;/P&gt;&lt;P&gt;    WHEN 3.&lt;/P&gt;&lt;P&gt;      return_code = 3.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      return_code = 1.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ENTRY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Customer Entry-Routines&lt;/STRONG&gt;*********************************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*Customized Routine PROCESSING&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;FORM processing USING proc_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM get_data_predoc_sales.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM f_get_add_data.&lt;/P&gt;&lt;P&gt;  PERFORM f_map_header.&lt;/P&gt;&lt;P&gt;  PERFORM item_print.&lt;/P&gt;&lt;P&gt;  PERFORM f_post_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "PROCESSING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      SAP STANDARD-SUBROUTINES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      General provision of data for the form&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv = tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR komk.&lt;/P&gt;&lt;P&gt;  CLEAR komp.&lt;/P&gt;&lt;P&gt;  CLEAR nast_anzal.      "Clear aux. variable for number of outputs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF nast-objky+10(6) NE space.&lt;/P&gt;&lt;P&gt;    vbco3-vbeln = nast-objky+16(10).&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    vbco3-vbeln = nast-objky.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbco3-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  vbco3-spras = nast-spras.&lt;/P&gt;&lt;P&gt;  vbco3-kunde = nast-parnr.&lt;/P&gt;&lt;P&gt;  vbco3-parvw = nast-parvw.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Provision for Billing Document Print&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'RV_BILLING_PRINT_VIEW'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comwa                        = vbco3&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      kopf                         = vbdkr&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pos                          = tvbdpr&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      terms_of_payment_not_in_t052 = 1&lt;/P&gt;&lt;P&gt;      error_message                = 5&lt;/P&gt;&lt;P&gt;      OTHERS                       = 4.&lt;/P&gt;&lt;P&gt;  IF NOT sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 1.&lt;/P&gt;&lt;P&gt;      syst-msgty = 'I'.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Sender Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM sender.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Price Print Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_header_prices.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get Reference document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_ref_doc_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_ITEM_PRICES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the price data for the item is fetched from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      the database.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_item_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: komp,&lt;/P&gt;&lt;P&gt;         tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF komk-knumv NE vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    CLEAR komk.&lt;/P&gt;&lt;P&gt;    komk-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    komk-kalsm = vbdkr-kalsm.&lt;/P&gt;&lt;P&gt;    komk-fkart = vbdkr-fkart.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    IF vbdkr-kappl NE space.&lt;/P&gt;&lt;P&gt;      komk-kappl = vbdkr-kappl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdkr-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdkr-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdkr-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdkr-spart.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdkr-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdkr-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdkr-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdkr-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdkr-kurrf_dat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  komp-kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  komp-kursk = vbdpr-kursk.&lt;/P&gt;&lt;P&gt;  komp-kursk_dat = vbdpr-kursk_dat.&lt;/P&gt;&lt;P&gt;  IF vbdkr-vbtyp CA 'HKNOT6'.&lt;/P&gt;&lt;P&gt;    IF  vbdpr-shkzg CA ' A'.&lt;/P&gt;&lt;P&gt;      komp-shkzg = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF  vbdpr-shkzg CA 'BX'.&lt;/P&gt;&lt;P&gt;      komp-shkzg = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_ITEM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comm_head_i = komk&lt;/P&gt;&lt;P&gt;      comm_item_i = komp&lt;/P&gt;&lt;P&gt;      language    = nast-spras&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      comm_head_e = komk&lt;/P&gt;&lt;P&gt;      comm_item_e = komp&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv       = tkomv&lt;/P&gt;&lt;P&gt;      tkomvd      = tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_ITEM_PRICES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_HEADER_PRICES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the price data for the header is fetched from&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      the database.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_header_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF komk-knumv NE vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    CLEAR komk.&lt;/P&gt;&lt;P&gt;    komk-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    komk-kalsm = vbdkr-kalsm.&lt;/P&gt;&lt;P&gt;    komk-fkart = vbdkr-fkart.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    IF vbdkr-kappl NE space.&lt;/P&gt;&lt;P&gt;      komk-kappl = vbdkr-kappl.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdkr-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdkr-knumv.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdkr-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-knuma = vbdkr-knuma.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdkr-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdkr-spart.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdkr-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdkr-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdkr-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdkr-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdkr-kurrf_dat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_PRICE_PRINT_HEAD'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comm_head_i = komk&lt;/P&gt;&lt;P&gt;      language    = nast-spras&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      comm_head_e = komk&lt;/P&gt;&lt;P&gt;      comm_mwskz  = print_mwskz&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      tkomv       = tkomv&lt;/P&gt;&lt;P&gt;      tkomvd      = hkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_HEADER_PRICES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  get_ref_doc_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ref doc data for cancellation invoice&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_ref_doc_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdkr-fkart = 'YCSC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: vbrk, w_refdoc, w_xblnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  cancelled invoice number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    w_refdoc = vbdkr-xblnr.&lt;/P&gt;&lt;P&gt;    CONDENSE w_refdoc.&lt;/P&gt;&lt;P&gt;    w_xblnr = w_refdoc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT w_xblnr IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM vbrk&lt;/P&gt;&lt;P&gt;      WHERE vbeln = w_xblnr.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create case&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF vbrk-fkdat IS INITIAL.&lt;/P&gt;&lt;P&gt;      w_case  = '0'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF vbrk-fkdat&lt;EM&gt;4(2) = vbdkr-fkdat&lt;/EM&gt;4(2).&lt;/P&gt;&lt;P&gt;        w_case = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        w_case = '2'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      data selection for GTS ztable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        SELECT SINGLE *&lt;/P&gt;&lt;P&gt;        FROM zcngts&lt;/P&gt;&lt;P&gt;        WHERE vbeln = vbrk-vbeln.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    w_case = '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_ref_doc_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM item_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Clear final work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR wa_finaltb.&lt;/P&gt;&lt;P&gt;    vbdpr = tvbdpr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Get Item Prices&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM get_item_prices.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Map Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM f_map_item.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Append line item information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND wa_finaltb TO i_finaltb.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PROTOCOL_UPDATE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      The messages are collected for the processing protocol.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM protocol_update.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK xscreen = space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'NAST_PROTOCOL_UPDATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      msg_arbgb = syst-msgid&lt;/P&gt;&lt;P&gt;      msg_nr    = syst-msgno&lt;/P&gt;&lt;P&gt;      msg_ty    = syst-msgty&lt;/P&gt;&lt;P&gt;      msg_v1    = syst-msgv1&lt;/P&gt;&lt;P&gt;      msg_v2    = syst-msgv2&lt;/P&gt;&lt;P&gt;      msg_v3    = syst-msgv3&lt;/P&gt;&lt;P&gt;      msg_v4    = syst-msgv4&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS    = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "PROTOCOL_UPDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SENDER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine determines the address of the sender (Table VKO)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM tvko  WHERE vkorg = vbdkr-vkorg.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    syst-msgid = 'VN'.&lt;/P&gt;&lt;P&gt;    syst-msgno = '203'.&lt;/P&gt;&lt;P&gt;    syst-msgty = 'E'.&lt;/P&gt;&lt;P&gt;    syst-msgv1 = 'TVKO'.&lt;/P&gt;&lt;P&gt;    syst-msgv2 = syst-subrc.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CLEAR gv_fb_addr_get_selection.&lt;/P&gt;&lt;P&gt;  gv_fb_addr_get_selection-addrnumber = tvko-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ADDR_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      address_selection = gv_fb_addr_get_selection&lt;/P&gt;&lt;P&gt;      address_group     = 'CA01'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      sadr              = sadr&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS            = 01.                               "SADR40A&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR sadr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbdkr-sland = sadr-land1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    syst-msgid = 'VN'.&lt;/P&gt;&lt;P&gt;    syst-msgno = '203'.&lt;/P&gt;&lt;P&gt;    syst-msgty = 'E'.&lt;/P&gt;&lt;P&gt;    syst-msgv1 = 'SADR'.&lt;/P&gt;&lt;P&gt;    syst-msgv2 = syst-subrc.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal accounting: Address of the accounting area read&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF vbdkr-vbtyp CA '56'.&lt;/P&gt;&lt;P&gt;    CLEAR t001g.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM t001g WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;                                 AND programm EQ sy-repid&lt;/P&gt;&lt;P&gt;                                 AND txtid EQ 'SD'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SENDER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA_PREDOC_SALES&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Preceding Sales Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data_predoc_sales .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: vbelv LIKE vbfa-vbelv.&lt;/P&gt;&lt;P&gt;  DATA: vbco3p TYPE vbco3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vbelv FROM vbfa INTO vbelv&lt;/P&gt;&lt;P&gt;  WHERE vbeln = vbdkr-vbeln&lt;/P&gt;&lt;P&gt;    AND vbtyp_v = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  vbco3p-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;  vbco3p-spras = 'EN'.&lt;/P&gt;&lt;P&gt;  vbco3p-vbeln = vbelv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      comwa                       = vbco3p&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      kopf                        = vbdka&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      pos                         = tvbdpa&lt;/P&gt;&lt;P&gt;      mess                        = da_mess&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      fehler_bei_datenbeschaffung = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA_PREDOC_SALES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_get_add_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Additional Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_get_add_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address number and VAT registration number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE kunnr&lt;/P&gt;&lt;P&gt;                adrnr&lt;/P&gt;&lt;P&gt;                stceg&lt;/P&gt;&lt;P&gt;  FROM kna1 INTO CORRESPONDING FIELDS OF kna1&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunrg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address in chinese&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrc&lt;/P&gt;&lt;P&gt;  INTO adrc1&lt;/P&gt;&lt;P&gt;  WHERE addrnumber = kna1-adrnr&lt;/P&gt;&lt;P&gt;    AND nation = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank using customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM knbk&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunag AND&lt;/P&gt;&lt;P&gt;        banks = 'CN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank GTS Name using address data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT knbk-bankl IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE adrnr&lt;/P&gt;&lt;P&gt;    FROM bnka&lt;/P&gt;&lt;P&gt;    INTO cust_banka&lt;/P&gt;&lt;P&gt;    WHERE banks = 'CN' AND&lt;/P&gt;&lt;P&gt;          bankl = knbk-bankl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    customer bank address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR adrc3.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;      INTO adrc3&lt;/P&gt;&lt;P&gt;      WHERE addrnumber = cust_banka&lt;/P&gt;&lt;P&gt;        AND nation = 'C'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creater Name person number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM usr21&lt;/P&gt;&lt;P&gt;  WHERE bname = vbdkr-ernam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;creater Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrp&lt;/P&gt;&lt;P&gt;  WHERE persnumber = usr21-persnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank Id from Customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE hbkid&lt;/P&gt;&lt;P&gt;  FROM knb1&lt;/P&gt;&lt;P&gt;  INTO knb1-hbkid&lt;/P&gt;&lt;P&gt;  WHERE kunnr = vbdkr-kunag&lt;/P&gt;&lt;P&gt;    AND bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank name according to customer record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT knb1-hbkid IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;    FROM t012&lt;/P&gt;&lt;P&gt;    WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;      AND hbkid = knb1-hbkid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  house bank address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE adrnr&lt;/P&gt;&lt;P&gt;    FROM bnka&lt;/P&gt;&lt;P&gt;    INTO hous_banka&lt;/P&gt;&lt;P&gt;    WHERE banks = t012-banks&lt;/P&gt;&lt;P&gt;      AND bankl = t012-bankl.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    house bank address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR adrc4.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE *&lt;/P&gt;&lt;P&gt;      FROM adrc&lt;/P&gt;&lt;P&gt;      INTO adrc4&lt;/P&gt;&lt;P&gt;      WHERE addrnumber = hous_banka&lt;/P&gt;&lt;P&gt;        AND nation = 'C'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  House Bank Account number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;    FROM t012k&lt;/P&gt;&lt;P&gt;    WHERE bukrs = vbdkr-bukrs&lt;/P&gt;&lt;P&gt;      AND hbkid = knb1-hbkid.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company code Address number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE bukrs&lt;/P&gt;&lt;P&gt;                adrnr&lt;/P&gt;&lt;P&gt;  FROM t001 INTO CORRESPONDING FIELDS OF t001&lt;/P&gt;&lt;P&gt;  WHERE bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SINGLE *&lt;/P&gt;&lt;P&gt;  FROM adrc&lt;/P&gt;&lt;P&gt;  INTO adrc2&lt;/P&gt;&lt;P&gt;  WHERE addrnumber = t001-adrnr&lt;/P&gt;&lt;P&gt;    AND nation = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_add_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_map_header&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Map Header Data to Final internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_map_header .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Clear final work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First Row&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '1'.&lt;/P&gt;&lt;P&gt;    wa_finaltb-docno = vbrk-vbeln.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    wa_finaltb-docno = vbdkr-vbeln.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Line Item Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-quant.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-kunrg = vbdkr-kunrg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc1-name1 adrc1-name2 adrc1-name3 adrc1-name4&lt;/P&gt;&lt;P&gt;              INTO wa_finaltb-cunam SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Register Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-cureg = kna1-stceg.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc1-street adrc1-str_suppl1 adrc1-str_suppl2&lt;/P&gt;&lt;P&gt;              adrc1-location adrc1-city2 adrc1-tel_number&lt;/P&gt;&lt;P&gt;              INTO wa_finaltb-cuadd SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Customer Bank and Account&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc3-name2 knbk-koinh INTO wa_finaltb-cubnk&lt;/P&gt;&lt;P&gt;              SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remark&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '2'.&lt;/P&gt;&lt;P&gt;    CONCATENATE '########' zcngts-gtsic '##' zcngts-gtsin&lt;/P&gt;&lt;P&gt;                 INTO wa_finaltb-remrk SEPARATED BY space.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;    CONCATENATE vbdka-vbeln wa_finaltb-remrk INTO wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;    SHIFT wa_finaltb-remrk RIGHT BY 4 PLACES.&lt;/P&gt;&lt;P&gt;    CONCATENATE vbdka-bstkd wa_finaltb-remrk INTO wa_finaltb-remrk.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Issued by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONDENSE: adrp-name_first, adrp-name_last.&lt;/P&gt;&lt;P&gt;  CONCATENATE adrp-name_first adrp-name_last INTO&lt;/P&gt;&lt;P&gt;              wa_finaltb-isuby SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-chkby.&lt;/P&gt;&lt;P&gt;  PERFORM read_text USING 'Y001' vbdkr-tdname 'VBBK'.&lt;/P&gt;&lt;P&gt;  IF NOT text[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE text INDEX 1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0 AND NOT text-tdline IS INITIAL.&lt;/P&gt;&lt;P&gt;      CONDENSE text-tdline.&lt;/P&gt;&lt;P&gt;      wa_finaltb-chkby = text-tdline.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receive by&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-rcvby.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;List Trade Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-ltnam = '######'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Bill date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-bdate = vbdkr-fkdat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-bukrs = vbdkr-bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;House Bank name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc4-name2 t012k-bankn INTO wa_finaltb-hobnk&lt;/P&gt;&lt;P&gt;              SEPARATED BY space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE adrc2-name1 adrc2-name2 adrc2-name3 adrc2-name4&lt;/P&gt;&lt;P&gt;              adrc2-street adrc2-str_suppl1 adrc2-str_suppl2&lt;/P&gt;&lt;P&gt;              adrc2-location adrc2-city2 adrc2-post_code1 adrc2-city1&lt;/P&gt;&lt;P&gt;              adrc2-tel_number INTO wa_finaltb-coadd SEPARATED BY&lt;/P&gt;&lt;P&gt;              space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Invoice type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE w_case.&lt;/P&gt;&lt;P&gt;    WHEN '0' OR '2'.&lt;/P&gt;&lt;P&gt;      wa_finaltb-invty = '0'.&lt;/P&gt;&lt;P&gt;    WHEN '1'.&lt;/P&gt;&lt;P&gt;      wa_finaltb-invty = '1'.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append first row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND wa_finaltb TO i_finaltb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_map_header&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_map_item&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Map Item Data to Final internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_map_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR amount.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of Goods and Taxable service&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-mdesc = vbdpr-arktx.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  w_cunit = vbdpr-vrkme.&lt;/P&gt;&lt;P&gt;  CONDENSE w_cunit NO-GAPS.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      input          = w_cunit&lt;/P&gt;&lt;P&gt;      language       = '1'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      output         = w_cunit&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      unit_not_found = 1&lt;/P&gt;&lt;P&gt;      OTHERS         = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CONDENSE w_cunit NO-GAPS.&lt;/P&gt;&lt;P&gt;  wa_finaltb-munit = w_cunit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Spec and Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-mtype = vbdpr-idnkd.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Qty&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get item billing plan from SO and change quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_bill_percnt.&lt;/P&gt;&lt;P&gt;  vbdpr-fkimg = vbdpr-fkimg * tfpltdr-fproz.&lt;/P&gt;&lt;P&gt;  vbdpr-fkimg = vbdpr-fkimg / 10000.&lt;/P&gt;&lt;P&gt;  itqty = vbdpr-fkimg.&lt;/P&gt;&lt;P&gt;  CONDENSE itqty NO-GAPS.&lt;/P&gt;&lt;P&gt;  wa_finaltb-mqnty = itqty.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Net Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE tkomv WITH KEY kschl = 'YIPR' kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    wa_finaltb-ntamt = tkomv-kwert.&lt;/P&gt;&lt;P&gt;    amount = tkomv-kbetr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tax&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE tkomv WITH KEY kschl = 'MWST' kposn = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Tax Rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_finaltb-txrat = tkomv-kbetr / '10.00'.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-txrat NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE wa_finaltb-txrat '%' INTO wa_finaltb-txrat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Tax amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_finaltb-txamt = tkomv-kwert.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Goods Tax Items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-gtxit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Net discount amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-ndsam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tax Amount of Discount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-txamd.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Discount Rate&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR wa_finaltb-dsrat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Unit Price&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-price = amount.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pricing way&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_finaltb-prway = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Format Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONDENSE wa_finaltb-ntamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-ntamt.&lt;/P&gt;&lt;P&gt;  CONDENSE wa_finaltb-txamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-txamt.&lt;/P&gt;&lt;P&gt;  CONDENSE wa_finaltb-price NO-GAPS.&lt;/P&gt;&lt;P&gt;  PERFORM f_format_amount USING wa_finaltb-price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Place Signs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF w_case = '2'.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-mqnty INTO wa_finaltb-mqnty.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-mqnty NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-ntamt INTO wa_finaltb-ntamt.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-ntamt NO-GAPS.&lt;/P&gt;&lt;P&gt;    CONCATENATE '-' wa_finaltb-txamt INTO wa_finaltb-txamt.&lt;/P&gt;&lt;P&gt;    CONDENSE wa_finaltb-txamt NO-GAPS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_map_item&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_post_file&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Post File to Application server&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_post_file .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: outfile1(80) TYPE c VALUE&lt;/P&gt;&lt;P&gt;        '.\pwcn_gts_invoice',&lt;/P&gt;&lt;P&gt;        outfile2(80) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE '.\gts_invoice_'&lt;/P&gt;&lt;P&gt;              vbdkr-vbeln INTO outfile2.&lt;/P&gt;&lt;P&gt;  OPEN DATASET outfile1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE 'File cannot be created' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT i_finaltb INTO wa_finaltb.&lt;/P&gt;&lt;P&gt;      TRANSFER wa_finaltb TO outfile1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'A record cannot be transferred to File' TYPE 'I'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET outfile1.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'File cannot be closed' TYPE 'I'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OPEN DATASET outfile2 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE 'File cannot be created for history' TYPE 'I'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT i_finaltb INTO wa_finaltb.&lt;/P&gt;&lt;P&gt;      TRANSFER wa_finaltb TO outfile2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        MESSAGE 'A record cannot be transferred to File' TYPE 'I'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET outfile2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE 'File cannot be closed' TYPE 'I'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_post_file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  f_format_amount&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      convert amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM f_format_amount  USING p_amt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: length TYPE i.&lt;/P&gt;&lt;P&gt;  DATA: offset TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  length = STRLEN( p_amt ).&lt;/P&gt;&lt;P&gt;  offset = 3.&lt;/P&gt;&lt;P&gt;  length = length - 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    length = length - 3.&lt;/P&gt;&lt;P&gt;    offset = offset + 3.&lt;/P&gt;&lt;P&gt;    IF length &amp;lt; 1.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE p_amt(length) ',' p_amt+length(offset)&lt;/P&gt;&lt;P&gt;                INTO p_amt.&lt;/P&gt;&lt;P&gt;    offset = offset + 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_format_amount&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  get_bill_percnt&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get Billed Percent&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_bill_percnt .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR tfpltdr.&lt;/P&gt;&lt;P&gt;  REFRESH tfpltdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE tvbdpa WITH KEY posnr = vbdpr-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0 AND NOT tvbdpa-fplnr IS INITIAL.&lt;/P&gt;&lt;P&gt;    vbdpa = tvbdpa.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_fplnr    = vbdpa-fplnr&lt;/P&gt;&lt;P&gt;        i_language = 'E'&lt;/P&gt;&lt;P&gt;        i_vbeln    = vbdka-vbeln&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        zfpltdr    = tfpltdr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE tfpltdr WITH KEY fkdat = vbdkr-fkdat.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    tfpltdr-fproz = 100.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_bill_percnt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Form  read_text&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Read text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM read_text USING &amp;amp;01 &amp;amp;02 &amp;amp;03 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS lang TYPE thead-tdspras VALUE 'E'.&lt;/P&gt;&lt;P&gt;  REFRESH text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      id                      = &amp;amp;01&lt;/P&gt;&lt;P&gt;      language                = lang&lt;/P&gt;&lt;P&gt;      name                    = &amp;amp;02&lt;/P&gt;&lt;P&gt;      object                  = &amp;amp;03&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      lines                   = text&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      id                      = 1&lt;/P&gt;&lt;P&gt;      language                = 2&lt;/P&gt;&lt;P&gt;      name                    = 3&lt;/P&gt;&lt;P&gt;      not_found               = 4&lt;/P&gt;&lt;P&gt;      object                  = 5&lt;/P&gt;&lt;P&gt;      reference_check         = 6&lt;/P&gt;&lt;P&gt;      wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;      OTHERS                  = 8.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    FREE text.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vijai&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Vijai Dixit on Jul 1, 2008 7:53 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2008 11:25:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/condition-type-fm/m-p/3308747#M792452</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-31T11:25:33Z</dc:date>
    </item>
  </channel>
</rss>

