<?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: print program error in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519604#M238771</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi, &lt;/P&gt;&lt;P&gt;here i attached my code. can u go through it and suggest me..itz very urgent for me.&lt;/P&gt;&lt;P&gt;thanks wil reward the points &lt;/P&gt;&lt;P&gt;report  zar0020." LINE-SIZE 80 LINE-COUNT 65 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release            : ECC 5.0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Module             : FI-AR&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;Description        : This program will print Tax Invoice on A4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     paper&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T A B L E S                                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;tables: t001,&lt;/P&gt;&lt;P&gt;        bkpf,&lt;/P&gt;&lt;P&gt;        kna1,&lt;/P&gt;&lt;P&gt;        bsik,&lt;/P&gt;&lt;P&gt;        tcurx.&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 E L E C T I O N   S C R E E N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl1 with frame title text-101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_bukrs like t001-bukrs memory id buk obligatory,&lt;/P&gt;&lt;P&gt;            p_gjahr like bkpf-gjahr default sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_monat for bkpf-monat default sy-datum+4(2),&lt;/P&gt;&lt;P&gt;                s_kunnr for kna1-kunnr,&lt;/P&gt;&lt;P&gt;                s_lifnr for bsik-lifnr,&lt;/P&gt;&lt;P&gt;                s_blart for bkpf-blart,&lt;/P&gt;&lt;P&gt;                s_belnr for bkpf-belnr memory id bln,&lt;/P&gt;&lt;P&gt;                s_budat for bkpf-budat,&lt;/P&gt;&lt;P&gt;                s_bldat for bkpf-bldat,&lt;/P&gt;&lt;P&gt;                s_cpudt for bkpf-cpudt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block bl1.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl2 with frame title text-102.&lt;/P&gt;&lt;P&gt;parameters: p_hkont as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl2.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl3 with frame title text-103.&lt;/P&gt;&lt;P&gt;parameters: p_inter as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl3.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl4 with frame title text-104.&lt;/P&gt;&lt;P&gt;parameters: p_rep as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl4.&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; D A T A   D E C L A R A T I O N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;constants:&lt;/P&gt;&lt;P&gt;c_formname like rsscf-tdform value 'ZTAXINVOICE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_inv_hdr occurs 0,&lt;/P&gt;&lt;P&gt;          bukrs like bkpf-bukrs,&lt;/P&gt;&lt;P&gt;          kunnr like bsid-kunnr,&lt;/P&gt;&lt;P&gt;          gjahr like bkpf-gjahr,&lt;/P&gt;&lt;P&gt;          belnr like bkpf-belnr,&lt;/P&gt;&lt;P&gt;          bldat like bkpf-bldat,&lt;/P&gt;&lt;P&gt;          budat like bkpf-budat,&lt;/P&gt;&lt;P&gt;          waers like bkpf-waers,&lt;/P&gt;&lt;P&gt;          hwaer like bkpf-hwaer,&lt;/P&gt;&lt;P&gt;          gst_no like t001z-paval,&lt;/P&gt;&lt;P&gt;          reg_no like t001z-paval,&lt;/P&gt;&lt;P&gt;          bschl like bsid-bschl,&lt;/P&gt;&lt;P&gt;          lifnr like bsik-lifnr,&lt;/P&gt;&lt;P&gt;          inv_type(20),&lt;/P&gt;&lt;P&gt;        end of t_inv_hdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_inv_item occurs 0,&lt;/P&gt;&lt;P&gt;        belnr like bseg-belnr,&lt;/P&gt;&lt;P&gt;        hkont like bseg-hkont,&lt;/P&gt;&lt;P&gt;        bukrs like bseg-bukrs,&lt;/P&gt;&lt;P&gt;        gjahr like bseg-gjahr,&lt;/P&gt;&lt;P&gt;        buzei like bseg-buzei,&lt;/P&gt;&lt;P&gt;        buzid like bseg-buzid,&lt;/P&gt;&lt;P&gt;        bschl like bseg-bschl,&lt;/P&gt;&lt;P&gt;        koart like bseg-koart,&lt;/P&gt;&lt;P&gt;        mwskz like bseg-mwskz,&lt;/P&gt;&lt;P&gt;        wrbtr like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        dmbtr like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        sgtxt like bseg-sgtxt,&lt;/P&gt;&lt;P&gt;        tax_rate like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        sup_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        gst_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        pay_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        slip_tot type p decimals 2,&lt;/P&gt;&lt;P&gt;        total like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        shkzg like bseg-shkzg,&lt;/P&gt;&lt;P&gt;        lifnr like bsik-lifnr,&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;        qsskz like bseg-qsskz,&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;      end of t_inv_item.&lt;/P&gt;&lt;P&gt;data:it_item1 like t_inv_item occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: g_company like t001.&lt;/P&gt;&lt;P&gt;data: it_wrbtr1(20).&lt;/P&gt;&lt;P&gt;data:it_pay_tot1(20).&lt;/P&gt;&lt;P&gt;data:it_mwskz like bseg-mwskz.&lt;/P&gt;&lt;P&gt;data:it_kbetr like bset-kbetr.&lt;/P&gt;&lt;P&gt;data:it_gst type p decimals 2.&lt;/P&gt;&lt;P&gt;data:sup_tot type p decimals 2 .&lt;/P&gt;&lt;P&gt;data:gst_tot type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot1 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;*data:pay_tot3(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_pay_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_pay_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_gt_total type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_pay_total type p decimals 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:sup_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:gst_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;data:gst_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:sup_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data:gst_tot3(20).&lt;/P&gt;&lt;P&gt;*data:sup_tot3(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;data:pay_tot11(20).&lt;/P&gt;&lt;P&gt;data:k type i.&lt;/P&gt;&lt;P&gt;data:final_sup_tot type p decimals 2 ,&lt;/P&gt;&lt;P&gt;     final_gst_tot type p decimals 2,&lt;/P&gt;&lt;P&gt;     final_pay_tot type p decimals 2 ,&lt;/P&gt;&lt;P&gt;     slip_tot  type p decimals 2,&lt;/P&gt;&lt;P&gt;     act_total type p decimals 2.&lt;/P&gt;&lt;P&gt;data:  final_sup_tot9(20),&lt;/P&gt;&lt;P&gt;       final_gst_tot9(20),&lt;/P&gt;&lt;P&gt;       act_total9(20),&lt;/P&gt;&lt;P&gt;       tax_rate9(20),&lt;/P&gt;&lt;P&gt;       pay_tot9(20),&lt;/P&gt;&lt;P&gt;       slip_tot9(20).&lt;/P&gt;&lt;P&gt;data:item(3) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_addr_sel like addr1_sel.&lt;/P&gt;&lt;P&gt;data: l_gst_no like t001z-paval,&lt;/P&gt;&lt;P&gt;      l_reg_no like t001z-paval.&lt;/P&gt;&lt;P&gt;data:it_adrnr like adrc-addrnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:begin of it_tax occurs 0,&lt;/P&gt;&lt;P&gt;           belnr like bset-belnr,&lt;/P&gt;&lt;P&gt;           gjahr like bset-gjahr,&lt;/P&gt;&lt;P&gt;           mwskz like bset-mwskz,&lt;/P&gt;&lt;P&gt;           hwste like bset-hwste,&lt;/P&gt;&lt;P&gt;           fwste like bset-fwste,&lt;/P&gt;&lt;P&gt;           fwbas like bset-fwbas,&lt;/P&gt;&lt;P&gt;           hwbas like bset-hwbas,&lt;/P&gt;&lt;P&gt;          end of it_tax.&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;      v_name1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      v_name2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      v_name3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      v_name4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_name1_new   like adrc-name1,&lt;/P&gt;&lt;P&gt;      v_name2_new   like adrc-name2,&lt;/P&gt;&lt;P&gt;      v_name3_new   like adrc-name3,&lt;/P&gt;&lt;P&gt;      v_name4_new   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_name5(80),&lt;/P&gt;&lt;P&gt;      v_name6(80),&lt;/P&gt;&lt;P&gt;      v_street5(80),&lt;/P&gt;&lt;P&gt;      v_name7(160),&lt;/P&gt;&lt;P&gt;      v_name8(160),&lt;/P&gt;&lt;P&gt;      v_name9(160),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_street  like adrc-street,&lt;/P&gt;&lt;P&gt;      v_street4 like adrc-str_suppl3,&lt;/P&gt;&lt;P&gt;      v_city    like adrc-city1,&lt;/P&gt;&lt;P&gt;      v_post    like adrc-post_code1,&lt;/P&gt;&lt;P&gt;      v_tele    like adrc-tel_number,&lt;/P&gt;&lt;P&gt;      v_fax     like adrc-fax_number,&lt;/P&gt;&lt;P&gt;      v_uri     like adr12-uri_srch,&lt;/P&gt;&lt;P&gt;      v_regno   like t001z-paval,&lt;/P&gt;&lt;P&gt;      c_name1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      c_name2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      c_name3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      c_name4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_nam1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      c_nam2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      c_nam3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      c_nam4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_name5(80),&lt;/P&gt;&lt;P&gt;      c_name6(80),&lt;/P&gt;&lt;P&gt;      c_street5(80),&lt;/P&gt;&lt;P&gt;      c_street  like adrc-street,&lt;/P&gt;&lt;P&gt;      c_street4 like adrc-str_suppl3,&lt;/P&gt;&lt;P&gt;      c_city    like adrc-city1,&lt;/P&gt;&lt;P&gt;      c_city1   like adrc-city1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_post    like adrc-post_code1,&lt;/P&gt;&lt;P&gt;      c_tele    like adrc-tel_number,&lt;/P&gt;&lt;P&gt;      c_fax     like adrc-fax_number,&lt;/P&gt;&lt;P&gt;      c_country like adrc-country,&lt;/P&gt;&lt;P&gt;      c_landx   like t005t-landx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_country1 like t005t-landx,&lt;/P&gt;&lt;P&gt;      c_cntry   like t005t-landx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_remark  like adrct-remark.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:name like thead-tdname.&lt;/P&gt;&lt;P&gt;data:it_phone like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_name like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_account like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_addi like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_cheque like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_item like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_ben like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: ls_faede like faede.&lt;/P&gt;&lt;P&gt;data:it_sgtxt like bseg-sgtxt.&lt;/P&gt;&lt;P&gt;data: ls_bkpf  like bkpf,&lt;/P&gt;&lt;P&gt;      ls_bseg  like bseg,&lt;/P&gt;&lt;P&gt;      it_duedate(10).&lt;/P&gt;&lt;P&gt;data:it_waers like t001-waers.&lt;/P&gt;&lt;P&gt;data:it_waers1 like t001-waers.&lt;/P&gt;&lt;P&gt;data:n1 type i.&lt;/P&gt;&lt;P&gt;data:diff1 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:tax_rate type p decimals 5.&lt;/P&gt;&lt;P&gt;data:it_header(20).&lt;/P&gt;&lt;P&gt;data:it_bschl like bsid-bschl.&lt;/P&gt;&lt;P&gt;data:it_land like t001-land1.&lt;/P&gt;&lt;P&gt;data:it_landx like t005t-landx.&lt;/P&gt;&lt;P&gt;data:text(2000).&lt;/P&gt;&lt;P&gt;data:text1(200).&lt;/P&gt;&lt;P&gt;data:it_kbetr1 like bset-kbetr,&lt;/P&gt;&lt;P&gt;     it_tax1(3) type c.&lt;/P&gt;&lt;P&gt;data:it_acctype(1).&lt;/P&gt;&lt;P&gt;data:it_cust like kna1-lifnr.&lt;/P&gt;&lt;P&gt;data:it_land1 like t001-land1,&lt;/P&gt;&lt;P&gt;     it_kalsm like t005-kalsm,&lt;/P&gt;&lt;P&gt;     it_text1(50).&lt;/P&gt;&lt;P&gt;data:it_kverm like knb1-kverm.&lt;/P&gt;&lt;P&gt;data: vari1(18),&lt;/P&gt;&lt;P&gt;      v_flag(1) value 'F'.&lt;/P&gt;&lt;P&gt;data:it_fwbas(20),&lt;/P&gt;&lt;P&gt;     it_fwste(20),&lt;/P&gt;&lt;P&gt;     pay_tot19(20),&lt;/P&gt;&lt;P&gt;     gst_tot29(20),&lt;/P&gt;&lt;P&gt;     sup_tot29(20),&lt;/P&gt;&lt;P&gt;     pay_tot29(20),&lt;/P&gt;&lt;P&gt;     gst_tot39(20),&lt;/P&gt;&lt;P&gt;     sup_tot39(20),&lt;/P&gt;&lt;P&gt;     pay_tot39(20),&lt;/P&gt;&lt;P&gt;     tax_rate99(20),&lt;/P&gt;&lt;P&gt;     v_amt(20),&lt;/P&gt;&lt;P&gt;     v_amt1(20),&lt;/P&gt;&lt;P&gt;     v_fwbas type bset-fwbas,&lt;/P&gt;&lt;P&gt;     v_taxamt(20),&lt;/P&gt;&lt;P&gt;     v_total(20),&lt;/P&gt;&lt;P&gt;     v_amount type bseg-wrbtr,&lt;/P&gt;&lt;P&gt;      gt_amt    type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_taxamt type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_netamt type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_tax    type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_amt1(20),&lt;/P&gt;&lt;P&gt;      gt_total type p decimals 2,&lt;/P&gt;&lt;P&gt;      v_grpid like bkpf-grpid,&lt;/P&gt;&lt;P&gt;      v_grpid1(3) type c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_text(100) type c,&lt;/P&gt;&lt;P&gt;      v_text20(20) type c.&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;&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; I N I T I A L I Z A T I O N                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*initialization.&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; A T   S E L E C T I O N - S C R E E N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen on p_bukrs.&lt;/P&gt;&lt;P&gt;  select single * into g_company&lt;/P&gt;&lt;P&gt;  from   t001&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Company code' p_bukrs 'does not exist'."#EC *&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  authority-check object 'F_BKPF_BUK'&lt;/P&gt;&lt;P&gt;           id 'BUKRS' field p_bukrs&lt;/P&gt;&lt;P&gt;           id 'ACTVT' field '03'.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message e398(00) with 'You are not authorized to access company '&lt;/P&gt;&lt;P&gt;                          p_bukrs.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on p_inter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if s_lifnr ne '' and p_inter = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Please select Interco check box'."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif s_kunnr ne '' and p_inter ne ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Ple dont select Interco when you select Customer '."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; S T A R T   O F   D A T A   S E L E C T I O N                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  item = '00'.&lt;/P&gt;&lt;P&gt;  if p_inter eq ''.&lt;/P&gt;&lt;P&gt;    it_acctype = 'D'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_acctype = 'K'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  perform read_customer_invoices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if t_inv_item[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write ' No Records Found'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform form_print_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&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; E N D   O F   D A T A   S E L E C T I O N                           *&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;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  form_print_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form form_print_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: itab_options like itcpo occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_options-tddest = 'LOCL'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  itab_options-tdpreview = 'X'.&lt;/P&gt;&lt;P&gt;  itab_options-tdtitle = sy-title.&lt;/P&gt;&lt;P&gt;  itab_options-tdiexit = 'X'.&lt;/P&gt;&lt;P&gt;  itab_options-tdnewid = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_options-tddelete = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append itab_options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'OPEN_FORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          APPLICATION                       = 'TX'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ARCHIVE_INDEX                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ARCHIVE_PARAMS                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     device                            = 'PRINTER'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          DIALOG                            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     form                              = c_formname&lt;/P&gt;&lt;P&gt;     language                          = sy-langu&lt;/P&gt;&lt;P&gt;     options                           = itab_options&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_SENDER                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_RECIPIENT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_APPL_OBJECT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          RAW_DATA_INTERFACE                = '*'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          SPONUMIV                          =&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;          LANGUAGE                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          NEW_ARCHIVE_PARAMS                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          RESULT                            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;           canceled                          = 1&lt;/P&gt;&lt;P&gt;           device                            = 2&lt;/P&gt;&lt;P&gt;           form                              = 3&lt;/P&gt;&lt;P&gt;           options                           = 4&lt;/P&gt;&lt;P&gt;           unclosed                          = 5&lt;/P&gt;&lt;P&gt;           mail_options                      = 6&lt;/P&gt;&lt;P&gt;           archive_error                     = 7&lt;/P&gt;&lt;P&gt;           invalid_fax_number                = 8&lt;/P&gt;&lt;P&gt;           more_params_needed_in_batch       = 9&lt;/P&gt;&lt;P&gt;           spool_error                       = 10&lt;/P&gt;&lt;P&gt;           codepage                          = 11&lt;/P&gt;&lt;P&gt;           others                            = 12&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_inv_hdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear sup_tot.&lt;/P&gt;&lt;P&gt;    clear pay_tot.&lt;/P&gt;&lt;P&gt;    clear gst_tot.&lt;/P&gt;&lt;P&gt;    clear slip_tot.&lt;/P&gt;&lt;P&gt;    clear act_total.&lt;/P&gt;&lt;P&gt;    clear it_waers.&lt;/P&gt;&lt;P&gt;    clear it_waers1.&lt;/P&gt;&lt;P&gt;    clear it_duedate.&lt;/P&gt;&lt;P&gt;    clear it_item.&lt;/P&gt;&lt;P&gt;    refresh it_item.&lt;/P&gt;&lt;P&gt;    clear it_phone.&lt;/P&gt;&lt;P&gt;    refresh it_phone.&lt;/P&gt;&lt;P&gt;    clear it_account.&lt;/P&gt;&lt;P&gt;    refresh it_account.&lt;/P&gt;&lt;P&gt;    clear it_name.&lt;/P&gt;&lt;P&gt;    refresh it_name.&lt;/P&gt;&lt;P&gt;    clear it_addi.&lt;/P&gt;&lt;P&gt;    refresh it_addi.&lt;/P&gt;&lt;P&gt;    clear it_ben.&lt;/P&gt;&lt;P&gt;    refresh it_ben.&lt;/P&gt;&lt;P&gt;    clear name.&lt;/P&gt;&lt;P&gt;    clear it_cust.&lt;/P&gt;&lt;P&gt;    clear it_header.&lt;/P&gt;&lt;P&gt;    clear it_land1.&lt;/P&gt;&lt;P&gt;    clear it_kalsm.&lt;/P&gt;&lt;P&gt;    clear it_text1.&lt;/P&gt;&lt;P&gt;    clear it_kverm.&lt;/P&gt;&lt;P&gt;    clear pay_tot3.&lt;/P&gt;&lt;P&gt;    clear it_item1.&lt;/P&gt;&lt;P&gt;    refresh it_item1.&lt;/P&gt;&lt;P&gt;    clear k.&lt;/P&gt;&lt;P&gt;    clear v_flag.&lt;/P&gt;&lt;P&gt;    clear : c_country1, c_cntry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_inter eq ''.&lt;/P&gt;&lt;P&gt;      it_cust = t_inv_hdr-kunnr.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      it_cust = t_inv_hdr-lifnr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read customer address&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if one time vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single name1 name2 name3 name4 pstlz ort01 stras&lt;/P&gt;&lt;P&gt;           into (c_name1, c_name2, c_name3, c_name4, c_post, c_city, c_street5)&lt;/P&gt;&lt;P&gt;           from bsec where  bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                            belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                            gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Logic changed bsrao on 27.07.2006&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0 or c_name1 eq ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if p_inter eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        select single adrnr from kna1 into it_adrnr where kunnr = t_inv_hdr-kunnr.&lt;/P&gt;&lt;P&gt;        select single kverm from knb1 into it_kverm where kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                          bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        select single adrnr from lfa1 into it_adrnr where lifnr = t_inv_hdr-lifnr.&lt;/P&gt;&lt;P&gt;        select single kverm from lfb1 into it_kverm where lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                          bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single  name1 name2 name3 name4 street str_suppl3 city1 post_code1 tel_number fax_number country&lt;/P&gt;&lt;P&gt;                from adrc into (c_name1,c_name2,c_name3,c_name4,c_street,c_street4,c_city,c_post,c_tele,c_fax, c_country)&lt;/P&gt;&lt;P&gt;                where addrnumber = it_adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single landx from t005t into c_landx&lt;/P&gt;&lt;P&gt;              where land1 = c_country&lt;/P&gt;&lt;P&gt;             and spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_city1 = itab_cust-city1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear : c_cntry, c_country1.&lt;/P&gt;&lt;P&gt;      c_city1 = c_city.&lt;/P&gt;&lt;P&gt;      translate c_city1 to lower case.&lt;/P&gt;&lt;P&gt;      c_cntry = c_landx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      translate c_cntry to lower case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if c_city1 ne c_cntry .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        c_country1  = c_landx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   read table itab_t005t with key lnd1 = itab_cust-country.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_cntry = itab_t005t-landx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   translate v_cntry to lower case.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      concatenate c_street(35)  c_street4(35) into c_street5 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    concatenate c_name1(35) c_name2(35) into c_name5 separated by space.&lt;/P&gt;&lt;P&gt;    concatenate c_name3(35)  c_name4(35) into c_name6 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;*clear : v_name7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate t_inv_hdr-bukrs t_inv_hdr-belnr t_inv_hdr-gjahr into name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read singnature details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PHONE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        client                  = sy-mandt&lt;/P&gt;&lt;P&gt;        id                      = 'Z001'&lt;/P&gt;&lt;P&gt;        language                = sy-langu&lt;/P&gt;&lt;P&gt;        name                    = name&lt;/P&gt;&lt;P&gt;        object                  = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                   = it_phone&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        id                      = 1&lt;/P&gt;&lt;P&gt;        language                = 2&lt;/P&gt;&lt;P&gt;        name                    = 3&lt;/P&gt;&lt;P&gt;        not_found               = 4&lt;/P&gt;&lt;P&gt;        object                  = 5&lt;/P&gt;&lt;P&gt;        reference_check         = 6&lt;/P&gt;&lt;P&gt;        wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;        others                  = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single ztel from ztarinv into it_phone-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_phone index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bank name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z002'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_name&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;     id                            = 1&lt;/P&gt;&lt;P&gt;     language                      = 2&lt;/P&gt;&lt;P&gt;     name                          = 3&lt;/P&gt;&lt;P&gt;     not_found                     = 4&lt;/P&gt;&lt;P&gt;     object                        = 5&lt;/P&gt;&lt;P&gt;     reference_check               = 6&lt;/P&gt;&lt;P&gt;     wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;     others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single zbankname from ztarinv into it_name-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_name index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Account no&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z003'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_account&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single zbankacc from ztarinv into it_account-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_account index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Additional note.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z004'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_addi&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_addi index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_addi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      text1 = it_addi-tdline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      concatenate text text1 into text .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;cheque payable to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z005'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_cheque&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_cheque index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;beneficiary&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z007'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_ben&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_ben index 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;header text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          id                            = 'Z008'&lt;/P&gt;&lt;P&gt;          language                      = sy-langu&lt;/P&gt;&lt;P&gt;          name                          = name&lt;/P&gt;&lt;P&gt;          object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;        tables&lt;/P&gt;&lt;P&gt;          lines                         = it_item&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;           id                            = 1&lt;/P&gt;&lt;P&gt;           language                      = 2&lt;/P&gt;&lt;P&gt;           name                          = 3&lt;/P&gt;&lt;P&gt;           not_found                     = 4&lt;/P&gt;&lt;P&gt;           object                        = 5&lt;/P&gt;&lt;P&gt;           reference_check               = 6&lt;/P&gt;&lt;P&gt;           wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;           others                        = 8&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_item index 1.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      concatenate p_bukrs t_inv_hdr-belnr t_inv_hdr-gjahr into vari1.&lt;/P&gt;&lt;P&gt;      v_flag = 'T'.&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;due date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single * from bkpf into ls_bkpf      "because of 'BLDAT'&lt;/P&gt;&lt;P&gt;                    where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                      and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                      and gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single * from bseg into ls_bseg&lt;/P&gt;&lt;P&gt;                   where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                     and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                     and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                     and zfbdt ne '00000000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding ls_bkpf to ls_faede.&lt;/P&gt;&lt;P&gt;    move-corresponding ls_bseg to ls_faede.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'DETERMINE_DUE_DATE'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_faede = ls_faede&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        e_faede = ls_faede&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;    concatenate ls_faede-netdt&lt;EM&gt;6(2) '.' ls_faede-netdt&lt;/EM&gt;4(2) '.' ls_faede-netdt+0(4) into it_duedate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calculating tax amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where belnr eq t_inv_hdr-belnr and koart &amp;lt;&amp;gt; it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear it_gst.&lt;/P&gt;&lt;P&gt;      clear it_kbetr.&lt;/P&gt;&lt;P&gt;      clear it_mwskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single mwskz from bseg into it_mwskz where  bukrs = t_inv_item-bukrs and&lt;/P&gt;&lt;P&gt;                                                belnr = t_inv_item-belnr and&lt;/P&gt;&lt;P&gt;                                                gjahr = t_inv_item-gjahr and&lt;/P&gt;&lt;P&gt;                                                buzei = t_inv_item-buzei .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single kbetr from bset into it_kbetr where bukrs = t_inv_item-bukrs and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_item-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_item-gjahr and&lt;/P&gt;&lt;P&gt;                                                        mwskz = t_inv_item-mwskz .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_gst = it_kbetr  / 1000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_gst = it_gst * t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = it_gst.&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot = t_inv_item-wrbtr +  t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      modify t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;caluculating actual amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                          belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                          gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                          koart eq it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write t_inv_item-wrbtr to it_wrbtr1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      act_total = act_total + t_inv_item-wrbtr .&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;    act_total = 0 - act_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if click gl account check box&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data : v_txt like bseg-sgtxt.&lt;/P&gt;&lt;P&gt;    clear : v_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort t_inv_item by belnr.&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;   sort t_inv_item by belnr hkont.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_hkont ne '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort t_inv_item by belnr hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        delete t_inv_item where koart = it_acctype and belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        at new hkont.&lt;/P&gt;&lt;P&gt;          read table t_inv_item index sy-tabix.&lt;/P&gt;&lt;P&gt;          move-corresponding t_inv_item to it_item1.&lt;/P&gt;&lt;P&gt;          append it_item1.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_item-koart ne it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          sup_tot = sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;          gst_tot = gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;          pay_tot = sup_tot + gst_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          at end of hkont.&lt;/P&gt;&lt;P&gt;            k = k + 1.&lt;/P&gt;&lt;P&gt;            it_item1-wrbtr = sup_tot .&lt;/P&gt;&lt;P&gt;            it_item1-tax_rate = gst_tot .&lt;/P&gt;&lt;P&gt;            it_item1-pay_tot = pay_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            modify it_item1 index k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            clear sup_tot.&lt;/P&gt;&lt;P&gt;            clear gst_tot.&lt;/P&gt;&lt;P&gt;            clear pay_tot.&lt;/P&gt;&lt;P&gt;            clear it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endat.&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;      delete t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_item1 where belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;      move-corresponding it_item1 to t_inv_item.&lt;/P&gt;&lt;P&gt;      append t_inv_item.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if it_item-tdline ne ''  and p_hkont ne 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear sup_tot.&lt;/P&gt;&lt;P&gt;      clear gst_tot.&lt;/P&gt;&lt;P&gt;      clear pay_tot.&lt;/P&gt;&lt;P&gt;      clear it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_item-koart ne it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          sup_tot = sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;          gst_tot = gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;          pay_tot = sup_tot + gst_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          delete t_inv_item .&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      if v_flag = 'T'.&lt;/P&gt;&lt;P&gt;        clear it_item-tdline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      t_inv_item-sgtxt = it_item-tdline.&lt;/P&gt;&lt;P&gt;      t_inv_item-wrbtr = sup_tot .&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = gst_tot .&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot = pay_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select belnr gjahr mwskz hwste fwste fwbas hwbas from bset into table it_tax where&lt;/P&gt;&lt;P&gt;                                             bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                             belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                             gjahr = t_inv_hdr-gjahr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'START_FORM'&lt;/P&gt;&lt;P&gt;     exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ARCHIVE_INDEX          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       form                   = c_formname&lt;/P&gt;&lt;P&gt;       language               = sy-langu&lt;/P&gt;&lt;P&gt;       startpage              = 'FIRST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PROGRAM                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MAIL_APPL_OBJECT       =&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;    LANGUAGE               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     exceptions&lt;/P&gt;&lt;P&gt;       form                   = 1&lt;/P&gt;&lt;P&gt;       format                 = 2&lt;/P&gt;&lt;P&gt;       unended                = 3&lt;/P&gt;&lt;P&gt;       unopened               = 4&lt;/P&gt;&lt;P&gt;       unused                 = 5&lt;/P&gt;&lt;P&gt;       spool_error            = 6&lt;/P&gt;&lt;P&gt;       codepage               = 7&lt;/P&gt;&lt;P&gt;       others                 = 8&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_inter eq '' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single bschl from bsid into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;      if it_bschl = '11'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq '' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single bschl from bsad into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;      if it_bschl = '11'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq 'X' .&lt;/P&gt;&lt;P&gt;      select single bschl from bsik into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if it_bschl = '31'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq 'X' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;      select single bschl from bsak into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if it_bschl = '31'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'INVOICE_HEADING'&lt;/P&gt;&lt;P&gt;        function                 = 'SET'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'HEADER'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                         belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                         gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                         koart &amp;lt;&amp;gt; it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_item-qsskz+0(1) eq 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        delete t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      final_sup_tot = final_sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;      final_gst_tot = final_gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;      final_pay_tot = final_sup_tot + final_gst_tot.&lt;/P&gt;&lt;P&gt;      slip_tot = slip_tot + t_inv_item-wrbtr + t_inv_item-tax_rate.&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;    describe table t_inv_item lines n1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if act_total ne final_pay_tot .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      diff1 = act_total - final_pay_tot.&lt;/P&gt;&lt;P&gt;      slip_tot = slip_tot + diff1.&lt;/P&gt;&lt;P&gt;      final_gst_tot = final_gst_tot + diff1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      do n1 times .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        read table t_inv_item index n1.&lt;/P&gt;&lt;P&gt;        if t_inv_item-tax_rate &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        n1 = n1 - 1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = t_inv_item-tax_rate +  diff1.&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot =  t_inv_item-pay_tot + diff1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      modify t_inv_item index n1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select local currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single waers land1 from t001 into (it_waers, it_land) where bukrs = p_bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select document currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single waers from bkpf into it_waers1 where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                       belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                       gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select local country name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single landx from t005t into it_landx where spras = sy-langu and land1 = it_land.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write slip_tot to slip_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;    write pay_tot3 to pay_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'SLIP'&lt;/P&gt;&lt;P&gt;        function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'PAYMEN_D'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    delete t_inv_item where koart = it_acctype and belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                           belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                           gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                            koart &amp;lt;&amp;gt; it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write t_inv_item-wrbtr to it_wrbtr1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;      write t_inv_item-pay_tot to it_pay_tot1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;      write t_inv_item-tax_rate to tax_rate9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      item = item + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if v_flag = 'T'.&lt;/P&gt;&lt;P&gt;        clear item.&lt;/P&gt;&lt;P&gt;        call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;            element                  = 'HEAD_TEXT'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&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;      call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          element                  = 'LINE_ITEM'&lt;/P&gt;&lt;P&gt;          function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          element                  = 'COMP_ADD'&lt;/P&gt;&lt;P&gt;          function                 = 'SET'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'COM_ADDR'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&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                  = 'COMP_DET'&lt;/P&gt;&lt;P&gt;          function                 = 'SET'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'COMP_DET'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      at end of belnr .                                     "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        item = '00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write final_sup_tot to final_sup_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;        write final_gst_tot to final_gst_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;        write act_total to act_total9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;            element                  = 'TOTAL'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        data : v_tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;               v_count type i.&lt;/P&gt;&lt;P&gt;        clear : v_tabix, v_count.&lt;/P&gt;&lt;P&gt;        describe table it_tax lines v_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        loop at it_tax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          v_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;          pay_tot1 = it_tax-fwbas + it_tax-fwste.&lt;/P&gt;&lt;P&gt;          gst_tot2 = gst_tot2 +  it_tax-fwbas.&lt;/P&gt;&lt;P&gt;          sup_tot2 = sup_tot2 + it_tax-fwste.&lt;/P&gt;&lt;P&gt;          pay_tot2 = pay_tot2 + pay_tot1.&lt;/P&gt;&lt;P&gt;          gst_tot3 = gst_tot3 + it_tax-hwbas.&lt;/P&gt;&lt;P&gt;          sup_tot3 = sup_tot3 + it_tax-hwste.&lt;/P&gt;&lt;P&gt;          pay_tot11 = it_tax-hwbas + it_tax-hwste.&lt;/P&gt;&lt;P&gt;          pay_tot3 = pay_tot3 + pay_tot11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single kbetr from bset into it_kbetr1 where bukrs = p_bukrs and&lt;/P&gt;&lt;P&gt;                                                             belnr = it_tax-belnr and&lt;/P&gt;&lt;P&gt;                                                             gjahr = it_tax-gjahr and&lt;/P&gt;&lt;P&gt;                                                             mwskz = it_tax-mwskz.&lt;/P&gt;&lt;P&gt;          it_tax1 = it_kbetr1 / 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tax description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single land1 from t001 into it_land1 where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;          select single kalsm from t005 into it_kalsm where land1 = it_land1.&lt;/P&gt;&lt;P&gt;          select single text1 from t007s into it_text1 where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                                                             kalsm = it_kalsm and&lt;/P&gt;&lt;P&gt;                                                             mwskz = it_tax-mwskz .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          data : it_sgtxt like bseg-sgtxt,&lt;/P&gt;&lt;P&gt;                 v_string type string,&lt;/P&gt;&lt;P&gt;                 v_var1 type string,&lt;/P&gt;&lt;P&gt;                 v_var2 type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          clear : it_sgtxt, v_string, v_var1, v_var2.&lt;/P&gt;&lt;P&gt;          clear : v_amt, v_taxamt, v_total, v_fwbas.&lt;/P&gt;&lt;P&gt;          if g_company-land1 = 'SG' and g_company-waers &amp;lt;&amp;gt; 'SGD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            select single sgtxt  from bseg into it_sgtxt&lt;/P&gt;&lt;P&gt;                                 where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                 and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                                 and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                                 and mwskz = it_tax-mwskz&lt;/P&gt;&lt;P&gt;                                 and buzid = 'T'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              v_string = it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              split v_string at '/' into  v_var1 v_var2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              if v_var1 co '1234567890.'.&lt;/P&gt;&lt;P&gt;                v_amt = v_var1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              if v_var2 co '1234567890.'.&lt;/P&gt;&lt;P&gt;                v_taxamt = v_var2.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              gt_amt = gt_amt + v_amt.&lt;/P&gt;&lt;P&gt;              gt_taxamt = gt_taxamt + v_var2.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              call function 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;                exporting&lt;/P&gt;&lt;P&gt;                  date             = ls_bkpf-budat&lt;/P&gt;&lt;P&gt;                  foreign_amount   = it_tax-fwbas&lt;/P&gt;&lt;P&gt;                  foreign_currency = ls_bkpf-waers&lt;/P&gt;&lt;P&gt;                  local_currency   = 'SGD'&lt;/P&gt;&lt;P&gt;                  type_of_rate     = 'M'&lt;/P&gt;&lt;P&gt;                importing&lt;/P&gt;&lt;P&gt;                  local_amount     = v_fwbas&lt;/P&gt;&lt;P&gt;                exceptions&lt;/P&gt;&lt;P&gt;                  no_rate_found    = 1&lt;/P&gt;&lt;P&gt;                  overflow         = 2&lt;/P&gt;&lt;P&gt;                  no_factors_found = 3&lt;/P&gt;&lt;P&gt;                  no_spread_found  = 4&lt;/P&gt;&lt;P&gt;                  derived_2_times  = 5&lt;/P&gt;&lt;P&gt;                  others           = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              v_amt1 = v_fwbas.&lt;/P&gt;&lt;P&gt;              gt_amt1 = gt_amt1 + v_amt1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            gt_netamt = gt_amt + gt_amt1.&lt;/P&gt;&lt;P&gt;            gt_tax    = gt_taxamt.&lt;/P&gt;&lt;P&gt;            gt_total  = gt_netamt + gt_tax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write it_tax-fwbas to it_fwbas currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write it_tax-fwste to it_fwste currency t_inv_hdr-waers.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        write i_fwste to it_fwste currency t_inv_hdr-waers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write pay_tot1 to pay_tot19 currency t_inv_hdr-waers.&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                  = 'TAX'&lt;/P&gt;&lt;P&gt;              function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;              type                     = 'BODY'&lt;/P&gt;&lt;P&gt;              window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;            exceptions&lt;/P&gt;&lt;P&gt;              element                  = 1&lt;/P&gt;&lt;P&gt;              function                 = 2&lt;/P&gt;&lt;P&gt;              type                     = 3&lt;/P&gt;&lt;P&gt;              unopened                 = 4&lt;/P&gt;&lt;P&gt;              unstarted                = 5&lt;/P&gt;&lt;P&gt;              window                   = 6&lt;/P&gt;&lt;P&gt;              bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;              spool_error              = 8&lt;/P&gt;&lt;P&gt;              codepage                 = 9&lt;/P&gt;&lt;P&gt;              others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          delete it_tax index v_tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;        if v_count ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write gst_tot2 to gst_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write sup_tot2 to sup_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write pay_tot2 to pay_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write final_sup_tot9 to gst_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write final_gst_tot9 to sup_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write  act_total9    to pay_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if g_company-land1 = 'SG' and g_company-waers &amp;lt;&amp;gt; 'SGD'.&lt;/P&gt;&lt;P&gt;          if v_count ne 0.&lt;/P&gt;&lt;P&gt;            write gt_netamt to gst_tot39 .&lt;/P&gt;&lt;P&gt;            write gt_taxamt to sup_tot39 .&lt;/P&gt;&lt;P&gt;            write gt_total  to pay_tot39 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_waers  = 'SGD'.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            clear : v_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            call function 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;              exporting&lt;/P&gt;&lt;P&gt;                date             = ls_bkpf-budat&lt;/P&gt;&lt;P&gt;                foreign_amount   = act_total&lt;/P&gt;&lt;P&gt;                foreign_currency = ls_bkpf-waers&lt;/P&gt;&lt;P&gt;                local_currency   = 'SGD'&lt;/P&gt;&lt;P&gt;                type_of_rate     = 'M'&lt;/P&gt;&lt;P&gt;              importing&lt;/P&gt;&lt;P&gt;                local_amount     = v_amount&lt;/P&gt;&lt;P&gt;              exceptions&lt;/P&gt;&lt;P&gt;                no_rate_found    = 1&lt;/P&gt;&lt;P&gt;                overflow         = 2&lt;/P&gt;&lt;P&gt;                no_factors_found = 3&lt;/P&gt;&lt;P&gt;                no_spread_found  = 4&lt;/P&gt;&lt;P&gt;                derived_2_times  = 5&lt;/P&gt;&lt;P&gt;                others           = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            pay_tot39 = v_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_waers  = 'SGD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = g_company-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_gt_total = gt_total * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_gt_total =  gt_total / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_gt_total = gt_total.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_total = pay_tot2 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_total = pay_tot2 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_total = pay_tot2.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          if v_pay_total ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            tax_rate =  v_gt_total / v_pay_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            write tax_rate to tax_rate99. "currency g_company-waers.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = g_company-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_tot3 = pay_tot3 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_tot3 =  pay_tot3 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_tot3 = pay_tot3.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_tot2 = pay_tot2 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_tot2 = pay_tot2 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_tot2 = pay_tot2.&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;          tax_rate = v_pay_tot3 / v_pay_tot2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write gst_tot3 to gst_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;          write sup_tot3 to sup_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;          write tax_rate to tax_rate99. "currency g_company-waers.&lt;/P&gt;&lt;P&gt;          if v_count ne 0 .&lt;/P&gt;&lt;P&gt;            write pay_tot3 to pay_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&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                  = 'TAX_TOTAL'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear final_sup_tot.&lt;/P&gt;&lt;P&gt;        clear final_pay_tot.&lt;/P&gt;&lt;P&gt;        clear final_gst_tot.&lt;/P&gt;&lt;P&gt;        clear gst_tot2.&lt;/P&gt;&lt;P&gt;        clear pay_tot2.&lt;/P&gt;&lt;P&gt;        clear sup_tot2.&lt;/P&gt;&lt;P&gt;        clear gst_tot3.&lt;/P&gt;&lt;P&gt;        clear sup_tot3.&lt;/P&gt;&lt;P&gt;        clear act_total.&lt;/P&gt;&lt;P&gt;        clear it_item1.&lt;/P&gt;&lt;P&gt;        clear gt_netamt.&lt;/P&gt;&lt;P&gt;        clear gt_tax.&lt;/P&gt;&lt;P&gt;        clear gt_total.&lt;/P&gt;&lt;P&gt;        clear gt_amt.&lt;/P&gt;&lt;P&gt;        clear gt_amt1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear gt_taxamt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear : gst_tot39.&lt;/P&gt;&lt;P&gt;        clear : sup_tot39.&lt;/P&gt;&lt;P&gt;        clear : pay_tot39.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        refresh it_item1.&lt;/P&gt;&lt;P&gt;        delete t_inv_item where belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single grpid from bkpf into v_grpid where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                   and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                                   and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                                   and grpid ne ' '.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_grpid1  = v_grpid+0(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single text20 from ztar001 into v_text20 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if v_grpid1 = 'GVS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear : v_name7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        concatenate v_name7 '-' v_text20 into v_name7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name2 eq ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         c_nam1 = v_name1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear : v_name1.&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;         v_name1 = c_name1.&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;         concatenate c_nam1 '-' v_text20 into v_name1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name1 '-' v_text20 into c_nam1.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam1 = v_name1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name3 eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          c_nam2 = v_name2.&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;         clear : v_name2.&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;         v_name2 = c_name2.&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;         concatenate c_nam2 '-' v_text20 into v_name2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name2 '-' v_text20 into c_nam2.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam2 = v_name2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name4 eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          c_nam3 = v_name3.&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;         clear : v_name3.&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;         v_name2 = c_name3.&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;         concatenate c_nam3 '-' v_text20 into v_name3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name3 '-' v_text20 into c_nam3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam3 = v_name3.&lt;/P&gt;&lt;P&gt;&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;       endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;&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;      c_nam1 = v_name1 .&lt;/P&gt;&lt;P&gt;      c_nam2 = v_name2 .&lt;/P&gt;&lt;P&gt;      c_nam3 = v_name3 .&lt;/P&gt;&lt;P&gt;      c_nam4 = v_name4 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single grpid from bkpf into v_grpid where bukrs = p_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                and gjahr = t_inv_hdr-gjahr.&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;   if sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     v_grpid1  = v_grpid+0(3).&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;     if v_grpid1 = 'GVS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       concatenate v_name7 '-' 'GVS' into v_name7.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     else.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       v_text = v_name5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'SIGNATORY'&lt;/P&gt;&lt;P&gt;        function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'END_FORM'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        unopened                 = 1&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 2&lt;/P&gt;&lt;P&gt;        spool_error              = 3&lt;/P&gt;&lt;P&gt;        codepage                 = 4&lt;/P&gt;&lt;P&gt;        others                   = 5.&lt;/P&gt;&lt;P&gt;    clear t_inv_hdr.&lt;/P&gt;&lt;P&gt;  endloop.&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;      unopened                 = 1&lt;/P&gt;&lt;P&gt;      bad_pageformat_for_print = 2&lt;/P&gt;&lt;P&gt;      send_error               = 3&lt;/P&gt;&lt;P&gt;      spool_error              = 4&lt;/P&gt;&lt;P&gt;      codepage                 = 5&lt;/P&gt;&lt;P&gt;      others                   = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " form_print_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_customer_invoices&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_customer_invoices .&lt;/P&gt;&lt;P&gt;  clear : v_remark.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single * into g_company&lt;/P&gt;&lt;P&gt;  from   t001&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_addr_sel-addrnumber = g_company-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single  name1 name2 name3 name4 street str_suppl3 city1 post_code1 tel_number fax_number&lt;/P&gt;&lt;P&gt;          from adrc into (v_name1,v_name2,v_name3,v_name4,v_street,v_street4,v_city,v_post,v_tele,v_fax)&lt;/P&gt;&lt;P&gt;          where addrnumber = l_addr_sel-addrnumber.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   c_nam1 = v_name1.&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;   c_nam2 = v_name2.&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;   c_nam3 = v_name3.&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;   c_nam4 = v_name4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Remark&lt;/P&gt;&lt;P&gt;  select single  remark&lt;/P&gt;&lt;P&gt;            from adrct into v_remark&lt;/P&gt;&lt;P&gt;            where addrnumber = l_addr_sel-addrnumber&lt;/P&gt;&lt;P&gt;            and langu = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single uri_srch from adr12 into v_uri where addrnumber = l_addr_sel-addrnumber.&lt;/P&gt;&lt;P&gt;  select single paval from t001z into v_regno where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                                and party = 'SAPI14'.&lt;/P&gt;&lt;P&gt;  translate v_uri to lower case.                            "#EC *&lt;/P&gt;&lt;P&gt;  concatenate v_name1(35)   v_name2(35) into v_name5 separated by space.&lt;/P&gt;&lt;P&gt;  concatenate v_name3(35)   v_name4(35) into v_name6 separated by space.&lt;/P&gt;&lt;P&gt;  concatenate v_street(35)  v_street4(35) into v_street5 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear : v_name7.&lt;/P&gt;&lt;P&gt;  concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company GST No&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single paval into l_gst_no&lt;/P&gt;&lt;P&gt;  from   t001z&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;  and    party = 'SAPI11'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company Registration no&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single paval into l_reg_no&lt;/P&gt;&lt;P&gt;  from   t001z&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;  and    party = 'SAPI14'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read country's tax procedure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; select single kalsm into l_tax_proc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; from   t005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; where  land1 = g_company-land1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Due date&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;if it is customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_inter eq '' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;    from   bsid&lt;/P&gt;&lt;P&gt;    where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;    and    kunnr in s_kunnr&lt;/P&gt;&lt;P&gt;    and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;    and    blart in s_blart&lt;/P&gt;&lt;P&gt;    and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;    and    monat in s_monat&lt;/P&gt;&lt;P&gt;    and    budat in s_budat&lt;/P&gt;&lt;P&gt;    and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;    and    cpudt in s_cpudt.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;  elseif p_inter eq '' and p_rep eq 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cleared items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;     from   bsad&lt;/P&gt;&lt;P&gt;     where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;     and    kunnr in s_kunnr&lt;/P&gt;&lt;P&gt;     and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;     and    blart in s_blart&lt;/P&gt;&lt;P&gt;     and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;     and    monat in s_monat&lt;/P&gt;&lt;P&gt;     and    budat in s_budat&lt;/P&gt;&lt;P&gt;     and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;     and    cpudt in s_cpudt.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif p_inter eq 'X' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;      from   bsik&lt;/P&gt;&lt;P&gt;      where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;      and    lifnr in s_lifnr&lt;/P&gt;&lt;P&gt;      and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;      and    blart in s_blart&lt;/P&gt;&lt;P&gt;      and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;      and    monat in s_monat&lt;/P&gt;&lt;P&gt;      and    budat in s_budat&lt;/P&gt;&lt;P&gt;      and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;      and    cpudt in s_cpudt&lt;/P&gt;&lt;P&gt;      and ( blart = 'IA' or blart = 'IB'  or  blart = 'IC'  or blart = 'ID' ).&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cleared items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  elseif p_inter eq 'X' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;       from   bsak&lt;/P&gt;&lt;P&gt;       where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;       and    lifnr in s_lifnr&lt;/P&gt;&lt;P&gt;       and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;       and    blart in s_blart&lt;/P&gt;&lt;P&gt;       and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;       and    monat in s_monat&lt;/P&gt;&lt;P&gt;       and    budat in s_budat&lt;/P&gt;&lt;P&gt;       and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;       and    cpudt in s_cpudt&lt;/P&gt;&lt;P&gt;       and ( blart = 'IA' or blart = 'IB' or  blart = 'IC'  or  blart = 'ID' ).&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_inv_hdr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cusomer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_inter eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_hdr-bschl = '11'.  "Credit note&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'CREDIT NOTE'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select * into corresponding fields of  t_inv_item&lt;/P&gt;&lt;P&gt;        from   bseg&lt;/P&gt;&lt;P&gt;        where  bukrs = t_inv_hdr-bukrs&lt;/P&gt;&lt;P&gt;        and    belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;        and    gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;        and     buzid eq  '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_hdr-bschl = '31'.  "Credit note&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'CREDIT NOTE'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select * into corresponding fields of  t_inv_item&lt;/P&gt;&lt;P&gt;        from   bseg&lt;/P&gt;&lt;P&gt;        where  bukrs = t_inv_hdr-bukrs&lt;/P&gt;&lt;P&gt;        and    belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;        and    gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;        and     buzid eq  '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endselect.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "read_customer_invoices&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Aug 2006 03:42:00 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-08-24T03:42:00Z</dc:date>
    <item>
      <title>print program error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519602#M238769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi i am working on print tax invoice program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;every thing is fine but in the output i am getting duplicate values as below. values repeating again. hope i am clear with my doubt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; 222         000       222&lt;/P&gt;&lt;P&gt;1234         000      1234 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;222         000       222&lt;/P&gt;&lt;P&gt;1234         000      1234&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 03:28:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519602#M238769</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T03:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: print program error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519603#M238770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You will have to check your SAP Script / SMART form, why the data is being printed twice. See where exactly this data is being printed and check if there is any loop there or the same data is being passed twice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;Note : Please mark all the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 03:32:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519603#M238770</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T03:32:53Z</dc:date>
    </item>
    <item>
      <title>Re: print program error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519604#M238771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi, &lt;/P&gt;&lt;P&gt;here i attached my code. can u go through it and suggest me..itz very urgent for me.&lt;/P&gt;&lt;P&gt;thanks wil reward the points &lt;/P&gt;&lt;P&gt;report  zar0020." LINE-SIZE 80 LINE-COUNT 65 NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Release            : ECC 5.0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Module             : FI-AR&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;Description        : This program will print Tax Invoice on A4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     paper&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; T A B L E S                                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;tables: t001,&lt;/P&gt;&lt;P&gt;        bkpf,&lt;/P&gt;&lt;P&gt;        kna1,&lt;/P&gt;&lt;P&gt;        bsik,&lt;/P&gt;&lt;P&gt;        tcurx.&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 E L E C T I O N   S C R E E N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl1 with frame title text-101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameters: p_bukrs like t001-bukrs memory id buk obligatory,&lt;/P&gt;&lt;P&gt;            p_gjahr like bkpf-gjahr default sy-datum(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select-options: s_monat for bkpf-monat default sy-datum+4(2),&lt;/P&gt;&lt;P&gt;                s_kunnr for kna1-kunnr,&lt;/P&gt;&lt;P&gt;                s_lifnr for bsik-lifnr,&lt;/P&gt;&lt;P&gt;                s_blart for bkpf-blart,&lt;/P&gt;&lt;P&gt;                s_belnr for bkpf-belnr memory id bln,&lt;/P&gt;&lt;P&gt;                s_budat for bkpf-budat,&lt;/P&gt;&lt;P&gt;                s_bldat for bkpf-bldat,&lt;/P&gt;&lt;P&gt;                s_cpudt for bkpf-cpudt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block bl1.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl2 with frame title text-102.&lt;/P&gt;&lt;P&gt;parameters: p_hkont as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl2.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl3 with frame title text-103.&lt;/P&gt;&lt;P&gt;parameters: p_inter as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl3.&lt;/P&gt;&lt;P&gt;selection-screen begin of block bl4 with frame title text-104.&lt;/P&gt;&lt;P&gt;parameters: p_rep as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen end of block bl4.&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; D A T A   D E C L A R A T I O N                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;constants:&lt;/P&gt;&lt;P&gt;c_formname like rsscf-tdform value 'ZTAXINVOICE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_inv_hdr occurs 0,&lt;/P&gt;&lt;P&gt;          bukrs like bkpf-bukrs,&lt;/P&gt;&lt;P&gt;          kunnr like bsid-kunnr,&lt;/P&gt;&lt;P&gt;          gjahr like bkpf-gjahr,&lt;/P&gt;&lt;P&gt;          belnr like bkpf-belnr,&lt;/P&gt;&lt;P&gt;          bldat like bkpf-bldat,&lt;/P&gt;&lt;P&gt;          budat like bkpf-budat,&lt;/P&gt;&lt;P&gt;          waers like bkpf-waers,&lt;/P&gt;&lt;P&gt;          hwaer like bkpf-hwaer,&lt;/P&gt;&lt;P&gt;          gst_no like t001z-paval,&lt;/P&gt;&lt;P&gt;          reg_no like t001z-paval,&lt;/P&gt;&lt;P&gt;          bschl like bsid-bschl,&lt;/P&gt;&lt;P&gt;          lifnr like bsik-lifnr,&lt;/P&gt;&lt;P&gt;          inv_type(20),&lt;/P&gt;&lt;P&gt;        end of t_inv_hdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of t_inv_item occurs 0,&lt;/P&gt;&lt;P&gt;        belnr like bseg-belnr,&lt;/P&gt;&lt;P&gt;        hkont like bseg-hkont,&lt;/P&gt;&lt;P&gt;        bukrs like bseg-bukrs,&lt;/P&gt;&lt;P&gt;        gjahr like bseg-gjahr,&lt;/P&gt;&lt;P&gt;        buzei like bseg-buzei,&lt;/P&gt;&lt;P&gt;        buzid like bseg-buzid,&lt;/P&gt;&lt;P&gt;        bschl like bseg-bschl,&lt;/P&gt;&lt;P&gt;        koart like bseg-koart,&lt;/P&gt;&lt;P&gt;        mwskz like bseg-mwskz,&lt;/P&gt;&lt;P&gt;        wrbtr like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        dmbtr like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        sgtxt like bseg-sgtxt,&lt;/P&gt;&lt;P&gt;        tax_rate like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        sup_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        gst_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        pay_tot like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        slip_tot type p decimals 2,&lt;/P&gt;&lt;P&gt;        total like covp-wogbtr,&lt;/P&gt;&lt;P&gt;        shkzg like bseg-shkzg,&lt;/P&gt;&lt;P&gt;        lifnr like bsik-lifnr,&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;        qsskz like bseg-qsskz,&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;      end of t_inv_item.&lt;/P&gt;&lt;P&gt;data:it_item1 like t_inv_item occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: g_company like t001.&lt;/P&gt;&lt;P&gt;data: it_wrbtr1(20).&lt;/P&gt;&lt;P&gt;data:it_pay_tot1(20).&lt;/P&gt;&lt;P&gt;data:it_mwskz like bseg-mwskz.&lt;/P&gt;&lt;P&gt;data:it_kbetr like bset-kbetr.&lt;/P&gt;&lt;P&gt;data:it_gst type p decimals 2.&lt;/P&gt;&lt;P&gt;data:sup_tot type p decimals 2 .&lt;/P&gt;&lt;P&gt;data:gst_tot type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot1 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;*data:pay_tot3(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_pay_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_pay_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_gt_total type p decimals 2.&lt;/P&gt;&lt;P&gt;data:v_pay_total type p decimals 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:sup_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:gst_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:pay_tot2 type p decimals 2.&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;data:gst_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:sup_tot3 type p decimals 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data:gst_tot3(20).&lt;/P&gt;&lt;P&gt;*data:sup_tot3(20).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;data:pay_tot11(20).&lt;/P&gt;&lt;P&gt;data:k type i.&lt;/P&gt;&lt;P&gt;data:final_sup_tot type p decimals 2 ,&lt;/P&gt;&lt;P&gt;     final_gst_tot type p decimals 2,&lt;/P&gt;&lt;P&gt;     final_pay_tot type p decimals 2 ,&lt;/P&gt;&lt;P&gt;     slip_tot  type p decimals 2,&lt;/P&gt;&lt;P&gt;     act_total type p decimals 2.&lt;/P&gt;&lt;P&gt;data:  final_sup_tot9(20),&lt;/P&gt;&lt;P&gt;       final_gst_tot9(20),&lt;/P&gt;&lt;P&gt;       act_total9(20),&lt;/P&gt;&lt;P&gt;       tax_rate9(20),&lt;/P&gt;&lt;P&gt;       pay_tot9(20),&lt;/P&gt;&lt;P&gt;       slip_tot9(20).&lt;/P&gt;&lt;P&gt;data:item(3) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: l_addr_sel like addr1_sel.&lt;/P&gt;&lt;P&gt;data: l_gst_no like t001z-paval,&lt;/P&gt;&lt;P&gt;      l_reg_no like t001z-paval.&lt;/P&gt;&lt;P&gt;data:it_adrnr like adrc-addrnumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:begin of it_tax occurs 0,&lt;/P&gt;&lt;P&gt;           belnr like bset-belnr,&lt;/P&gt;&lt;P&gt;           gjahr like bset-gjahr,&lt;/P&gt;&lt;P&gt;           mwskz like bset-mwskz,&lt;/P&gt;&lt;P&gt;           hwste like bset-hwste,&lt;/P&gt;&lt;P&gt;           fwste like bset-fwste,&lt;/P&gt;&lt;P&gt;           fwbas like bset-fwbas,&lt;/P&gt;&lt;P&gt;           hwbas like bset-hwbas,&lt;/P&gt;&lt;P&gt;          end of it_tax.&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;      v_name1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      v_name2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      v_name3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      v_name4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_name1_new   like adrc-name1,&lt;/P&gt;&lt;P&gt;      v_name2_new   like adrc-name2,&lt;/P&gt;&lt;P&gt;      v_name3_new   like adrc-name3,&lt;/P&gt;&lt;P&gt;      v_name4_new   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_name5(80),&lt;/P&gt;&lt;P&gt;      v_name6(80),&lt;/P&gt;&lt;P&gt;      v_street5(80),&lt;/P&gt;&lt;P&gt;      v_name7(160),&lt;/P&gt;&lt;P&gt;      v_name8(160),&lt;/P&gt;&lt;P&gt;      v_name9(160),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_street  like adrc-street,&lt;/P&gt;&lt;P&gt;      v_street4 like adrc-str_suppl3,&lt;/P&gt;&lt;P&gt;      v_city    like adrc-city1,&lt;/P&gt;&lt;P&gt;      v_post    like adrc-post_code1,&lt;/P&gt;&lt;P&gt;      v_tele    like adrc-tel_number,&lt;/P&gt;&lt;P&gt;      v_fax     like adrc-fax_number,&lt;/P&gt;&lt;P&gt;      v_uri     like adr12-uri_srch,&lt;/P&gt;&lt;P&gt;      v_regno   like t001z-paval,&lt;/P&gt;&lt;P&gt;      c_name1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      c_name2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      c_name3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      c_name4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_nam1   like adrc-name1,&lt;/P&gt;&lt;P&gt;      c_nam2   like adrc-name2,&lt;/P&gt;&lt;P&gt;      c_nam3   like adrc-name3,&lt;/P&gt;&lt;P&gt;      c_nam4   like adrc-name4,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_name5(80),&lt;/P&gt;&lt;P&gt;      c_name6(80),&lt;/P&gt;&lt;P&gt;      c_street5(80),&lt;/P&gt;&lt;P&gt;      c_street  like adrc-street,&lt;/P&gt;&lt;P&gt;      c_street4 like adrc-str_suppl3,&lt;/P&gt;&lt;P&gt;      c_city    like adrc-city1,&lt;/P&gt;&lt;P&gt;      c_city1   like adrc-city1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_post    like adrc-post_code1,&lt;/P&gt;&lt;P&gt;      c_tele    like adrc-tel_number,&lt;/P&gt;&lt;P&gt;      c_fax     like adrc-fax_number,&lt;/P&gt;&lt;P&gt;      c_country like adrc-country,&lt;/P&gt;&lt;P&gt;      c_landx   like t005t-landx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c_country1 like t005t-landx,&lt;/P&gt;&lt;P&gt;      c_cntry   like t005t-landx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_remark  like adrct-remark.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:name like thead-tdname.&lt;/P&gt;&lt;P&gt;data:it_phone like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_name like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_account like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_addi like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_cheque like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_item like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data:it_ben like tline occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data: ls_faede like faede.&lt;/P&gt;&lt;P&gt;data:it_sgtxt like bseg-sgtxt.&lt;/P&gt;&lt;P&gt;data: ls_bkpf  like bkpf,&lt;/P&gt;&lt;P&gt;      ls_bseg  like bseg,&lt;/P&gt;&lt;P&gt;      it_duedate(10).&lt;/P&gt;&lt;P&gt;data:it_waers like t001-waers.&lt;/P&gt;&lt;P&gt;data:it_waers1 like t001-waers.&lt;/P&gt;&lt;P&gt;data:n1 type i.&lt;/P&gt;&lt;P&gt;data:diff1 type p decimals 2.&lt;/P&gt;&lt;P&gt;data:tax_rate type p decimals 5.&lt;/P&gt;&lt;P&gt;data:it_header(20).&lt;/P&gt;&lt;P&gt;data:it_bschl like bsid-bschl.&lt;/P&gt;&lt;P&gt;data:it_land like t001-land1.&lt;/P&gt;&lt;P&gt;data:it_landx like t005t-landx.&lt;/P&gt;&lt;P&gt;data:text(2000).&lt;/P&gt;&lt;P&gt;data:text1(200).&lt;/P&gt;&lt;P&gt;data:it_kbetr1 like bset-kbetr,&lt;/P&gt;&lt;P&gt;     it_tax1(3) type c.&lt;/P&gt;&lt;P&gt;data:it_acctype(1).&lt;/P&gt;&lt;P&gt;data:it_cust like kna1-lifnr.&lt;/P&gt;&lt;P&gt;data:it_land1 like t001-land1,&lt;/P&gt;&lt;P&gt;     it_kalsm like t005-kalsm,&lt;/P&gt;&lt;P&gt;     it_text1(50).&lt;/P&gt;&lt;P&gt;data:it_kverm like knb1-kverm.&lt;/P&gt;&lt;P&gt;data: vari1(18),&lt;/P&gt;&lt;P&gt;      v_flag(1) value 'F'.&lt;/P&gt;&lt;P&gt;data:it_fwbas(20),&lt;/P&gt;&lt;P&gt;     it_fwste(20),&lt;/P&gt;&lt;P&gt;     pay_tot19(20),&lt;/P&gt;&lt;P&gt;     gst_tot29(20),&lt;/P&gt;&lt;P&gt;     sup_tot29(20),&lt;/P&gt;&lt;P&gt;     pay_tot29(20),&lt;/P&gt;&lt;P&gt;     gst_tot39(20),&lt;/P&gt;&lt;P&gt;     sup_tot39(20),&lt;/P&gt;&lt;P&gt;     pay_tot39(20),&lt;/P&gt;&lt;P&gt;     tax_rate99(20),&lt;/P&gt;&lt;P&gt;     v_amt(20),&lt;/P&gt;&lt;P&gt;     v_amt1(20),&lt;/P&gt;&lt;P&gt;     v_fwbas type bset-fwbas,&lt;/P&gt;&lt;P&gt;     v_taxamt(20),&lt;/P&gt;&lt;P&gt;     v_total(20),&lt;/P&gt;&lt;P&gt;     v_amount type bseg-wrbtr,&lt;/P&gt;&lt;P&gt;      gt_amt    type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_taxamt type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_netamt type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_tax    type p decimals 2,&lt;/P&gt;&lt;P&gt;      gt_amt1(20),&lt;/P&gt;&lt;P&gt;      gt_total type p decimals 2,&lt;/P&gt;&lt;P&gt;      v_grpid like bkpf-grpid,&lt;/P&gt;&lt;P&gt;      v_grpid1(3) type c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_text(100) type c,&lt;/P&gt;&lt;P&gt;      v_text20(20) type c.&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;&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; I N I T I A L I Z A T I O N                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*initialization.&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; A T   S E L E C T I O N - S C R E E N                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen on p_bukrs.&lt;/P&gt;&lt;P&gt;  select single * into g_company&lt;/P&gt;&lt;P&gt;  from   t001&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Company code' p_bukrs 'does not exist'."#EC *&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  authority-check object 'F_BKPF_BUK'&lt;/P&gt;&lt;P&gt;           id 'BUKRS' field p_bukrs&lt;/P&gt;&lt;P&gt;           id 'ACTVT' field '03'.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    message e398(00) with 'You are not authorized to access company '&lt;/P&gt;&lt;P&gt;                          p_bukrs.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on p_inter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if s_lifnr ne '' and p_inter = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Please select Interco check box'."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif s_kunnr ne '' and p_inter ne ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    message e398(00) with 'Ple dont select Interco when you select Customer '."#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; S T A R T   O F   D A T A   S E L E C T I O N                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;  item = '00'.&lt;/P&gt;&lt;P&gt;  if p_inter eq ''.&lt;/P&gt;&lt;P&gt;    it_acctype = 'D'.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    it_acctype = 'K'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  perform read_customer_invoices.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if t_inv_item[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write ' No Records Found'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform form_print_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&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; E N D   O F   D A T A   S E L E C T I O N                           *&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;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  form_print_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form form_print_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: itab_options like itcpo occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_options-tddest = 'LOCL'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  itab_options-tdpreview = 'X'.&lt;/P&gt;&lt;P&gt;  itab_options-tdtitle = sy-title.&lt;/P&gt;&lt;P&gt;  itab_options-tdiexit = 'X'.&lt;/P&gt;&lt;P&gt;  itab_options-tdnewid = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; itab_options-tddelete = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append itab_options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  call function 'OPEN_FORM'&lt;/P&gt;&lt;P&gt;         exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          APPLICATION                       = 'TX'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ARCHIVE_INDEX                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ARCHIVE_PARAMS                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     device                            = 'PRINTER'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          DIALOG                            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     form                              = c_formname&lt;/P&gt;&lt;P&gt;     language                          = sy-langu&lt;/P&gt;&lt;P&gt;     options                           = itab_options&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_SENDER                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_RECIPIENT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          MAIL_APPL_OBJECT                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          RAW_DATA_INTERFACE                = '*'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          SPONUMIV                          =&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;          LANGUAGE                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          NEW_ARCHIVE_PARAMS                =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          RESULT                            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;           canceled                          = 1&lt;/P&gt;&lt;P&gt;           device                            = 2&lt;/P&gt;&lt;P&gt;           form                              = 3&lt;/P&gt;&lt;P&gt;           options                           = 4&lt;/P&gt;&lt;P&gt;           unclosed                          = 5&lt;/P&gt;&lt;P&gt;           mail_options                      = 6&lt;/P&gt;&lt;P&gt;           archive_error                     = 7&lt;/P&gt;&lt;P&gt;           invalid_fax_number                = 8&lt;/P&gt;&lt;P&gt;           more_params_needed_in_batch       = 9&lt;/P&gt;&lt;P&gt;           spool_error                       = 10&lt;/P&gt;&lt;P&gt;           codepage                          = 11&lt;/P&gt;&lt;P&gt;           others                            = 12&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_inv_hdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clear sup_tot.&lt;/P&gt;&lt;P&gt;    clear pay_tot.&lt;/P&gt;&lt;P&gt;    clear gst_tot.&lt;/P&gt;&lt;P&gt;    clear slip_tot.&lt;/P&gt;&lt;P&gt;    clear act_total.&lt;/P&gt;&lt;P&gt;    clear it_waers.&lt;/P&gt;&lt;P&gt;    clear it_waers1.&lt;/P&gt;&lt;P&gt;    clear it_duedate.&lt;/P&gt;&lt;P&gt;    clear it_item.&lt;/P&gt;&lt;P&gt;    refresh it_item.&lt;/P&gt;&lt;P&gt;    clear it_phone.&lt;/P&gt;&lt;P&gt;    refresh it_phone.&lt;/P&gt;&lt;P&gt;    clear it_account.&lt;/P&gt;&lt;P&gt;    refresh it_account.&lt;/P&gt;&lt;P&gt;    clear it_name.&lt;/P&gt;&lt;P&gt;    refresh it_name.&lt;/P&gt;&lt;P&gt;    clear it_addi.&lt;/P&gt;&lt;P&gt;    refresh it_addi.&lt;/P&gt;&lt;P&gt;    clear it_ben.&lt;/P&gt;&lt;P&gt;    refresh it_ben.&lt;/P&gt;&lt;P&gt;    clear name.&lt;/P&gt;&lt;P&gt;    clear it_cust.&lt;/P&gt;&lt;P&gt;    clear it_header.&lt;/P&gt;&lt;P&gt;    clear it_land1.&lt;/P&gt;&lt;P&gt;    clear it_kalsm.&lt;/P&gt;&lt;P&gt;    clear it_text1.&lt;/P&gt;&lt;P&gt;    clear it_kverm.&lt;/P&gt;&lt;P&gt;    clear pay_tot3.&lt;/P&gt;&lt;P&gt;    clear it_item1.&lt;/P&gt;&lt;P&gt;    refresh it_item1.&lt;/P&gt;&lt;P&gt;    clear k.&lt;/P&gt;&lt;P&gt;    clear v_flag.&lt;/P&gt;&lt;P&gt;    clear : c_country1, c_cntry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;customer number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_inter eq ''.&lt;/P&gt;&lt;P&gt;      it_cust = t_inv_hdr-kunnr.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      it_cust = t_inv_hdr-lifnr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read customer address&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if one time vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single name1 name2 name3 name4 pstlz ort01 stras&lt;/P&gt;&lt;P&gt;           into (c_name1, c_name2, c_name3, c_name4, c_post, c_city, c_street5)&lt;/P&gt;&lt;P&gt;           from bsec where  bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                            belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                            gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Logic changed bsrao on 27.07.2006&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0 or c_name1 eq ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if p_inter eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        select single adrnr from kna1 into it_adrnr where kunnr = t_inv_hdr-kunnr.&lt;/P&gt;&lt;P&gt;        select single kverm from knb1 into it_kverm where kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                          bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        select single adrnr from lfa1 into it_adrnr where lifnr = t_inv_hdr-lifnr.&lt;/P&gt;&lt;P&gt;        select single kverm from lfb1 into it_kverm where lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                          bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single  name1 name2 name3 name4 street str_suppl3 city1 post_code1 tel_number fax_number country&lt;/P&gt;&lt;P&gt;                from adrc into (c_name1,c_name2,c_name3,c_name4,c_street,c_street4,c_city,c_post,c_tele,c_fax, c_country)&lt;/P&gt;&lt;P&gt;                where addrnumber = it_adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single landx from t005t into c_landx&lt;/P&gt;&lt;P&gt;              where land1 = c_country&lt;/P&gt;&lt;P&gt;             and spras = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_city1 = itab_cust-city1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear : c_cntry, c_country1.&lt;/P&gt;&lt;P&gt;      c_city1 = c_city.&lt;/P&gt;&lt;P&gt;      translate c_city1 to lower case.&lt;/P&gt;&lt;P&gt;      c_cntry = c_landx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      translate c_cntry to lower case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if c_city1 ne c_cntry .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        c_country1  = c_landx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   read table itab_t005t with key lnd1 = itab_cust-country.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   v_cntry = itab_t005t-landx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   translate v_cntry to lower case.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      concatenate c_street(35)  c_street4(35) into c_street5 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    concatenate c_name1(35) c_name2(35) into c_name5 separated by space.&lt;/P&gt;&lt;P&gt;    concatenate c_name3(35)  c_name4(35) into c_name6 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;*clear : v_name7.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate t_inv_hdr-bukrs t_inv_hdr-belnr t_inv_hdr-gjahr into name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;read singnature details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PHONE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        client                  = sy-mandt&lt;/P&gt;&lt;P&gt;        id                      = 'Z001'&lt;/P&gt;&lt;P&gt;        language                = sy-langu&lt;/P&gt;&lt;P&gt;        name                    = name&lt;/P&gt;&lt;P&gt;        object                  = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                   = it_phone&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        id                      = 1&lt;/P&gt;&lt;P&gt;        language                = 2&lt;/P&gt;&lt;P&gt;        name                    = 3&lt;/P&gt;&lt;P&gt;        not_found               = 4&lt;/P&gt;&lt;P&gt;        object                  = 5&lt;/P&gt;&lt;P&gt;        reference_check         = 6&lt;/P&gt;&lt;P&gt;        wrong_access_to_archive = 7&lt;/P&gt;&lt;P&gt;        others                  = 8.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single ztel from ztarinv into it_phone-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_phone index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bank name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z002'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_name&lt;/P&gt;&lt;P&gt;    exceptions&lt;/P&gt;&lt;P&gt;     id                            = 1&lt;/P&gt;&lt;P&gt;     language                      = 2&lt;/P&gt;&lt;P&gt;     name                          = 3&lt;/P&gt;&lt;P&gt;     not_found                     = 4&lt;/P&gt;&lt;P&gt;     object                        = 5&lt;/P&gt;&lt;P&gt;     reference_check               = 6&lt;/P&gt;&lt;P&gt;     wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;     others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single zbankname from ztarinv into it_name-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_name index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Account no&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z003'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_account&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single zbankacc from ztarinv into it_account-tdline where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_account index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Additional note.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z004'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_addi&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table it_addi index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_addi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      text1 = it_addi-tdline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      concatenate text text1 into text .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;cheque payable to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z005'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_cheque&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_cheque index 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;beneficiary&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        id                            = 'Z007'&lt;/P&gt;&lt;P&gt;        language                      = sy-langu&lt;/P&gt;&lt;P&gt;        name                          = name&lt;/P&gt;&lt;P&gt;        object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;      tables&lt;/P&gt;&lt;P&gt;        lines                         = it_ben&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;         id                            = 1&lt;/P&gt;&lt;P&gt;         language                      = 2&lt;/P&gt;&lt;P&gt;         name                          = 3&lt;/P&gt;&lt;P&gt;         not_found                     = 4&lt;/P&gt;&lt;P&gt;         object                        = 5&lt;/P&gt;&lt;P&gt;         reference_check               = 6&lt;/P&gt;&lt;P&gt;         wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;         others                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_ben index 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;header text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call function 'READ_TEXT'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          id                            = 'Z008'&lt;/P&gt;&lt;P&gt;          language                      = sy-langu&lt;/P&gt;&lt;P&gt;          name                          = name&lt;/P&gt;&lt;P&gt;          object                        = 'BELEG'&lt;/P&gt;&lt;P&gt;        tables&lt;/P&gt;&lt;P&gt;          lines                         = it_item&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         exceptions&lt;/P&gt;&lt;P&gt;           id                            = 1&lt;/P&gt;&lt;P&gt;           language                      = 2&lt;/P&gt;&lt;P&gt;           name                          = 3&lt;/P&gt;&lt;P&gt;           not_found                     = 4&lt;/P&gt;&lt;P&gt;           object                        = 5&lt;/P&gt;&lt;P&gt;           reference_check               = 6&lt;/P&gt;&lt;P&gt;           wrong_access_to_archive       = 7&lt;/P&gt;&lt;P&gt;           others                        = 8&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    read table it_item index 1.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      concatenate p_bukrs t_inv_hdr-belnr t_inv_hdr-gjahr into vari1.&lt;/P&gt;&lt;P&gt;      v_flag = 'T'.&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;due date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single * from bkpf into ls_bkpf      "because of 'BLDAT'&lt;/P&gt;&lt;P&gt;                    where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                      and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                      and gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single * from bseg into ls_bseg&lt;/P&gt;&lt;P&gt;                   where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                     and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                     and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                     and zfbdt ne '00000000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding ls_bkpf to ls_faede.&lt;/P&gt;&lt;P&gt;    move-corresponding ls_bseg to ls_faede.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'DETERMINE_DUE_DATE'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        i_faede = ls_faede&lt;/P&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;P&gt;        e_faede = ls_faede&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;    concatenate ls_faede-netdt&lt;EM&gt;6(2) '.' ls_faede-netdt&lt;/EM&gt;4(2) '.' ls_faede-netdt+0(4) into it_duedate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calculating tax amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where belnr eq t_inv_hdr-belnr and koart &amp;lt;&amp;gt; it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear it_gst.&lt;/P&gt;&lt;P&gt;      clear it_kbetr.&lt;/P&gt;&lt;P&gt;      clear it_mwskz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single mwskz from bseg into it_mwskz where  bukrs = t_inv_item-bukrs and&lt;/P&gt;&lt;P&gt;                                                belnr = t_inv_item-belnr and&lt;/P&gt;&lt;P&gt;                                                gjahr = t_inv_item-gjahr and&lt;/P&gt;&lt;P&gt;                                                buzei = t_inv_item-buzei .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single kbetr from bset into it_kbetr where bukrs = t_inv_item-bukrs and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_item-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_item-gjahr and&lt;/P&gt;&lt;P&gt;                                                        mwskz = t_inv_item-mwskz .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_gst = it_kbetr  / 1000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_gst = it_gst * t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = it_gst.&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot = t_inv_item-wrbtr +  t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      modify t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;caluculating actual amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                          belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                          gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                          koart eq it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write t_inv_item-wrbtr to it_wrbtr1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      act_total = act_total + t_inv_item-wrbtr .&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;    act_total = 0 - act_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if click gl account check box&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    data : v_txt like bseg-sgtxt.&lt;/P&gt;&lt;P&gt;    clear : v_txt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    sort t_inv_item by belnr.&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;   sort t_inv_item by belnr hkont.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_hkont ne '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sort t_inv_item by belnr hkont.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        delete t_inv_item where koart = it_acctype and belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        at new hkont.&lt;/P&gt;&lt;P&gt;          read table t_inv_item index sy-tabix.&lt;/P&gt;&lt;P&gt;          move-corresponding t_inv_item to it_item1.&lt;/P&gt;&lt;P&gt;          append it_item1.&lt;/P&gt;&lt;P&gt;        endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_item-koart ne it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          sup_tot = sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;          gst_tot = gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;          pay_tot = sup_tot + gst_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          at end of hkont.&lt;/P&gt;&lt;P&gt;            k = k + 1.&lt;/P&gt;&lt;P&gt;            it_item1-wrbtr = sup_tot .&lt;/P&gt;&lt;P&gt;            it_item1-tax_rate = gst_tot .&lt;/P&gt;&lt;P&gt;            it_item1-pay_tot = pay_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            modify it_item1 index k.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            clear sup_tot.&lt;/P&gt;&lt;P&gt;            clear gst_tot.&lt;/P&gt;&lt;P&gt;            clear pay_tot.&lt;/P&gt;&lt;P&gt;            clear it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endat.&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;      delete t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at it_item1 where belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;      move-corresponding it_item1 to t_inv_item.&lt;/P&gt;&lt;P&gt;      append t_inv_item.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if it_item-tdline ne ''  and p_hkont ne 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      clear sup_tot.&lt;/P&gt;&lt;P&gt;      clear gst_tot.&lt;/P&gt;&lt;P&gt;      clear pay_tot.&lt;/P&gt;&lt;P&gt;      clear it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_inv_item where belnr = t_inv_hdr-belnr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_item-koart ne it_acctype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          sup_tot = sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;          gst_tot = gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;          pay_tot = sup_tot + gst_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          delete t_inv_item .&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      if v_flag = 'T'.&lt;/P&gt;&lt;P&gt;        clear it_item-tdline.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      t_inv_item-sgtxt = it_item-tdline.&lt;/P&gt;&lt;P&gt;      t_inv_item-wrbtr = sup_tot .&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = gst_tot .&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot = pay_tot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select belnr gjahr mwskz hwste fwste fwbas hwbas from bset into table it_tax where&lt;/P&gt;&lt;P&gt;                                             bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                             belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                             gjahr = t_inv_hdr-gjahr .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'START_FORM'&lt;/P&gt;&lt;P&gt;     exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ARCHIVE_INDEX          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       form                   = c_formname&lt;/P&gt;&lt;P&gt;       language               = sy-langu&lt;/P&gt;&lt;P&gt;       startpage              = 'FIRST'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    PROGRAM                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MAIL_APPL_OBJECT       =&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;    LANGUAGE               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     exceptions&lt;/P&gt;&lt;P&gt;       form                   = 1&lt;/P&gt;&lt;P&gt;       format                 = 2&lt;/P&gt;&lt;P&gt;       unended                = 3&lt;/P&gt;&lt;P&gt;       unopened               = 4&lt;/P&gt;&lt;P&gt;       unused                 = 5&lt;/P&gt;&lt;P&gt;       spool_error            = 6&lt;/P&gt;&lt;P&gt;       codepage               = 7&lt;/P&gt;&lt;P&gt;       others                 = 8&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;    if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if p_inter eq '' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single bschl from bsid into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;      if it_bschl = '11'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq '' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single bschl from bsad into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        kunnr = t_inv_hdr-kunnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;      if it_bschl = '11'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq 'X' .&lt;/P&gt;&lt;P&gt;      select single bschl from bsik into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if it_bschl = '31'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    elseif p_inter eq 'X' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;      select single bschl from bsak into it_bschl where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                        lifnr = t_inv_hdr-lifnr and&lt;/P&gt;&lt;P&gt;                                                        belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                        gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if it_bschl = '31'.&lt;/P&gt;&lt;P&gt;        it_header = 'Credit Note'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        it_header = 'Tax Invoice'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'INVOICE_HEADING'&lt;/P&gt;&lt;P&gt;        function                 = 'SET'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'HEADER'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                         belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                         gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                         koart &amp;lt;&amp;gt; it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_item-qsskz+0(1) eq 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        delete t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      final_sup_tot = final_sup_tot + t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;      final_gst_tot = final_gst_tot + t_inv_item-tax_rate.&lt;/P&gt;&lt;P&gt;      final_pay_tot = final_sup_tot + final_gst_tot.&lt;/P&gt;&lt;P&gt;      slip_tot = slip_tot + t_inv_item-wrbtr + t_inv_item-tax_rate.&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;    describe table t_inv_item lines n1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if act_total ne final_pay_tot .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      diff1 = act_total - final_pay_tot.&lt;/P&gt;&lt;P&gt;      slip_tot = slip_tot + diff1.&lt;/P&gt;&lt;P&gt;      final_gst_tot = final_gst_tot + diff1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      do n1 times .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        read table t_inv_item index n1.&lt;/P&gt;&lt;P&gt;        if t_inv_item-tax_rate &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        n1 = n1 - 1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_inv_item-tax_rate = t_inv_item-tax_rate +  diff1.&lt;/P&gt;&lt;P&gt;      t_inv_item-pay_tot =  t_inv_item-pay_tot + diff1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      modify t_inv_item index n1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select local currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single waers land1 from t001 into (it_waers, it_land) where bukrs = p_bukrs.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select document currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single waers from bkpf into it_waers1 where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                                                       belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                                                       gjahr = t_inv_hdr-gjahr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select local country name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select single landx from t005t into it_landx where spras = sy-langu and land1 = it_land.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    write slip_tot to slip_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;    write pay_tot3 to pay_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'SLIP'&lt;/P&gt;&lt;P&gt;        function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'PAYMEN_D'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    delete t_inv_item where koart = it_acctype and belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    loop at t_inv_item where bukrs = t_inv_hdr-bukrs and&lt;/P&gt;&lt;P&gt;                           belnr = t_inv_hdr-belnr and&lt;/P&gt;&lt;P&gt;                           gjahr = t_inv_hdr-gjahr and&lt;/P&gt;&lt;P&gt;                            koart &amp;lt;&amp;gt; it_acctype and buzid &amp;lt;&amp;gt; 'T' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write t_inv_item-wrbtr to it_wrbtr1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;      write t_inv_item-pay_tot to it_pay_tot1 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;      write t_inv_item-tax_rate to tax_rate9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      item = item + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if v_flag = 'T'.&lt;/P&gt;&lt;P&gt;        clear item.&lt;/P&gt;&lt;P&gt;        call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;            element                  = 'HEAD_TEXT'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&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;      call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          element                  = 'LINE_ITEM'&lt;/P&gt;&lt;P&gt;          function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;        exporting&lt;/P&gt;&lt;P&gt;          element                  = 'COMP_ADD'&lt;/P&gt;&lt;P&gt;          function                 = 'SET'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'COM_ADDR'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&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                  = 'COMP_DET'&lt;/P&gt;&lt;P&gt;          function                 = 'SET'&lt;/P&gt;&lt;P&gt;          type                     = 'BODY'&lt;/P&gt;&lt;P&gt;          window                   = 'COMP_DET'&lt;/P&gt;&lt;P&gt;        exceptions&lt;/P&gt;&lt;P&gt;          element                  = 1&lt;/P&gt;&lt;P&gt;          function                 = 2&lt;/P&gt;&lt;P&gt;          type                     = 3&lt;/P&gt;&lt;P&gt;          unopened                 = 4&lt;/P&gt;&lt;P&gt;          unstarted                = 5&lt;/P&gt;&lt;P&gt;          window                   = 6&lt;/P&gt;&lt;P&gt;          bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;          spool_error              = 8&lt;/P&gt;&lt;P&gt;          codepage                 = 9&lt;/P&gt;&lt;P&gt;          others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      at end of belnr .                                     "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        item = '00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        write final_sup_tot to final_sup_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;        write final_gst_tot to final_gst_tot9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;        write act_total to act_total9 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;          exporting&lt;/P&gt;&lt;P&gt;            element                  = 'TOTAL'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        data : v_tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;               v_count type i.&lt;/P&gt;&lt;P&gt;        clear : v_tabix, v_count.&lt;/P&gt;&lt;P&gt;        describe table it_tax lines v_count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        loop at it_tax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          v_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;          pay_tot1 = it_tax-fwbas + it_tax-fwste.&lt;/P&gt;&lt;P&gt;          gst_tot2 = gst_tot2 +  it_tax-fwbas.&lt;/P&gt;&lt;P&gt;          sup_tot2 = sup_tot2 + it_tax-fwste.&lt;/P&gt;&lt;P&gt;          pay_tot2 = pay_tot2 + pay_tot1.&lt;/P&gt;&lt;P&gt;          gst_tot3 = gst_tot3 + it_tax-hwbas.&lt;/P&gt;&lt;P&gt;          sup_tot3 = sup_tot3 + it_tax-hwste.&lt;/P&gt;&lt;P&gt;          pay_tot11 = it_tax-hwbas + it_tax-hwste.&lt;/P&gt;&lt;P&gt;          pay_tot3 = pay_tot3 + pay_tot11.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single kbetr from bset into it_kbetr1 where bukrs = p_bukrs and&lt;/P&gt;&lt;P&gt;                                                             belnr = it_tax-belnr and&lt;/P&gt;&lt;P&gt;                                                             gjahr = it_tax-gjahr and&lt;/P&gt;&lt;P&gt;                                                             mwskz = it_tax-mwskz.&lt;/P&gt;&lt;P&gt;          it_tax1 = it_kbetr1 / 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;tax description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single land1 from t001 into it_land1 where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;          select single kalsm from t005 into it_kalsm where land1 = it_land1.&lt;/P&gt;&lt;P&gt;          select single text1 from t007s into it_text1 where spras = sy-langu and&lt;/P&gt;&lt;P&gt;                                                             kalsm = it_kalsm and&lt;/P&gt;&lt;P&gt;                                                             mwskz = it_tax-mwskz .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          data : it_sgtxt like bseg-sgtxt,&lt;/P&gt;&lt;P&gt;                 v_string type string,&lt;/P&gt;&lt;P&gt;                 v_var1 type string,&lt;/P&gt;&lt;P&gt;                 v_var2 type string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          clear : it_sgtxt, v_string, v_var1, v_var2.&lt;/P&gt;&lt;P&gt;          clear : v_amt, v_taxamt, v_total, v_fwbas.&lt;/P&gt;&lt;P&gt;          if g_company-land1 = 'SG' and g_company-waers &amp;lt;&amp;gt; 'SGD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            select single sgtxt  from bseg into it_sgtxt&lt;/P&gt;&lt;P&gt;                                 where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                 and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                                 and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                                 and mwskz = it_tax-mwskz&lt;/P&gt;&lt;P&gt;                                 and buzid = 'T'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              v_string = it_sgtxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              split v_string at '/' into  v_var1 v_var2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              if v_var1 co '1234567890.'.&lt;/P&gt;&lt;P&gt;                v_amt = v_var1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              if v_var2 co '1234567890.'.&lt;/P&gt;&lt;P&gt;                v_taxamt = v_var2.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              gt_amt = gt_amt + v_amt.&lt;/P&gt;&lt;P&gt;              gt_taxamt = gt_taxamt + v_var2.&lt;/P&gt;&lt;P&gt;            else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              call function 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;                exporting&lt;/P&gt;&lt;P&gt;                  date             = ls_bkpf-budat&lt;/P&gt;&lt;P&gt;                  foreign_amount   = it_tax-fwbas&lt;/P&gt;&lt;P&gt;                  foreign_currency = ls_bkpf-waers&lt;/P&gt;&lt;P&gt;                  local_currency   = 'SGD'&lt;/P&gt;&lt;P&gt;                  type_of_rate     = 'M'&lt;/P&gt;&lt;P&gt;                importing&lt;/P&gt;&lt;P&gt;                  local_amount     = v_fwbas&lt;/P&gt;&lt;P&gt;                exceptions&lt;/P&gt;&lt;P&gt;                  no_rate_found    = 1&lt;/P&gt;&lt;P&gt;                  overflow         = 2&lt;/P&gt;&lt;P&gt;                  no_factors_found = 3&lt;/P&gt;&lt;P&gt;                  no_spread_found  = 4&lt;/P&gt;&lt;P&gt;                  derived_2_times  = 5&lt;/P&gt;&lt;P&gt;                  others           = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              v_amt1 = v_fwbas.&lt;/P&gt;&lt;P&gt;              gt_amt1 = gt_amt1 + v_amt1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            gt_netamt = gt_amt + gt_amt1.&lt;/P&gt;&lt;P&gt;            gt_tax    = gt_taxamt.&lt;/P&gt;&lt;P&gt;            gt_total  = gt_netamt + gt_tax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write it_tax-fwbas to it_fwbas currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write it_tax-fwste to it_fwste currency t_inv_hdr-waers.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        write i_fwste to it_fwste currency t_inv_hdr-waers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write pay_tot1 to pay_tot19 currency t_inv_hdr-waers.&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                  = 'TAX'&lt;/P&gt;&lt;P&gt;              function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;              type                     = 'BODY'&lt;/P&gt;&lt;P&gt;              window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;            exceptions&lt;/P&gt;&lt;P&gt;              element                  = 1&lt;/P&gt;&lt;P&gt;              function                 = 2&lt;/P&gt;&lt;P&gt;              type                     = 3&lt;/P&gt;&lt;P&gt;              unopened                 = 4&lt;/P&gt;&lt;P&gt;              unstarted                = 5&lt;/P&gt;&lt;P&gt;              window                   = 6&lt;/P&gt;&lt;P&gt;              bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;              spool_error              = 8&lt;/P&gt;&lt;P&gt;              codepage                 = 9&lt;/P&gt;&lt;P&gt;              others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          delete it_tax index v_tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endloop.&lt;/P&gt;&lt;P&gt;        if v_count ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write gst_tot2 to gst_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write sup_tot2 to sup_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write pay_tot2 to pay_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write final_sup_tot9 to gst_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write final_gst_tot9 to sup_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          write  act_total9    to pay_tot29 currency t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if g_company-land1 = 'SG' and g_company-waers &amp;lt;&amp;gt; 'SGD'.&lt;/P&gt;&lt;P&gt;          if v_count ne 0.&lt;/P&gt;&lt;P&gt;            write gt_netamt to gst_tot39 .&lt;/P&gt;&lt;P&gt;            write gt_taxamt to sup_tot39 .&lt;/P&gt;&lt;P&gt;            write gt_total  to pay_tot39 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_waers  = 'SGD'.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            clear : v_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            call function 'CONVERT_TO_LOCAL_CURRENCY'&lt;/P&gt;&lt;P&gt;              exporting&lt;/P&gt;&lt;P&gt;                date             = ls_bkpf-budat&lt;/P&gt;&lt;P&gt;                foreign_amount   = act_total&lt;/P&gt;&lt;P&gt;                foreign_currency = ls_bkpf-waers&lt;/P&gt;&lt;P&gt;                local_currency   = 'SGD'&lt;/P&gt;&lt;P&gt;                type_of_rate     = 'M'&lt;/P&gt;&lt;P&gt;              importing&lt;/P&gt;&lt;P&gt;                local_amount     = v_amount&lt;/P&gt;&lt;P&gt;              exceptions&lt;/P&gt;&lt;P&gt;                no_rate_found    = 1&lt;/P&gt;&lt;P&gt;                overflow         = 2&lt;/P&gt;&lt;P&gt;                no_factors_found = 3&lt;/P&gt;&lt;P&gt;                no_spread_found  = 4&lt;/P&gt;&lt;P&gt;                derived_2_times  = 5&lt;/P&gt;&lt;P&gt;                others           = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            pay_tot39 = v_amount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            it_waers  = 'SGD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = g_company-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_gt_total = gt_total * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_gt_total =  gt_total / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_gt_total = gt_total.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_total = pay_tot2 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_total = pay_tot2 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_total = pay_tot2.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          if v_pay_total ne 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            tax_rate =  v_gt_total / v_pay_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            write tax_rate to tax_rate99. "currency g_company-waers.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = g_company-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_tot3 = pay_tot3 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_tot3 =  pay_tot3 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_tot3 = pay_tot3.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          select single * from tcurx where currkey = t_inv_hdr-waers.&lt;/P&gt;&lt;P&gt;          if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            if tcurx-currdec = 0.&lt;/P&gt;&lt;P&gt;              v_pay_tot2 = pay_tot2 * 100.&lt;/P&gt;&lt;P&gt;            elseif tcurx-currdec = 3.&lt;/P&gt;&lt;P&gt;              v_pay_tot2 = pay_tot2 / 10.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          else.&lt;/P&gt;&lt;P&gt;            v_pay_tot2 = pay_tot2.&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;          tax_rate = v_pay_tot3 / v_pay_tot2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          write gst_tot3 to gst_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;          write sup_tot3 to sup_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;          write tax_rate to tax_rate99. "currency g_company-waers.&lt;/P&gt;&lt;P&gt;          if v_count ne 0 .&lt;/P&gt;&lt;P&gt;            write pay_tot3 to pay_tot39 currency g_company-waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          endif.&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                  = 'TAX_TOTAL'&lt;/P&gt;&lt;P&gt;            function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;            type                     = 'BODY'&lt;/P&gt;&lt;P&gt;            window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;          exceptions&lt;/P&gt;&lt;P&gt;            element                  = 1&lt;/P&gt;&lt;P&gt;            function                 = 2&lt;/P&gt;&lt;P&gt;            type                     = 3&lt;/P&gt;&lt;P&gt;            unopened                 = 4&lt;/P&gt;&lt;P&gt;            unstarted                = 5&lt;/P&gt;&lt;P&gt;            window                   = 6&lt;/P&gt;&lt;P&gt;            bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;            spool_error              = 8&lt;/P&gt;&lt;P&gt;            codepage                 = 9&lt;/P&gt;&lt;P&gt;            others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear final_sup_tot.&lt;/P&gt;&lt;P&gt;        clear final_pay_tot.&lt;/P&gt;&lt;P&gt;        clear final_gst_tot.&lt;/P&gt;&lt;P&gt;        clear gst_tot2.&lt;/P&gt;&lt;P&gt;        clear pay_tot2.&lt;/P&gt;&lt;P&gt;        clear sup_tot2.&lt;/P&gt;&lt;P&gt;        clear gst_tot3.&lt;/P&gt;&lt;P&gt;        clear sup_tot3.&lt;/P&gt;&lt;P&gt;        clear act_total.&lt;/P&gt;&lt;P&gt;        clear it_item1.&lt;/P&gt;&lt;P&gt;        clear gt_netamt.&lt;/P&gt;&lt;P&gt;        clear gt_tax.&lt;/P&gt;&lt;P&gt;        clear gt_total.&lt;/P&gt;&lt;P&gt;        clear gt_amt.&lt;/P&gt;&lt;P&gt;        clear gt_amt1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear gt_taxamt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear : gst_tot39.&lt;/P&gt;&lt;P&gt;        clear : sup_tot39.&lt;/P&gt;&lt;P&gt;        clear : pay_tot39.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        refresh it_item1.&lt;/P&gt;&lt;P&gt;        delete t_inv_item where belnr = t_inv_hdr-belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Revised&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select single grpid from bkpf into v_grpid where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                   and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;                                   and gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;                                   and grpid ne ' '.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_grpid1  = v_grpid+0(3).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select single text20 from ztar001 into v_text20 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if v_grpid1 = 'GVS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        clear : v_name7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        concatenate v_name7 '-' v_text20 into v_name7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name2 eq ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         c_nam1 = v_name1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear : v_name1.&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;         v_name1 = c_name1.&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;         concatenate c_nam1 '-' v_text20 into v_name1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name1 '-' v_text20 into c_nam1.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam1 = v_name1.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name3 eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          c_nam2 = v_name2.&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;         clear : v_name2.&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;         v_name2 = c_name2.&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;         concatenate c_nam2 '-' v_text20 into v_name2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name2 '-' v_text20 into c_nam2.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam2 = v_name2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if v_name4 eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          c_nam3 = v_name3.&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;         clear : v_name3.&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;         v_name2 = c_name3.&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;         concatenate c_nam3 '-' v_text20 into v_name3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          concatenate v_name3 '-' v_text20 into c_nam3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          c_nam3 = v_name3.&lt;/P&gt;&lt;P&gt;&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;       endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;&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;      c_nam1 = v_name1 .&lt;/P&gt;&lt;P&gt;      c_nam2 = v_name2 .&lt;/P&gt;&lt;P&gt;      c_nam3 = v_name3 .&lt;/P&gt;&lt;P&gt;      c_nam4 = v_name4 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single grpid from bkpf into v_grpid where bukrs = p_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                and belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                and gjahr = t_inv_hdr-gjahr.&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;   if sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     v_grpid1  = v_grpid+0(3).&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;     if v_grpid1 = 'GVS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       concatenate v_name7 '-' 'GVS' into v_name7.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     else.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       v_text = v_name5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;    call function 'WRITE_FORM'&lt;/P&gt;&lt;P&gt;      exporting&lt;/P&gt;&lt;P&gt;        element                  = 'SIGNATORY'&lt;/P&gt;&lt;P&gt;        function                 = 'APPEND'&lt;/P&gt;&lt;P&gt;        type                     = 'BODY'&lt;/P&gt;&lt;P&gt;        window                   = 'MAIN'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        element                  = 1&lt;/P&gt;&lt;P&gt;        function                 = 2&lt;/P&gt;&lt;P&gt;        type                     = 3&lt;/P&gt;&lt;P&gt;        unopened                 = 4&lt;/P&gt;&lt;P&gt;        unstarted                = 5&lt;/P&gt;&lt;P&gt;        window                   = 6&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 7&lt;/P&gt;&lt;P&gt;        spool_error              = 8&lt;/P&gt;&lt;P&gt;        codepage                 = 9&lt;/P&gt;&lt;P&gt;        others                   = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    call function 'END_FORM'&lt;/P&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;P&gt;        unopened                 = 1&lt;/P&gt;&lt;P&gt;        bad_pageformat_for_print = 2&lt;/P&gt;&lt;P&gt;        spool_error              = 3&lt;/P&gt;&lt;P&gt;        codepage                 = 4&lt;/P&gt;&lt;P&gt;        others                   = 5.&lt;/P&gt;&lt;P&gt;    clear t_inv_hdr.&lt;/P&gt;&lt;P&gt;  endloop.&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;      unopened                 = 1&lt;/P&gt;&lt;P&gt;      bad_pageformat_for_print = 2&lt;/P&gt;&lt;P&gt;      send_error               = 3&lt;/P&gt;&lt;P&gt;      spool_error              = 4&lt;/P&gt;&lt;P&gt;      codepage                 = 5&lt;/P&gt;&lt;P&gt;      others                   = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " form_print_out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_customer_invoices&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form read_customer_invoices .&lt;/P&gt;&lt;P&gt;  clear : v_remark.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single * into g_company&lt;/P&gt;&lt;P&gt;  from   t001&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_addr_sel-addrnumber = g_company-adrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single  name1 name2 name3 name4 street str_suppl3 city1 post_code1 tel_number fax_number&lt;/P&gt;&lt;P&gt;          from adrc into (v_name1,v_name2,v_name3,v_name4,v_street,v_street4,v_city,v_post,v_tele,v_fax)&lt;/P&gt;&lt;P&gt;          where addrnumber = l_addr_sel-addrnumber.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   c_nam1 = v_name1.&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;   c_nam2 = v_name2.&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;   c_nam3 = v_name3.&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;   c_nam4 = v_name4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Remark&lt;/P&gt;&lt;P&gt;  select single  remark&lt;/P&gt;&lt;P&gt;            from adrct into v_remark&lt;/P&gt;&lt;P&gt;            where addrnumber = l_addr_sel-addrnumber&lt;/P&gt;&lt;P&gt;            and langu = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single uri_srch from adr12 into v_uri where addrnumber = l_addr_sel-addrnumber.&lt;/P&gt;&lt;P&gt;  select single paval from t001z into v_regno where bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;                                                and party = 'SAPI14'.&lt;/P&gt;&lt;P&gt;  translate v_uri to lower case.                            "#EC *&lt;/P&gt;&lt;P&gt;  concatenate v_name1(35)   v_name2(35) into v_name5 separated by space.&lt;/P&gt;&lt;P&gt;  concatenate v_name3(35)   v_name4(35) into v_name6 separated by space.&lt;/P&gt;&lt;P&gt;  concatenate v_street(35)  v_street4(35) into v_street5 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear : v_name7.&lt;/P&gt;&lt;P&gt;  concatenate v_name5(70)  v_name6(70) into v_name7 separated by space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company GST No&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single paval into l_gst_no&lt;/P&gt;&lt;P&gt;  from   t001z&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;  and    party = 'SAPI11'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read company Registration no&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select single paval into l_reg_no&lt;/P&gt;&lt;P&gt;  from   t001z&lt;/P&gt;&lt;P&gt;  where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;  and    party = 'SAPI14'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read country's tax procedure&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; select single kalsm into l_tax_proc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; from   t005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; where  land1 = g_company-land1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Due date&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;if it is customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_inter eq '' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;    from   bsid&lt;/P&gt;&lt;P&gt;    where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;    and    kunnr in s_kunnr&lt;/P&gt;&lt;P&gt;    and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;    and    blart in s_blart&lt;/P&gt;&lt;P&gt;    and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;    and    monat in s_monat&lt;/P&gt;&lt;P&gt;    and    budat in s_budat&lt;/P&gt;&lt;P&gt;    and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;    and    cpudt in s_cpudt.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;  elseif p_inter eq '' and p_rep eq 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cleared items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;     from   bsad&lt;/P&gt;&lt;P&gt;     where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;     and    kunnr in s_kunnr&lt;/P&gt;&lt;P&gt;     and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;     and    blart in s_blart&lt;/P&gt;&lt;P&gt;     and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;     and    monat in s_monat&lt;/P&gt;&lt;P&gt;     and    budat in s_budat&lt;/P&gt;&lt;P&gt;     and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;     and    cpudt in s_cpudt.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  elseif p_inter eq 'X' and p_rep eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;      from   bsik&lt;/P&gt;&lt;P&gt;      where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;      and    lifnr in s_lifnr&lt;/P&gt;&lt;P&gt;      and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;      and    blart in s_blart&lt;/P&gt;&lt;P&gt;      and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;      and    monat in s_monat&lt;/P&gt;&lt;P&gt;      and    budat in s_budat&lt;/P&gt;&lt;P&gt;      and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;      and    cpudt in s_cpudt&lt;/P&gt;&lt;P&gt;      and ( blart = 'IA' or blart = 'IB'  or  blart = 'IC'  or blart = 'ID' ).&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cleared items&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  elseif p_inter eq 'X' and p_rep eq 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    select * into corresponding fields of t_inv_hdr&lt;/P&gt;&lt;P&gt;       from   bsak&lt;/P&gt;&lt;P&gt;       where  bukrs = p_bukrs&lt;/P&gt;&lt;P&gt;       and    lifnr in s_lifnr&lt;/P&gt;&lt;P&gt;       and    belnr in s_belnr&lt;/P&gt;&lt;P&gt;       and    blart in s_blart&lt;/P&gt;&lt;P&gt;       and    gjahr = p_gjahr&lt;/P&gt;&lt;P&gt;       and    monat in s_monat&lt;/P&gt;&lt;P&gt;       and    budat in s_budat&lt;/P&gt;&lt;P&gt;       and    bldat in s_bldat&lt;/P&gt;&lt;P&gt;       and    cpudt in s_cpudt&lt;/P&gt;&lt;P&gt;       and ( blart = 'IA' or blart = 'IB' or  blart = 'IC'  or  blart = 'ID' ).&lt;/P&gt;&lt;P&gt;      t_inv_hdr-gst_no = l_gst_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-reg_no = l_reg_no.&lt;/P&gt;&lt;P&gt;      t_inv_hdr-hwaer  = g_company-waers.&lt;/P&gt;&lt;P&gt;      append t_inv_hdr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_inv_hdr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is cusomer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if p_inter eq ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_hdr-bschl = '11'.  "Credit note&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'CREDIT NOTE'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select * into corresponding fields of  t_inv_item&lt;/P&gt;&lt;P&gt;        from   bseg&lt;/P&gt;&lt;P&gt;        where  bukrs = t_inv_hdr-bukrs&lt;/P&gt;&lt;P&gt;        and    belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;        and    gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;        and     buzid eq  '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endselect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if it is vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if t_inv_hdr-bschl = '31'.  "Credit note&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'CREDIT NOTE'.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      select * into corresponding fields of  t_inv_item&lt;/P&gt;&lt;P&gt;        from   bseg&lt;/P&gt;&lt;P&gt;        where  bukrs = t_inv_hdr-bukrs&lt;/P&gt;&lt;P&gt;        and    belnr = t_inv_hdr-belnr&lt;/P&gt;&lt;P&gt;        and    gjahr = t_inv_hdr-gjahr&lt;/P&gt;&lt;P&gt;        and     buzid eq  '' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        if t_inv_hdr-inv_type = 'TAX INVOICE'.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt;          if t_inv_item-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;            t_inv_item-wrbtr = 0 - t_inv_item-wrbtr.&lt;/P&gt;&lt;P&gt;            t_inv_item-dmbtr = 0 - t_inv_item-dmbtr.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        append t_inv_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endselect.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    "read_customer_invoices&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 03:42:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519604#M238771</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T03:42:00Z</dc:date>
    </item>
    <item>
      <title>Re: print program error</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519605#M238772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you r printing under if loop than check the loop how many time it is going to that printing point,if you find out that it is printing two time than clear that variable after the if statement so that second time it owuld not contain any value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;mrutyun&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 04:00:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/print-program-error/m-p/1519605#M238772</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T04:00:35Z</dc:date>
    </item>
  </channel>
</rss>

