<?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 script program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188559#M759504</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;         can anyone send a sample script program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Reddy R&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        k reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Dec 2007 13:08:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-12-10T13:08:32Z</dc:date>
    <item>
      <title>script program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188559#M759504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;         can anyone send a sample script program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Reddy R&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        k reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2007 13:08:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188559#M759504</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-10T13:08:32Z</dc:date>
    </item>
    <item>
      <title>Re: script program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188560#M759505</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;&lt;/P&gt;&lt;P&gt;   Refer this print program  SAPFM06P. Its for Purchase order.&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;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2007 13:11:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188560#M759505</guid>
      <dc:creator>former_member386202</dc:creator>
      <dc:date>2007-12-10T13:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: script program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188561#M759506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Check these links..&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.niraj.tripod.com/id20.html" target="test_blank"&gt;http://sap.niraj.tripod.com/id20.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/sapscripts/a-sample-sap-scripts-reports.htm" target="test_blank"&gt;http://www.sap-img.com/sapscripts/a-sample-sap-scripts-reports.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2007 13:12:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188561#M759506</guid>
      <dc:creator>former_member188829</dc:creator>
      <dc:date>2007-12-10T13:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: script program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188562#M759507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Reddy,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chect the print program..This will be very helpfull to you. Every thing is in the print prog..Make sure you create a prog of type subrout.pool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enjoyeee SAP   &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             Print of an order confirmation by SAPscript&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;REPORT zprint_prog_cont_form LINE-COUNT 100 MESSAGE-ID vn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: komk,                          "Communicationarea for conditions&lt;/P&gt;&lt;P&gt;        komp,                          "Communicationarea for conditions&lt;/P&gt;&lt;P&gt;        komvd,                         "Communicationarea for conditions&lt;/P&gt;&lt;P&gt;        vbco3,                         "Communicationarea for view&lt;/P&gt;&lt;P&gt;        vbdka,                         "Headerview&lt;/P&gt;&lt;P&gt;        vbdpa,                         "Itemview&lt;/P&gt;&lt;P&gt;        vbdpau,                        "Subitemnumbers&lt;/P&gt;&lt;P&gt;        conf_out,                      "Configuration data&lt;/P&gt;&lt;P&gt;        sadr,                          "Addresses&lt;/P&gt;&lt;P&gt;        tvag,                          "Reason for rejection&lt;/P&gt;&lt;P&gt;        vedka,                         "Servicecontract head data&lt;/P&gt;&lt;P&gt;        vedpa,                         "Servicecontract position data&lt;/P&gt;&lt;P&gt;        vedkn,                         "Servicecontract head notice data&lt;/P&gt;&lt;P&gt;        vedpn,                         "Servicecontract pos. notice data&lt;/P&gt;&lt;P&gt;        riserls,                       "Serialnumbers&lt;/P&gt;&lt;P&gt;        komser,                        "Serialnumbers for print&lt;/P&gt;&lt;P&gt;        tvbur,                         "Sales office&lt;/P&gt;&lt;P&gt;        tvko,                          "Sales organisation&lt;/P&gt;&lt;P&gt;        adrs,                          "Communicationarea for Address&lt;/P&gt;&lt;P&gt;        fpltdr,                        "billing schedules&lt;/P&gt;&lt;P&gt;        wtad_addis_in_so_print,        "additional&lt;/P&gt;&lt;P&gt;        wtad_buying_print_extra_text,  "texts belonging to additional&lt;/P&gt;&lt;P&gt;        komv, "Addition by Sharat&lt;/P&gt;&lt;P&gt;        t685t. "Addition by Sharat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE rvadtabl.&lt;/P&gt;&lt;P&gt;INCLUDE rvdirekt.&lt;/P&gt;&lt;P&gt;INCLUDE vedadata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RVADOR01_01 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data for access to central address maintenance&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;INCLUDE sdzavdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: addi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA price_print_mode(1) TYPE c.       "Print-mode&lt;/P&gt;&lt;P&gt;DATA: retcode   LIKE sy-subrc.         "Returncode&lt;/P&gt;&lt;P&gt;DATA: repeat(1) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: xscreen(1) TYPE c.               "Output on printer or screen&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF steu,                   "Controldata for output&lt;/P&gt;&lt;P&gt;        vdkex(1) TYPE c,&lt;/P&gt;&lt;P&gt;        vdpex(1) TYPE c,&lt;/P&gt;&lt;P&gt;        kbkex(1) TYPE c,&lt;/P&gt;&lt;P&gt;        kbpex(1) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF steu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpa OCCURS 0.        "Internal table for 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 tvbdpa OCCURS 0.        "Internal table for items&lt;/P&gt;&lt;P&gt;*DATA: pltxt TYPE c LENGTH 40.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INCLUDE STRUCTURE vbdpa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*DATA: END OF tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomv OCCURS 50.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komv.&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.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komvd.&lt;/P&gt;&lt;P&gt;DATA: END OF tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpau OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpau.&lt;/P&gt;&lt;P&gt;DATA: END   OF tvbdpau.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomcon OCCURS 50.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE conf_out.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomcon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomservh OCCURS 1.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vedka.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomservh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomservp OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vedpa.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomservp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomservhn OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vedkn.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomservhn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomservpn OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vedpn.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomservpn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomser OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE riserls.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomser.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tkomser_print OCCURS 5.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE komser.&lt;/P&gt;&lt;P&gt;DATA: END   OF tkomser_print.&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;DATA: taddi_print TYPE addi_so_print_itab WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Begin of data diclaration by Sharat for Changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tvbdpa_temp OCCURS 0.        "Internal table for items&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE vbdpa.&lt;/P&gt;&lt;P&gt;DATA: END OF tvbdpa_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_test TYPE c LENGTH 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF ty_cont_sumry,&lt;/P&gt;&lt;P&gt;       pltxt TYPE c LENGTH 40,&lt;/P&gt;&lt;P&gt;       posnr TYPE posnr,&lt;/P&gt;&lt;P&gt;       pltxt1 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       pltxt2 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       pltxt3 TYPE c LENGTH 10,&lt;/P&gt;&lt;P&gt;       name TYPE ad_name1,&lt;/P&gt;&lt;P&gt;       name1 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       name2 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       name3 TYPE c LENGTH 10,&lt;/P&gt;&lt;P&gt;       city TYPE ad_city1,&lt;/P&gt;&lt;P&gt;       city1 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       city2 TYPE c LENGTH 15,&lt;/P&gt;&lt;P&gt;       city3 TYPE c LENGTH 10,&lt;/P&gt;&lt;P&gt;       state TYPE regio,&lt;/P&gt;&lt;P&gt;       item TYPE i,&lt;/P&gt;&lt;P&gt;       mothly_tot TYPE netwr,&lt;/P&gt;&lt;P&gt;       ext_tot TYPE netwr,&lt;/P&gt;&lt;P&gt;       cont_subtax TYPE netwr,&lt;/P&gt;&lt;P&gt;       cont_tottax TYPE netwr,&lt;/P&gt;&lt;P&gt;       END OF ty_cont_sumry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: st_cont_sumry TYPE ty_cont_sumry,&lt;/P&gt;&lt;P&gt;      st_cont_sumry1 TYPE ty_cont_sumry.&lt;/P&gt;&lt;P&gt;DATA: g_cont_subtot TYPE mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_exttot TYPE mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_subtax TYPE mwsbp."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_tottax TYPE kzwis."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_subadj TYPE netwr."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_adjtot TYPE netwr."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_adj TYPE netwr."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_adjexttot  TYPE netwr."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_grantmontot  TYPE mwsbp."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: g_cont_grantexttot  TYPE kzwis."mwsbp.&lt;/P&gt;&lt;P&gt;DATA: gt_cont_sumry TYPE STANDARD TABLE OF ty_cont_sumry,&lt;/P&gt;&lt;P&gt;      gt_cont_sumry1 TYPE STANDARD TABLE OF ty_cont_sumry.&lt;/P&gt;&lt;P&gt;DATA: g_pltxt TYPE c LENGTH 40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*end of data diclaration by Sharat for Changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: pr_kappl(01)   TYPE c VALUE 'V'. "Application for pricing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM entry USING return_code TYPE i&lt;/P&gt;&lt;P&gt;                 us_screen TYPE c.&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.&lt;/P&gt;&lt;P&gt;  IF retcode NE 0.&lt;/P&gt;&lt;P&gt;    return_code = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    return_code = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM PROCESSING                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM form_open USING xscreen vbdka-land1.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM form_title_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM validity_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM header_data_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM header_serv_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM header_notice_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM header_inter_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM header_text_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM item_print.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM end_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHECK retcode = 0.&lt;/P&gt;&lt;P&gt;  PERFORM form_close.&lt;/P&gt;&lt;P&gt;  CHECK retcode = 0.&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;      S U B R O U T I N E S                                         *&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;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ALTERNATIVE_ITEM                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      A text is printed, if the item is an alternative item.        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM alternative_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-grpos CN '0'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ALTERNATIVE_ITEM'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ALTERNATIVE_ITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM CHECK_REPEAT                                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      A text is printed, if it is a repeat print for the document.  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM check_repeat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR repeat.&lt;/P&gt;&lt;P&gt;  SELECT * INTO *nast FROM nast WHERE kappl = nast-kappl&lt;/P&gt;&lt;P&gt;                                AND   objky = nast-objky&lt;/P&gt;&lt;P&gt;                                AND   kschl = nast-kschl&lt;/P&gt;&lt;P&gt;                                AND   spras = nast-spras&lt;/P&gt;&lt;P&gt;                                AND   parnr = nast-parnr&lt;/P&gt;&lt;P&gt;                                AND   parvw = nast-parvw&lt;/P&gt;&lt;P&gt;                                AND   nacha BETWEEN '1' AND '4'.&lt;/P&gt;&lt;P&gt;    CHECK *nast-vstat = '1'.&lt;/P&gt;&lt;P&gt;    repeat = 'X'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CHECK_REPEAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DELIVERY_DATE                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the delivery date in the item is different to the header   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      date and there are no scheduled quantities, the delivery date *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      is printed in the item block.                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM delivery_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdka-lfdat =  space AND&lt;/P&gt;&lt;P&gt;     vbdpa-lfdat NE space AND&lt;/P&gt;&lt;P&gt;     vbdpa-etenr_da = space.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'ITEM_DELIVERY_DATE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DELIVERY_DATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DIFFERENT_CONSIGNEE                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the consignee in the item is different to the header con-  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      signee, it is printed by this routine.                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM different_consignee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdka-name1_we NE vbdpa-name1_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-name2_we NE vbdpa-name2_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-name3_we NE vbdpa-name3_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-name4_we NE vbdpa-name4_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-stras_we NE vbdpa-stras_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-pfach_we NE vbdpa-pfach_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-pstlz_we NE vbdpa-pstlz_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-pstl2_we NE vbdpa-pstl2_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-ort01_we NE vbdpa-ort01_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-pfort_we NE vbdpa-pfort_we&lt;/P&gt;&lt;P&gt;    OR  vbdka-land1_we NE vbdpa-land1_we.&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-name1_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-name2_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-name3_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-name4_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-stras_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-pfach_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-pstlz_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-pstl2_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-ort01_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-pfort_we NE space&lt;/P&gt;&lt;P&gt;    OR  vbdpa-land1_we NE space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_CONSIGNEE'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "DIFFERENT_CONSIGNEE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DIFFERENT_REFERENCE_NO                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the reference number in the item is different to the header*&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      reference number, it is printed by this routine.              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM different_reference_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-vbeln_vang NE vbdka-vbeln_vang&lt;/P&gt;&lt;P&gt;    OR  vbdpa-vbtyp_vang NE vbdka-vbtyp_vang.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_REFERENCE_NO'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "DIFFERENT_REFERENCE_NO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM DIFFERENT_TERMS                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the terms in the item are different to the header terms,   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      they are printed by this routine.                             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM different_terms.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: us_vposn   LIKE vedpa-vposn.&lt;/P&gt;&lt;P&gt;  DATA: us_text(1) TYPE c.             "Flag for Noticetext was printed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdpa-zterm NE vbdka-zterm AND&lt;/P&gt;&lt;P&gt;     vbdpa-zterm NE space.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'ITEM_TERMS_OF_PAYMENT'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;  IF vbdpa-inco1 NE space.&lt;/P&gt;&lt;P&gt;    IF vbdpa-inco1 NE vbdka-inco1 OR&lt;/P&gt;&lt;P&gt;       vbdpa-inco2 NE vbdka-inco2.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_TERMS_OF_DELIVERY'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;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;Print different validity-data for the position&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE tkomservp WITH KEY vbdpa-posnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    vedpa = tkomservp.&lt;/P&gt;&lt;P&gt;    IF vedpa-vbegdat NE space       AND&lt;/P&gt;&lt;P&gt;       vedpa-venddat NE space       AND&lt;/P&gt;&lt;P&gt;       NOT vedpa-vbegdat IS INITIAL AND&lt;/P&gt;&lt;P&gt;       NOT vedpa-venddat IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_TERMS_OF_SERV1'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSEIF vedpa-vbegdat NE space AND&lt;/P&gt;&lt;P&gt;           NOT vedpa-vbegdat IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_TERMS_OF_SERV2'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_TERMS_OF_SERV3'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;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;Notice-rules for the positions.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE vbdpa-posnr TO us_vposn.&lt;/P&gt;&lt;P&gt;  CLEAR us_text.&lt;/P&gt;&lt;P&gt;  LOOP AT tkomservpn WHERE vposn = us_vposn.&lt;/P&gt;&lt;P&gt;    vedpn = tkomservpn.&lt;/P&gt;&lt;P&gt;    IF us_text IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_TERMS_OF_NOTTXT'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      us_text = charx.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'ITEM_TERMS_OF_NOTICE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF NOT us_text IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'EMPTY_LINE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "DIFFERENT_TERMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM END_PRINT                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM end_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_header_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'PROTECT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM header_price_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT price_print_mode EQ chara AND&lt;/P&gt;&lt;P&gt;     xscreen IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pricing data init&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'RV_PRICE_PRINT_GET_BUFFER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_init   = charx&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        t_tkomv  = tkomv&lt;/P&gt;&lt;P&gt;        t_tkomvd = tkomvd.&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;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'END_VALUES'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'ENDPROTECT'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'SUPPLEMENT_TEXT'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;  CLEAR g_cont_subtot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "END_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FORM_CLOSE                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      End of printing the form                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM form_close.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA da_clear_vbeln(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bei Druckansicht im Anlegen gibt es noch keine Belegnummer - für die&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Anzeige temporäre Belegnummer übergeben und danach zurücknehmen, damit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Folgeverarbeitung noch funktioniert&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF vbdka-vbeln IS INITIAL.&lt;/P&gt;&lt;P&gt;    da_clear_vbeln = charx.&lt;/P&gt;&lt;P&gt;    vbdka-vbeln = '$000000001'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CLOSE_FORM'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    retcode = 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SET COUNTRY space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF da_clear_vbeln EQ charx.&lt;/P&gt;&lt;P&gt;    CLEAR vbdka-vbeln.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FORM_CLOSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FORM_OPEN                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Start of printing the form                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  US_SCREEN  Output on screen                                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 ' ' = printer                                      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 'X' = screen                                       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  US_COUNTRY County for telecommunication and SET COUNTRY       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM form_open USING us_screen TYPE c&lt;/P&gt;&lt;P&gt;                     us_country TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send confirmation to user who send the document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF  nast-nacha EQ '2'.&lt;/P&gt;&lt;P&gt;    nast-usnam = vbdka-ernam.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; get fax country key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF nast-teltx IS INITIAL AND nast-manue NE 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM get_fax_land USING nast-tland.&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;  INCLUDE rvadopfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FORM_OPEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM FORM_TITLE_PRINT                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printing of the form title depending of the field VBTYP       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM form_title_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE vbdka-vbtyp.&lt;/P&gt;&lt;P&gt;    WHEN 'A'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_A'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-SECTION     FORM_TITLE_PRINT_01 SPOTS ES_RVADOR01.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;*END-ENHANCEMENT-SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'B'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_B'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'C'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_C'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'E'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_E'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'F'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_F'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'G'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_F'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'H'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_H'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'K'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_K'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'L'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_L'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TITLE_OTHERS'&lt;/P&gt;&lt;P&gt;          window  = 'TITLE'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;  IF repeat NE space.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'REPEAT'&lt;/P&gt;&lt;P&gt;        window  = 'REPEAT'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FORM_TITLE_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: us_veda_vbeln     LIKE veda-vbeln.&lt;/P&gt;&lt;P&gt;  DATA: us_veda_posnr_low LIKE veda-vposn.&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;  CALL FUNCTION 'RV_PRICE_PRINT_GET_MODE'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_print_mode = price_print_mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF price_print_mode EQ chara.&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;  ENDIF.&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;&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-vbeln = nast-objky.&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;P&gt;  CALL FUNCTION 'RV_DOCUMENT_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                        = 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;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    retcode = 1.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT da_mess.&lt;/P&gt;&lt;P&gt;      sy-msgid = da_mess-msgid.&lt;/P&gt;&lt;P&gt;      sy-msgno = da_mess-msgno.&lt;/P&gt;&lt;P&gt;      sy-msgty = da_mess-msgty.&lt;/P&gt;&lt;P&gt;      sy-msgv1 = da_mess-msgv1.&lt;/P&gt;&lt;P&gt;      sy-msgv2 = da_mess-msgv2.&lt;/P&gt;&lt;P&gt;      sy-msgv3 = da_mess-msgv3.&lt;/P&gt;&lt;P&gt;      sy-msgv4 = da_mess-msgv4.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&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;fill address key --&amp;gt; necessary for emails&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  addr_key-addrnumber = vbdka-adrnr.&lt;/P&gt;&lt;P&gt;  addr_key-persnumber = vbdka-adrnp.&lt;/P&gt;&lt;P&gt;  addr_key-addr_type  = vbdka-address_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch servicecontract-data and notice-data for head and position.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  us_veda_vbeln     = vbdka-vbeln.&lt;/P&gt;&lt;P&gt;  us_veda_posnr_low = posnr_low.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SD_VEDA_GET_PRINT_DATA'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_document_number = us_veda_vbeln&lt;/P&gt;&lt;P&gt;      i_language        = sy-langu&lt;/P&gt;&lt;P&gt;      i_posnr_low       = us_veda_posnr_low&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      print_data_pos    = tkomservp&lt;/P&gt;&lt;P&gt;      print_data_head   = tkomservh&lt;/P&gt;&lt;P&gt;      print_notice_pos  = tkomservpn&lt;/P&gt;&lt;P&gt;      print_notice_head = tkomservhn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_controll_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM sender.&lt;/P&gt;&lt;P&gt;  PERFORM check_repeat.&lt;/P&gt;&lt;P&gt;  PERFORM tvbdpau_create.&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;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_ITEM_BILLING_SCHEDULES                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the billing schedules are fetched from the    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      database.                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_item_billing_schedules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH tfpltdr.&lt;/P&gt;&lt;P&gt;  CHECK NOT vbdpa-fplnr IS INITIAL.&lt;/P&gt;&lt;P&gt;&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 = nast-spras&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_ITEM_BILLING_SCHEDULES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ITEM_BILLING_SCHEDULES_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine prints the billing shedules of a salesdocument    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      position.                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM  item_billing_schedules_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: first_line(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  first_line = charx.&lt;/P&gt;&lt;P&gt;  LOOP AT tfpltdr.&lt;/P&gt;&lt;P&gt;    fpltdr = tfpltdr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Output of the following printlines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF NOT fpltdr-perio IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    periodische Fakturen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_BILLING_SCHEDULE_PERIODIC'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    bei periodischen nur eine Zeile&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSEIF fpltdr-fareg CA '14'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    prozentuale Teilfakturierung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF NOT first_line IS INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR first_line.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_BILLING_SCHEDULE_PERCENT_HEADER'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_BILLING_SCHEDULE_PERCENT'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ELSEIF fpltdr-fareg CA '235'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    wertmäßige  Teilfakturierung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF NOT first_line IS INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR first_line.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_BILLING_SCHEDULE_VALUE_HEADER'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_BILLING_SCHEDULE_VALUE'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ELSEIF fpltdr-fareg CA '3'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Schlußrechnung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_BILLING_SCHEDULES_PRINT&lt;/P&gt;&lt;P&gt;*eject&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM  GET_ITEM_ADDIS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Additionals data are fetched from database&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_item_addis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: taddi_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WTAD_ADDIS_IN_SO_PRINT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            fi_vbeln              = vbdka-vbeln&lt;/P&gt;&lt;P&gt;            fi_posnr              = vbdpa-posnr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          FI_LANGUAGE           = SY-LANGU&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            fet_addis_in_so_print = taddi_print&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            addis_not_active      = 1&lt;/P&gt;&lt;P&gt;            no_addis_for_so_item  = 2&lt;/P&gt;&lt;P&gt;            OTHERS                = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_ITEM_ADDIS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM GET_ITEM_CHARACTERISTICS                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In this routine the configuration data 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;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_item_characteristics.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA da_t_cabn LIKE cabn OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF da_key,&lt;/P&gt;&lt;P&gt;          mandt LIKE cabn-mandt,&lt;/P&gt;&lt;P&gt;          atinn LIKE cabn-atinn,&lt;/P&gt;&lt;P&gt;        END   OF da_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH tkomcon.&lt;/P&gt;&lt;P&gt;  CHECK NOT vbdpa-cuobj IS INITIAL AND&lt;/P&gt;&lt;P&gt;            vbdpa-attyp NE var_typ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'VC_I_GET_CONFIGURATION'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      instance      = vbdpa-cuobj&lt;/P&gt;&lt;P&gt;      language      = nast-spras&lt;/P&gt;&lt;P&gt;      print_sales   = charx&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      configuration = tkomcon&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS        = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  RANGES : da_in_cabn FOR da_t_cabn-atinn.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Beschreibung der Merkmale wegen Objektmerkmalen auf sdcom-vkond holen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR da_in_cabn. REFRESH da_in_cabn.&lt;/P&gt;&lt;P&gt;  LOOP AT tkomcon.&lt;/P&gt;&lt;P&gt;    da_in_cabn-option = 'EQ'.&lt;/P&gt;&lt;P&gt;    da_in_cabn-sign   = 'I'.&lt;/P&gt;&lt;P&gt;    da_in_cabn-low    = tkomcon-atinn.&lt;/P&gt;&lt;P&gt;    APPEND da_in_cabn.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR da_t_cabn. REFRESH da_t_cabn.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CLSE_SELECT_CABN'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        KEY_DATE                     = SY-DATUM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        BYPASSING_BUFFER             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH_PREPARED_PATTERN        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        I_AENNR                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AMBIGUOUS_OBJ_CHARACTERISTIC =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;          in_cabn                      = da_in_cabn&lt;/P&gt;&lt;P&gt;          t_cabn                       = da_t_cabn&lt;/P&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;P&gt;          no_entry_found               = 1&lt;/P&gt;&lt;P&gt;          OTHERS                       = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Preisfindungsmerkmale / Merkmale auf VCSD_UPDATE herausnehmen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT da_t_cabn.&lt;/P&gt;&lt;P&gt;  LOOP AT tkomcon.&lt;/P&gt;&lt;P&gt;    da_key-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    da_key-atinn = tkomcon-atinn.&lt;/P&gt;&lt;P&gt;    READ TABLE da_t_cabn WITH KEY da_key BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0 OR&lt;/P&gt;&lt;P&gt;       ( ( da_t_cabn-attab = 'SDCOM' AND&lt;/P&gt;&lt;P&gt;          da_t_cabn-atfel = 'VKOND'       ) OR&lt;/P&gt;&lt;P&gt;        ( da_t_cabn-attab = 'VCSD_UPDATE' ) ) .&lt;/P&gt;&lt;P&gt;      DELETE tkomcon.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "GET_ITEM_CHARACTERISTICS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&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 vbdka-knumv OR&lt;/P&gt;&lt;P&gt;     komk-knumv IS INITIAL.&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 = vbdka-kalsm.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdka-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdka-knumv.&lt;/P&gt;&lt;P&gt;    komk-knuma = vbdka-knuma.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdka-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-land1 = vbdka-land1.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdka-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdka-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdka-spart.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdka-bukrs_vf.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdka-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdka-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdka-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdka-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdka-kurrf_dat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  komp-kposn = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;  komp-kursk = vbdpa-kursk.&lt;/P&gt;&lt;P&gt;  komp-kursk_dat = vbdpa-kursk_dat.&lt;/P&gt;&lt;P&gt;  IF vbdka-vbtyp CA 'HKNOT6'.&lt;/P&gt;&lt;P&gt;    IF vbdpa-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 vbdpa-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;&lt;/P&gt;&lt;P&gt;  IF price_print_mode EQ chara.&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;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'RV_PRICE_PRINT_ITEM_BUFFER'&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;  ENDIF.&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;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_header_prices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SD_TAX_CODE_MAINTAIN'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        key_knumv           = vbdka-knumv&lt;/P&gt;&lt;P&gt;        key_kposn           = tvbdpa-posnr&lt;/P&gt;&lt;P&gt;        i_application       = ' '&lt;/P&gt;&lt;P&gt;        i_pricing_procedure = vbdka-kalsm&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        xkomv               = tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF price_print_mode EQ chara.&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;      TABLES&lt;/P&gt;&lt;P&gt;        tkomv       = tkomv&lt;/P&gt;&lt;P&gt;        tkomvd      = tkomvd.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'RV_PRICE_PRINT_HEAD_BUFFER'&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;      TABLES&lt;/P&gt;&lt;P&gt;        tkomv       = tkomv&lt;/P&gt;&lt;P&gt;        tkomvd      = tkomvd.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER_DATA_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printing of header data like terms, weights ....               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_data_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'HEADER_DATA'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                               " HEADER_DATA_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM HEADER_PRICE_PRINT                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the header prices                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_price_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT FIRST.&lt;/P&gt;&lt;P&gt;      IF komk-supos NE 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_SUM'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'UNDER_LINE'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    komvd = tkomvd.&lt;/P&gt;&lt;P&gt;    IF komvd-koaid = 'D'.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'TAX_LINE'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF NOT komvd-kntyp EQ 'f'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'SUM_LINE'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE tkomvd LINES sy-tfill.&lt;/P&gt;&lt;P&gt;  IF sy-tfill = 0.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'UNDER_LINE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "HEADER_PRICE_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM HEADER_TEXT_PRINT                                        *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the headertexts                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM header_text_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'HEADER_TEXT'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "HEADER_TEXT_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_BILLING_CORRECTION_HEADER                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      In the case of a billing correction, the header of the item   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      debit memo / credit memo position, is printed by this routine *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_billing_correction_header USING us_ganf TYPE c&lt;/P&gt;&lt;P&gt;                                          us_lanf TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdka-vbklt EQ vbklt_rech_korr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdka-vbtyp = vbtyp_ganf.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Gutschriftsanforderung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF vbdpa-shkzg = charx.&lt;/P&gt;&lt;P&gt;      IF us_ganf IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE charx TO us_ganf.&lt;/P&gt;&lt;P&gt;        MOVE space TO us_lanf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'CORRECTION_TEXT_K'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF us_lanf IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE charx TO us_lanf.&lt;/P&gt;&lt;P&gt;        MOVE space TO us_ganf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'CORRECTION_TEXT_L'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF vbdka-vbtyp = vbtyp_lanf.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Lastschriftssanforderung&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF vbdpa-shkzg = space.&lt;/P&gt;&lt;P&gt;      IF us_lanf IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE charx TO us_lanf.&lt;/P&gt;&lt;P&gt;        MOVE space TO us_ganf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'CORRECTION_TEXT_L'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF us_ganf IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE charx TO us_ganf.&lt;/P&gt;&lt;P&gt;        MOVE space TO us_lanf.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'CORRECTION_TEXT_K'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_BILLING_CORRECTION_HEADER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ITEM_ADDIS_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of item additionals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM item_addis_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT taddi_print.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING taddi_print TO wtad_addis_in_so_print.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'ITEM_ADDI_SO_INFO'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        OTHERS  = 1.&lt;/P&gt;&lt;P&gt;    LOOP AT taddi_print-addi_so_extra_text_info&lt;/P&gt;&lt;P&gt;            INTO wtad_buying_print_extra_text.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_ADDI_EXTRA_TEXT'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          OTHERS  = 1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " ITEM_ADDIS_PRINT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_CHARACERISTICS_PRINT                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the item characteristics -&amp;gt; configuration         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_characteristics_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tkomcon.&lt;/P&gt;&lt;P&gt;    conf_out = tkomcon.&lt;/P&gt;&lt;P&gt;    IF sy-tabix = 1.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_CONFIGURATION_HEADER'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          OTHERS  = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_CONFIGURATION'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          OTHERS  = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_CHARACTERISTICS_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_DELIVERY_CONFIRMATION                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the delivery date is not confirmed, a text is printed      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_delivery_confirmation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdka-vbtyp NE vbtyp_ganf AND vbdka-vbtyp NE vbtyp_lanf.&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-lfdat = space.&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-kwmeng NE 0.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_DELIVERY_CONFIRMATION'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ITEM_DELIVERY_CONFIRMATION&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_AGREED_DELIVERY_TIME                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If an agreed delivery time and the corresponding text is      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      available on item level, the text is printed                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_agreed_delivery_time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdka-vbtyp EQ 'B' OR vbdka-vbtyp EQ 'G'.&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-delco NE space AND vbdpa-delco_bez NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_AGREED_DELIVERY_TIME'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ITEM_AGREED_DELIVERY_TIME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_PRICE_PRINT                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the item prices                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_price_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tkomvd.&lt;/P&gt;&lt;P&gt;    komvd = tkomvd.&lt;/P&gt;&lt;P&gt;    IF sy-tabix = 1 AND&lt;/P&gt;&lt;P&gt;     ( komvd-koaid = charb OR&lt;/P&gt;&lt;P&gt;       komvd-kschl = space ).&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_PRICE_QUANTITY'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF komvd-kntyp NE 'f'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_LINE_PRICE_TEXT'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'ITEM_LINE_REBATE_IN_KIND'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_PRICE_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: da_subrc LIKE sy-subrc,&lt;/P&gt;&lt;P&gt;        da_dragr LIKE tvag-dragr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: da_ganf(1) TYPE c,      "Print flag for billing correction&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       da_lanf(1) TYPE c.      "Print flag for billing correction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_obknr TYPE objknr.&lt;/P&gt;&lt;P&gt;  DATA: l_equnr TYPE equnr.&lt;/P&gt;&lt;P&gt;  DATA: stru_bapi_itob_eq_only TYPE bapi_itob_eq_only.&lt;/P&gt;&lt;P&gt;  DATA: stru_bapi_itob TYPE bapi_itob.&lt;/P&gt;&lt;P&gt;  DATA: stru_addr TYPE addr1_sel.&lt;/P&gt;&lt;P&gt;  DATA: stru_adr TYPE sadr.&lt;/P&gt;&lt;P&gt;  DATA: l_pltxt TYPE c LENGTH 40,&lt;/P&gt;&lt;P&gt;        l_pltxt_temp TYPE c LENGTH 40.&lt;/P&gt;&lt;P&gt;  DATA: str1 TYPE c LENGTH 14.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element = 'ITEM_HEADER_DATA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  tvbdpa_temp[] = tvbdpa[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    vbdpa = tvbdpa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE obknr FROM ser02&lt;/P&gt;&lt;P&gt;                        INTO l_obknr&lt;/P&gt;&lt;P&gt;                        WHERE sdaufnr = nast-objky&lt;/P&gt;&lt;P&gt;                        AND   posnr = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE equnr FROM objk&lt;/P&gt;&lt;P&gt;                          INTO l_equnr&lt;/P&gt;&lt;P&gt;                          WHERE obknr = l_obknr.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'BAPI_EQUI_GETDETAIL'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            equipment         = l_equnr&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            data_general_exp  = stru_bapi_itob&lt;/P&gt;&lt;P&gt;            data_specific_exp = stru_bapi_itob_eq_only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        stru_addr-addrnumber = stru_bapi_itob-read_adrnr.&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 = stru_addr&lt;/P&gt;&lt;P&gt;          IMPORTING&lt;/P&gt;&lt;P&gt;            sadr              = stru_adr&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            parameter_error   = 1&lt;/P&gt;&lt;P&gt;            address_not_exist = 2&lt;/P&gt;&lt;P&gt;            version_not_exist = 3&lt;/P&gt;&lt;P&gt;            internal_error    = 4&lt;/P&gt;&lt;P&gt;            OTHERS            = 5.&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;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE pltxt FROM iflo&lt;/P&gt;&lt;P&gt;                            INTO l_pltxt&lt;/P&gt;&lt;P&gt;                            WHERE tplnr = stru_bapi_itob_eq_only-read_floc&lt;/P&gt;&lt;P&gt;                            AND spras = 'E'.&lt;/P&gt;&lt;P&gt;        IF l_pltxt_temp &amp;lt;&amp;gt; l_pltxt.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            MOVE l_pltxt TO l_pltxt_temp.&lt;/P&gt;&lt;P&gt;            SPLIT l_pltxt AT space INTO st_cont_sumry-pltxt1 st_cont_sumry-pltxt2 st_cont_sumry-pltxt3.&lt;/P&gt;&lt;P&gt;            REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-pltxt1 WITH space.&lt;/P&gt;&lt;P&gt;            REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-pltxt2 WITH space.&lt;/P&gt;&lt;P&gt;            REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-pltxt3 WITH space.&lt;/P&gt;&lt;P&gt;            MOVE l_pltxt TO st_cont_sumry-pltxt.&lt;/P&gt;&lt;P&gt;            CLEAR: g_cont_subtax, g_cont_tottax.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MOVE l_pltxt_temp TO st_cont_sumry-pltxt.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DATA: st_cont_sumry-name_temp LIKE st_cont_sumry-name,&lt;/P&gt;&lt;P&gt;              st_cont_sumry-city_temp LIKE st_cont_sumry-city,&lt;/P&gt;&lt;P&gt;              st_cont_sumry-state_temp LIKE st_cont_sumry-state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-name1 TO st_cont_sumry-name.&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-name1 TO st_cont_sumry-name_temp.&lt;/P&gt;&lt;P&gt;        SPLIT stru_adr-name1 AT space INTO  st_cont_sumry-name1 st_cont_sumry-name2 st_cont_sumry-name3.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-name1 WITH space.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-name2 WITH space.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-name3 WITH space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-ort01 TO st_cont_sumry-city.&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-ort01 TO st_cont_sumry-city_temp.&lt;/P&gt;&lt;P&gt;        SPLIT stru_adr-ort01 AT space INTO st_cont_sumry-city1 st_cont_sumry-city2 st_cont_sumry-city3.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-city1 WITH space.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-city2 WITH space.&lt;/P&gt;&lt;P&gt;        REPLACE ALL OCCURRENCES OF ',' IN st_cont_sumry-city3 WITH space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-regio TO st_cont_sumry-state.&lt;/P&gt;&lt;P&gt;        MOVE stru_adr-regio TO st_cont_sumry-state_temp.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MOVE l_pltxt_temp TO st_cont_sumry-pltxt.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-name_temp TO st_cont_sumry-name.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-city_temp TO st_cont_sumry-city.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-state_temp TO st_cont_sumry-state.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE vbdpa-zmeng TO str1.&lt;/P&gt;&lt;P&gt;    MOVE str1+0(9) TO st_cont_sumry-item.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE vbdpa-netpr TO st_cont_sumry-mothly_tot.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    st_cont_sumry-mothly_tot = st_cont_sumry-item * vbdpa-netpr.&lt;/P&gt;&lt;P&gt;    MOVE vbdpa-netwr TO st_cont_sumry-ext_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_cont_subtot  = g_cont_subtot + st_cont_sumry-mothly_tot."vbdpa-netpr.&lt;/P&gt;&lt;P&gt;    g_cont_exttot = g_cont_exttot + vbdpa-netwr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    komk-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;    komk-kalsm = vbdka-kalsm.&lt;/P&gt;&lt;P&gt;    komk-kappl = pr_kappl.&lt;/P&gt;&lt;P&gt;    komk-waerk = vbdka-waerk.&lt;/P&gt;&lt;P&gt;    komk-knumv = vbdka-knumv.&lt;/P&gt;&lt;P&gt;    komk-knuma = vbdka-knuma.&lt;/P&gt;&lt;P&gt;    komk-vbtyp = vbdka-vbtyp.&lt;/P&gt;&lt;P&gt;    komk-land1 = vbdka-land1.&lt;/P&gt;&lt;P&gt;    komk-vkorg = vbdka-vkorg.&lt;/P&gt;&lt;P&gt;    komk-vtweg = vbdka-vtweg.&lt;/P&gt;&lt;P&gt;    komk-spart = vbdka-spart.&lt;/P&gt;&lt;P&gt;    komk-bukrs = vbdka-bukrs_vf.&lt;/P&gt;&lt;P&gt;    komk-hwaer = vbdka-waers.&lt;/P&gt;&lt;P&gt;    komk-prsdt = vbdka-erdat.&lt;/P&gt;&lt;P&gt;    komk-kurst = vbdka-kurst.&lt;/P&gt;&lt;P&gt;    komk-kurrf = vbdka-kurrf.&lt;/P&gt;&lt;P&gt;    komk-kurrf_dat = vbdka-kurrf_dat.&lt;/P&gt;&lt;P&gt;    komp-kposn = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;    komp-kursk = vbdpa-kursk.&lt;/P&gt;&lt;P&gt;    komp-kursk_dat = vbdpa-kursk_dat.&lt;/P&gt;&lt;P&gt;    IF vbdka-vbtyp CA 'HKNOT6'.&lt;/P&gt;&lt;P&gt;      IF vbdpa-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 vbdpa-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;&lt;/P&gt;&lt;P&gt;    IF price_print_mode EQ chara.&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;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'RV_PRICE_PRINT_ITEM_BUFFER'&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_item_e = komp&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          tkomv       = tkomv.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_cont_subtax = g_cont_subtax + komp-mwsbp.&lt;/P&gt;&lt;P&gt;    IF NOT komp-mwsbp IS INITIAL.&lt;/P&gt;&lt;P&gt;      g_cont_tottax = g_cont_tottax + komp-kzwi1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MOVE: g_cont_subtax TO st_cont_sumry-cont_subtax,&lt;/P&gt;&lt;P&gt;          g_cont_tottax TO st_cont_sumry-cont_tottax.&lt;/P&gt;&lt;P&gt;    CLEAR: komk,komp, tkomv,tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE vbdpa-posnr TO st_cont_sumry-posnr.&lt;/P&gt;&lt;P&gt;    APPEND st_cont_sumry TO gt_cont_sumry.&lt;/P&gt;&lt;P&gt;    CLEAR: vbdpa,st_cont_sumry.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR st_cont_sumry.&lt;/P&gt;&lt;P&gt;  LOOP AT gt_cont_sumry INTO st_cont_sumry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE st_cont_sumry TO st_cont_sumry1.&lt;/P&gt;&lt;P&gt;    AT END OF pltxt.&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-item TO st_cont_sumry1-item.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-mothly_tot TO st_cont_sumry1-mothly_tot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-ext_tot TO st_cont_sumry1-ext_tot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_subtax TO st_cont_sumry1-cont_subtax.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_tottax TO st_cont_sumry1-cont_tottax.&lt;/P&gt;&lt;P&gt;      APPEND st_cont_sumry1 TO gt_cont_sumry1.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'ENDPROTECT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'PROTECT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;P&gt;     EXPORTING  element = 'ITEM_HEADER_DATA'&lt;/P&gt;&lt;P&gt;     EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR st_cont_sumry.&lt;/P&gt;&lt;P&gt;  SORT gt_cont_sumry1 BY pltxt.&lt;/P&gt;&lt;P&gt;  LOOP AT gt_cont_sumry1 INTO st_cont_sumry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element = 'ITEM_HEADER_DATA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       command = 'PROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element = 'ITEM_HEADER_DATA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       element = 'ITEM_LINE_HEADER_CUSTOM_DATA'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'ITEM_LINE_HEADER_CUSTOM_DATA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT LAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-mothly_tot TO g_cont_subtot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_subtax TO g_cont_subtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_cont_grantmontot = g_cont_subtot + g_cont_subtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-ext_tot TO g_cont_exttot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_tottax TO g_cont_tottax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_cont_grantexttot = g_cont_exttot + g_cont_tottax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_HEADER_TOTAL_DATA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       command = 'PROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       element = 'ITEM_LINE_HEADER_TOTAL_DATA'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        command = 'ENDPROTECT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM print_itemdata.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'NEW-PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM print_itemdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'           "Deactivate Header&lt;/P&gt;&lt;P&gt;       EXPORTING  element  = 'ITEM_HEADER'&lt;/P&gt;&lt;P&gt;                  function = 'DELETE'&lt;/P&gt;&lt;P&gt;                  type     = 'TOP'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS OTHERS   = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;  REFRESH: gt_cont_sumry1,gt_cont_sumry.&lt;/P&gt;&lt;P&gt;  CLEAR: st_cont_sumry, g_cont_subtax, g_cont_tottax,&lt;/P&gt;&lt;P&gt;         st_cont_sumry,st_cont_sumry1,&lt;/P&gt;&lt;P&gt;         g_cont_exttot,g_cont_subtax,g_cont_tottax,&lt;/P&gt;&lt;P&gt;         g_cont_subadj,g_cont_adjtot,g_cont_adj,&lt;/P&gt;&lt;P&gt;         g_cont_adjexttot,g_cont_grantmontot,g_cont_grantexttot.&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; CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element = 'ITEM_HEADER'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'WRITE_FORM'           "Activate header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element = 'ITEM_HEADER'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 type    = 'TOP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; LOOP AT tvbdpa.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   vbdpa = tvbdpa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; key_data-sdaufnr = vbdka-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; key_data-posnr = vbdpa-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE * FROM veda&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   WHERE vbeln = vbdka-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   AND   vposn = vbdpa-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE * FROM veda&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     WHERE vbeln = vbdka-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_01 SPOTS ES_RVADOR01.&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;   IF vbdpa-dragr EQ space.           "Print rejected item?&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF vbdpa-posnr_neu NE space.     "Item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_billing_correction_header USING da_ganf da_lanf.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_serials.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_characteristics.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_billing_schedules.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_prices.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_addis.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'PROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           element = 'ITEM_LINE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_rejected.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; End&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**-&amp;gt; Change by Sharat BEGIN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_serials_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print_costum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt;END&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_text_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_serials_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print_costum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; End&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_characteristics_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_addis_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_reference_billing.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM alternative_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM delivery_date.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_delivery_confirmation.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_agreed_delivery_time.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_billing_schedules_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_reference_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_terms.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_consignee.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM schedule_header.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM main_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM schedule_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_03 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_02 SPOTS ES_RVADOR01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'WRITE_FORM'           "Deactivate Header&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXPORTING  element  = 'ITEM_HEADER'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 function = 'DELETE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 type     = 'TOP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EXCEPTIONS OTHERS   = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ITEM_PRINT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_REFERENCE_BILLING                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If the reference number of the billing is printed by this     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      routine. In case (debit memo / credit memo)                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_reference_billing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdka-vbklt EQ vbklt_rech_korr.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_REFERENCE_BILLING'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ITEM_REFERENCE_BILLING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_REJECTED                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      A text is printed, if the item is rejected                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_rejected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT vbdpa-abgru IS INITIAL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_REJECTED'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ITEM_REJECTED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM MAIN_ITEM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      A text is printed, if the item is a main item                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM main_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpau INTO vbdpau&lt;/P&gt;&lt;P&gt;                  WHERE posnr EQ vbdpa-posnr.&lt;/P&gt;&lt;P&gt;    IF vbdpau-uposb IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ONE_SUBITEM'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'SEVERAL_SUBITEMS'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "MAIN_ITEM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM ITEM_TEXT_PRINT                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Printout of the item texts                                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM item_text_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_TEXT'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "ITEM_TEXT_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&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;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SCHEDULE_HEADER                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      If there are schedules in the item, then here is printed the  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      header for the schedules.                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM schedule_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-etenr_da NE space.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      command = 'PROTECT'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_SCHEDULE_HEADER'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "SCHEDULE_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM SCHEDULE_PRINT                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine prints the schedules for an item.                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM schedule_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK vbdpa-lfrel EQ 'X'.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'ITEM_SCHEDULE_PRINT'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                    "SCHEDULE_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&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;P&gt;*&lt;/P&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;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM tvko  WHERE vkorg = vbdka-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;&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.         "SADR40A&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.&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.                                                    "SADR40A&lt;/P&gt;&lt;P&gt;  vbdka-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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE * FROM TVBUR  WHERE VKBUR = VBDKA-VKBUR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SYST-MSGID = 'VN'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SYST-MSGNO = '203'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SYST-MSGTY = 'E'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SYST-MSGV1 = 'TVBUR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SYST-MSGV2 = SYST-SUBRC.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM PROTOCOL_UPDATE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SENDER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM TVBDPAU_CREATE                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine is creating a table which includes the subitem-  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      numbers                                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM tvbdpau_create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR tvbdpau.&lt;/P&gt;&lt;P&gt;  REFRESH tvbdpau.&lt;/P&gt;&lt;P&gt;  LOOP AT tvbdpa.&lt;/P&gt;&lt;P&gt;    IF tvbdpa-uepos IS INITIAL OR&lt;/P&gt;&lt;P&gt;       tvbdpa-uepos NE tvbdpau-posnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append work area to internal table TVBDPAU&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF tvbdpau-uposv &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        APPEND tvbdpau.&lt;/P&gt;&lt;P&gt;        CLEAR tvbdpau.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start filling new work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      tvbdpau-posnr = tvbdpa-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT tvbdpa-uepos IS INITIAL AND&lt;/P&gt;&lt;P&gt;         tvbdpa-uepos NE tvbdpau-posnr.&lt;/P&gt;&lt;P&gt;        tvbdpau-posnr = tvbdpa-uepos.&lt;/P&gt;&lt;P&gt;        tvbdpau-uepvw = tvbdpa-uepvw.&lt;/P&gt;&lt;P&gt;        tvbdpau-uposv = tvbdpa-posnr.&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;      IF tvbdpau-uposv IS INITIAL OR&lt;/P&gt;&lt;P&gt;         tvbdpau-uposv &amp;gt; tvbdpa-posnr.&lt;/P&gt;&lt;P&gt;        tvbdpau-uposv = tvbdpa-posnr.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF tvbdpau-uposb &amp;lt; tvbdpa-posnr AND&lt;/P&gt;&lt;P&gt;         tvbdpau-uposv &amp;lt; tvbdpa-posnr.&lt;/P&gt;&lt;P&gt;        tvbdpau-uposb = tvbdpa-posnr.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      tvbdpau-uepvw = tvbdpa-uepvw.    "UPOS-Verwendung&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF tvbdpau-uposv &amp;gt; 0.&lt;/P&gt;&lt;P&gt;    APPEND tvbdpau.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SORT tvbdpau.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TVBDPAU_CREATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM VALIDITY_PRINT                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine is printing the period of validity for offers    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and contracts                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM validity_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK steu-vdkex EQ space.&lt;/P&gt;&lt;P&gt;  CASE vbdka-vbtyp.&lt;/P&gt;&lt;P&gt;    WHEN 'B'.&lt;/P&gt;&lt;P&gt;      IF vbdka-angdt CN '0' OR&lt;/P&gt;&lt;P&gt;         vbdka-bnddt CN '0'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'VALIDITY_OFFER'&lt;/P&gt;&lt;P&gt;            window  = 'VALIDITY'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    WHEN 'E'.&lt;/P&gt;&lt;P&gt;      IF vbdka-guebg CN '0' OR&lt;/P&gt;&lt;P&gt;         vbdka-gueen CN '0'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'VALIDITY_CONTRACT'&lt;/P&gt;&lt;P&gt;            window  = 'VALIDITY'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    WHEN 'F'.&lt;/P&gt;&lt;P&gt;      IF vbdka-guebg CN '0' OR&lt;/P&gt;&lt;P&gt;         vbdka-gueen CN '0'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'VALIDITY_CONTRACT'&lt;/P&gt;&lt;P&gt;            window  = 'VALIDITY'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;    WHEN 'G'.&lt;/P&gt;&lt;P&gt;      IF vbdka-guebg CN '0' OR&lt;/P&gt;&lt;P&gt;         vbdka-gueen CN '0'.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            element = 'VALIDITY_CONTRACT'&lt;/P&gt;&lt;P&gt;            window  = 'VALIDITY'&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            element = 1&lt;/P&gt;&lt;P&gt;            window  = 2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&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;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "VALIDITY_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER_NOTICE_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine prints the notice-rules of the contract-header.   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM header_notice_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: us_text(1) TYPE c.             "Kz. falls Text für Kündigungsbed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Kündigungsbedingungen auf Kopfebene.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR us_text.&lt;/P&gt;&lt;P&gt;  LOOP AT tkomservhn.&lt;/P&gt;&lt;P&gt;    vedkn = tkomservhn.&lt;/P&gt;&lt;P&gt;    IF us_text IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    For the first time a headertext is printed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'HEADER_TERMS_OF_NOTTXT'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      us_text = charx.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'HEADER_TERMS_OF_NOTICE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If notice-rules exists a empty line is printed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT us_text IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'EMPTY_LINE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " HEADER_NOTICE_PRINT&lt;/P&gt;&lt;P&gt;*eject&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_ITEM_SERIALS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine give back the serialnumbers of salesdocument      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      position. The numbers are processed as print-lines in the      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      table KOMSER_PRINT.                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  US_VBELN  Salesdocument&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  US_POSNR  Position of the salesdocument&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_item_serials.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: key_data LIKE rserob,&lt;/P&gt;&lt;P&gt;        sernos LIKE rserob OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        serxx LIKE rserxx OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  key_data-taser = 'SER02'.&lt;/P&gt;&lt;P&gt;  key_data-sdaufnr = vbdka-vbeln.&lt;/P&gt;&lt;P&gt;  key_data-posnr = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;  IF key_data-sdaufnr IS INITIAL AND NOT&lt;/P&gt;&lt;P&gt;     key_data-posnr IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;beim Anlegen ist Belegnummer leer - deshalb Dummy-Belegnummer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    key_data-sdaufnr = char$.&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;Read the Serialnumbers of a Position.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH: tkomser,&lt;/P&gt;&lt;P&gt;           tkomser_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GET_SERNOS_OF_DOCUMENT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      key_data            = key_data&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      sernos              = sernos&lt;/P&gt;&lt;P&gt;*-&amp;gt;Begin of change by Sharat added new line one&lt;/P&gt;&lt;P&gt;      serxx               = serxx&lt;/P&gt;&lt;P&gt;*-&amp;gt;end of change by Sharat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      key_parameter_error = 1&lt;/P&gt;&lt;P&gt;      no_supported_access = 2&lt;/P&gt;&lt;P&gt;      no_data_found       = 3&lt;/P&gt;&lt;P&gt;      OTHERS              = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt; Comented by Sharat BEGIN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc NE 0 AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    sy-subrc NE 3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM protocol_update.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*-&amp;gt; Comented by Sharat END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt;Begin of change by Sharat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF ty_seri,&lt;/P&gt;&lt;P&gt;         sernr TYPE gernr,&lt;/P&gt;&lt;P&gt;         END OF ty_seri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_seri TYPE TABLE OF ty_seri,&lt;/P&gt;&lt;P&gt;        wa_seri LIKE LINE OF lt_seri.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT serxx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT sernr FROM objk&lt;/P&gt;&lt;P&gt;                 INTO TABLE lt_seri&lt;/P&gt;&lt;P&gt;                 WHERE obknr = serxx-obknr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      tkomser-vbeln = sernos-sdaufnr.&lt;/P&gt;&lt;P&gt;      tkomser-posnr = sernos-posnr.&lt;/P&gt;&lt;P&gt;      LOOP AT lt_seri INTO wa_seri.&lt;/P&gt;&lt;P&gt;        tkomser-sernr = wa_seri-sernr.&lt;/P&gt;&lt;P&gt;        APPEND tkomser.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt;END of changes by Sharat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt; Comented by Sharat BEGIN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Serialnummern übergeben&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; tkomser-vbeln = sernos-sdaufnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; tkomser-posnr = sernos-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT sernos.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   tkomser-sernr = sernos-sernr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND tkomser.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*-&amp;gt; Comented by Sharat END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process the stringtable for Printing.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'PROCESS_SERIALS_FOR_PRINT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_boundary_left             = '(_'&lt;/P&gt;&lt;P&gt;      i_boundary_right            = '_)'&lt;/P&gt;&lt;P&gt;      i_sep_char_strings          = ',_'&lt;/P&gt;&lt;P&gt;      i_sep_char_interval         = '_-_'&lt;/P&gt;&lt;P&gt;      i_use_interval              = 'X'&lt;/P&gt;&lt;P&gt;      i_boundary_method           = 'C'&lt;/P&gt;&lt;P&gt;      i_line_length               = 50&lt;/P&gt;&lt;P&gt;      i_no_zero                   = 'X'&lt;/P&gt;&lt;P&gt;      i_alphabet                  = sy-abcde&lt;/P&gt;&lt;P&gt;      i_digits                    = '0123456789'&lt;/P&gt;&lt;P&gt;      i_special_chars             = '-'&lt;/P&gt;&lt;P&gt;      i_with_second_digit         = ' '&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      serials                     = tkomser&lt;/P&gt;&lt;P&gt;      serials_print               = tkomser_print&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      boundary_missing            = 01&lt;/P&gt;&lt;P&gt;      interval_separation_missing = 02&lt;/P&gt;&lt;P&gt;      length_to_small             = 03&lt;/P&gt;&lt;P&gt;      internal_error              = 04&lt;/P&gt;&lt;P&gt;      wrong_method                = 05&lt;/P&gt;&lt;P&gt;      wrong_serial                = 06&lt;/P&gt;&lt;P&gt;      two_equal_serials           = 07&lt;/P&gt;&lt;P&gt;      serial_with_wrong_char      = 08&lt;/P&gt;&lt;P&gt;      serial_separation_missing   = 09.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_ITEM_SERIALS&lt;/P&gt;&lt;P&gt;*eject&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ITEM_SERIALS_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This routine prints the serialnumbers of a salesdocument       *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      position.                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM item_serials_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: first_line(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  first_line = charx.&lt;/P&gt;&lt;P&gt;  LOOP AT tkomser_print.&lt;/P&gt;&lt;P&gt;    komser = tkomser_print.&lt;/P&gt;&lt;P&gt;    IF NOT first_line IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Output of the Headerline&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_SERIAL_HEADER'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR first_line.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Output of the following printlines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_SERIAL'&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          element = 1&lt;/P&gt;&lt;P&gt;          window  = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&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;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If serialnumbers exists a empty line is printed.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF first_line IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'EMPTY_LINE'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " ITEM_SERIALS_PRINT&lt;/P&gt;&lt;P&gt;*eject&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER_INTER_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Prints the message that if other condition for the positions   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      exists they are printed there.                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM header_inter_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT steu-vdkex IS INITIAL.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      element = 'HEADER_TERMS_OF_TXTEND'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      element = 1&lt;/P&gt;&lt;P&gt;      window  = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;ENDFORM.                               " HEADER_INTER_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CONTROLL_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Checks if servicedata for the header exists.                   *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Checks if servicedata for the position exists.                 *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Checks if noticedata for the header exists.                    *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Checks if noticedata for the position exists.                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_controll_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lines TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Exists servicedata for the header?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE tkomservh LINES lines.&lt;/P&gt;&lt;P&gt;  IF lines GT 0.&lt;/P&gt;&lt;P&gt;    steu-vdkex = 'X'.&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;Exists servicedata for the position?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE tkomservp LINES lines.&lt;/P&gt;&lt;P&gt;  IF lines GT 0.&lt;/P&gt;&lt;P&gt;    steu-vdpex = 'X'.&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;Exists noticedata for the header?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE tkomservhn LINES lines.&lt;/P&gt;&lt;P&gt;  IF lines GT 0.&lt;/P&gt;&lt;P&gt;    steu-kbkex = 'X'.&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;Exists noticedata for the position?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE tkomservpn LINES lines.&lt;/P&gt;&lt;P&gt;  IF lines GT 0.&lt;/P&gt;&lt;P&gt;    steu-kbpex = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " GET_CONTROLL_DATA&lt;/P&gt;&lt;P&gt;*eject&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HEADER_SERV_PRINT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Output of the validity of a service-contract.                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM header_serv_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT steu-vdkex IS INITIAL.&lt;/P&gt;&lt;P&gt;  READ TABLE tkomservh INDEX 1.&lt;/P&gt;&lt;P&gt;  MOVE tkomservh TO vedka.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output of the validity.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT vedka-venddat IS INITIAL OR&lt;/P&gt;&lt;P&gt;     vedka-venddat EQ space.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'HEADER_TERMS_OF_SERV1'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSEIF vedka-vbegdat NE space AND&lt;/P&gt;&lt;P&gt;         NOT vedka-vbegdat IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'HEADER_TERMS_OF_SERV2'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        element = 'HEADER_TERMS_OF_SERV3'&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        element = 1&lt;/P&gt;&lt;P&gt;        window  = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " HEADER_SERV_PRINT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_fax_land&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NAST_TLAND  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_fax_land USING   p_nast_land LIKE nast-tland.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA  l_land    LIKE nast-tland .&lt;/P&gt;&lt;P&gt;  CLEAR l_land.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT addr_key-addrnumber IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'WFMC_FAXNUMBER_FOR_ADDRESS'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        adrnr          = addr_key-addrnumber&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        tland          = l_land&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        addr_not_exist = 1&lt;/P&gt;&lt;P&gt;        OTHERS         = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0 AND NOT l_land IS INITIAL.&lt;/P&gt;&lt;P&gt;      p_nast_land = l_land.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_fax_land&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RVADOFOI_01 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT RVADOR01_03 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  item_price_print_costum&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM item_price_print_costum .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tkomv WHERE kposn = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;    IF tkomv-kschl CP 'Z*'.&lt;/P&gt;&lt;P&gt;      komv = tkomv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONDITION_TEXTS_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;         pi_kappl         = 'V'&lt;/P&gt;&lt;P&gt;         pi_kschl         = tkomv-kschl&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PI_KOTABNR       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;         pe_i_t685t       = t685t&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        PE_I_TMC1T       =&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;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_PRICE_QUANTITY'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;ENDFORM.                    " item_price_print_costum&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  print_itemdata&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM print_itemdata .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: da_ganf(1) TYPE c,      "Print flag for billing correction&lt;/P&gt;&lt;P&gt;        da_lanf(1) TYPE c.      "Print flag for billing correction&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_cont_sumry_temp LIKE LINE OF gt_cont_sumry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'           "First header&lt;/P&gt;&lt;P&gt;       EXPORTING  element = 'ITEM_HEADER'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'           "Activate header&lt;/P&gt;&lt;P&gt;       EXPORTING  element = 'ITEM_HEADER'&lt;/P&gt;&lt;P&gt;                  type    = 'TOP'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS OTHERS  = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;  SORT gt_cont_sumry BY pltxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_cont_sumry INTO wa_cont_sumry_temp." WHERE posnr &amp;lt;= st_cont_sumry-posnr.&lt;/P&gt;&lt;P&gt;    AT NEW pltxt.&lt;/P&gt;&lt;P&gt;      MOVE wa_cont_sumry_temp-pltxt TO g_pltxt.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE tvbdpa_temp WITH KEY posnr = wa_cont_sumry_temp-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE tvbdpa_temp WITH KEY posnr = wa_cont_sumry_temp-posnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vbdpa = tvbdpa_temp.&lt;/P&gt;&lt;P&gt;      DELETE tvbdpa_temp WHERE posnr = wa_cont_sumry_temp-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_data-sdaufnr = vbdka-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; key_data-posnr = vbdpa-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM veda&lt;/P&gt;&lt;P&gt;                      WHERE vbeln = vbdka-vbeln&lt;/P&gt;&lt;P&gt;                      AND   vposn = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM veda&lt;/P&gt;&lt;P&gt;                        WHERE vbeln = vbdka-vbeln.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT ITEM_PRINT_01 SPOTS ES_RVADOR01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF vbdpa-dragr EQ space.           "Print rejected item?&lt;/P&gt;&lt;P&gt;        IF vbdpa-posnr_neu NE space.     "Item&lt;/P&gt;&lt;P&gt;          PERFORM item_billing_correction_header USING da_ganf da_lanf.&lt;/P&gt;&lt;P&gt;          PERFORM get_item_serials.&lt;/P&gt;&lt;P&gt;          PERFORM get_item_characteristics.&lt;/P&gt;&lt;P&gt;          PERFORM get_item_billing_schedules.&lt;/P&gt;&lt;P&gt;          PERFORM get_item_prices.&lt;/P&gt;&lt;P&gt;          PERFORM get_item_addis.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              command = 'ENDPROTECT'.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              command = 'PROTECT'.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              element = 'ITEM_LINE'.&lt;/P&gt;&lt;P&gt;          PERFORM item_rejected.&lt;/P&gt;&lt;P&gt;*-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*-&amp;gt; End&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt; Change by Sharat BEGIN&lt;/P&gt;&lt;P&gt;          PERFORM item_serials_print.&lt;/P&gt;&lt;P&gt;          PERFORM item_price_print_costum.&lt;/P&gt;&lt;P&gt;*-&amp;gt;END&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          PERFORM item_text_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_serials_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print_costum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*-&amp;gt; End&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          PERFORM item_characteristics_print.&lt;/P&gt;&lt;P&gt;          PERFORM item_addis_print.&lt;/P&gt;&lt;P&gt;          PERFORM item_reference_billing.&lt;/P&gt;&lt;P&gt;          PERFORM alternative_item.&lt;/P&gt;&lt;P&gt;          PERFORM delivery_date.&lt;/P&gt;&lt;P&gt;          PERFORM item_delivery_confirmation.&lt;/P&gt;&lt;P&gt;          PERFORM item_agreed_delivery_time.&lt;/P&gt;&lt;P&gt;          PERFORM item_billing_schedules_print.&lt;/P&gt;&lt;P&gt;          PERFORM different_reference_no.&lt;/P&gt;&lt;P&gt;          PERFORM different_terms.&lt;/P&gt;&lt;P&gt;          PERFORM different_consignee.&lt;/P&gt;&lt;P&gt;          PERFORM schedule_header.&lt;/P&gt;&lt;P&gt;          PERFORM main_item.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          PERFORM schedule_print.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT ITEM_PRINT_03 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENHANCEMENT-POINT ITEM_PRINT_02 SPOTS ES_RVADOR01.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    DATA: l_line TYPE i,&lt;/P&gt;&lt;P&gt;          l_tabix TYPE sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DESCRIBE TABLE gt_cont_sumry1 LINES l_line.&lt;/P&gt;&lt;P&gt;    READ TABLE gt_cont_sumry1 INTO st_cont_sumry WITH KEY posnr = wa_cont_sumry_temp-posnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE sy-tabix TO l_tabix.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-mothly_tot TO g_cont_subtot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_subtax TO g_cont_subtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_cont_grantmontot = g_cont_subtot + g_cont_subtax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-ext_tot TO g_cont_exttot.&lt;/P&gt;&lt;P&gt;      MOVE st_cont_sumry-cont_tottax TO g_cont_tottax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      g_cont_grantexttot = g_cont_exttot + g_cont_tottax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          element = 'ITEM_LINE_HEADER_TOTAL_DATA'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM end_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         element = 'END_VALUES'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF l_tabix &amp;lt;&amp;gt; l_line.&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            command = 'NEW-PAGE'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          command = 'ENDPROTECT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR g_pltxt.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT tvbdpa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   vbdpa = tvbdpa.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; key_data-sdaufnr = vbdka-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; key_data-posnr = vbdpa-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE * FROM veda&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   WHERE vbeln = vbdka-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   AND   vposn = vbdpa-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE * FROM veda&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     WHERE vbeln = vbdka-vbeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_01 SPOTS ES_RVADOR01.&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;   IF vbdpa-dragr EQ space.           "Print rejected item?&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF vbdpa-posnr_neu NE space.     "Item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_billing_correction_header USING da_ganf da_lanf.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_serials.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_characteristics.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_billing_schedules.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_prices.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM get_item_addis.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'PROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'WRITE_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           element = 'ITEM_LINE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_rejected.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; End&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**-&amp;gt; Change by Sharat BEGIN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_serials_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print_costum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt;END&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CALL FUNCTION 'CONTROL_FORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           command = 'ENDPROTECT'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_text_print.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**-&amp;gt; Commented by sharat END&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_serials_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       PERFORM item_price_print_costum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**-&amp;gt; End&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_characteristics_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_addis_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_reference_billing.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM alternative_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM delivery_date.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_delivery_confirmation.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_agreed_delivery_time.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM item_billing_schedules_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_reference_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_terms.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM different_consignee.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM schedule_header.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM main_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       PERFORM schedule_print.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_03 SPOTS ES_RVADOR01 STATIC.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**ENHANCEMENT-POINT ITEM_PRINT_02 SPOTS ES_RVADOR01.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'WRITE_FORM'           "Deactivate Header&lt;/P&gt;&lt;P&gt;       EXPORTING  element  = 'ITEM_HEADER'&lt;/P&gt;&lt;P&gt;                  function = 'DELETE'&lt;/P&gt;&lt;P&gt;                  type     = 'TOP'&lt;/P&gt;&lt;P&gt;       EXCEPTIONS OTHERS   = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " print_itemdata&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sivaramakrishna Kandula&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2007 14:05:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/script-program/m-p/3188562#M759507</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-12-10T14:05:48Z</dc:date>
    </item>
  </channel>
</rss>

