SAP SCRIPT code problem

521
- Heading for trans. w/out sp.G/L indicators (item sorting method 2)-
Transactions without special G/L indicators
522
- Heading for trans. with sp.G/L indicators (item sorting method 2)-
&T074T-LTEXT&
523
- Heading for open item list of line items -
&ULINE(71)&
<K>Invoice No,,Reference.,,Inv.Date,,                   Due date,,,,
             Balance</>
&ULINE(71)&
PERFORM GET_DATE IN PROGRAM ZREPORT
USING &BSID-BELNR&
CHANGING &S_DATE&
ENDPERFORM.
                                                                                530
- Line items    Customer open items -
&BSID-BELNR&,,&RF140-BELEGNUM&,,&BSID-BLDAT&,,&S_DATE&,,
FORM get_date tables
        int_cond structure itcsy
        outt_cond structure itcsy.
BREAK SNAGI.
tables : bseg.
data : w_belnr type ITCSY-value.
DATA due_date TYPE rfpos-faedt.
READ TABLE OUTT_COND WITH KEY name = 'S_DATE'.
  IF sy-subrc = 0.
    outt_cond-value = S_itab11.
    MODIFY outt_cond INDEX sy-tabix.
   ENDIF.
SELECT SINGLE
shkzg zfbdt zbd1t zbd2t zbd3t rebzg
FROM bseg
INTO CORRESPONDING FIELDS OF bseg
WHERE
*bukrs = bukrs AND
belnr = int_cond-value.
*AND vbeln = belnr.
CALL FUNCTION 'NET_DUE_DATE_GET'
EXPORTING
i_zfbdt = bseg-zfbdt
i_zbd1t = bseg-zbd1t
i_zbd2t = bseg-zbd2t
i_zbd3t = bseg-zbd3t
i_shkzg = bseg-shkzg
i_rebzg = bseg-rebzg
I_KOART = 'D'
IMPORTING
e_faedt = due_date.
outt_cond-value = due_date.
MODIFY outt_cond INDEX sy-tabix.
ENDFORM.
Now the problem is that,it is int_cond-value is always picking up the first invoice number.
and the net due date is always same for all invoices..?
should I loop in the sap script or in the form..?

Solved my self.
just placing the perform and endform in 530

Similar Messages

  • Import PE51 Form to SAP Script

    Hello Experts,
    I am Importing PE51 form to SAP Script.The Problem is after Executing the Program RFFOUS_C the PE51 form is coming...into SAP Script But it(PE51 Form) is Compressing?.I don't know why?.But when i executing the Program RPCDTCU0_CE.The PE51 Form is Showing Exactly..without any Compression.
    In Searching the Forum i have found these threads..But in these threads i haven't found any Solution
    Integration of SAP Script form and HR Form
    PE51 - Form Editor
    Thanks in advance.

    Hey ankur,
    Normally you get dashes instead of line because of two reasons:
    1. Because the Font Size you are using for the Line is Small hence it cannot print a continous Line..
    Please increase the Font Size and try checking in the Layout.
    2. Sometimes the SAP printer you have configured does not support the Font Type You have used in Scripts...
    Kindly check T-CODE SPAD to see the Device type of the printer you are using supports that font.
    Hope this helps you...Have a nice day at work..
    Thanx,
    Navin....

  • Dispaly standard text in SAP SCRIPT which content saved using SAVE_TEXT FM

    I want to display one standard text content in SAP SCRIPT and want to store content of it during run time.
    For that, first I have created one standard text using SO10.Named the standard text as Z_TEST_WRITE. Initially it was empty.
    In my SAP SCRIPT, I try to display the content of the standard text using below given SAP SCRIPT code and report program. Although I am able to store text in Standard text
    Z_TEST_WRITE but in first display of the SCRIPT it is not displaying against the include command of SAP SCRIPT. But when I see the content of Z_TEST_WRITE through SO10 transaction, I can see the content with new text which was previously empty.
    Now if I do the same transaction newly (suppose second time), then text stored in standard text Z_TEST_WRITE is displaid against includes command of SAP SCRIPT.
    My print program is a SAP STANDARD which one can be changed.
    /:   DEFINE &NAME& = ''                                      
    /:   PERFORM TEST IN PROGRAM Z_SAVE_TEXT
    /:   CHANGING &NAME&                                         
    /:   ENDPERFORM                                              
      <B>&NAME&</>                                            
    /:   INCLUDE Z_TEST_WRITE OBJECT TEXT ID ST
    REPORT  Z_SAVE_TEXT.
    FORM TEST TABLES IN_PAR STRUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
      DATA IT_HEADER LIKE TLINE OCCURS 0 WITH HEADER LINE.
      DATA: LS_HEADER LIKE THEAD,
            LT_LINES  TYPE STANDARD TABLE OF TLINE WITH HEADER LINE.
      OUT_PAR-NAME  = 'NAME'.
      OUT_PAR-VALUE =  'Sample text for Test'.
      APPEND OUT_PAR.
    *-Populate Header Text details
      LS_HEADER-TDOBJECT  = 'TEXT'.
      LS_HEADER-TDNAME    = 'Z_TEST_WRITE'.
      LS_HEADER-TDID      = 'ST'.
      LS_HEADER-TDSPRAS   = SY-LANGU.
    *-Populate details of Text
      CONCATENATE 'Shipment No   :' 'RM Ship No' INTO LT_LINES-TDLINE
      SEPARATED BY SPACE.
      LT_LINES-TDFORMAT = '*'.
      APPEND LT_LINES.
      CONCATENATE 'Bill of Lading:' '1234567' INTO LT_LINES-TDLINE
      SEPARATED BY SPACE.
      APPEND LT_LINES.
    *-Save Text
      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
          CLIENT          = SY-MANDT
          HEADER          = LS_HEADER
          SAVEMODE_DIRECT = 'V'
        TABLES
          LINES           = LT_LINES
        EXCEPTIONS
          OTHERS          = 1.
      IF SY-SUBRC NE 0.
        EXIT.
      ENDIF.
    COMMIT WORK and WAIT.
    ENDFORM.                    "TEST

    Hi,
      If the text is getting displayed the second time, then this should be due to delay in saving the text.
    After your COMMIT WORK AND WAIT in your report program, just put a WAIT FOR 2 SECS and check again.
    Regards,
    Suganya

  • Please help for using perform in SAP script

    As subject.
    My sap script code as below:
    /: PERFORM GET_CHAMT_DATE IN PROGRAM ZRAP004
    /:USING    &SPELL-WORD&
    /:CHANGING &SPELL-WORD&
    /:ENDPERFORM
    My program ZRAP004 code as below:
    FORM get_chamt_date USING u_iword TYPE spell-word
                       CHANGING u_oword TYPE spell-word.
    CONCATENATE u_iword '&#20803;&#25972;'(t01) INTO u_oword.
    endform.
    This form is for check printing.
    It's by standard function 'F110' to excute check printing.
    But when i finished this transaction. System return error message as below:
    <b>This routine contains 2 formal parameters, but the current call
    contains 4 actual parameters.</b>
    Please help. Thanks a lot!!

    Hiii
    PERFORM CDE_CENT IN PROGRAM ZKRPMM_PERFORM_Z1MEDRUCK
    /:USING &EKKO-EBELN&
    /:CHANGING &CDECENT&
    /:ENDPERFORM
    The report :
    REPORT zkrpmm_perform_z1medruck .
    DATA : BEGIN OF it_input_table OCCURS 10.
           INCLUDE STRUCTURE itcsy.
    DATA : END OF it_input_table.
    déclaration de la table output_table contenant les
    variables exportées
    DATA : BEGIN OF it_output_table OCCURS 0.
           INCLUDE STRUCTURE itcsy.
    DATA : END OF it_output_table.
    DATA : w_ebeln LIKE ekko-ebeln,
          w_vbeln LIKE vbak-vbeln,
          w_zcdffa LIKE vbak-zcdffa.
    FORM CDE_CENT
    FORM cde_cent TABLES input output.
    it_input_table[] = input[].
    it_output_table[] = output[].
    READ TABLE it_input_table INDEX 1.
    MOVE it_input_table-value TO w_ebeln.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
               input  = w_ebeln
          IMPORTING
               output = w_ebeln.
    SELECT SINGLE zcdffa FROM ekko
    INTO w_zcdffa
    WHERE ebeln = w_ebeln.
    it_output_table-name = 'CDECENT'.
    MOVE w_zcdffa TO it_output_table-value.
    MODIFY it_output_table INDEX 1.
    output[] = it_output_table[].
    ENDFORM.

  • Need help in sap script

    Hi,
    I have just now started to learn sap script.I want to know good book to learn sap script.If possible send some sample programs.
    thanks in advance.

    Simple SAP script code:
    Driver program:
    *& Report  ZMADHU_PROGRAM                                              *
    REPORT  ZMADHU_PROGRAM.
    DATA: I_EKPO TYPE STANDARD TABLE OF EKPO WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001..
    PARAMETERS: P_EBELN LIKE EKPO-EBELN.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECT * FROM EKPO
    INTO CORRESPONDING FIELDS OF TABLE I_EKPO
    WHERE EBELN = P_EBELN.
    CALL FUNCTION 'OPEN_FORM'
    EXPORTING
      APPLICATION                       = 'TX'
      ARCHIVE_INDEX                     =
      ARCHIVE_PARAMS                    =
      DEVICE                            = 'PRINTER'
      DIALOG                            = 'X'
       FORM                              = 'ZMADHU'
       LANGUAGE                          = SY-LANGU
      OPTIONS                           =
      MAIL_SENDER                       =
      MAIL_RECIPIENT                    =
      MAIL_APPL_OBJECT                  =
      RAW_DATA_INTERFACE                = '*'
    IMPORTING
      LANGUAGE                          =
      NEW_ARCHIVE_PARAMS                =
      RESULT                            =
    EXCEPTIONS
      CANCELED                          = 1
      DEVICE                            = 2
      FORM                              = 3
      OPTIONS                           = 4
      UNCLOSED                          = 5
      MAIL_OPTIONS                      = 6
      ARCHIVE_ERROR                     = 7
      INVALID_FAX_NUMBER                = 8
      MORE_PARAMS_NEEDED_IN_BATCH       = 9
      SPOOL_ERROR                       = 10
      CODEPAGE                          = 11
      OTHERS                            = 12
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
       ELEMENT                        = 'HEADING'
       FUNCTION                       = 'SET'
       TYPE                           = 'BODY'
       WINDOW                         = 'MAIN'
    IMPORTING
      PENDING_LINES                  =
    EXCEPTIONS
      ELEMENT                        = 1
      FUNCTION                       = 2
      TYPE                           = 3
      UNOPENED                       = 4
      UNSTARTED                      = 5
      WINDOW                         = 6
      BAD_PAGEFORMAT_FOR_PRINT       = 7
      SPOOL_ERROR                    = 8
      CODEPAGE                       = 9
      OTHERS                         = 10
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT i_ekpo.
    *v_count1 = v_count1 +
    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
       ELEMENT                        = 'ITEMS'
       FUNCTION                       = 'SET'
       TYPE                           = 'BODY'
       WINDOW                         = 'MAIN'
    IMPORTING
      PENDING_LINES                  =
    EXCEPTIONS
      ELEMENT                        = 1
      FUNCTION                       = 2
      TYPE                           = 3
      UNOPENED                       = 4
      UNSTARTED                      = 5
      WINDOW                         = 6
      BAD_PAGEFORMAT_FOR_PRINT       = 7
      SPOOL_ERROR                    = 8
      CODEPAGE                       = 9
      OTHERS                         = 10
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDLOOP.
    CALL FUNCTION 'CLOSE_FORM'
    IMPORTING
      RESULT                         =
      RDI_RESULT                     =
    TABLES
      OTFDATA                        =
    EXCEPTIONS
      UNOPENED                       = 1
      BAD_PAGEFORMAT_FOR_PRINT       = 2
      SEND_ERROR                     = 3
      SPOOL_ERROR                    = 4
      CODEPAGE                       = 5
      OTHERS                         = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    SAP Script:
    create the window main with two with appropriate size.
    in the text include following lines.
    /E HEADING
       Items     Item Description     Net Price
    /E ITEM
      &i_ekpo-ebelp&,,&i_ekpo-txz01&,,&i_ekpo-NETPR&
    AND activate both driver prg and script.
    execute the driver program

  • [SAP Script] Recorder doesn't record "import from file - btn[23]" step

    Hi,
    I'm a total newbie in SAP script language.
    Iu2019m looking for some solution to import txt file with btn[23]. Whole procedure should look like this:
    006 click IMPORT FROM FILE u2013 btn[23]
    007 paste into textbox filepath "C:\Program lojalnosciowy\klienci.txt" and click OPEN
    008 click CONFIRM & LOAD - btn[8]
    Recorder doesnu2019t record step 007. Do you know how to fix it? Iu2019ve tried to add this line but I assume that ctxtDY_FILENAME is the wrong textbox name:
         007     MySession.findById("wnd[2]/usr/ctxtDY_FILENAME").text = "C:\Program lojalnosciowy\klienci.txt"
    SAP SCRIPT CODE:
    IsInput     ID     ScriptCode
    START     001     
         002     MySession.findById("wnd[0]/tbar[0]/okcd").text = "ZFOVERDUE"
         003     MySession.findById("wnd[0]").sendVKey 0
         004     MySession.findById("wnd[0]/usr/btn%_DD_KUNNR_%_APP_%-VALU_PUSH").press
         005     MySession.findById("wnd[1]/usr/tabsTAB_STRIP/tabpSIVA").select
         006     MySession.findById("wnd[1]/tbar[0]/btn[23]").press
         008     MySession.findById("wnd[1]/tbar[0]/btn[8]").press

    Hi shyha777,
    maybe it helps you if you look at the following link:
    Re: Pasting filename in a panel using script
    Regards,
    ScriptMan

  • How to change a Code Page in SAP SCRIPT ?

    I have a specific requirement, would need your help :
    There is a <u><b>CODE PAGE</b></u> which is getting assigned to the <u><b>SAP SCRIPT FORM</b></u>. <i><b>For E.g : 1100 is generally used for SAP SCRIPTS.</b></i>
    I would like to know if there is a possibility to change the <u><b>Code Page</b></u> based on certain conditions ??
    Also i would like to know how and where is a <u><b>CODE PAGE and SAP SCRIPT FORM linked.</b></u>
    I have analysed that a <b>default code page</b> can be set in the <b>SAP LOG ON PAD</b> but not able to find the issues mentioned above.
    Kindly help me out with your valuable suggestions and solutions.
    Thankyou
    Brijesh.

    Hi,
    MDMP means Multi Display Multi Processing. See the note system for details. The problem of MDMP is that the different languages use different codepages and not all characteres can be displayed in every codepage.
    A solution would be a unicode conversion of the system. In unicode there is only one internal codepage, which contains all special characters of the individual languages. However the migration needs several hours of down time and unicode systems need more memory and disk space. I can't tell you a percentage for that. You need at least R/3 4.7 for unicode.
    In non-unicode system I believe you can't change the codepage inside a SAPscript document directly. I would have to end form processing an start a new form. To change the language you can try the ABAP-command SET LOCALE. Also see the language parameter in START_FORM.
    If that doesn't work I would try using RFC-Connections. Make RFC-Connections in your system which contain the system it self as target system, but with the desired language filled in. You do not need to provide a user or password, that would be taken form the logged on user.
    Inside your printing program you put the real printing into a function module. Your report then can call the function via RFC using a connection in the correct logon language.
    Greetings

  • Problem in Sap Script while printing

    HI,
    This report calling when I print billing document .this report getting data and call some sap script form but it prints 20 pages in place of only one page. Please
    Guide me to finding the exact problem.the code is below..
    REPORT zsd_excinv LINE-SIZE 110 LINE-COUNT 100 MESSAGE-ID vn.
    TABLES: vbco3,           "Keyfelder Vertriebsbeleg: Dokumentendruck
            tvko,            "Verkaufsorganisation
            sadr,            "Adressen
            komk,            "Communicationarea for conditions
            komp,            "Communicationarea for conditions
            komvd,           "Communicationarea for conditions
            vbdkr,           "Druck Rechnung: Kopfdaten
            vbdpr,           "Druck Rechnung: Positionsdaten
            conf_out,        "Configuration data
            vbpla,           "Druck Packliste   : allgemeine Daten
            vbplk,           "Druck Packliste   : Versandelementkopfdaten
            vbplp,           "Druck Packliste   : Versandelementinhaltsdaten
            vbpls.           "Druck Packliste   : Summendaten Verpackung
    TABLES : j_1iexchdr, j_1iexcdtl, vbrk,eikp,j_1imocust,likp,
             j_1iregset, itcpp,kna1, t001w.
    *PARAMETER : p_grp LIKE j_1iexchdr-exgrp.
    *SELECT-OPTIONS : so_num FOR j_1iexchdr-exnum.
    *PARAMETERS : p_num LIKE j_1iexchdr-exnum.
    DATA : wa_j_1iexchdr TYPE j_1iexchdr,
           it_j_1iexchdr TYPE TABLE OF j_1iexchdr.
    DATA : wa_j_1iexcdtl TYPE j_1iexcdtl,
           it_j_1iexcdtl TYPE TABLE OF j_1iexcdtl.
    DATA : wa_vbrk TYPE vbrk,
           wa_vbrp TYPE vbrp,
           wa_lips TYPE lips,
           wa_j_1iregset TYPE j_1iregset,
           wa_j_1iwrkcus TYPE j_1iwrkcus,
           wa_j_cust TYPE j_1imocust,
           it_vbrp TYPE TABLE OF vbrp.
    DATA : BEGIN OF wa_header,
             exnum TYPE j_1iexchdr-exnum ,
             exdat TYPE j_1iexchdr-exdat ,
             exccd TYPE j_1iregset-j_1iexccd,
             excrg TYPE j_1iregset-j_1iexcrg,
             excd1 TYPE j_1iregset-j_1iexcdi,
             bstnk_vf TYPE vbrk-bstnk_vf,
             zterm TYPE vbrk-zterm,
             iever TYPE eikp-iever,
             btgew TYPE likp-btgew,
             chapid TYPE j_1iexcdtl-chapid,
             traid TYPE likp-traid,
             rdoc TYPE j_1iexchdr-rdoc,
             maktx TYPE j_1iexcdtl-maktx,
             meins  TYPE likp-gewei,
          END OF wa_header.
    *DATA : BEGIN OF wa_header,
            exnum TYPE j_1iexchdr-exnum ,
            exdat TYPE j_1iexchdr-exdat ,
            exccd TYPE j_1iregset-j_1iexccd,
            excrg TYPE j_1iregset-j_1iexcrg,
            excd1 TYPE j_1iregset-j_1iexcdi,
            bstnk_vf TYPE vbrk-bstnk_vf,
            zterm TYPE vbrk-zterm,
            iever TYPE eikp-iever,
            btgew TYPE likp-btgew,
            ntgew TYPE likp-ntgew,
            chapid TYPE j_1iexcdtl-chapid,
            traid TYPE likp-traid,
            rdoc TYPE j_1iexchdr-rdoc,
            maktx TYPE j_1iexcdtl-maktx,
            meins  TYPE likp-gewei,
         END OF wa_header.
    *DATA : BEGIN OF wa_detail,
           zeile TYPE j_1iexcdtl-zeile,
           matnr TYPE j_1iexcdtl-matnr,
           maktx TYPE j_1iexcdtl-maktx,
           menge TYPE j_1iexcdtl-menge,
           rate TYPE konv-kbetr,
           amount TYPE konv-kwert,
           fob TYPE konv-kwert,
            meins  TYPE j_1iexcdtl-meins,
    *END OF wa_detail.
    *DATA : BEGIN OF wa_duties,
          zpr0 TYPE konv-kbetr,
          jadc TYPE konv-kbetr,
          st1 TYPE konv-kwert,
          jexp TYPE konv-kbetr,
          jecs TYPE konv-kbetr,
          st2 TYPE konv-kwert,
          jetc TYPE konv-kbetr,
          st3 TYPE konv-kwert,
          jsad TYPE konv-kbetr,
          st4 TYPE konv-kwert,
          st5 TYPE konv-kwert,
          vat TYPE konv-kbetr,
          st6 TYPE konv-kwert,
          zint TYPE konv-kbetr,
          jead TYPE konv-kbetr,
          zect TYPE konv-kbetr,
          zsad TYPE konv-kbetr,
          vat_per TYPE konv-kbetr,
          vat_val TYPE konv-kwert,
          total TYPE konv-kwert,
          remtime TYPE j_1iexchdr-remtime,
          exdat TYPE j_1iexchdr-exdat,
    *END OF wa_duties.
    *DATA : wa_t618t TYPE t618t.
    *DATA : in_words  TYPE spell,
          word TYPE spell-word,
          decword TYPE spell-decword,
          gv_plant_adrnr TYPE t001w-adrnr,
          lv_iever TYPE eikp-iever,
          lv_btgew TYPE likp-btgew,
          lv_ntgew TYPE likp-ntgew,
          lv_traid TYPE likp-traid,
          lv_regid TYPE j_1iregset-j_1iregid,
          gv_cust_adrnr TYPE kna1-adrnr,
          gv_ecsduty TYPE konv-kbetr,
          gv_tot_cen_amt TYPE konv-kwert,
          gv_zterm TYPE tvzbt-vtext,
          gv_tot_amt TYPE konv-kwert,
          lv_ins TYPE konv-kbetr,
          lv_fre TYPE konv-kbetr.
    *CONSTANTS : c_ecs TYPE j_1iexcdtl-ecsrate VALUE '0.368'.
    *SELECT-OPTIONS : so_num FOR j_1iexchdr-exnum.
    DATA : BEGIN OF wa_detail,
            zeile TYPE j_1iexcdtl-zeile,
            matnr TYPE j_1iexcdtl-matnr,
            maktx TYPE j_1iexcdtl-maktx,
            menge TYPE j_1iexcdtl-menge,
            rate TYPE konv-kbetr,
            amount TYPE konv-kwert,
            fob TYPE konv-kwert,
            meins  TYPE j_1iexcdtl-meins,
    END OF wa_detail.
    DATA : BEGIN OF wa_duties,
           zpr0 TYPE konv-kwert,
           jadc TYPE konv-kwert,
           st1 TYPE konv-kwert,
           jexp TYPE konv-kwert,
           jecs TYPE konv-kwert,
           st2 TYPE konv-kwert,
           jetc TYPE konv-kwert,
           st3 TYPE konv-kwert,
           jsad TYPE konv-kwert,
           st4 TYPE konv-kwert,
           st5 TYPE konv-kwert,
           vat TYPE konv-kwert,
           st6 TYPE konv-kwert,
           zint TYPE konv-kwert,
           jead TYPE konv-kwert,
           jeap TYPE konv-kwert,
           jeap_per TYPE konv-kbetr,
           zect TYPE konv-kwert,
           zect_per TYPE konv-kbetr,
           zecs TYPE konv-kwert,
           zsad TYPE konv-kwert,
           vat_per TYPE konv-kwert,
           vat_val TYPE konv-kwert,
           zlst_per TYPE konv-kwert,
           zlst_val TYPE konv-kwert,
           zcst_per TYPE konv-kwert,
           zcst_val TYPE konv-kwert,
           zeap TYPE konv-kwert,
           zeap_per TYPE konv-kbetr,
           total TYPE konv-kwert,
           remtime TYPE j_1iexchdr-remtime,
           exdat TYPE j_1iexchdr-exdat,
    END OF wa_duties.
    DATA : wa_t618t TYPE t618t.
    DATA : temp    TYPE konv-kwert VALUE 0,
           cen_amt TYPE konv-kbetr VALUE 0.
    DATA : in_words  TYPE spell,
           word TYPE spell-word,
           decword TYPE spell-decword,
           gv_plant_adrnr TYPE t001w-adrnr,
           lv_iever TYPE eikp-iever,
           lv_btgew TYPE likp-btgew,
           lv_traid TYPE likp-traid,
           lv_regid TYPE j_1iregset-j_1iregid,
           gv_cust_adrnr TYPE kna1-adrnr,
           gv_ecsduty TYPE konv-kbetr,
           gv_tot_cen_amt TYPE konv-kwert,
           gv_zterm TYPE tvzbt-vtext,
           gv_tot_amt TYPE konv-kwert,
           gv_amount TYPE konv-kwert,
           lv_ins TYPE konv-kbetr,
           lv_fre TYPE konv-kbetr.
    CONSTANTS : c_ecs TYPE j_1iexcdtl-ecsrate VALUE '0.368',
                rdocyr TYPE j_1iexchdr-docyr VALUE 2006.
    DATA : wa_t685t TYPE t685t.
    DATA : gv_zint TYPE t685t-vtext,
           gv_vat TYPE t685t-vtext,
           gv_zect TYPE t685t-vtext,
           gv_jetc TYPE t685t-vtext,
           gv_jeap TYPE t685t-vtext,
           gv_jecs TYPE t685t-vtext,
           gv_zlst TYPE t685t-vtext,
           gv_zcst TYPE t685t-vtext,
           gv_zeap TYPE t685t-vtext,
           gv_jadc TYPE t685t-vtext.
    INCLUDE rvadtabl.
    DATA: BEGIN OF lvbplk OCCURS 0.
            INCLUDE STRUCTURE vbplk.   "Packlistenkopf
    DATA: END OF lvbplk.
    DATA: BEGIN OF lvbplp OCCURS 0.
            INCLUDE STRUCTURE vbplp.   "Packlistenposition
    DATA: END OF lvbplp.
    DATA: BEGIN OF lvbpls OCCURS 0.
            INCLUDE STRUCTURE vbpls.   "Packlistenstruktur
    DATA: END OF lvbpls.
    DATA: BEGIN OF tvbdpr OCCURS 0.        "Rechnungspositionen
            INCLUDE STRUCTURE vbdpr.
    DATA: END OF tvbdpr.
    DATA: BEGIN OF tvbplp OCCURS 10.       "Packlistenposition
            INCLUDE STRUCTURE vbplp.
    DATA: END OF tvbplp.
    DATA: BEGIN OF tkomv OCCURS 50.
            INCLUDE STRUCTURE komv.        "Kommunikation
    DATA: END OF tkomv.
    DATA: BEGIN OF tkomvd OCCURS 50.
            INCLUDE STRUCTURE komvd.       "Kommunikation
    DATA: END OF tkomvd.
    DATA: BEGIN OF *tkomvd OCCURS 50.
            INCLUDE STRUCTURE komvd.
    DATA: END OF *tkomvd.
    DATA: BEGIN OF hkomvd OCCURS 50.
            INCLUDE STRUCTURE komvd.
    DATA: END OF hkomvd.
    DATA: BEGIN OF tkomcon OCCURS 50.
            INCLUDE STRUCTURE conf_out.
    DATA: END   OF tkomcon.
    DATA: retcode   LIKE sy-subrc.         "Returncode
    DATA: repeat(1) TYPE c.
    DATA: xscreen(1) TYPE c.               "Output on printer or screen
    DATA: pr_kappl(01)   TYPE c VALUE 'V'. "Application für Preisfindung
    DATA: print_mwskz.                     "Mehrwertsteuer-Kz drucken
    data for access to central address maintenance
    INCLUDE sdzavdat.
          FORM ENTRY                                                    *
          Einstieg für Nachrichtensteuerung                             *
    -->  RETURN_CODE                                                   *
    -->  US_SCREEN                                                     *
    FORM entry USING return_code us_screen.
      CLEAR retcode.
      xscreen = us_screen.
    Formular öffnen, aufbereiten und schließen
      PERFORM formular_invoice USING us_screen.
      CASE retcode.
        WHEN 0.
          return_code = 0.
        WHEN 3.
          return_code = 3.
        WHEN OTHERS.
          return_code = 1.
      ENDCASE.
    ENDFORM.                    "ENTRY
          FORM FORMULAR_INVOICE                                         *
          Formular abarbeiten                                           *
    FORM formular_invoice USING proc_screen.
    Werte aufbauen
      PERFORM get_data.
    Beleg unvollständig
      IF vbdkr-uvall NE space OR
         vbdkr-uvals NE space OR
         vbdkr-uvprs NE space.
        IF proc_screen = space.
          retcode = 3.
          IF vbdkr-uvall NE space OR vbdkr-uvals NE space.
            syst-msgno = '201'.
            syst-msgid = 'VN'.
            syst-msgty = 'I'.
            PERFORM protocol_update.
          ENDIF.
          IF vbdkr-uvprs NE space.
            syst-msgno = '200'.
            syst-msgid = 'VN'.
            syst-msgty = 'I'.
            PERFORM protocol_update.
          ENDIF.
        ELSE.
          IF vbdkr-uvall NE space OR vbdkr-uvals NE space.
            MESSAGE i201.
          ENDIF.
          IF vbdkr-uvprs NE space.
            MESSAGE i200.
          ENDIF.
        ENDIF.
      ENDIF.
      CHECK retcode = 0.
    SAP-SCRIPT STEUERUNG festlegen
      PERFORM form_open USING proc_screen vbdkr-land1.
      CHECK retcode = 0.
    Formular aufbereiten
      PERFORM sd_invoice_suppl.
      CHECK retcode = 0.
    Formular schließen
      PERFORM form_close.
      CHECK retcode = 0.
    ENDFORM.                    "FORMULAR_INVOICE
          FORM GET_DATA                                                 *
          Daten besorgen                                                *
    FORM get_data.
    PERFORM vbdkr_data.    "Rechnungskopf und -liste
    PERFORM vbpla_data.    "Packliste
    ENDFORM.                    "GET_DATA
          FORM FORM_OPEN                                                *
          Formular öffnen                                               *
    -->  US_SCREEN  Output on screen                                   *
                     ' ' = printer                                      *
                     'X' = screen                                       *
    -->  US_COUNTRY County for telecommunication and SET COUNTRY       *
    FORM form_open USING us_screen us_country.
      DATA: xdevice(8) TYPE c.
      SET LANGUAGE nast-spras.
      CLEAR itcpo.
      MOVE-CORRESPONDING nast TO itcpo.
      itcpo-tdcover   = nast-tdocover.
      itcpo-tddest    = nast-ldest.
      itcpo-tddataset = nast-dsnam.
      itcpo-tdsuffix1 = nast-dsuf1.
      itcpo-tdsuffix2 = nast-dsuf2.
      itcpo-tdimmed   = nast-dimme.
      itcpo-tddelete  = nast-delet.
      itcpo-tdcopies  = nast-anzal.
      itcpo-tdprogram = sy-repid.
      itcpo-tdteleland = us_country.
      itcpo-tdsenddate = nast-vsdat.
      itcpo-tdsendtime = nast-vsura.
      IF us_screen NE space.
        itcpo-tdpreview = 'X'.
        itcpo-tdnoprint = 'X'.
      ENDIF.
      IF sy-tcode EQ 'J1IP'.
        itcpo-tdpreview = 'X'.
      ENDIF.
      CASE nast-nacha.
        WHEN '1'.
          xdevice = 'PRINTER'.
        WHEN '2'.
          xdevice = 'TELEFAX'.
          itcpo-tdtelenum = nast-telfx.
          IF nast-tland IS INITIAL.
            itcpo-tdteleland = us_country.
          ELSE.
            itcpo-tdteleland = nast-tland.
          ENDIF.
        WHEN '3'.
          xdevice = 'TELETEX'.
          itcpo-tdtelenum = nast-teltx.
          IF nast-tland IS INITIAL.
            itcpo-tdteleland = us_country.
          ELSE.
            itcpo-tdteleland = nast-tland.
          ENDIF.
        WHEN '4'.
          xdevice = 'TELEX'.
          itcpo-tdtelenum = nast-telx1.
          IF nast-tland IS INITIAL.
            itcpo-tdteleland = us_country.
          ELSE.
            itcpo-tdteleland = nast-tland.
          ENDIF.
        WHEN OTHERS.
          xdevice = 'PRINTER'.
      ENDCASE.
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          form           = tnapr-fonam
          language       = nast-spras
          OPTIONS        = itcpo
          archive_index  = toa_dara
          archive_params = arc_params
          device         = xdevice
          dialog         = ' '
        EXCEPTIONS
          OTHERS         = 1.
      IF sy-subrc NE 0.
        retcode = sy-subrc.
        PERFORM protocol_update.
      ENDIF.
      SET COUNTRY us_country.
    ENDFORM.                    "FORM_OPEN
          FORM FORM_CLOSE                                               *
          Formular schließen                                            *
    FORM form_close.
      CALL FUNCTION 'CLOSE_FORM'           "...Ende Formulardruck
           EXCEPTIONS OTHERS = 1.
      IF sy-subrc NE 0.
        retcode = 1.
        PERFORM protocol_update.
      ENDIF.
      SET COUNTRY space.
      SET LANGUAGE space.
    ENDFORM.                    "FORM_CLOSE
          FORM SD_INVOICE_SUPPL                                         *
          Rechnung aufbereiten                                          *
    FORM sd_invoice_suppl.
      CLEAR : wa_j_1iexchdr, wa_j_1iexcdtl, wa_lips,  wa_duties,
              gv_tot_amt.
    get data from excise header
      SELECT * FROM j_1iexchdr INTO TABLE it_j_1iexchdr
      WHERE exgrp = '31'
      AND rdoc = nast-objky
      AND trntyp = 'DLFC'
      AND lifnr = space
      AND docyr = rdocyr.
    AND exdat IN so_dat.
      SORT it_j_1iexchdr BY exdat exnum.
      READ TABLE it_j_1iexchdr INTO wa_j_1iexchdr INDEX 1.
      SELECT * FROM j_1iexcdtl INTO TABLE it_j_1iexcdtl
      FOR ALL ENTRIES IN it_j_1iexchdr
      WHERE exnum = it_j_1iexchdr-exnum
      AND trntyp = 'DLFC'
      AND docno = it_j_1iexchdr-docno.
      SORT it_j_1iexcdtl BY exdat exnum.
    LOOP AT it_j_1iexchdr INTO wa_j_1iexchdr.
    *open form
    PERFORM open_form USING  'ZSD_EXCINV' 1
                              'printer'  'X'.
      MOVE : wa_j_1iexchdr-exnum TO wa_header-exnum,
            wa_j_1iexchdr-exdat TO wa_header-exdat,
            wa_j_1iexchdr-rdoc TO wa_header-rdoc.
    get plant details
      SELECT SINGLE * FROM j_1iwrkcus INTO wa_j_1iwrkcus
      WHERE j_1iwerks = wa_j_1iexchdr-werks.
      SELECT SINGLE * FROM j_1iregset INTO wa_j_1iregset
      WHERE j_1iregid = wa_j_1iwrkcus-j_1iregid.
      SELECT adrnr INTO gv_plant_adrnr FROM t001w
      WHERE werks = wa_j_1iexchdr-werks.
      ENDSELECT.
      MOVE : wa_j_1iregset-j_1iexccd TO wa_header-exccd,
             wa_j_1iregset-j_1iexcrg TO wa_header-excrg,
             wa_j_1iregset-j_1iexcdi TO wa_header-excd1.
    get order no. from vbrk
      SELECT * INTO wa_vbrk FROM vbrk
      WHERE vbeln = wa_j_1iexchdr-rdoc.
      ENDSELECT .
      MOVE : wa_vbrk-bstnk_vf TO wa_header-bstnk_vf,
       wa_vbrk-zterm TO wa_header-zterm.
      SELECT vtext FROM tvzbt INTO gv_zterm
       WHERE zterm = wa_vbrk-zterm
       AND   spras = 'EN'.
      ENDSELECT.
    get nature of removal
      SELECT iever INTO lv_iever FROM eikp
      WHERE refnr = wa_vbrk-vbeln.
      ENDSELECT.
      SELECT SINGLE * FROM t618t INTO wa_t618t
      WHERE expvz = lv_iever
      AND   spras = 'E'.
       MOVE : lv_iever TO wa_header-iever.
    *get consignment weight.
      SELECT SINGLE * FROM vbrp INTO wa_vbrp
      WHERE vbeln = wa_vbrk-vbeln.
      READ TABLE it_j_1iexcdtl INDEX 1 INTO wa_j_1iexcdtl.
      SELECT btgew traid gewei INTO (lv_btgew, lv_traid, wa_header-meins) FROM likp
      WHERE vbeln = wa_j_1iexcdtl-rdoc1.
      ENDSELECT.
      MOVE : lv_btgew TO wa_header-btgew,
             lv_traid TO wa_header-traid.
              lv_weight to wa_header-meins.
    *get chapter id
      READ TABLE it_j_1iexcdtl INTO wa_j_1iexcdtl WITH KEY exnum = wa_j_1iexchdr-exnum .
      IF sy-subrc = 0.
        MOVE : wa_j_1iexcdtl-chapid TO wa_header-chapid,
               wa_j_1iexcdtl-maktx TO wa_header-maktx.
      ENDIF.
    *get customer details.
      SELECT adrnr FROM kna1 INTO gv_cust_adrnr
      WHERE kunnr = wa_j_1iexchdr-kunag.
      ENDSELECT.
      SELECT SINGLE * FROM j_1imocust INTO wa_j_cust
      WHERE kunnr = wa_j_1iexchdr-kunag.
    *write invoice header details
      PERFORM write_form  USING '' 'APPEND' 'BODY' 'LOCCODE' .
    *get data from excise details.
      LOOP AT it_j_1iexcdtl INTO wa_j_1iexcdtl.
        MOVE : wa_j_1iexcdtl-zeile TO wa_detail-zeile,
               wa_j_1iexcdtl-matnr TO wa_detail-matnr,
               wa_j_1iexcdtl-maktx TO wa_detail-maktx,
               wa_j_1iexcdtl-menge TO wa_detail-menge,
               wa_j_1iexcdtl-meins TO wa_detail-meins.
        SELECT  SINGLE * FROM vbrp INTO  wa_vbrp
            WHERE vbeln = wa_vbrk-vbeln
            AND   matnr = wa_j_1iexcdtl-matnr.
        SELECT kbetr kwert  FROM konv
        INTO (wa_detail-rate, wa_detail-amount)
        WHERE knumv = wa_vbrk-knumv
        AND   kposn = wa_vbrp-posnr
        AND  kschl  = 'ZPR0'.
        ENDSELECT.
        SELECT kwert  FROM konv
        INTO lv_ins
        WHERE knumv = wa_vbrk-knumv
        AND   kposn = wa_vbrp-posnr
        AND  kschl  = 'ZINS'.
        ENDSELECT.
        SELECT kwert  FROM konv
        INTO lv_fre
        WHERE knumv = wa_vbrk-knumv
        AND   kposn = wa_vbrp-posnr
        AND  kschl  = 'ZFRE'.
        ENDSELECT.
         wa_detail-fob = wa_detail-amount + lv_ins + lv_fre.
        gv_tot_amt = gv_tot_amt + wa_detail-amount.
       gv_amount  =   gv_amount + wa_detail-amount.
    write item details
        PERFORM write_form  USING 'LINE_ITEMS' 'SET' 'BODY' 'MAIN' .
      ENDLOOP.
    **get insurance .
    SELECT kwert INTO lv_ins FROM konv
    WHERE knumv = wa_vbrk-knumv
    AND  kschl = 'ZINS'.
    ENDSELECT.
    **get freight .
    SELECT kwert INTO lv_fre FROM konv
    WHERE knumv = wa_vbrk-knumv
    AND  kschl = 'ZFRE'.
    ENDSELECT.
    **get net value .
       MOVE wa_vbrk-netwr TO wa_costs-grandtot.
    **calculate netvalue(fobvalue)
       wa_costs-fobval = wa_costs-grandtot + wa_costs-insurance + wa_costs-freight.
    gv_tot_amt = gv_tot_amt + lv_ins + lv_fre.
    *get values for different condition types.
    SELECT kbetr INTO wa_duties-zpr0  FROM konv
    WHERE knumv = wa_vbrk-knumv
    AND   kposn = wa_vbrp-posnr
    AND  kschl  = 'ZPR0'.
    ENDSELECT.
      SELECT kwert  INTO wa_duties-jadc FROM konv
      WHERE knumv = wa_vbrk-knumv
       AND   kposn = wa_vbrp-posnr
      AND  kschl  = 'JADC'.
        temp = temp + wa_duties-jadc.
        CLEAR : wa_duties-jadc.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jadc.
      CLEAR : temp.
       wa_duties-st1 = wa_duties-zpr0 + wa_duties-jadc.
      SELECT kwert  INTO wa_duties-jexp FROM konv
       WHERE knumv = wa_vbrk-knumv
        AND   kposn = wa_vbrp-posnr
       AND  kschl  = 'JEXP'.
        temp = temp + wa_duties-jexp.
        CLEAR : wa_duties-jexp.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jexp.
      CLEAR : temp.
      SELECT kwert  INTO wa_duties-jecs FROM konv
        WHERE knumv = wa_vbrk-knumv
       AND   kposn = wa_vbrp-posnr
        AND  kschl  = 'JECS'.
        temp = temp + wa_duties-jecs.
        CLEAR : wa_duties-jecs.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jecs.
      CLEAR : temp.
      wa_duties-st3 =  gv_tot_amt + wa_j_1iexchdr-exbed + wa_j_1iexchdr-ecs.
      SELECT kwert  INTO wa_duties-jetc FROM konv
            WHERE knumv = wa_vbrk-knumv
             AND   kposn = wa_vbrp-posnr
            AND  kschl  = 'JETC'.
        temp = temp + wa_duties-jetc.
        CLEAR : wa_duties-jetc.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jetc.
      CLEAR : temp.
       wa_duties-st3 =  wa_duties-zpr0 + wa_duties-st2 + wa_duties-jetc.
      SELECT kwert  INTO wa_duties-jsad FROM konv
      WHERE knumv = wa_vbrk-knumv
       AND   kposn = wa_vbrp-posnr
      AND  kschl  = 'JSAD'.
        temp = temp + wa_duties-jsad.
        CLEAR : wa_duties-jsad.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jsad.
      CLEAR : temp.
      SELECT kbetr kwert  INTO (wa_duties-jeap_per, wa_duties-jeap) FROM konv
      WHERE knumv = wa_vbrk-knumv
       AND   kposn = wa_vbrp-posnr
      AND  kschl  = 'JEAP'.
        temp = temp + wa_duties-jeap.
        CLEAR : wa_duties-jeap.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jeap.
      CLEAR : temp.
      wa_duties-jeap_per = wa_duties-jeap_per / 10.
      SELECT kbetr kwert INTO (wa_duties-zeap_per, wa_duties-zeap) FROM konv
      WHERE knumv = wa_vbrk-knumv
       AND   kposn = wa_vbrp-posnr
      AND  kschl  = 'ZEAP'.
        temp = temp + wa_duties-zeap.
        CLEAR : wa_duties-zeap.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zeap.
      CLEAR : temp.
      wa_duties-zeap_per = wa_duties-zeap_per / 10.
             (st2jetcjsad)
       wa_duties-st4 =   wa_duties-st2 + wa_duties-jetc + wa_duties-jsad.
             (zpr0+st4)
       wa_duties-st5 =   wa_duties-zpr0 + wa_duties-st4 .
       SELECT kbetr  INTO wa_duties-vat FROM konv
             WHERE knumv = wa_vbrk-knumv
             AND   kposn = wa_vbrp-posnr
             AND  kschl  = 'VAT'.
       ENDSELECT.
      SELECT kbetr kwert INTO (wa_duties-vat_per, wa_duties-vat_val) FROM konv
            WHERE knumv = wa_vbrk-knumv
           AND   kposn = wa_vbrp-posnr
            AND  kschl  = 'ZVAT'.
        temp = temp + wa_duties-vat_val.
        CLEAR : wa_duties-vat_val.
      ENDSELECT.
      MOVE  : temp TO wa_duties-vat_val.
      CLEAR : temp.
      wa_duties-vat_per = wa_duties-vat_per / 10.
      SELECT kbetr kwert INTO (wa_duties-zcst_per, wa_duties-zcst_val) FROM konv
           WHERE knumv = wa_vbrk-knumv
           AND   kposn = wa_vbrp-posnr
           AND  kschl  = 'ZCST'.
        temp = temp + wa_duties-zcst_val.
        CLEAR : wa_duties-zcst_val.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zcst_val.
      CLEAR : temp.
      wa_duties-zcst_per = wa_duties-zcst_per / 10.
      SELECT kbetr kwert INTO (wa_duties-zlst_per, wa_duties-zlst_val) FROM konv
            WHERE knumv = wa_vbrk-knumv
           AND   kposn = wa_vbrp-posnr
            AND  kschl  = 'ZLST'.
        temp = temp + wa_duties-zlst_val.
        CLEAR : wa_duties-zlst_val.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zlst_val.
      CLEAR : temp.
      wa_duties-zlst_per = wa_duties-zlst_per / 10.
             (st5+vat)
       wa_duties-st6 =   wa_duties-vat_val + wa_duties-st5 .
      SELECT kwert  INTO wa_duties-zint FROM konv
            WHERE knumv = wa_vbrk-knumv
             AND   kposn = wa_vbrp-posnr
            AND  kschl  = 'ZINT'.
        temp = temp + wa_duties-zint.
        CLEAR : wa_duties-zint.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zint.
      CLEAR : temp.
      SELECT kwert  INTO wa_duties-jead FROM konv
               WHERE knumv = wa_vbrk-knumv
               AND   kposn = wa_vbrp-posnr
               AND  kschl  = 'JEAD'.
        temp = temp + wa_duties-jead.
        CLEAR : wa_duties-jead.
      ENDSELECT.
      MOVE  : temp TO wa_duties-jead.
      CLEAR : temp.
      SELECT kbetr kwert  INTO (wa_duties-zect_per, wa_duties-zect) FROM konv
            WHERE knumv = wa_vbrk-knumv
             AND   kposn = wa_vbrp-posnr
            AND  kschl  = 'ZECT'.
        temp = temp + wa_duties-zect.
        CLEAR : wa_duties-zect.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zect.
      CLEAR : temp.
      wa_duties-zect_per = wa_duties-zect_per / 10.
      SELECT kwert  INTO wa_duties-zsad FROM konv
        WHERE knumv = wa_vbrk-knumv
         AND   kposn = wa_vbrp-posnr
        AND  kschl  = 'ZSAD'.
        temp = temp + wa_duties-zsad.
        CLEAR : wa_duties-zsad.
      ENDSELECT.
      MOVE  : temp TO wa_duties-zsad.
      CLEAR : temp.
      IF wa_vbrk-kalsm = 'ZINSCR'.
        wa_duties-total = gv_tot_amt
                       + wa_duties-jexp
                       + wa_duties-jecs
                       + wa_duties-zlst_val
                       + wa_duties-zint
                     + wa_duties-jead
                       + wa_duties-vat_val
                       + wa_duties-zcst_val.
                     + wa_duties-jecs
                     + wa_duties-zeap
                     + wa_duties-zecs
                     + wa_duties-zsad
                     + wa_duties-jadc.
      ELSEIF wa_vbrk-kalsm = 'ZINFAC'.
        wa_duties-total = gv_tot_amt
                       + wa_duties-jexp
                       + wa_duties-jecs
                       + wa_duties-zlst_val
                       + wa_duties-zint
                       + wa_duties-jeap
                       + wa_duties-vat_val
                       + wa_duties-zcst_val
                     + wa_duties-jecs
                       + wa_duties-zeap
                       + wa_duties-zect.
                     + wa_duties-zsad
                     + wa_duties-jadc.
      ENDIF.
    Get Condition descriptions.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZVAT' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_vat.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZVAT' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_vat.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZLST' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_zlst.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZCST' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_zcst.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZECT' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_zect.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'ZEAP' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_zeap.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'JETC' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_jetc.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'JEAP' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_jeap.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'JECS' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_jecs.
      CLEAR wa_t685t.
      SELECT SINGLE * FROM t685t INTO wa_t685t
      WHERE kschl = 'JADC' AND spras = 'EN'.
      MOVE wa_t685t-vtext TO gv_jadc.
      CLEAR wa_t685t.
       gv_ecsduty = wa_j_1iexchdr-exbed * ( c_ecs / 100 ).
      cen_amt = wa_duties-jexp + wa_duties-jeap.
      gv_tot_cen_amt = cen_amt + wa_duties-jecs.
      MOVE wa_j_1iexchdr-remtime TO wa_duties-remtime.
      MOVE wa_j_1iexchdr-exdat TO wa_duties-exdat.
    Convert amount to words.
      CALL FUNCTION 'SPELL_AMOUNT'
        EXPORTING
          amount    = wa_duties-total
          currency  = 'INR '
          filler    = space
          language  = sy-langu
        IMPORTING
          in_words  = in_words
        EXCEPTIONS
          not_found = 1
          too_large = 2
          OTHERS    = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      MOVE : in_words-word TO word,
           in_words-decword TO decword.
    write  duty details
      IF wa_vbrk-kalsm = 'ZINSCR'.
        PERFORM write_form USING 'ZINSCR' 'APPEND' 'BODY' 'GRANDTOT' .
      ELSEIF  wa_vbrk-kalsm = 'ZINFAC'.
        PERFORM write_form USING 'ZINFAC' 'APPEND' 'BODY' 'GRANDTOT' .
      ENDIF.
    *close form
       PERFORM close_form.
    ENDLOOP.
    ENDFORM.                    "SD_INVOICE_SUPPL
          FORM FORM_TITLE_PRINT                                         *
          Formulartitel entsprenchend des Feldes VBTYP drucken          *
    FORM form_title_print.
      CASE vbdkr-vbtyp.
        WHEN 'M'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
             element = 'TITLE_M'
              window  = 'HEADER'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN 'N'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_N'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN 'O'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_O'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN 'P'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_P'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN 'S'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_S'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN 'U'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_U'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
        WHEN OTHERS.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'TITLE_M'
              window  = 'TITLE'
            EXCEPTIONS
              element = 1
              window  = 2.
          IF sy-subrc NE 0.
            PERFORM protocol_update.
          ENDIF.
      ENDCASE.
      IF repeat NE space.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'REPEAT'
            window  = 'REPEAT'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ENDIF.
    ENDFORM.                    "FORM_TITLE_PRINT
          FORM REFERENCE_NUMBER                                         *
          Referenznummer ausgeben                                       *
    FORM reference_number.
      CHECK vbdkr-vbtyp CA 'MUN'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          window = 'INVOICE'
        EXCEPTIONS
          window = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ENDFORM.                    "REFERENCE_NUMBER
          FORM HEADER_TEXT_PRINT                                        *
          Kopftexte ausgeben                                            *
    FORM header_text_print.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'HEADER_TEXT'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ENDFORM.                    "HEADER_TEXT_PRINT
          FORM ITEM_PRINT                                               *
          Rechnungsposition ausgeben                                    *
    FORM item_print.
    Kopieren LVBPLP für direkt Zugriff
      LOOP AT lvbplp.
        MOVE-CORRESPONDING lvbplp TO tvbplp.
        APPEND tvbplp.
      ENDLOOP.
      LOOP AT tvbdpr.
        vbdpr = tvbdpr.
        IF tvbdpr-charg IS INITIAL.
          PERFORM get_item_prices.
          PERFORM get_item_characteristics.
          CALL FUNCTION 'CONTROL_FORM'
            EXPORTING
              command = 'PROTECT'.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              element = 'ITEM_LINE'.
          PERFORM item_price_print.
          PERFORM item_characteristics_print.
          CALL FUNCTION 'CONTROL_FORM'
            EXPORTING
              command = 'ENDPROTECT'.
          PERFORM different_consignee.
          PERFORM different_order_no.
          PERFORM different_delivery_no.
          PERFORM different_extern_no.
          PERFORM different_purchase_order_no.
          PERFORM item_packing_print.
        ELSE.
          IF NOT tvbdpr-fkimg IS INITIAL.
            PERFORM get_item_prices.
            PERFORM item_price_print.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "ITEM_PRINT
          FORM ITEM_PACKING_PRINT                                       *
          Verpackung zu einer Position ausgeben                         *
    FORM item_packing_print.
      DATA: count LIKE sy-index.
      DATA: BEGIN OF hvbplp OCCURS 0,
              stufe     TYPE i.
              INCLUDE STRUCTURE vbplp.
      DATA: END OF hvbplp.
      DATA: vs_element LIKE vbplp-venum.
      CLEAR   hvbplp.
      REFRESH hvbplp.
    Aufbau Versandelementstruktur für Ausgabe
      LOOP AT tvbplp WHERE vbeln = vbdkr-vbeln AND posnr = tvbdpr-posnr.
        hvbplp-stufe = 1.
        MOVE-CORRESPONDING tvbplp  TO hvbplp.
        APPEND hvbplp.
        vs_element = tvbplp-venum.
        IF vs_element EQ ' '. EXIT. ENDIF.         "unverpackt
        CLEAR lvbplk.
        WHILE lvbplk-kzobe NE 'X'.       "nicht oberstes VS-Ele
          suchen übergeordnetes Versandelement
          LOOP AT lvbplp WHERE unvel = vs_element.
            hvbplp-stufe = hvbplp-stufe + 1.
            MOVE-CORRESPONDING lvbplp  TO hvbplp.
            APPEND hvbplp.
            EXIT.
          ENDLOOP.
          vs_element = lvbplp-venum.
          lesen übergeordnetes Versandelement
          READ TABLE lvbplk WITH KEY vs_element.
          IF sy-subrc NE 0.
            EXIT.
          ENDIF.
        ENDWHILE.
      ENDLOOP.
      SORT hvbplp BY stufe venum.
      CLEAR vbplp.
      LOOP AT hvbplp.
        lesen Versandelement
        CLEAR vbplk.
        CLEAR vbpls.
        IF hvbplp-venum EQ ' '.

    Hi,
    SAPScript addresses are formated by postal standards...irrespective of the data populated....
    In line
    /: ADDRESS PARAGRAPH LZ
    change to
    /: ADDRESS DELIVERY PARAGRAPH LZ
    that should bring the street into the address
    Regards
    Stu

  • Problem in displaying the data of columns into rows in sap script

    hi,
    i am working on a sap script and i have to display the dat which is displayed in column into rows but it is not displaying it properly.
    eg, C
        12.1
        Si
        5.5
    it is displaying the data right now like this but i want to display the  data like this:-
    eg, C      Si
        12.1   5.5
    plzzprovide me guidelines how to solve this problem.

    hi,
    i am using this code to display the data:-
    plzz provide me guidelines where i am getting wrong?
    TOPparCOMPONENT DESP,,,,,, INS. LOT #, , , , , , MIC,,,,,,,,,, MIC VALUEparENDTOPparFINAL
    PROTECT
    IF &I_FINAL-PRUEFLOS& NE '000000000000'
    &I_FINAL-MAKTX(23)&&i_final-prueflos(12Z)&
    &I_FINAL-kurztext(25)&
    &I_FINAL-original_input(8)&
    ELSE
    &I_FINAL-MAKTX(23)&     
    &I_FINAL-kurztext(25)&
    &I_FINAL-original_input(8)&
    ENDIF
    ENDPROTECT
    ITEMHEAD
    POSITION WINDOW
    SIZE WIDTH +0 . 4 CH HEIGHT +1 LN
    BOX FRAME 10 TW
    BOX HEIGHT '1.35' LN INTENSITY 20
    IF &PAGE& = '1'
    BOX XPOS '0' CH YPOS '0' CM WIDTH '0' CM HEIGHT '43' LN FRAME '10' TW
    For horizontal line at top
    BOX XPOS '0' CH YPOS '0' CM WIDTH '75' CH HEIGHT '0' LN FRAME '10' TW
    COLUMN LINES...
    END OF COLUMN LINES...
    BOX XPOS '0' CH YPOS '43' LN WIDTH '75' CH HEIGHT '0' LN FRAME '10'TW
    BOX XPOS '75' CH YPOS '0' LN WIDTH '0' CH HEIGHT '43' LN FRAME '10'TW
    ELSE
    COLUMN LINES...
    END OF COLUMN LINES...
    BOX XPOS '0' CH YPOS '0' CM WIDTH '0' CM HEIGHT '47' LN FRAME '10' TW
    BOX XPOS '0' CH YPOS '0' CM WIDTH '75' CH HEIGHT '0' LN FRAME '10' TW
    BOX XPOS '0' CH YPOS '0' CM WIDTH '45' CM HEIGHT '0' LN FRAME '10' TW
    BOX XPOS '20' CH YPOS '0' CM WIDTH '0' CM HEIGHT '47' LN FRAME '10' TW
    BOX XPOS '0' CH YPOS '47' LN WIDTH '75' CH HEIGHT '0' LN FRAME '10'TW
    BOX XPOS '75' CH YPOS '0' LN WIDTH '0' CH HEIGHT '47' LN FRAME '10'TW
    ENDIF
    LINEFEED
    NEWPAGE
    NEW-PAGE
    provide me guidelines to solve this problem.
    Edited by: ricx .s on Mar 13, 2009 5:58 AM

  • Problem in address printing in sap script in Russian language

    hi all
    I am trying to get a PO output using a sap script. The problem is that the vendor address in not coming in the required Russian language. The language in PO is Russian and the logon langauge is also Russian.
    The script uses ADDRESS ENDADDRESS statement to print the address in form. This statement
    uses the function module ADDRESS_INTO_PRINTFORM to print the address. The address can be obtained in the required language from this function module but I want the address in Russian language uses the ADDRESS ENDADDRESS statement.
    Please let me know if any body has faced this kind of problem earlier.
    Thanks.

    Hi,
    pls check that u have provided the following parameters in ADDRESS ENDADDRESS.
    /:address
    /:COUNTRY recipient country [language code]
    /: COUNTRY_IN_REC_LANG
    /: LANG_FOR_COUNTRY language key
    /:endaddress
    language codes can be know in table T002.
    Hopes this helps!!
    thanks

  • Problem in SAP-Script

    Hi All,
    I am creating one report form using SAP Script, it is a replacement of standard SAP Script and which uses standard driver program. I am getting one dump while running SAP Script, it shows like "variable with name 'XXX' has not been used in so and so window".
    In that window there is a code block like,
    /: IF XXX == 'yes'
    /: ENDIF
    As I dont want this block I have commented this like,
    /* IF XXX == 'yes'
    /* ENDIF
    Please let me know how to overcome this short-dump and provide solution why such dump is comming?
    <<removed by moderator>>
    Edited by: kishan P on Sep 13, 2010 4:19 PM

    Hi,
    This is one of the problem of Standard SAP Script driver program, we can over come easily, we no need to comment anything rather do follow the code you can easily solve your issue, I also face the same issue previously.
    your code is,
    /: IF XXX = 'Yes'
    /: ENDIF
    like this means, then change the code like this,
    /: IF 1 = 2
    /: IF XXX = 'Yes'
    /: ENDIF
    /: ENDIF
    here, you didnt write any comment, also the code will never execute.
    Why we are doing this means, driver program expects particular variable has to be used in particular window, but it never expects that variable has to be executed. By using this code you can use the variable also it will never be executed.
    Hope it will be helpful. If you find any other solution please let me know, Thank you:)

  • Problem in SAP Script Printing

    Hi All,
    We are having a very strange problem while passing the data in SAP Script.Actually we are doing the Script of Payment Advice(FI/CO),but while calling the Function Module 'RSPO_RID_SPOOLREQ_LIST' in the driver program the values are lost.I have debugged it but right after the execution of 'RSPO_RID_SPOOLREQ_LIST' when the spool is generated, the variables are lost with the data they contain!!!As a result nothing are coming in Payment Advice Script.
    Can anyone plz help me out!!!
    Thx in advance.
    Regds.
    Atrai.

    Hi,
    You have to ensure that its called only in case of print and not otherwise and may be this piece of code helps:
            check tab_ausgabe-spoolnr ne space.
            refresh up_list.
            up_list-id = tab_ausgabe-spoolnr.
            append up_list.
            call function 'RSPO_RID_SPOOLREQ_LIST'
                 exporting
                      id_list = up_list[]
                 exceptions
                      others  = 0.
    Regards,
    Satya

  • PRoblem in SAP Script Address Comand

    HI Frnds,
    I am using Address command to display Vendor Address in SAP Script.
    But I am facing problem like that vendor's post code is display first rather then City name and after PO code.
    I have change alignment to display format for City and PO Code display. But it also gives same error.
    Kindly Help me out for this problem.
    Regards,
    PRiyank

    I am using same format.. then also gives such display in output as: First City then POstal code
    my code:
    /:   ADDRESS DELIVERY PARAGRAPH AN                      
    /:   NAME    &LFA1-NAME2&, &LFA1-NAME3&, &LFA1-NAME4&   
    /:   STREET   &LFA1-STRAS&                              
    /:   CITY     &LFA1-ORT01&, &LFA1-ORT02&                
    /:   POSTCODE &LFA1-PSTLZ&                              
    /:   COUNTRY  &LFA1-LAND1&                              
    /:   REGION   &LFA1-REGIO&                              
    /:   ENDADDRESS

  • HI, Alignment Problem in SAP Script

    Hi Friends
    I am working on SAP Script, I have the problem alignment, in the first row I need to show 8 values,
    among them all the times length is not same, so my script is not displaying in proper alignment,
    I have tried with all the ways which I known, specifying the length, and using (*), but still it is not
    coming properly, is there any method to specify the position exactly like as in reposrting.
    Please help me in this, this is very urgent.
    Thanks and Regards
    Praveeb

    Hi Nagesh
    Thanks for your reply,
    I am displaying in the first row,  here I am mentioning the filed and lenght of the field
    1) Date(10)
    2) Reference No(16), .
    3) Fiscal Year(4),
    4) Internal Reference(3),
    5) Item Text (50)
    6) Due Date (10)
    7) Original Currency(3)
    8) Amount (18).
    In the field item text length is vary from each entry, it wont be static all the times, if one customer having having 10 records, all ten line items are not coming in the proper order, after displaying the item text, remaining fields are running out from the alignment. I am using tab space as 2 characters, I kept even so many conditions on the item text lenght, but still there are problems. I tried with specifying the length in
    the script for the symbols also no use and I passed (*), this is also not working properly. Here I am sending the code of my script. Please have a look and give me a suggestion please.
    bold Heading bold
    Date,,,,  ACR Ref No,,,,  UW-  Inst- Cedant,,,,,,,,,,
         ,,,,,,,,,,,,Due Date,,,, Original-,,,,Amount
         &wa_final-date(10)&,,&wa_final-xblnr(16)&,,&w_year(4)&,,
         &wa_final-xref1(3)&,,&wa_final-sgtxt(50)&
         ,,,,,,,,&wa_final-zfbdt(10)&,,,,&wa_final-waers(6)&,,,,&w_amt3(18)&
           &wa_final-date(*)&,,&wa_final-xblnr(*)&,,&w_year(4)&,,
         &wa_final-xref1(3)&,,&wa_final-sgtxt(*)&
         ,,,,,,,,&wa_final-zfbdt(*)&,,,,&wa_final-waers(*)&,,,,&w_amt3(*)&

  • Long text problem in sap script

    Hi Experts,
    I have craeted sap script for payment print progrem.. in my sap script one window is text window... client want more then 300 char for that window. for that i use read_text function module... its working fine... but problem is it retrive only one line from long text editor. only 70 char i got.
    below is my coding......
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        ID                            = '0001'
        LANGUAGE                      = sy-langu
        NAME                          = NAME
        OBJECT                        = 'DOC_ITEM'
      TABLES
        LINES                         = LINES          .
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT LINES.
      n = 0.
      l = 132.
      text+n(l) = lines-tdline.
      n = n + 132.
      l = l + 132.
    ENDLOOP.
    in sap script i have direct pass lines-tdline
    *&lines-tdline&
    Please suggest me which point i missing?
    Thanks
    Jigar

    Hi All,
    The standard text will be stored in Name = ORDCONF_TEXT_(sales org)_(distributionchannel)_(division)
    Text ID = ZSD
    Examples: ORDCONF_TEXT_4000_01_01 , ORDCONF_TEXT_4000_01_80 , ORDCONF_TEXT_1000_01_01.
    Requirement :
    The print program /form will need to pick up the appropriate standard text based on the Sales Area (combination of Sales Org / Distribution Center / Division) of the sales order [VBAK-VKORG / VTWEG / SPART], provided a standard text has been created for that Sales Area. Itu2019s not required that every sales area have a standard text, so if one is not found, this step should be skipped and the rest of the print program executed.
    The new text should print after 2 blank lines after the Printable Notes text (which is after the line items and the Total Net Price prints).
    The font should be the same size as the Printable Notes, but bolded rather than italicized.
    The text should print in the same columns as the Printable Notes currently print in (Material Description / Scheduled Ship Date / Quantity) .
    So the logic i have used is this below code:
    I used a subroutine in the layout of the main window becoz i need to print it in the main window below after 2 blank lines of line items.
    This is logic in the layout:
    /:PERFORM GET_OBJECT IN PROGRAM ZSDRP001_ORD_CONF_IRE
    /:USING &VBDKA-VBELN&
    /:CHANGING &ORDCONF_TEXT&
    /:ENDFORM
    /:INCLUDE &ORDCONF_TEXT& OBJECT TEXT ID ZSD PARAGRAPH A1
    I called this subroutine in the print program:
    Logic in the print program:
    FORM GET_OBJECT TABLES INPUT_TAB STRUCTURE ITCSY
                                                 OUTPUT_TAB STRUCTURE ITCSY.
    DATA : TMP_VBELN LIKE vbdka-VBELN,
                TMP_VKORG LIKE VBAK-VKORG,
                TMP_VTWEG LIKE VBAK-VTWEG,
               TMP_SPART LIKE VBAK-SPART,
               TMP_TXNAM1(40) TYPE C VALUE 'ORDCONF_TEXT',
               TMP_TXNAM2(100) TYPE C.
    DATA: v_text LIKE tline-tdline.
    DATA : P_V_TEXT LIKE tline-tdline.
    CLEAR : TMP_TXNAM1, TMP_TXNAM2, TMP_VBELN, TMP_VKORG, TMP_VTWEG, TMP_SPART.
    READ TABLE INPUT_TAB WITH KEY NAME = 'vbdka-VBELN'.
    IF SY-SUBRC = 0.
    tmp_vbeln = input_tab-value.
    ENDIF.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING INPUT = TMP_VBELN
    I
    MPORTING OUTPUT = TMP_VBELN .
    CLEAR VBAK.
    SELECT SINGLE VKORG VTWEG SPART INTO (TMP_VKORG, TMP_VTWEG, TMP_SPART)
                                            FROM VBAK WHERE VBELN EQ TMP_VBELN.
    IF NOT TMP_VKORG IS INITIAL
    AND NOT TMP_VTWEG IS INITIAL
    AND NOT TMP_SPART IS INITIAL.
    CONCATENATE TMP_TXNAM1 TMP_VKORG tmp_vtweg tmp_spart into TMP_TXNAM2 SEPARATED BY '_'.
    endif.
    CONDENSE TMP_TXNAM2 NO-GAPS.
    PERFORM read_order_text USING TMP_TXNAM2 CHANGING v_text.
    READ TABLE output_tab WITH KEY NAME = 'ORDCONF_TEXT'.
    IF SY-SUBRC = 0.
    output_tab-value = P_V_TEXT.
    MODIFY output_tab index sy-tabix.
    endif.
    endform.
    FORM READ_ORDER_TEXT USING P_TMP_TXNAM2 CHANGING P_V_TEXT LIKE tline-tdline.
    DATA: ztdid LIKE thead-tdid,
              zlang LIKE thead-tdspras,
              zobj LIKE thead-tdobject,
              zname LIKE thead-tdname.
    DATA: tlines TYPE STANDARD TABLE OF tline WITH HEADER LINE
              thead LIKE thead.
    CLEAR P_V_TEXT.
    ztdid = 'ZSD'.
    zlang = 'E'.
    zobj = 'TEXT'.
    zname = P_TMP_TXNAM2.
    CLEAR tlines.
    REFRESH tlines.
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    object = zobj
    name = zname
    id = ztdid
    language = zlang
    IMPORTING
    header = thead
    TABLES
    lines = tlines
    EXCEPTIONS
    id = 1
    language = 2
    name = 3
    not_found = 4
    object = 5
    reference_check = 6
    wrong_access_to_archive = 7
    OTHERS = 8.
    LOOP AT tlines WHERE NOT tdline IS INITIAL.
    MOVE tlines-tdline TO P_V_TEXT.
    ENDLOOP.
    ENDFORM.
    But still its not getting printed .Plz tell me where i am going wrong.
    Thanks,
    Suman

Maybe you are looking for