Validation between line items in a Document

Dear Experts
I have created a Validation to restrict the Users not to select two different Company Codes in the line item level for a particular Document Type.  The Validation is as shown below:
Prerequisite : BKPF-BLART = 'SA'
Check : "BSEG-BUKRS1 <> BSEG-BUKRS2"
Message : Cross Company Transactions not allowed with Doc. Type 'SA'
I activated the above in OB28 with Call Point Option '2 - Line Item'.  When I am testing, the system is allowing me to post the transaction with two different Company Codes in the line item level and it is generating the Cross Company Document also.  Please let me know where I am missing the logic.
Thanks
Madhu

In case you have made changes in OBA7, it should be working fine.
If you even then want to define validation, you should define at complete document level using exit and in exit you should define the exit parameter using BOOL_DATA table which will contain the details of BKPF and BSEG for that document and there you can compare the company code of one line with the company code of another line.
Regards,
Gaurav

Similar Messages

  • Page break between line items and address in invoice

    Hi Team,
    I am getting a Page beak problem between line items in an invoice.
    If i have 10line items which needs to be displayed in the output all are displayed in 3 pages. but my problem is when displaying the line item details in any page it should be fully displayed on the same page else it should go to the next page for display.
    Each line details needs to be printed on same page only (currenty Items and adresses are split up in different pages. ).
    Please let us know how can i solve this.
    Thank you for your help.
    Best Regards,
    Kumar.

    Hi Karthik,
    Thank you for your answer.
    I have already done creating a folder and grouped the text elements as you have suggested in Mainwindow. I guess my explanation on my issue is not clear.
    Actaully after printing the number of line items in an order we are printing the Certificate recevier details as a last row which is now having the problem, and it is getting truncated into two parts when enough space is not there to print on the same page.
    If i make the text element related to the  Certificate receiver properties to Page protection will it work ? i will try this option now..
    Mean while any suggestion on this regard is welcome.
    Thanks alot for your help.
    Best Regards,
    Kumar.

  • Table to see the link between line items on bank statement to customer invo

    table to see the link between line items on bank statement to customer invoices

    Hi,
    There is no link from VBRP to BSEG directly.
    This is because the data in BSEG is posted to various accounts and the VBRP is usually for a Sales Order or Delivery.
    However there is a link from BKPF to VBRK and VBRK is linked to VBRP.
    BKPF-AWKEY has the the Invoice number VBRK-VBELN
    Hope this helps.
    regards,
    Advait

  • Is it possible to have more than one Tax code per line item in Billing docu

    Is it possible to have more than one Tax code per line item in Billing document ?

    Hi,
    I have a different perspective there.
    If an item is applicable for two different taxes which are represented by two different tax condition types and these tax conditions are configured in the tax procedure, FTXP and so on....then these two condition records can have two different tax codes.
    We actually have this scenario in EU now, where EU talks about service tax in 2010 apart from the normal VAT. So now we have MWST and ZWST(Say)
    Now there are some materials which come with a service associated with it. So a service charge is also levied when the material is sold. So the material price will become applicable for VAT and the service charge becomes applicable for service tax. In this case, the tax classification of the customer will have two entries in sales orders updated in the fields VBAK-TAXK1 and VBAK-TAXK2 based on the sequence number of these condition types.
    Now based on different tax classification of the customer, we have 2 different tax codes representing different %of tax.
    Hope it helps

  • How to read product characteristics of a line item in Billing document?

    Hi Friends,
        I need to read the product characteristics of a line item in Billing document. Can you please help me with which tables or function modules I should use?
    Thanks in advance.
    Regards
    Jaker.

    Hi,
    Use the following BAPI's:
    BAPI_OBJCL_GETDETAIL
    or use the fun module:
    CLAF_CLASSIFICATION_OF_OBJECTS.
    Regards
    ANJI

  • Multiple line item in billing but only one line item in accounting document

    Hi Everyone,
    I am having one scenario in which sales order has more than one line item. Only one billing document is create for all line items in Sales Order but billing document contains as many items as sales order has. In accounting document of billing i find only one customer line which has total amount of all line items in billing as debited. My requirement is Accounting document also should have as many line of customer-debit as in billing items i.e sales order. For example :
    (1) Sales order has 2 line items.
    (2) Billing document is only ONE and has 2 line items
    (3) currently accounting document has only ONE line of Customet - Debit ( Total amount of both items)
    My requirement is
    Accounting document should have 2 line item of customer - Debit
    Customer - Debit (amount of first line item)
    Customer - Debit (amount of Second line item)
    Sales - Credit
    How can it be done ?
    Regards,
    Manish

    Hi,
    This is the SAP expected behaviour
    As far as the values correspond to same account key and same GL account as per account determination, then ti will be posted as a single line item in FI document.
    If you want the customer specific items to be posted in two GL accounts , then you have to do the account determination that way.
    For example, you should have a condition table in FICO as follows.
    Sales org/ Account key / Customer
    For this condition table, the entries shoudl be as follows.
    5110/ERS/Customer A  GL ACCOUNT IS 5000100
    5110/ERS/Customer B GL ACCOUNT IS  5000200
    In this case, there will be 2 entries for the invoice instead of just one line entry.

  • Manual account clear but can see line item after post document

    Hi Guru!
         I have post account clear with transaction code F-03  with open item zero balance such as
    account 214001 balance +500
    account 214001 balance -500
    when I simulate entry the system not show line item for post document but can post it . I want to know why ?
    thank you very much .

    Dear,
    This is standard behaviour...if line item which you are clearing have zero balance then system will not show any line items since open itemss are cleared....
    when you have tolerance difference or the residual posting then only system will show the line item....
    Regards,
    Chintan Joshi

  • Line items in a document entry

    Hi,
    there is restriction on line items for per document entry - i.e. 999.
    i would like to know if there is any update on the restriction in the enhancement packs.. or is it still 999.
    thank you
    - Vedavatee

    Check WIKI http://wiki.sdn.sap.com/wiki/display/ERPFI/Systemlimitationof999lineitemsperFIdocument
    Which Says
    Purpose
    The purpose of this WIKI is to explain a system limitation which does not allow you to have more than 999 line items per FI document, and also provide you with workarounds you can use to post your document.
    Overview
    When you are posting an FI document which has more than 999 line items, the system will issue an error message. This is due to the fact that the line item number field (BUZEI) in the BSEG table consists of 3 characters only and therefore the system cannot read more than 999 line items in the FI document.  There are some workarounds which can be done so that your document will be successfully posted in the system.
    System Limitation
    The FI document has more than 999 lines, the system issues error F5 807 ("Number of items in document is too large") or F5 727 ("Maximum number of items in FI reached"), and posting is not possible.
    There are no immediate plans to expand the number of line items beyond the current limit (999 lines per document). This is because the line item number (BSEG-BUZEI) field length is defined as 3 numeric positions (leading to a maximum possible number of 999 line items). The SAP development group is aware of this functionality change request, but the change is significant since BSEG is a cluster table which is used in numerous R/3 programs.
    Srinivas

  • Maximun line items per CO document

    Hello,
    Which is the maximum number of line items per CO document?
    Thanks,

    I am really not sure about MM.
    But in FI and CO, maximum is 999.
    There are also some enhancement available for this functionality to increase the number of documents.
    If you browse through internet, you will find some source code (sample) for this.
    Regards,
    Ravi

  • Line items in AB document during clearing?

    Hello!
    When I'm clearing below line items
    PK G/L        DocumentNo Itm Type     Sp. GL Amount in doc. curr.
    29 433110     1500006162   1 KT       D               7.054,04
    29 433110     1500006163   1 KT       D             134.710,80
    31 433110     1900012587   1 KR                       7.054,04-
    31 433110     1900012570   1 KR                     134.710,80-
    as a result I get document
    27 433110     100043516    1 AB                     141.764,84 
    39 433110     100043516    2 AB       D             141.764,84-
    Is it possible to get clearing document without line items, like here:
    433010     1500021212   1 KZ                   18.360,12     100050060
    433010     1500021213   1 KZ                    7.080,00      100050060
    433010     1500021219   1 KZ                    1.300,58      100050060
    433010     1500021223   1 KZ                      416,00       100050060
    433010     1900018975   1 KR                   18.360,12-    100050060
    433010     1900018976   1 KR                      416,00-      100050060
    433010     1900018978   1 KR                    1.300,58-     100050060
    433010     1900018979   1 KR                    7.080,00-     100050060
    where clearing document 100050060 doesn't contain any line items.
    In the first example, why system, during clearing, produce line items in AB document when alll happens on the same GL account?

    Hi,
    Clearing :
    1) Manual Clearing :
    Manually you have to select the line items and clear invoice with the bank line item - in this case payment document is the clearing document
    or
    Manually select the two open line items (both dr & cr), clear the line item. -  In this case there won't be any line item but you will have a seperate clearing document. Here either dr. line item / cr. line item are not the clearing document.
    2) Automatic Clearing :
    Using the F110 - in this case payment document is the clearing document
    or
    Using F.13 - selects one dr.line item & one cr. line item with as per the clearing criteria and clears the document using the clearing document, which doesn't have any line item
    VVR

  • Table for line items of budget document posted through FMBB transaction.

    HI,
    I am looking for Table of line items of budget document posted through FMBB transaction.
    There is table FMBL but it is breaking the amount into 12 parts.
    Thanks.

    Hi
    check the tables
    FMBDA   
    FMBDP   
    FMBDT   
    FMBH
    BPDK
    Regards
    Anji

  • Table for line items for parked documents

    Hello all,
    Do anyone know what is the table for line items for parked documents(fbv3)?
    Because I check bseg and these doc. aren't there.
    Thanks a lot!

    Hi,
    Please Check table "VBSEGS" you will get parked document ine items .please check below link it will clear...
    Find tables for GLs on Parking Documents by FB60
    Thanks in advance
    Chakri

  • Total line items in billing document

    Dear Fnds,
    I want to Find total line items in Billing document VBRk-posnr
    Thanks in advance
    Regards
    raj.

    Hi,
    You can get the line items details in internal table then write the following command:
    DESCRIBE TABLE itab LINES lv_lines.
    In Lv_lines you will get the count for that Sales Order Number (VBELN).
    Hope this may be useful..
    Regards,
    Prashant

  • Spaces in between line items in script

    Hi ,
    In script forms my problem is like this, when iam printing page with 2 line items(line items are in main window) ,
    the totals and subtotals at the bottom are displaying perfectly( sub totals are given in footer window).
    If line items are increased more , than the subtotals part is printing in second page.
    In form here for first line item they are printing some  (16,4,2,1'%') calculations in 4 sub lines,
    For remaining line items there is no calculations(i.e., the loop is entering for calculations but as per one condition
    in print program that calculations are becoming blank , on this reason the space is coming for remaining line items which is not required ).
    Now my requirement is i have to reduce the space between 2nd and 3rd line item. Please help me in this
    Print program
                          TABLE DECLARATION                        *
    TABLES: /ivl/zmb_bealo,    "Bill of Entry Item allocation
            /ivl/zmb_becdat,   "Bill of Entry Company Level Data
            /ivl/zmb_behdr,    "Bill of entry Header
            /ivl/zmb_beitm,    "Bill of Entry item
            /ivl/zmb_beref,    "Reference for Bill of Entry
            /ivl/zcm_codmas,   "Code Master Table
            /ivl/zmb_bndmas,
            /ivl/zmb_tarnt,
            zvincust,
            dd07l,             "R/3 DD: values for the domains
            dd07t,             "DD: Texts for Domain Fixed
            dd07v,             "View on fixed values and domain texts
            t005t,             "Country Names
            kna1,              "Customer Master
            t001,              "Company Codes
            LTAK,
            LTAP,             "Transfer order item    "$05
            VBPA.             "Sales Document Partner "$05
                         SELECTION-SCREEN                         *
    PARAMETERS: tonumber LIKE /ivl/zmb_behdr-zztono OBLIGATORY,
                p_lgnum type lgnum obligatory.
    select-options: s_lgnum for LTAK-lgnum no-display.
                          End Of Selection                        *
    DATA  wrk_bukrs LIKE /ivl/zmb_behdr-bukrs .
    DATA  wrk_mode(8).
    DATA sum_totdty1(75).
    DATA sum_totdty2(75).
    Modification - Changed data type of variable from CHAR to INT
    *ATA count(2)  VALUE 0 .
    DATA : count TYPE i.
                  Internal table declaration                      *
    DATA: BEGIN OF it_behdr OCCURS 0 ,
           docno LIKE /ivl/zmb_behdr-docno,
           bondno LIKE /ivl/zmb_behdr-bondno,
           bonddat LIKE /ivl/zmb_behdr-bonddat,
           docyear LIKE /ivl/zmb_behdr-docyear,
           zzchanumber LIKE /ivl/zmb_behdr-zzchanumber,
           doctype LIKE /ivl/zmb_behdr-doctype,
           vessname LIKE /ivl/zmb_behdr-vessname,
           rotno LIKE /ivl/zmb_behdr-rotno,
           rotdt LIKE /ivl/zmb_behdr-rotdt,
           portship LIKE /ivl/zmb_behdr-portship,
           orgcntry LIKE /ivl/zmb_behdr-orgcntry,
           modtran LIKE /ivl/zmb_behdr-modtran,
           concntry LIKE /ivl/zmb_behdr-concntry,
           impdpsno LIKE /ivl/zmb_behdr-impdpsno,
           impdpdat LIKE /ivl/zmb_behdr-impdpdat,
           zzkunnr LIKE /ivl/zmb_behdr-zzkunnr,
           pdocno LIKE /ivl/zmb_behdr-pdocno,
           pdocyear LIKE /ivl/zmb_behdr-pdocyear,
           arivport LIKE /ivl/zmb_behdr-arivport,
           zztono LIKE /ivl/zmb_behdr-zztono,
           bukrs  LIKE /ivl/zmb_behdr-bukrs,
           linno LIKE  /ivl/zmb_beref-linno,
           ablno  LIKE /ivl/zmb_beref-ablno,
           abldat LIKE /ivl/zmb_beref-abldat,
           loadport LIKE /ivl/zmb_behdr-loadport,
           orgicnty(15),
           conscnty(15),
           portdesc(15),
           portcode LIKE /ivl/zcm_codmas-coddesc,
           coddesc LIKE /ivl/zcm_codmas-coddesc,
           notinum1 LIKE zvincust-notinum1,
    *Begin of modification for change $01
         descs1 like /ivl/zmb_tarnt,
          descs1 LIKE /ivl/zmb_tarnt-descs,
    *End of modification for change $01
           dsirregno LIKE zvincust-dsirregno,
           iecode1 LIKE zvincust-iecode,
           iecode LIKE zvincust-iecode,
           iecdesc(15),
           zzintrst LIKE /ivl/zmb_behdr-zzintrst,
           bondregnno LIKE /ivl/zmb_bndmas-bondregnno,
           bondstadat LIKE /ivl/zmb_bndmas-bondstadat,
           bondenddat LIKE /ivl/zmb_bndmas-bondenddat,
           expdt1 LIKE /ivl/zmb_bndmas-expdt1,
           expdt2 LIKE /ivl/zmb_bndmas-expdt2 ,
           name1  LIKE kna1-name1,
           name2  LIKE kna1-name2,
           ort01  LIKE kna1-ort01,
           pstl2  LIKE kna1-pstl2,
           telfx  LIKE kna1-telfx,
           coname LIKE t005t-landx,
           count(3) TYPE n VALUE 0,
           kunnr  LIKE VBPA-kunnr,
       END OF it_behdr.
    DATA : it_behdr1 LIKE it_behdr OCCURS 0 WITH HEADER LINE.
    DATA : zdocno LIKE it_behdr-docno.
    DATA : BEGIN OF it_bndmas OCCURS 0,
           bondregnno LIKE /ivl/zmb_bndmas-bondregnno,
           bondstadat LIKE /ivl/zmb_bndmas-bondstadat,
           bondenddat LIKE /ivl/zmb_bndmas-bondenddat,
           expdt1 LIKE /ivl/zmb_bndmas-expdt1,
           expdt2 LIKE /ivl/zmb_bndmas-expdt2 ,
    END OF it_bndmas.
    DATA spellamt LIKE spell.
    DATA: BEGIN OF it_beitm OCCURS 0 ,
              cthno  LIKE /ivl/zmb_beitm-cthno,
              matnr  LIKE /ivl/zmb_beitm-matnr,
              matldes LIKE /ivl/zmb_beitm-matldes,
              waers1  LIKE /ivl/zmb_beitm-waers1,
              netpr   LIKE /ivl/zmb_beitm-netpr,
              wkurs1  LIKE /ivl/zmb_beitm-wkurs1,
              wkurs2  LIKE /ivl/zmb_beitm-wkurs2,
              wkurs3  LIKE /ivl/zmb_beitm-wkurs3,
              frgtamt LIKE /ivl/zmb_beitm-frgtamt,
              insuamt LIKE /ivl/zmb_beitm-insuamt,
              agcomm  LIKE /ivl/zmb_beitm-agcomm,
              misschat LIKE /ivl/zmb_beitm-misschar,
              landchar LIKE /ivl/zmb_beitm-landchar,
              totval  LIKE /ivl/zmb_beitm-totval,
              assval  LIKE /ivl/zmb_beitm-assval,
              sysassval LIKE /ivl/zmb_beitm-sysassval,
              menge   LIKE /ivl/zmb_beitm-menge,
              meins   LIKE /ivl/zmb_beitm-meins,
              zzcetno LIKE /ivl/zmb_beitm-zzcetno,
              docno   LIKE /ivl/zmb_beitm-docno,
              doctype LIKE /ivl/zmb_beitm-doctype,
              docyear LIKE /ivl/zmb_beitm-docyear,
              boeitno LIKE /ivl/zmb_beitm-boeitno,
              bcdrt LIKE /ivl/zmb_bealo-bcdrate,
              bcdamt LIKE /ivl/zmb_bealo-bcdvalu,
              acdrt LIKE /ivl/zmb_bealo-acdrate,
              acdamt LIKE /ivl/zmb_bealo-acdvalu,
              sum911 LIKE /ivl/zmb_bealo-acdvalu,
              dutyrat LIKE /ivl/zmb_bedut-dutyrat,
              dutcode LIKE /ivl/zmb_bedut-dutcode,
              dutcodebcd LIKE /ivl/zmb_bedut-dutcode,
              dutcodecvd LIKE /ivl/zmb_bedut-dutcode,
              dutcodesad LIKE /ivl/zmb_bedut-dutcode,
              dutyratbcd LIKE /ivl/zmb_bedut-dutyrat,
              dutyratcvd LIKE /ivl/zmb_bedut-dutyrat,
              dutyratsad LIKE /ivl/zmb_bedut-dutyrat,
              sysvalubcd LIKE /ivl/zmb_bedut-sysvalu,
              sysvalucvd LIKE /ivl/zmb_bedut-sysvalu,
              sysvalusad LIKE /ivl/zmb_bedut-sysvalu,
              cetno LIKE /ivl/zmb_tarnt-cetno,
              descs LIKE /ivl/zmb_tarnt-descs,
              totassval   LIKE  /ivl/zmb_beitm-assval,
              sad LIKE /ivl/zmb_bedut-dutcode  VALUE 'SAD',
              totsysvalubcd   LIKE /ivl/zmb_bedut-sysvalu,
              actvalu LIKE /ivl/zmb_bedut-actvalu,
              zbcdasstot LIKE /ivl/zmb_bedut-sysvalu,
              zdutyratcvd LIKE /ivl/zmb_bedut-sysvalu,
              zpcvdtot LIKE /ivl/zmb_bedut-sysvalu,
              ztotduty LIKE /ivl/zmb_bedut-sysvalu,
              zbatcvdtot LIKE /ivl/zmb_bedut-sysvalu,
              zdutyratsad LIKE /ivl/zmb_bedut-dutyrat,
              zsad LIKE /ivl/zmb_bedut-sysvalu,
              zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
              dutyratcess LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
              sysvalucess LIKE /ivl/zmb_bedut-sysvalu,  " for cess value $03
              dutyratedc LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
              sysvaluedc LIKE /ivl/zmb_bedut-sysvalu,  " for cess value $03
              zpcesstot LIKE /ivl/zmb_bedut-sysvalu,
              zpedctot LIKE /ivl/zmb_bedut-sysvalu,
             zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
              dutyrathcs LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess  $04
              sysvaluhcs LIKE /ivl/zmb_bedut-sysvalu, " for Higher Ed Cess  $04
              zphcstot   LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess  $04
              dutyrathdc LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess  $04
              sysvaluhdc LIKE /ivl/zmb_bedut-sysvalu, " for Higher Ed Cess  $04
              zphdctot   LIKE /ivl/zmb_bedut-dutyrat, " for Higher Ed Cess  $04
    END OF it_beitm.
    DATA : BEGIN OF it_zbeitm OCCURS 0,
           cthno  LIKE /ivl/zmb_beitm-cthno,
           zbcdasstot LIKE /ivl/zmb_bedut-sysvalu,
           zdutyratcvd LIKE /ivl/zmb_bedut-sysvalu,
           zpcvdtot LIKE /ivl/zmb_bedut-sysvalu,
           ztotduty LIKE /ivl/zmb_bedut-sysvalu,
           zbatcvdtot LIKE /ivl/zmb_bedut-sysvalu,
           zdutyratsad LIKE /ivl/zmb_bedut-dutyrat,
           zpcesstot LIKE /ivl/zmb_bedut-sysvalu,
           zpedctot LIKE /ivl/zmb_bedut-sysvalu,
           zphcstot  LIKE /ivl/zmb_bedut-sysvalu,                   "$04
           zphdctot LIKE /ivl/zmb_bedut-sysvalu,                    "$04
           zsad LIKE /ivl/zmb_bedut-sysvalu,
           zpsadtot LIKE /ivl/zmb_bedut-sysvalu,
           dutyratcess LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
           sysvalucess LIKE /ivl/zmb_bedut-sysvalu,  " for cess value $03
           dutyratedc LIKE /ivl/zmb_bedut-dutyrat, " for cess value $03
           sysvaluedc LIKE /ivl/zmb_bedut-sysvalu,  " for cess value $03
           dutyrathcs LIKE /ivl/zmb_bedut-dutyrat, " Higher Ed Cess  $04
           sysvaluhcs LIKE /ivl/zmb_bedut-sysvalu, " Higher Ed Cess  $04
           dutyrathdc LIKE /ivl/zmb_bedut-dutyrat, " Higher Ed Cess  $04
           sysvaluhdc LIKE /ivl/zmb_bedut-sysvalu, " Higher Ed Cess  $04
    END OF it_zbeitm.
    DATA: BEGIN OF it_vbeln occurs 0,                      "$05
           wdno like ltap-vbeln,
    END OF it_vbeln.                                       "$05
    DATA : beitm LIKE it_beitm OCCURS 0 WITH HEADER LINE.
    DATA beitm1 LIKE it_beitm .
    DATA tot_duty LIKE /ivl/zmb_beitm-actdtypyd.
    DATA tot_duty1 LIKE /ivl/zmb_beitm-actdtypyd.
    DATA ind_tot LIKE /ivl/zmb_beitm-actdtypyd.
    DATA inv_tot LIKE /ivl/zmb_beitm-actdtypyd.
    DATA totalbcd  LIKE /ivl/zmb_bedut-sysvalu.
    DATA totalbcd1  LIKE /ivl/zmb_bedut-sysvalu.
    DATA item_duty LIKE /ivl/zmb_beitm-actdtypyd.
    DATA dutyratcvd  LIKE /ivl/zmb_bedut-dutyrat.
    DATA tot_dutysad LIKE /ivl/zmb_beitm-actdtypyd.
    DATA setamt LIKE /ivl/zmb_beitm-actdtypyd.
    DATA setamt1 LIKE /ivl/zmb_beitm-actdtypyd.
    DATA totassval1  LIKE  /ivl/zmb_beitm-assval.
    DATA pagetotal LIKE  /ivl/zmb_beitm-assval.
    DATA pagetotal1 LIKE  /ivl/zmb_beitm-assval.
    DATA pagetotal2 LIKE  /ivl/zmb_beitm-assval.
    DATA it_bedut LIKE /ivl/zmb_bedut OCCURS 0 WITH HEADER LINE.
    DATA dutyratcvd1  LIKE /ivl/zmb_bedut-dutyrat.
    DATA pagetotal11 LIKE  /ivl/zmb_beitm-assval.
    DATA setamt11 LIKE /ivl/zmb_beitm-actdtypyd.
    DATA totalbcd11 LIKE /ivl/zmb_bedut-sysvalu.
    DATA item_duty1 LIKE /ivl/zmb_beitm-actdtypyd.
    DATA cvdtotal LIKE /ivl/zmb_bedut-sysvalu.
    DATA cvdtotal1 LIKE /ivl/zmb_bedut-sysvalu.
    DATA sadtotal LIKE /ivl/zmb_bedut-sysvalu.
    DATA sadtotal1 LIKE /ivl/zmb_bedut-sysvalu.
    DATA netpr1    LIKE   /ivl/zmb_beitm-netpr.
    DATA netpr3    LIKE   /ivl/zmb_beitm-netpr.
    DATA insuamt1  LIKE /ivl/zmb_beitm-insuamt.
    DATA insuamt3  LIKE /ivl/zmb_beitm-insuamt.
    DATA frgtamt2  LIKE /ivl/zmb_beitm-frgtamt.
    DATA frgtamt1  LIKE /ivl/zmb_beitm-frgtamt.
    DATA frgtamt3  LIKE /ivl/zmb_beitm-frgtamt.
    DATA misschar1 LIKE /ivl/zmb_beitm-misschar.
    DATA landchar1 LIKE /ivl/zmb_beitm-landchar.
    DATA missland  LIKE /ivl/zmb_beitm-landchar.
    DATA totvalin1 LIKE /ivl/zmb_beitm-totval.
    DATA imptot  LIKE /ivl/zmb_beitm-sysassval.
    DATA saltot  LIKE /ivl/zmb_beitm-assval.
    DATA subtotduty LIKE /ivl/zmb_beitm-sysassval.
    DATA subamtbas LIKE /ivl/zmb_beitm-sysassval.
    DATA imptot1 LIKE /ivl/zmb_beitm-sysassval.
    DATA saltot1 LIKE /ivl/zmb_beitm-assval.
    DATA misccharge LIKE /ivl/zmb_beitm-misschar.
    DATA netpr2  LIKE   /ivl/zmb_beitm-netpr.
    DATA netpr4  LIKE   /ivl/zmb_beitm-netpr.
    DATA insuamt2   LIKE /ivl/zmb_beitm-insuamt.
    DATA misschar2  LIKE /ivl/zmb_beitm-misschar.
    DATA landchar2  LIKE /ivl/zmb_beitm-landchar.
    DATA totvalin2  LIKE /ivl/zmb_beitm-totval.
    DATA sysvalin2  LIKE /ivl/zmb_beitm-sysassval.
    DATA assvalin2  LIKE /ivl/zmb_beitm-sysassval.
    DATA pbcdtot LIKE  /ivl/zmb_beitm-sysassval.
    DATA passvaltot  LIKE /ivl/zmb_beitm-sysassval.
    DATA bcdasstot LIKE  /ivl/zmb_beitm-sysassval.
    DATA pcvdtot  LIKE  /ivl/zmb_beitm-sysassval.
    DATA totduty  LIKE  /ivl/zmb_beitm-sysassval.
    DATA totduty1  LIKE  /ivl/zmb_beitm-sysassval.
    DATA psadtot LIKE   /ivl/zmb_beitm-sysassval.
    DATA psadtot1 LIKE   /ivl/zmb_beitm-sysassval.
    DATA batcvdtot LIKE /ivl/zmb_beitm-sysassval.
    DATA dutypaid1  LIKE /ivl/zmb_beitm-sysassval.
    DATA dutypaid  LIKE  /ivl/zmb_beitm-sysassval.
    DATA intrs     LIKE  /ivl/zmb_beitm-sysassval.
    DATA var1 LIKE  /ivl/zmb_beitm-sysassval.
    DATA var2 LIKE  /ivl/zmb_beitm-sysassval.
    DATA var3 LIKE  /ivl/zmb_beitm-sysassval.
    DATA var4 LIKE  /ivl/zmb_beitm-sysassval.
    DATA var5 LIKE  /ivl/zmb_beitm-sysassval.
    DATA var6 LIKE  /ivl/zmb_bedut-dutyrat.
    DATA var7 LIKE  /ivl/zmb_bedut-sysvalu.
    DATA var8 LIKE  /ivl/zmb_beitm-sysassval.
    insert on 120704 for education cess  $03
    DATA var9 LIKE  /ivl/zmb_beitm-sysassval. "/ivl/zmb_bedut-dutyrat.
    DATA var10 TYPE p DECIMALS 2.  "ike /ivl/zmb_beitm-sysassval.
    DATA var11 LIKE /ivl/zmb_beitm-sysassval. "/ivl/zmb_bedut-dutyrat.
    DATA var12 LIKE /ivl/zmb_beitm-sysassval.
    DATA var13 TYPE p DECIMALS 2.  "like /ivl/zmb_beitm-sysassval.
    DATA var14 LIKE /ivl/zmb_beitm-sysassval.
    DATA pcestot LIKE  /ivl/zmb_beitm-sysassval.
    DATA pcestot1 LIKE  /ivl/zmb_beitm-sysassval.
    DATA pedctot LIKE  /ivl/zmb_beitm-sysassval.
    DATA pedctot1 LIKE  /ivl/zmb_beitm-sysassval.
    end of insert on 120704 for education cess  $03
    DATA dutyratsad LIKE /ivl/zmb_bedut-dutyrat.
    DATA sysvalusad LIKE /ivl/zmb_bedut-sysvalu.
    DATA sad(4) TYPE c VALUE 'SAD'.
    DATA pgtotal LIKE t001r_bf-amount.
    DATA : var15    like /ivl/zmb_beitm-sysassval,                   "$04
           var16    TYPE p DECIMALS 2,                               "$04
           var17    LIKE /ivl/zmb_beitm-sysassval,                   "$04
           var18    LIKE /ivl/zmb_beitm-sysassval,                   "$04
           var19    TYPE p DECIMALS 2,                               "$04
           var20    LIKE /ivl/zmb_beitm-sysassval,                   "$04
           var21    TYPE p DECIMALS 2,                               "$04
           var22    TYPE p DECIMALS 2,                               "$04
           phcstot  LIKE /ivl/zmb_beitm-sysassval,                   "$04
           phcstot1 LIKE /ivl/zmb_beitm-sysassval,                   "$04
           phdctot  LIKE /ivl/zmb_beitm-sysassval,                   "$04
           phdctot1 LIKE /ivl/zmb_beitm-sysassval.                   "$04
    DATA :   w_cname1 LIKE adrc-name1,
               w_cname2 LIKE adrc-name2,
               w_cname3 LIKE adrc-name3,
               w_cstreet LIKE adrc-street,
               w_chouse_num1 LIKE adrc-house_num1,
               w_cstr_suppl1 LIKE adrc-str_suppl1,
               w_cstr_suppl2 LIKE adrc-str_suppl1,
               w_ccity1 LIKE adrc-city1,
               w_cregion LIKE adrc-region,
               w_ccountry LIKE adrc-country,
               w_cpost_code1 LIKE adrc-post_code1,
               w_cpo_box LIKE adrc-po_box,
               w_ctel_number LIKE adrc-tel_number,
               w_cfax_number LIKE adrc-fax_number,
               w_cname4 LIKE adrc-name1,                              "$05
               w_cname5 LIKE adrc-name2,                              "$05
               w_cname6 LIKE adrc-name3,                              "$05
               w_cstreet1 LIKE adrc-street,                           "$05
               w_chouse_num2 LIKE adrc-house_num1,                    "$05
               w_cstr_suppl3 LIKE adrc-str_suppl1,                    "$05
               w_cstr_suppl4 LIKE adrc-str_suppl1,                    "$05
               w_ccity2 LIKE adrc-city1,                              "$05
               w_cregion1 LIKE adrc-region,                           "$05
               w_ccountry1 LIKE adrc-country,                         "$05
               w_cpost_code2 LIKE adrc-post_code1,                    "$05
               w_cpo_box1 LIKE adrc-po_box,                           "$05
               w_ctel_number1 LIKE adrc-tel_number,                   "$05
               w_cfax_number1 LIKE adrc-fax_number.                   "$05
    DATA : addr LIKE lfa1-adrnr,
           w_ccountry_text LIKE t005t-landx.
    DATA : cthno1 LIKE it_beitm-cthno,
           cthno2 LIKE it_beitm-cthno,
           bonddat1 LIKE sy-datum.
    data:  W_PLADDR     TYPE WISO_PLADDR.
    DATA: w_lgnum    type lgnum.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR tonumber.
    AT SELECTION-SCREEN.
      clear w_lgnum.
      SELECT single lgnum
             into w_lgnum
             FROM  ltak
             WHERE  lgnum  = p_lgnum
             AND    tanum  = tonumber.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'Invalid TO number '
                          tonumber
                          ' in warehouse '
                          p_lgnum.
      ENDIF.
                     Start of Selection                                  *
    START-OF-SELECTION .
      perform f_read_address using tonumber.
      PERFORM write_header1.
      PERFORM item_print.
    END-OF-SELECTION.
                     Form  WRITE_HEADER1
    FORM write_header1.
      CLEAR it_behdr.
      REFRESH it_behdr.
      SELECT a~bondno a~bonddat a~docno a~docyear a~zzchanumber a~doctype
                 a~vessname a~rotno a~rotdt a~portship a~orgcntry a~modtran
                    a~rotno a~rotdt a~concntry a~impdpsno a~impdpdat
                    a~concntry  a~zzkunnr a~pdocno a~pdocyear a~arivport
                    a~zztono b~bondregnno b~bondstadat b~bondenddat
                    b~expdt1 b~expdt2 a~loadport a~zzintrst
                    INTO CORRESPONDING FIELDS OF TABLE  it_behdr
                   FROM /ivl/zmb_behdr AS a INNER JOIN /ivl/zmb_bndmas AS b
                   ON a~bondno = b~bondno
                   WHERE zztono = tonumber
                   AND a~bonddat = b~bonddate.
      SORT it_behdr.
      LOOP AT it_behdr.
        SELECT SINGLE adrnr
        INTO addr FROM lfa1
        WHERE sortl = it_behdr-zzchanumber.
        SELECT SINGLE name1 name2 name3 street house_num1 str_suppl1
                      str_suppl2 city1  post_code1
        INTO (w_cname1, w_cname2, w_cname3, w_cstreet,w_chouse_num1,
              w_cstr_suppl1, w_cstr_suppl2, w_ccity1, w_cpost_code1)
        FROM adrc
        WHERE addrnumber = addr.
        SELECT  SINGLE *
        FROM /ivl/zmb_beref
    *Begin of modification for change $02
    WHERE  refdocno = it_behdr-bondno.
        WHERE boerefno =  it_behdr-pdocno AND
              boeyr  =  it_behdr-pdocyear.
    *End of modification for change $02
        IF sy-subrc = 0.
          it_behdr-linno  = /ivl/zmb_beref-linno.
          it_behdr-ablno  =  /ivl/zmb_beref-ablno.
          it_behdr-abldat = /ivl/zmb_beref-abldat.
        ENDIF.
        SELECT SINGLE *
        FROM t005t
        WHERE land1  = /ivl/zmb_behdr-orgcntry
          AND spras  = 'E'.
        IF sy-subrc = 0.
          it_behdr-orgicnty = t005t-landx.
        ENDIF.
        SELECT SINGLE *
        FROM  /ivl/zcm_codmas
        WHERE codtyp = 'PCOD'
          AND code = it_behdr-arivport.
        IF sy-subrc = 0.
          it_behdr-portcode = /ivl/zcm_codmas-coddesc.
        ENDIF.
        SELECT SINGLE *
        FROM /ivl/zcm_codmas
        WHERE code = it_behdr-concntry.
        IF sy-subrc = 0.
          it_behdr-coddesc = /ivl/zcm_codmas-coddesc.
        ENDIF.
        SELECT SINGLE *
        FROM  /ivl/zcm_codmas
        WHERE codtyp  = 'PORT'
          AND code = it_behdr-loadport.
        IF sy-subrc = 0.
          it_behdr-portdesc = /ivl/zcm_codmas-coddesc.
        ENDIF.
        SELECT SINGLE *
        FROM  t005t
        WHERE land1 = it_behdr-concntry.
        IF sy-subrc = 0.
          it_behdr-coname = t005t-landx.
        ENDIF.
        SELECT *
        FROM kna1
        WHERE kunnr = it_behdr-zzkunnr.
          IF sy-subrc = 0.
            it_behdr-name1 = kna1-name1.
            it_behdr-name2 = kna1-name2.
            it_behdr-ort01 = kna1-ort01.
            it_behdr-pstl2 = kna1-pstl2.
            it_behdr-telfx = kna1-telfx.
          ENDIF.
        ENDSELECT.
        SELECT *
        FROM zvincust
        WHERE kunnr = it_behdr-zzkunnr.
          IF sy-subrc = 0.
            it_behdr-notinum1  = zvincust-notinum1.
            it_behdr-dsirregno = zvincust-dsirregno.
            it_behdr-iecode1   = zvincust-iecode.
          ENDIF.
        ENDSELECT.
        SELECT SINGLE *
        FROM /ivl/zmb_tarnt
        WHERE tarntno = it_behdr-notinum1.
        IF sy-subrc = 0.
          it_behdr-notinum1 = /ivl/zmb_tarnt-tarntno.
          it_behdr-descs1 = /ivl/zmb_tarnt-descs.
        ENDIF.
        SELECT iecode
        INTO it_behdr-iecode
        FROM zvincust
        WHERE kunnr = 'IN02'.
        ENDSELECT.
           MODIFY it_behdr TRANSPORTING name1 name2 ort01 pstl2 telfx
               linno ablno abldat coname portdesc portcode
               coddesc notinum1 dsirregno iecode1 conscnty iecode descs1.
           SELECT SINGLE kunnr                                              "$05
                        INTO it_behdr-kunnr
                        FROM VBPA
                        WHERE vbeln = it_vbeln-wdno
                          AND PARVW = 'AG'.                                 "$05
           SELECT SINGLE adrnr                                              "$05
                 INTO  addr FROM Kna1
                 WHERE kunnr = it_behdr-kunnr.                              "$05
           SELECT SINGLE name1 name2 name3 street house_num1 str_suppl1     "$05
                      str_suppl2 city1  post_code1
           INTO (w_cname4, w_cname5, w_cname6, w_cstreet1,w_chouse_num2,
              w_cstr_suppl3, w_cstr_suppl4, w_ccity2, w_cpost_code2)
           FROM adrc
           WHERE addrnumber = addr.                                          "$05
      ENDLOOP.
       SELECT SINGLE   vbeln INTO it_vbeln                  "$05
               FROM     LTAP
               WHERE    tanum = tonumber
               AND      lgnum  = w_lgnum.                 "$05
    ENDFORM.                               " WRITE_HEADER1
                      Form  ITEM_DETAILS
    FORM item_details.
      SELECT *
      FROM /ivl/zmb_bedut
      INTO TABLE it_bedut
      WHERE doctype = it_behdr-doctype
        AND docno   = it_behdr-docno
        AND docyear = it_behdr-docyear.
      SELECT *
      FROM /ivl/zmb_beitm
      INTO CORRESPONDING FIELDS OF it_beitm
      WHERE doctype = it_behdr-doctype
        AND docno   = it_behdr-docno
        AND docyear = it_behdr-docyear.
        LOOP AT it_bedut WHERE doctype = it_beitm-doctype
                           AND docno   = it_beitm-docno
                           AND docyear = it_beitm-docyear
                           AND boeitno = it_beitm-boeitno.
          CASE it_bedut-dutcode.
            WHEN  'BCD'.
              MOVE it_bedut-dutyrat TO it_beitm-dutyratbcd.
              MOVE it_bedut-sysvalu TO it_beitm-sysvalubcd.
            WHEN 'CVD'.
              MOVE it_bedut-dutyrat TO it_beitm-dutyratcvd.
              MOVE it_bedut-sysvalu TO it_beitm-sysvalucvd.
            WHEN 'SAD'.
              MOVE it_bedut-dutyrat TO it_beitm-dutyratsad.
              MOVE it_bedut-sysvalu TO it_beitm-sysvalusad.
    insert on 120704 for education cess $03
            WHEN 'ZCES'. "zces
              MOVE it_bedut-dutyrat TO it_beitm-dutyratcess.
              MOVE it_bedut-sysvalu TO it_beitm-sysvalucess.
            WHEN 'ZEDC'.  "zedc
              MOVE it_bedut-dutyrat TO it_beitm-dutyratedc.
              MOVE it_bedut-sysvalu TO it_beitm-sysvaluedc.
    end of insert on 120704 for education cess $03
            WHEN 'ZHCS'.
              MOVE it_bedut-dutyrat TO it_beitm-dutyrathcs.          "$04
              MOVE it_bedut-sysvalu TO it_beitm-sysvaluhcs.          "$04
            WHEN 'ZHDC'.                                             "$04
              MOVE it_bedut-dutyrat TO it_beitm-dutyrathdc.          "$04
              MOVE it_bedut-sysvalu TO it_beitm-sysvaluhdc.          "$04
           it_beitm-totassval  = it_beitm-totassval + it_beitm-sysvalubcd +
                                                            it_beitm-assval.
      it_beitm-totsysvalubcd = it_beitm-totsysvalubcd + it_beitm-sysvalubcd.
          ENDCASE.
        ENDLOOP.
        APPEND it_beitm.
        CLEAR it_beitm.
      ENDSELECT.
      SORT it_beitm BY cthno.
      MOVE it_beitm TO beitm.
      MOVE it_beitm TO it_zbeitm.
      APPEND it_zbeitm.
      CLEAR it_zbeitm.
    ENDFORM.                               " ITEM_DETAILS
                        Form  BONDNUMBER
    FORM bondnumber.
      READ TABLE it_behdr WITH KEY
           zztono = tonumber
           docno  = zdocno.
      IF sy-subrc = 0.
        MOVE it_behdr TO it_behdr1.
        APPEND it_behdr1.
      ENDIF.
    CLEAR zdocno.
    ENDFORM.                    " BONDNUMBER
                       Form  ITEM_PRINT
    FORM item_print.
      TABLES : itcpo.
      TABLES : itcpp.
      DATA: params   LIKE pri_params,
            arparams LIKE arc_params,
            days(1)  TYPE n VALUE 2,
            valid    TYPE c.
      itcpo-tdpreview = 'X'.
      itcpo-tdnewid   = 'X'.
      itcpo-tdimmed   = 'X'.
      itcpo-tddelete  = 'X'.
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          application    = 'TX'
          archive_index  = ' '
          archive_params = '1'
          device         = 'PRINTER'
          dialog         = 'X'
          form           = ' '
          language       = sy-langu
          options        = itcpo
        IMPORTING
          RESULT         = itcpp
        EXCEPTIONS
          OTHERS         = 7.
                      Header IT-table loop--start              *
      LOOP AT it_behdr.
        zdocno = it_behdr-docno.
        CLEAR it_beitm.
        CLEAR it_zbeitm.
        REFRESH it_beitm.
        REFRESH it_zbeitm.
        PERFORM temp_code.
        CLEAR imptot.
        CLEAR subamtbas.
        CLEAR saltot.
        CLEAR subtotduty.
        CALL FUNCTION 'START_FORM'
          EXPORTING
            form     = 'ZSV_GBOE'
            language = sy-langu.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element  = 'HEAD'
            function = 'SET'
            type     = 'BODY'
            window   = 'HEADER'.
        CLEAR count.
                  Line item loop --start                          *
        LOOP AT it_beitm.
    *The 8 variables r used for the total to be printed             *
    *at the first line of the tariff number                         *
          READ TABLE it_zbeitm WITH  KEY
                cthno = it_beitm-cthno.
          IF sy-subrc = 0.
            var1 = it_zbeitm-zbcdasstot.
            var2 = it_zbeitm-zdutyratcvd .
            var3 = it_zbeitm-zpcvdtot.
            var4 = it_zbeitm-ztotduty.
            var5 = it_zbeitm-zbatcvdtot.
            var6 = it_zbeitm-zdutyratsad.
            var7 = it_zbeitm-zsad.
            var8 = it_zbeitm-zpsadtot.
            sad  = 'SAD'.
    insert on 120704 for education cess     $03
            var9 = it_beitm-dutyratcess.
            var10 = it_zbeitm-zpcesstot.  "sysvalucess.
            var11 = it_beitm-dutyratedc.
            var12 = it_zbeitm-zpedctot.  "sysvaluedc.
           var13 = it_beitm-sysvalubcd + var3 + var10.             $04
           var14 = var4 + var13 + var12.                           $04
    end of insert on 120704 for education cess
            var15 = it_beitm-dutyrathcs.                            "$04
            var16 = it_zbeitm-zphcstot.                             "$04
            var17 = it_beitm-dutyrathdc.                            "$04
            var18 = it_zbeitm-zphdctot.                             "$04
            var13 = it_beitm-sysvalubcd + var3 + var10 + var16.     "$04
            var14 = var4 + var13 + var12 + var18.                   "$04
            var20 = var10 + var16.                                  "$04
            var21 = var12 + var18.                                  "$04
          ENDIF.
          count = count + 1.
          MOVE it_beitm TO beitm.
          beitm-sad = 'SAD'.
                      FOOTER TOTAL.                                  *
          intrs      = intrs      + ( it_beitm-netpr * it_beitm-wkurs1 ).
          netpr1     = netpr1     + it_beitm-netpr.
          frgtamt1   = frgtamt1   + ( it_beitm-frgtamt * it_beitm-wkurs2 ).
          frgtamt3   = frgtamt3   + it_beitm-frgtamt.
          insuamt3   = insuamt3   + it_beitm-insuamt.
          insuamt1   = insuamt1   + ( it_beitm-insuamt * it_beitm-wkurs3 ).
          misschar1  = misschar1  + it_beitm-misschat.
          landchar1  = landchar1  + it_beitm-landchar.
          misccharge = ( frgtamt1 + intrs + insuamt1 ) / 100.
          missland   = ( missland + misschar1 + landchar1 ) - totvalin1.
             Sub Total Cal  at end of each Tariff No.                 *
          imptot    = imptot    + it_beitm-sysassval.
          saltot    = saltot    + it_beitm-assval.
          subamtbas = subamtbas + it_beitm-sysvalubcd.
    To Print the total at every first line of the tariff number(cthno) *
          cthno2 = it_beitm-cthno.
          IF cthno1 = cthno2.
            CLEAR var1.
            CLEAR var2.
            CLEAR var3.
            CLEAR var4.
            CLEAR var5.
            CLEAR beitm-dutyratsad.
            CLEAR var7.
            CLEAR var8.
            CLEAR sad.
    Insert for Education cess
            CLEAR : var9, var10, var11, var12.
    End of insert
            CLEAR : var15, var16, var17, var18, var20, var21.       "$04
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                element  = 'BOE_DETAILS'
                function = 'APPEND'
                type     = 'BODY'
                window
                ='MAIN'
              EXCEPTIONS
                OTHERS   = 8.
          ELSE.
         subtotduty = subtotduty + it_zbeitm-ztotduty + it_zbeitm-zpsadtot
          subtotduty = subtotduty + it_zbeitm-ztotduty + it_zbeitm-zpsadtot
                      + it_zbeitm-zpedctot.                       "$04
                        + it_zbeitm-zpedctot + it_zbeitm-zphdctot.  "$04
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                element  = 'BOE_DETAILS'
                function = 'APPEND'
                type     = 'BODY'
                window   = 'MAIN'
              EXCEPTIONS
                OTHERS   = 8.
          ENDIF.
          AT END OF cthno.
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                element  = 'TOTAL'
                function = 'APPEND'
                type     = 'BODY'
                window   = 'MAIN'
              EXCEPTIONS
                OTHERS   = 8.
          ENDAT.
                            FOR INTEREST                                *
          AT LAST.
            bonddat1 = sy-datum.
            it_behdr-bonddat = it_behdr-bonddat + 90.
            bonddat1 = bonddat1 + 6.                                "$04
            IF it_behdr-zzintrst <> 0.
              CALL FUNCTION 'WRITE_FORM'
                EXPORTING
                  element  = 'INTEREST'
                  function = 'APPEND'
                  type     = 'BODY'
                  window   = 'MAIN'
                EXCEPTIONS
                  OTHERS   = 8.
              subtotduty = subtotduty + it_behdr-zzintrst.
            ENDIF.
          ENDAT.
          CLEAR pbcdtot.
          CLEAR passvaltot.
          CLEAR bcdasstot.
          CLEAR pcvdtot.
          CLEAR totduty.
          CLEAR dutypaid.
          CLEAR batcvdtot.
          CLEAR psadtot.
          dutyratcvd = it_beitm-dutyratcvd.
          pgtotal = subtotduty.
          CALL FUNCTION 'FI_ROUND_AMOUNT'
            EXPORTING
              amount_in  = pgtotal
              company    = '1970'
              currency   = 'INR'
            IMPORTING
              amount_out = pgtotal.
          CALL FUNCTION 'SPELL_AMOUNT'
            EXPORTING
              amount    = pgtotal
              currency  = 'INR'
              filler    = ' '
              language  = sy-langu
            IMPORTING
              in_words  = spellamt
            EXCEPTIONS
              not_found = 1
              too_large = 2
              OTHERS    = 3.
          IF sy-subrc = 0.
            sum_totdty1 = spellamt-word.
           sum_totdty2 = spellamt-DECword.
          ENDIF.
                 To Print only 5 items per page                     *
          IF count >= 5.
            netpr3     = netpr1.
            intrs      = intrs.
            frgtamt2   = frgtamt1.
            insuamt2   = insuamt1.
            misschar2  = missland.
            totvalin2  = totvalin1.
            imptot1    = imptot.
            saltot1    = saltot.
            frgtamt3   = frgtamt3.
            insuamt3   = insuamt3.
            imptot     = imptot .
            saltot     = saltot .
            dutyratcvd = it_beitm-dutyratcvd.
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                element   = 'FOOTER'
                window
                ='FOOTER'
              EXCEPTIONS
                OTHERS    = 8.
            CALL FUNCTION 'CONTROL_FORM'
              EXPORTING
                command = 'NEW-PAGE'
              EXCEPTIONS
                OTHERS  = 3.
            CLEAR pagetotal1.
            CLEAR totalbcd1.
            CLEAR item_duty.
            CLEAR dutyratcvd.
            CLEAR setamt1.
            CLEAR cvdtotal1.
            CLEAR pagetotal2.
            CLEAR sadtotal1.
            CLEAR count.
            CLEAR totvalin2.
            CLEAR sysvalin2.
            CLEAR assvalin2.
            CLEAR dutypaid.
            CLEAR cthno2.
          ENDIF.
          CLEAR cthno2.
          cthno1 = it_beitm-cthno.
        ENDLOOP.
                     End of the it_beitm                       *
        netpr3    = netpr1.
        intrs     = intrs.
        frgtamt2  = frgtamt1.
        insuamt2  = insuamt1.
        frgtamt3  = frgtamt3.
        insuamt3  = insuamt3.
        misschar2 = missland.
        totvalin2 = totvalin1.
        imptot1   = imptot.
        saltot1   = saltot.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element   = 'FOOTER'
            window
            ='FOOTER'
          EXCEPTIONS
            OTHERS    = 8.
                      End of sub-total                         *
        CALL FUNCTION 'END_FORM'.
        CLEAR imptot.
        CLEAR subamtbas.
        CLEAR saltot.
        CLEAR cthno1.
        CLEAR cthno2.
        CLEAR var1.
        CLEAR var2.
        CLEAR var3.
        CLEAR var4.
        CLEAR var5.
        CLEAR beitm-dutyratsad.
        CLEAR var7.
        CLEAR var8.
        CLEAR sad.
        CLEAR dutypaid1.
    *Begin of modification for change $02
        CLEAR: intrs,
        netpr1,
        frgtamt1,
        frgtamt3,
        insuamt3,
        insuamt1,
        misschar1,
        landchar1,
        misccharge,
        missland .
    *End of modification for change $02
               Loop ends for the Header table                 *
      ENDLOOP.
      CALL FUNCTION 'CLOSE_FORM'
        EXCEPTIONS
          unopened                 = 1
          bad_pageformat_for_print = 2
          OTHERS                   = 3.
      CLEAR wrk_mode.
      CLEAR /ivl/zcm_codmas.
      CLEAR t001.
      GET PARAMETER ID 'BUK' FIELD wrk_bukrs.
      it_behdr-bukrs = wrk_bukrs.
      SELECT SINGLE *
      FROM  t001
      WHERE bukrs  = wrk_bukrs.
    ENDFORM.                               " PRINT_BILLOFENTRY
                         Form  temp_code
    FORM temp_code.
      CLEAR it_behdr1.
      REFRESH it_behdr1.
      PERFORM bondnumber.
      PERFORM  item_details.
      LOOP AT it_beitm.
        SELECT SINGLE *
        FROM /ivl/zmb_tarnt
        WHERE tarntno = it_beitm-cthno.
        IF sy-subrc = 0.
          it_beitm-cetno = /ivl/zmb_tarnt-cetno.
          it_beitm-descs = /ivl/zmb_tarnt-descs.
          MODIFY it_beitm TRANSPORTING cetno descs docno doctype.
        ENDIF.
        count = count + 1.
        MOVE it_beitm TO beitm.
        MOVE it_beitm TO it_zbeitm.
        beitm-sad  = 'SAD'.
        pbcdtot    = it_beitm-sysvalubcd + pbcdtot.
        passvaltot = it_beitm-assval + passvaltot.
        psadtot    = it_beitm-sysvalusad + psadtot.
        psadtot1   =  psadtot1 + psadtot.
        bcdasstot  = pbcdtot + passvaltot.
        pcvdtot    = it_beitm-sysvalucvd + pcvdtot.
    insert on 150704
        pcestot    = it_beitm-sysvalucess + pcestot.
        pcestot1   =  pcestot1 + pcestot.
        pedctot  = pedctot + it_beitm-sysvaluedc.
        pedctot1    = pedctot1 + pedctot.
    end of insert on 150704
        phcstot    = it_beitm-sysvaluhcs + phcstot.                  "$04
        phcstot1   =  phcstot1 + phcstot.                            "$04
        phdctot    = phdctot + it_beitm-sysvaluhdc.                  "$04
        phdctot1   = phdctot1 + phdctot.                             "$04
        totduty    = pbcdtot + pcvdtot + pcestot + phcstot.          "$04
        totduty1   = totduty1 + totduty.
        batcvdtot  = bcdasstot + pcvdtot.
        totalbcd   = totalbcd + it_beitm-sysvalubcd.
        totassval1 = totassval1 + it_beitm-assval.
        dutypaid   = totduty + psadtot.
        dutyratcvd = it_beitm-dutyratcvd.
        dutyratsad = it_beitm-dutyratsad.                            "$04
        sysvalusad = it_beitm-zsad.
        AT END OF cthno.
          cvdtotal1            = cvdtotal.
          sadtotal1            = sadtotal.
          pagetotal1           = pagetotal.
          setamt1              = pagetotal1 + cvdtotal1.
          totalbcd1            = totalbcd.
          item_duty            = totalbcd1 + setamt1.
          pagetotal2           = pagetotal1 + cvdtotal1.
          dutypaid1            = dutypaid1 + dutypaid.
          it_beitm-zbcdasstot  = bcdasstot.
          it_beitm-zdutyratcvd = dutyratcvd.
     

    Hi Ali,
    Write IF condition in the script in the correspodant window. Or for that perticular paragram select the check box <b>'No blank lines</b>' in the paragraph format.
    Hope this helps you, reply for queries, Shall post you the updates.
    Regards. 
    Kumar. .

  • Validation on line items  not triggering for F-32 tcode

    Hi Experts,
    I am trying  to put a validation on F-32.  using OB28   but not able to trigger OB28 while simulating the selected documents in F-32.
    Also i want to know how systems comes to know what all documents has been selected by the user in
    F-32 for clearing ,so that i can apply check on line items of that particular selected documents.
    Any ideas on how to do it?
    Thanks in advance.
    Regards,
    Abhinav

    Hi Friend,
    Check that you have activated the validation or not?
    Put '1' in activation flag of OB28; And test with F-32 again.
    Regards
    Krishnendu Laha

Maybe you are looking for

  • Can I add a second hard drive on Qosmio X500-12Q?

    Hi, i'd like to know if its possible to add a second hard drive to the X500-12Q ? i suppose the space is available but i'd like to know if the connector is here & everything so i could just open the enclosure and plug it in. thanks

  • NULL2

    when i attended to my viva in project 2 weeks ago.External examiner asked me about NULL2 and also difference between NULL and NULL2? firstly i want to know whether NULL2 is in sql or not?If yes plz answer to my post thanking you sir,

  • Graphical Mapping to a Simple xls file

    Hi, I have to generate an .xls file. For this I am using the excel xml format as the target message in mapping. I need some help in mapping my source to target. please help The SOURCE xml  is: <?xml version="1.0" encoding="UTF-8"?> <ns0:HRShiftMaster

  • G7 and Firewire ports?

    Is there a way to add a Firewire port or PCMCIA port on my HP Pavilion g7-1075dx?  Without resorting to USB - with the severe quality loss in conversion, that's not an option. If not, I'd be really really interested in knowing the reason why, when FW

  • For all entries with 2 internal table

    HI experts. How to use  2 for all entries in a select statement. Below refer to my below code. select vbeln matnr lfimg vgbel posnr from lips into corresponding fields of table   it_lips for all entries in  it_likp   where               vbeln = it_li