<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: into pdf in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657880#M613006</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jamshad , &lt;/P&gt;&lt;P&gt;  Why do you want to send the script to spool and then convert the spool to PDF , you can convert it directly , when you use the open_form FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case you have any further queries , feel free to revert back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Arun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Aug 2007 07:58:24 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-08-09T07:58:24Z</dc:date>
    <item>
      <title>into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657875#M613001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt; pls tell me how to  into sapscript into pdf, i executed driver program then i given lp01 and given print option , i am not getting the spool number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls help me&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:19:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657875#M613001</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T07:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657876#M613002</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;Check the following link,&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/smartform" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/smartform&lt;/A&gt;&lt;EM&gt;to&lt;/EM&gt;Mail&lt;EM&gt;as&lt;/EM&gt;PDF+attachment&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward if helpful.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:21:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657876#M613002</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T07:21:43Z</dc:date>
    </item>
    <item>
      <title>Re: into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657877#M613003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jamshad,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for new spool request: ITCPO-NEWID = 'X' and pass this ITCPO to OPEN_FORM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And to conevrt into PDF:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. catch the OTF data from close form using CONVERT_OTF&lt;/P&gt;&lt;P&gt;2. convert OTF data into OBJBIN form using QCE1_CONVERT&lt;/P&gt;&lt;P&gt;3. pass this OBJBIN formatted data (as an internal table) in ATT_CON parameter   of SO_OBJECT_SEND fm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it will work fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Krishnendu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:32:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657877#M613003</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T07:32:43Z</dc:date>
    </item>
    <item>
      <title>Re: into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657878#M613004</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ali&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find the sample code:&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;Change History&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;Programmer Date Change Request Description&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;FKHURRAM 9/16/02 DU1K920151 Upgrade changes.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Use ADRC for Address 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;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 rvador01 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;vbpa, "Sales Document: Partner&lt;/P&gt;&lt;P&gt;kna1, "General Data in Customer Master&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;INCLUDE yzrvadtabl.&lt;/P&gt;&lt;P&gt;*INCLUDE RVADTABL.&lt;/P&gt;&lt;P&gt;INCLUDE yzrvdirekt.&lt;/P&gt;&lt;P&gt;*INCLUDE RVDIREKT.&lt;/P&gt;&lt;P&gt;INCLUDE yzvedadata.&lt;/P&gt;&lt;P&gt;*INCLUDE VEDADATA.&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;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&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;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 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;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;P&gt;DATA: BEGIN OF char_val OCCURS 0,&lt;/P&gt;&lt;P&gt;atnam LIKE cabn-atnam,&lt;/P&gt;&lt;P&gt;atwrt LIKE ausp-atwrt,&lt;/P&gt;&lt;P&gt;END OF char_val.&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 us_screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR retcode.&lt;/P&gt;&lt;P&gt;xscreen = us_screen.&lt;/P&gt;&lt;P&gt;PERFORM processing.&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 logo_selection.&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 write_header_info.&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;P&gt;PERFORM end_print.&lt;/P&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;STRONG&gt;changes on 12/04/2007&lt;/STRONG&gt;****************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: tsp01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_spool,&lt;/P&gt;&lt;P&gt;rqident TYPE tsp01-rqident,&lt;/P&gt;&lt;P&gt;END OF t_spool.&lt;/P&gt;&lt;P&gt;DATA: i_spool TYPE STANDARD TABLE OF t_spool,&lt;/P&gt;&lt;P&gt;wa_spool TYPE t_spool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT rqident FROM tsp01&lt;/P&gt;&lt;P&gt;INTO TABLE i_spool&lt;/P&gt;&lt;P&gt;WHERE rqowner = sy-uname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT i_spool DESCENDING BY rqident.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_spool INTO wa_spool.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data: l_rqident type tsp01-rqident.&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;SELECT SINGLE rqident FROM tsp01 INTO l_rqident&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHERE rqowner = sy-uname.&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;DATA: l_spoolno LIKE tsp01-rqident VALUE '0000024884'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: l_ty_tab_pdf TYPE tline OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_pdf TYPE l_ty_tab_pdf,&lt;/P&gt;&lt;P&gt;l_spool TYPE tsp01-rqident.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type for binary attachment table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: l_ty_tab_objbin TYPE solisti1 OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_objbin TYPE l_ty_tab_objbin.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_spool = l_spoolno.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;l_spool = l_rqident.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_spool = wa_spool-rqident.&lt;/P&gt;&lt;P&gt;**/ Call the standard function&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF' "#EC ARGCHECKED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;src_spoolid = l_spool&lt;/P&gt;&lt;P&gt;no_dialog = ' '&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DST_DEVICE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PDF_DESTINATION =&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;pdf_bytecount = numbytes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;pdf_spoolid = pdfspoolid&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;LIST_PAGECOUNT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;btc_jobname = jobname&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;btc_jobcount = jobcount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;pdf = l_pdf&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;err_no_abap_spooljob = 1&lt;/P&gt;&lt;P&gt;err_no_spooljob = 2&lt;/P&gt;&lt;P&gt;err_no_permission = 3&lt;/P&gt;&lt;P&gt;err_conv_not_possible = 4&lt;/P&gt;&lt;P&gt;err_bad_destdevice = 5&lt;/P&gt;&lt;P&gt;user_cancelled = 6&lt;/P&gt;&lt;P&gt;err_spoolerror = 7&lt;/P&gt;&lt;P&gt;err_temseerror = 8&lt;/P&gt;&lt;P&gt;err_btcjob_open_failed = 9&lt;/P&gt;&lt;P&gt;err_btcjob_submit_failed = 10&lt;/P&gt;&lt;P&gt;err_btcjob_close_failed = 11&lt;/P&gt;&lt;P&gt;OTHERS = 12.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: / 'error', sy-subrc.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**/ Convert the PDF format to the table type required for the&lt;/P&gt;&lt;P&gt;*attachment.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'QCE1_CONVERT'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_source_tab = l_pdf&lt;/P&gt;&lt;P&gt;t_target_tab = l_objbin&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;convert_not_possible = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: / 'error', sy-subrc.&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;TABLES : soli.&lt;/P&gt;&lt;P&gt;TABLES : zpsdsalrep.&lt;/P&gt;&lt;P&gt;DATA: v_email TYPE soli-line.&lt;/P&gt;&lt;P&gt;DATA: v_email1 TYPE soli-line.&lt;/P&gt;&lt;P&gt;DATA: l_adrnr LIKE kna1-adrnr.&lt;/P&gt;&lt;P&gt;DATA: l_objky TYPE nast-objky.&lt;/P&gt;&lt;P&gt;DATA: l_zzterrmg TYPE zpsdsalrep-zzterrmg.&lt;/P&gt;&lt;P&gt;DATA: l_zsupervisor TYPE zpsdsalrep-zsupervisor.&lt;/P&gt;&lt;P&gt;DATA: l_kunnr TYPE kna1-kunnr.&lt;/P&gt;&lt;P&gt;DATA: l_kunnr1 TYPE vbak-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE kunnr FROM vbak INTO l_kunnr1&lt;/P&gt;&lt;P&gt;WHERE vbeln = nast-objky.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE adrnr FROM kna1 INTO l_adrnr&lt;/P&gt;&lt;P&gt;WHERE kunnr = l_kunnr1.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE smtp_addr FROM adr6 INTO v_email&lt;/P&gt;&lt;P&gt;WHERE addrnumber = l_adrnr.&lt;/P&gt;&lt;P&gt;SELECT SINGLE zzterrmg FROM zpsdsalrep INTO l_zzterrmg&lt;/P&gt;&lt;P&gt;WHERE zzsalesrep = l_kunnr1.&lt;/P&gt;&lt;P&gt;SELECT SINGLE zsupervisor FROM zpsdsalrep INTO l_zsupervisor&lt;/P&gt;&lt;P&gt;WHERE zzterrmg = l_zzterrmg.&lt;/P&gt;&lt;P&gt;SELECT SINGLE kunnr FROM kna1 INTO l_kunnr&lt;/P&gt;&lt;P&gt;WHERE sortl = l_zsupervisor.&lt;/P&gt;&lt;P&gt;SELECT SINGLE adrnr FROM kna1 INTO l_adrnr&lt;/P&gt;&lt;P&gt;WHERE kunnr = l_kunnr.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT SINGLE smtp_addr FROM adr6 INTO v_email1&lt;/P&gt;&lt;P&gt;WHERE addrnumber = l_adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: l_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: l_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: l_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: l_doc_chng LIKE sodocchgi1.&lt;/P&gt;&lt;P&gt;DATA: l_objhead LIKE solisti1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: l_tab_lines LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;CONSTANTS: k_true TYPE boolean_flg VALUE 'X'.&lt;/P&gt;&lt;P&gt;DATA: l_mail TYPE somlreci1-receiver.&lt;/P&gt;&lt;P&gt;DATA: l_mail1 TYPE somlreci1-receiver.&lt;/P&gt;&lt;P&gt;DATA: k_mail2 TYPE somlreci1-receiver.&lt;/P&gt;&lt;P&gt;DATA: k_mail TYPE somlreci1-receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_mail = v_email.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_mail1 = v_email1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;k_mail2 = text-006.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;k_mail = text-007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creation of the document to be sent&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;File Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_doc_chng-obj_name = 'SENDFILE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Subject&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_doc_chng-obj_descr = text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Completing the recipient list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_reclist-receiver = l_mail.&lt;/P&gt;&lt;P&gt;l_reclist-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;APPEND l_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_reclist-receiver = l_mail1.&lt;/P&gt;&lt;P&gt;l_reclist-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;APPEND l_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_reclist-receiver = k_mail.&lt;/P&gt;&lt;P&gt;l_reclist-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;APPEND l_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_reclist-receiver = k_mail2.&lt;/P&gt;&lt;P&gt;l_reclist-rec_type = 'U'.&lt;/P&gt;&lt;P&gt;APPEND l_reclist.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Mail Contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_objtxt = text-002.&lt;/P&gt;&lt;P&gt;APPEND l_objtxt.&lt;/P&gt;&lt;P&gt;CLEAR l_objtxt. " put in a blank line&lt;/P&gt;&lt;P&gt;APPEND l_objtxt.&lt;/P&gt;&lt;P&gt;l_objtxt = text-003.&lt;/P&gt;&lt;P&gt;APPEND l_objtxt.&lt;/P&gt;&lt;P&gt;l_objtxt = text-004 .&lt;/P&gt;&lt;P&gt;APPEND l_objtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate email size in bytes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE l_objtxt LINES l_tab_lines.&lt;/P&gt;&lt;P&gt;READ TABLE l_objtxt INDEX l_tab_lines.&lt;/P&gt;&lt;P&gt;l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_objtxt ).&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;Creation of the entry for the compressed document&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the email text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR l_objpack-transf_bin.&lt;/P&gt;&lt;P&gt;l_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;l_objpack-head_num = 0.&lt;/P&gt;&lt;P&gt;l_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;l_objpack-body_num = l_tab_lines.&lt;/P&gt;&lt;P&gt;l_objpack-doc_type = 'RAW'.&lt;/P&gt;&lt;P&gt;APPEND l_objpack.&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;Creation of the document attachment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(Assume that the data in OBJBIN is in BMP format)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE l_objbin LINES l_tab_lines.&lt;/P&gt;&lt;P&gt;l_objhead = text-001 .&lt;/P&gt;&lt;P&gt;APPEND l_objhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR l_objpack.&lt;/P&gt;&lt;P&gt;**/ Creation of the entry for the compressed/attached document&lt;/P&gt;&lt;P&gt;l_objpack-transf_bin = k_true.&lt;/P&gt;&lt;P&gt;l_objpack-head_start = 1.&lt;/P&gt;&lt;P&gt;l_objpack-head_num = 1.&lt;/P&gt;&lt;P&gt;l_objpack-body_start = 1.&lt;/P&gt;&lt;P&gt;l_objpack-body_num = l_tab_lines.&lt;/P&gt;&lt;P&gt;l_objpack-doc_type = 'PDF'.&lt;/P&gt;&lt;P&gt;l_objpack-obj_name = text-005.&lt;/P&gt;&lt;P&gt;l_objpack-obj_descr = text-001.&lt;/P&gt;&lt;P&gt;l_objpack-doc_size = l_tab_lines * 255.&lt;/P&gt;&lt;P&gt;APPEND l_objpack. "/ .&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;Sending the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' "/ .&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;document_data = l_doc_chng&lt;/P&gt;&lt;P&gt;put_in_outbox = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;packing_list = l_objpack&lt;/P&gt;&lt;P&gt;object_header = l_objhead&lt;/P&gt;&lt;P&gt;contents_bin = l_objbin&lt;/P&gt;&lt;P&gt;contents_txt = l_objtxt&lt;/P&gt;&lt;P&gt;receivers = l_reclist&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;too_many_receivers = 1&lt;/P&gt;&lt;P&gt;document_not_sent = 2&lt;/P&gt;&lt;P&gt;operation_no_authorization = 4&lt;/P&gt;&lt;P&gt;OTHERS = 99.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;WRITE: / 'unsuccessful', sy-subrc.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;WRITE: / 'successful'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**/Take_note it is a requirement to do a commit work for the&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;email to go into transaction SOST.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;COMMIT WORK. "/Take_note .&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. "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;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;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;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;PERFORM header_price_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 = '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;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;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;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 us_country.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE yzrvadopfo.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INCLUDE RVADOPFO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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 '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;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;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;&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;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;&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;REFRESH tkomcon.&lt;/P&gt;&lt;P&gt;CHECK NOT vbdpa-cuobj IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CUD0_GET_CONFIGURATION' "#EC EXISTS&lt;/P&gt;&lt;P&gt;&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;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;&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.&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-vbtyp = vbdka-vbtyp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;komp-kposn = vbdpa-posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'RV_PRICE_PRINT_ITEM'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;comm_head_i = komk&lt;/P&gt;&lt;P&gt;comm_item_i = komp&lt;/P&gt;&lt;P&gt;language = nast-spras&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;comm_head_e = komk&lt;/P&gt;&lt;P&gt;comm_item_e = komp&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;tkomv = tkomv&lt;/P&gt;&lt;P&gt;tkomvd = tkomvd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "GET_ITEM_PRICES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;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;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;&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;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;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_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 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_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.&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;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;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;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;LOOP AT tvbdpa.&lt;/P&gt;&lt;P&gt;vbdpa = tvbdpa.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TVAG lesen um festzustellen ob abgesagte Positionen gedruckt werden&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sollen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM tvag_select(sapmv45a) USING vbdpa-abgru&lt;/P&gt;&lt;P&gt;da_dragr&lt;/P&gt;&lt;P&gt;space&lt;/P&gt;&lt;P&gt;da_subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF da_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 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;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;PERFORM item_price_print.&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;PERFORM item_text_print.&lt;/P&gt;&lt;P&gt;PERFORM item_serials_print.&lt;/P&gt;&lt;P&gt;PERFORM item_characteristics_print.&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_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;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;ENDFORM. "ITEM_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_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;READ TABLE tvbdpau WITH KEY vbdpa-posnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc = 0.&lt;/P&gt;&lt;P&gt;vbdpau = tvbdpau.&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;&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;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;SELECT SINGLE * FROM sadr WHERE adrnr = tvko-adrnr&lt;/P&gt;&lt;P&gt;AND natio = space.&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;P&gt;SELECT SINGLE * FROM tvbur WHERE vkbur = vbdka-vkbur.&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 = 'TVBUR'.&lt;/P&gt;&lt;P&gt;syst-msgv2 = syst-subrc.&lt;/P&gt;&lt;P&gt;PERFORM protocol_update.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;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.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Eintrag der letzten Positon merken&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;Neuen Eintrag anfangen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tvbdpau-posnr = tvbdpa-posnr.&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;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;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;CALL FUNCTION 'SERIAL_WV_PRINT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;posnr = vbdpa-posnr&lt;/P&gt;&lt;P&gt;vbeln = vbdka-vbeln&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;isernr = tkomser.&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;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp; Form WRITE_HEADER_INFO&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM write_header_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM get_ship_to_info.&lt;/P&gt;&lt;P&gt;PERFORM get_dea_number.&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_CONSGNEE'&lt;/P&gt;&lt;P&gt;window = 'INFO1'.&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 = 'DEA_NUM'&lt;/P&gt;&lt;P&gt;window = 'DEA_NUM'.&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 = 'INFO'&lt;/P&gt;&lt;P&gt;window = 'INFO'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " WRITE_HEADER_INFO&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_DEA_NUMBER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_dea_number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'Z_GET_DEA_NUMBER_CUSTOMER'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;cust_num = vbco3-kunde&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;char_val = char_val&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;customer_not_found = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT char_val.&lt;/P&gt;&lt;P&gt;CASE char_val-atnam.&lt;/P&gt;&lt;P&gt;WHEN 'DEA_NUMBER'.&lt;/P&gt;&lt;P&gt;PERFORM set_text_symbol USING char_val-atwrt '&amp;amp;DEA_NUM&amp;amp;'.&lt;/P&gt;&lt;P&gt;WHEN 'DEA_EXPIRATION_DATE'.&lt;/P&gt;&lt;P&gt;PERFORM set_text_symbol USING char_val-atwrt '&amp;amp;EXP_DATE&amp;amp;'.&lt;/P&gt;&lt;P&gt;ENDCASE.&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;ENDFORM. " GET_DEA_NUMBER&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 SET_TEXT_SYMBOL&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM set_text_symbol USING value name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'TEXT_SYMBOL_SETVALUE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;name = name&lt;/P&gt;&lt;P&gt;value = value&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. " SET_TEXT_SYMBOL&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_SHIP_TO_INFO&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_ship_to_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM vbpa WHERE vbeln = vbdka-vbeln&lt;/P&gt;&lt;P&gt;AND posnr = '000000'&lt;/P&gt;&lt;P&gt;AND parvw = 'WE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT vbpa-adrnr IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*{ REPLACE DU1K920151&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT SINGLE * FROM SADR WHERE ADRNR = VBPA-ADRNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: addr1_sel.&lt;/P&gt;&lt;P&gt;CLEAR: addr1_sel, sadr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;addr1_sel-addrnumber = vbpa-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ADDR_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;address_selection = addr1_sel&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;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;*} REPLACE&lt;/P&gt;&lt;P&gt;MOVE: sadr-anred TO vbdka-anred_we,&lt;/P&gt;&lt;P&gt;sadr-name1 TO vbdka-name1_we,&lt;/P&gt;&lt;P&gt;sadr-name2 TO vbdka-name2_we,&lt;/P&gt;&lt;P&gt;sadr-name3 TO vbdka-name3_we,&lt;/P&gt;&lt;P&gt;sadr-name4 TO vbdka-name4_we,&lt;/P&gt;&lt;P&gt;sadr-stras TO vbdka-stras_we,&lt;/P&gt;&lt;P&gt;sadr-pfach TO vbdka-pfach_we,&lt;/P&gt;&lt;P&gt;sadr-pstl2 TO vbdka-pstl2_we,&lt;/P&gt;&lt;P&gt;sadr-pfort TO vbdka-pfort,&lt;/P&gt;&lt;P&gt;sadr-pstlz TO vbdka-pstlz_we,&lt;/P&gt;&lt;P&gt;sadr-ort01 TO vbdka-ort01_we,&lt;/P&gt;&lt;P&gt;sadr-ort02 TO vbdka-ort02_we,&lt;/P&gt;&lt;P&gt;sadr-regio TO vbdka-regio_we,&lt;/P&gt;&lt;P&gt;sadr-land1 TO vbdka-land1_we,&lt;/P&gt;&lt;P&gt;sadr-land1 TO vbdka-sland.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM kna1 WHERE kunnr = vbpa-kunnr.&lt;/P&gt;&lt;P&gt;MOVE: kna1-anred TO vbdka-anred_we,&lt;/P&gt;&lt;P&gt;kna1-name1 TO vbdka-name1_we,&lt;/P&gt;&lt;P&gt;kna1-name2 TO vbdka-name2_we,&lt;/P&gt;&lt;P&gt;kna1-name3 TO vbdka-name3_we,&lt;/P&gt;&lt;P&gt;kna1-name4 TO vbdka-name4_we,&lt;/P&gt;&lt;P&gt;kna1-stras TO vbdka-stras_we,&lt;/P&gt;&lt;P&gt;kna1-pfach TO vbdka-pfach_we,&lt;/P&gt;&lt;P&gt;kna1-pstl2 TO vbdka-pstl2_we,&lt;/P&gt;&lt;P&gt;kna1-pfort TO vbdka-pfort,&lt;/P&gt;&lt;P&gt;kna1-pstlz TO vbdka-pstlz_we,&lt;/P&gt;&lt;P&gt;kna1-ort01 TO vbdka-ort01_we,&lt;/P&gt;&lt;P&gt;kna1-ort02 TO vbdka-ort02_we,&lt;/P&gt;&lt;P&gt;kna1-regio TO vbdka-regio_we,&lt;/P&gt;&lt;P&gt;kna1-land1 TO vbdka-land1_we,&lt;/P&gt;&lt;P&gt;kna1-land1 TO vbdka-sland.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MOVE vbpa-kunnr TO vbco3-kunde.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_SHIP_TO_INFO&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 LOGO_SELECTION&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM logo_selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'Z_UCB_LOGO_SELECTION'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;vkorg = vbdka-vkorg&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;invalid_sales_organization = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " LOGO_SELECTION&lt;/P&gt;&lt;P&gt;&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;Sree&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:42:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657878#M613004</guid>
      <dc:creator>sreeramkumar_madisetty</dc:creator>
      <dc:date>2007-08-09T07:42:39Z</dc:date>
    </item>
    <item>
      <title>Re: into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657879#M613005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;how to use that with rstxpdft4, i wanted to use the spool request in that program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pls help me&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:52:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657879#M613005</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T07:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: into pdf</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657880#M613006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jamshad , &lt;/P&gt;&lt;P&gt;  Why do you want to send the script to spool and then convert the spool to PDF , you can convert it directly , when you use the open_form FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case you have any further queries , feel free to revert back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Arun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Aug 2007 07:58:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/into-pdf/m-p/2657880#M613006</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-08-09T07:58:24Z</dc:date>
    </item>
  </channel>
</rss>

