Scripts : ITCSY STRUCURE

Hi,
2 parameters used in itcsy structure explain them?
thanks

1. This structure ITSCSY
(which is actually of type ITCSY)
2. is usually used in SAPSCRIPT (SE71)
while calling EXTERNAL SUBROUTINES.
3. the DEFINITION of this
FORM,
contains two parameters, IN and OUT,
which are of tuype ITCSY
4. These internal tables, then , contain
the
VARIABLENAME, AND VARIABLE VALUE,
which is passed using PERFORM.
You can call a Routine in any program in SAPScript.
For eg: if you have a subroutine named ADD_INCOME in a program ZSHAIL_BASIC, you can call the subroutine in SAPScript as follows:
/: PERFORM ADD_INCOME IN PROGRAM ZSHAIL_BASIC
/: USING &var1&
/: CHANGING &var2&
/: ENDPERFORM.
Here the input parameter to the subroutine is var1 and the value returned by the subroutine is var2.
In the program ZSHAIL_BASIC, you have to call the subroutine as
FORM ADD_INCOME TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
ENDFORM.
IN_TAB is a structure of type ITCSY,which has 2 components, NAME and value.
So in the program, var1(which is sent from SAPScript) , will be stored as IN_TAB-NAME and its value will be in IN_TAB-VALUE. You can utilise the IN_TAB-VALUE and after performing the required operations, the return value should be assigned to table OUT_TAB.
This value can thus be obtained in var2 specified in SAPScript.
Regards,
Santosh

Similar Messages

  • Script itcsy structure problem

    HI Friends,
    Using ITCSy structure , when i try to add fields its not picking up the data .
    please can any body help in this ..
    if any body have any sample program please send it to me.
    Here my requirement is to add two new fields (bkpf-bktxt,bseg-sgtxt) in main window of script.
    im declaring my perform like this:
    perform <formname> in program <prog name>
    using &bsik-blnr&
    changing &v_y&.
    my report form look like this:
    *& Report ZFI_VENDOR
    REPORT ZFI_VENDOR.
    TABLES : bsik,bkpf.
    data:v_y type bkpf-bktxt,
    v_z type bseg-sgtxt,
    x(20) type c .
    Form Z_HEADER tables INPUT STRUCTURE ITCSY
    tables OUTPUT STRUCTURE ITCSY .
    break-point.
    CLEAR : v_y,
    x.
    loop at input WHERE NAME = 'BELNR'.
    x = INPUT-VALUE .
    select single bktxt from bkpf into v_y where belnr = x.
    select single sgtxt from bseg into v_z where belnr = x.
    endloop .
    output-name = 'bktxt'.
    output-value = v_y.
    append output.
    *output-name = 'sgtxt'.
    *output-value = v_z.
    *append output.
    please cany body can guide me in abvoe what is problem...
    its very urgent.
    Good solutions will get good reward points.
    Regards,
    Vamsi

    Hi Vamsi,
    Please try like this....
    Loop at input where NAME = 'BSIK-BELNR'. " since you have used 'bsik-belnr' in the using clause in the script.
    Endloop.
    Also in the changing clause since you have used 'v_y' you should use the same in NAME of output...
    OUTPUT-NAME = 'v_y'
    try like this you should be able to get.
    Reward if helpful
    Thanks & Regards,
    Anil

  • Scripts -ITCSY ?

    what is ITCSY Structure ? y r u using this ?

    Hi,
    1. This structure ITSCSY
    (which is actually of type ITCSY)
    2. is usually used in SAPSCRIPT (SE71)
    while calling EXTERNAL SUBROUTINES.
    3. the DEFINITION of this
    FORM,
    contains two parameters, IN and OUT,
    which are of tuype ITCSY
    4. These internal tables, then , contain
    the
    VARIABLENAME, AND VARIABLE VALUE,
    which is passed using PERFORM.
    You can call a Routine in any program in SAPScript.
    For eg: if you have a subroutine named ADD_INCOME in a program ZSHAIL_BASIC, you can call the subroutine in SAPScript as follows:
    /: PERFORM ADD_INCOME IN PROGRAM ZSHAIL_BASIC
    /: USING &var1&
    /: CHANGING &var2&
    /: ENDPERFORM.
    Here the input parameter to the subroutine is var1 and the value returned by the subroutine is var2.
    In the program ZSHAIL_BASIC, you have to call the subroutine as
    FORM ADD_INCOME TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
    ENDFORM.
    IN_TAB is a structure of type ITCSY,which has 2 components, NAME and value.
    So in the program, var1(which is sent from SAPScript) , will be stored as IN_TAB-NAME and its value will be in IN_TAB-VALUE. You can utilise the IN_TAB-VALUE and after performing the required operations, the return value should be assigned to table OUT_TAB.
    This value can thus be obtained in var2 specified in SAPScript.
    Refer
    https://forums.sdn.sap.com/click.jspa?searchID=11491102&messageID=1538230
    Regards
    Kiran Sure

  • Adding in Select statement for SAPscript printout

    Hi everyone,
    I have a new requirement where i would need to output a new field in a sapscript printout.
    A summary of the requirements is as follows:
    -> If EKPO-PSTYP = '3'
       -> select RSNUM
          from EKET
          where EKET-EBELN = EKPO-EBELN and
                EKET-EBELP = EKPO-EBELP
       -> select MATNR
          from RESB
          where RESB-RSNUM = EKET-RSNUM
       -> display RESB-MATNR in printout
    At the moment, the sapscript is only reading from table EKPO, whereas for the new requirement to work, i'll also need to read from table EKET and RESB. Am i right to understand that sapscript cannot read SELECT statements directly from the Change Editor and i would need to do a PERFORM statement?
    The question now is, where do i put this part of the logic? Any ideas?
    Message was edited by: Bernard Loh

    Hi,
    Write a PERFORM in your script.
      PERFORM GET_MATNR IN PROGRAM Z_SUBROTINEPOOL
                        USING W_EBELN W_EBELP
                        CHANGING W_MATNR
      ENDPERFORM.
      And check the following to write the FORM in the Z program.
    The structure ITCSY is used in relation with SAPScripts. You can call a Routine in any program in SAPScript.
    For eg: if you have a subroutine named ADD_INCOME in a program ZSHAIL_BASIC, you can call the subroutine in SAPScript as follows:
    /: PERFORM ADD_INCOME IN PROGRAM ZSHAIL_BASIC
    /: USING &var1&
    /: CHANGING &var2&
    /: ENDPERFORM.
    Here the input parameter to the subroutine is var1 and the value returned by the subroutine is var2.
    In the program ZSHAIL_BASIC, you have to call the subroutine as
    FORM ADD_INCOME TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
    ENDFORM.
    IN_TAB is a structure of type ITCSY,which has 2 components, NAME and value.
    So in the program, var1(which is sent from SAPScript) , will be stored as IN_TAB-NAME and its value will be in IN_TAB-VALUE. You can utilise the IN_TAB-VALUE and after performing the required operations, the return value should be assigned to table OUT_TAB.
    This value can thus be obtained in var2 specified in SAPScript.
      Also you can search for "SUBROUTINE IN SCRIPT"... "PERFORM IN SCRIPT", "ITCSY"....
    Thanks and Regards,
    Bharat Kumar Reddy.V

  • How to add new fields in sap scripts using itcsy structure

    hi guys,
               could u provide the screen-shots for adding field in scripts. copied standard forms .
    thanks& regards
    eswar.

    Hi,
    you cannot add new fields using ITCSY. It is the interface structure between a SAPscript an a value-changing form-routine.
    Need example anyway?
    Good luck!
    Jo

  • Problem with itcsy in script

    Hi friends,
                I have created a layout fo medruck for which i'm using the standard driver program. In one window i'm using the perform statement for collecting values from the program for which im using the itcsy structure intab & outab. Here in my internal table i'm getting 2 values. My second value is over-writing the first value and getting displayed in the lay-out.
    This is myy code.
    LOOP AT it_cdpos.
          IF sy-subrc = 0.
            READ TABLE outab INDEX 6.
            MOVE it_cdpos-matnr TO outab-value.
            SHIFT outab-value LEFT DELETING LEADING '0'.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 7.
            MOVE it_cdpos-desp TO outab-value.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 8.
            MOVE it_cdpos-meins TO outab-value.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 9.
            MOVE it_cdpos-value_old TO outab-value.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 10.
            MOVE it_cdpos-value_new TO outab-value.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 11.
            MOVE it_cdpos-prdat TO outab-value.
            MODIFY outab INDEX sy-tabix.
            READ TABLE outab INDEX 12.
            MOVE it_cdpos-maktx TO outab-value.
            MODIFY outab INDEX sy-tabix.
          ENDIF.
        ENDLOOP.
    here only my latest value is updating, but i need all the values to get updated... PLZ help me...
    Thanks and regards,
    subbu.

    use this..................
    if the particular field r variable is holding value......then dont allow in to that...
    if <field or var> is initial.
    endif.
    like that use use for everything..........
    regards
    Anbu

  • b Urgent.Doubt in Scripts regarding itcsy.

    Hi All, I have the requirement to modify the Standard Script (F140_ACC_STAT_01) and Print Program name is (RFKORD10) to add three fields  at item level to display to print <b>Due Date ,Past Due and PO# number </b>.for these fields i am using <b>RF140-VSTID ,RF140-VZTAS and BSID-SGTXT</b>. In the Print Program i am able to see those fields also. but when i execute program i am not getting the values for those fields . For this Can i call the External Subroutine to display those values. if so what conditions should i have to follow and which table i have to use . At item level Can we use the external subroutines. Otherwise i need to modify the Standard Print Program.Please suggest me. it will be greatful if you help me.

    There are two things -
    1. Did you attach ur custome program to driver program?
    2. The important thing, even the fields are there in driver program, but is it sending it to Script during WRITE_FORM. Try to search for that.And check out the structure in Script, what fields it has and is any of them is useful for you.Otherwise write a routine before calling any Text Element in the main window
    or in secondary window.
    Regards,
    Amit
    Reward all helpful replies.

  • 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

  • Perform statement in SAP scripts

    Hi experts,
    My requirement is that I don't want to display line items for particular customer with a particular item category, For this purpose I was asked to create a Z table with fields customer number(KUNNR) and Item category(PSTYV) and I have to make changes only in layout but not in driver program. So how do i do it? How to write preform statement in form layout which satisfies my requirement. And also in this perform statement I have to check if that customer and item category exists in that Z table. If so then I should not display the line item in the output else the line item should be displayed.
    Thanks in Adv.
    Vasu

    Hi,
    write this in script (Ex:Main Window)
    /:           PERFORM GET_COMM_CODE_DESC IN PROGRAM ZVPPACKL
    /:           USING &VBDPL-MATNR&
    /:           USING &VBDPL-WERKS&
    /:           USING &VBDPL-STAWN&
    /:           USING &VBDKL-ALAND&
    /:           CHANGING &STAWN&
    /:           CHANGING &TEXT1&
    /*           Begin of Insert -- PRAVIKAN -- DV2K933249 -- PR091808
    /:           CHANGING &W_COMMODITY_EU&
    /:           CHANGING &W_COMMODITY_DESC_EU&
    /*           End of Insert -- PRAVIKAN -- DV2K933249 -- PR091808
    /:           ENDPERFORM
    Driver program (ZVPPACKL)
    FORM get_comm_code_desc TABLES intab STRUCTURE itcsy
                                   outtab STRUCTURE itcsy.
      DATA: stawn LIKE t604t-stawn,
           matnr LIKE marc-matnr,                               "CL060501
           werks LIKE marc-werks,                               "CL060501
            land1 LIKE t604t-land1,
            text1 LIKE t604t-text1,
            w_commodity_eu       TYPE stawn,                    "PR092908
            w_commodity_desc_eu  TYPE bezei40.                  "PR092908
      READ TABLE intab WITH KEY name = 'VBDPL-MATNR'.           "CL060501
      matnr = intab-value.                                      "CL060501
      READ TABLE intab WITH KEY name = 'VBDPL-WERKS'.           "CL060501
      werks = intab-value.                                      "CL060501
      land1 = intab-value.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = matnr
        IMPORTING
          output = matnr.
      CLEAR: stawn,
             text1.
      SELECT SINGLE stawn
              INTO stawn
              FROM marc
             WHERE matnr = matnr
               AND werks = '3101'.
      IF NOT stawn IS INITIAL.
        SELECT SINGLE text1
                 INTO text1
                 FROM t604t
                WHERE spras = 'EN'
                  AND land1 = 'US'
                  AND stawn = stawn.
      ENDIF.
      CLEAR: w_commodity_eu,
             w_commodity_desc_eu.
      SELECT SINGLE stawn
              INTO w_commodity_eu
              FROM marc
             WHERE matnr = matnr
               AND werks = '0010'.
      IF NOT w_commodity_eu IS INITIAL.
        SELECT SINGLE text1
                 INTO w_commodity_desc_eu
                 FROM t604t
                WHERE spras = 'EN'
                  AND land1 = 'GB'
                  AND stawn = w_commodity_eu.
      ENDIF.
      READ TABLE outtab WITH KEY name = 'STAWN'.                "CL060501
      outtab-value = stawn.                                     "CL060501
      MODIFY outtab INDEX sy-tabix.
      READ TABLE outtab WITH KEY name = 'TEXT1'.
      outtab-value = text1.
      MODIFY outtab INDEX sy-tabix.
      READ TABLE outtab WITH KEY name = 'W_COMMODITY_EU'.
      IF sy-subrc EQ 0.
        outtab-value = w_commodity_eu.
        MODIFY outtab INDEX sy-tabix.
      ENDIF.
      READ TABLE outtab WITH KEY name = 'W_COMMODITY_DESC_EU'.
      IF sy-subrc EQ 0.
        outtab-value = w_commodity_desc_eu.
        MODIFY outtab INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    "GET_COMM_CODE_DESC
    Regards
    Krishna

  • Missing fields in the output while using SAP SCRIPT

    Hi,
    I am working on an issue where we are using F110 to print some checks, and for this we have created a custom sap script and we are using a std driver program RFFOUS_C, we have also maintianed a custom subroutine pool ZRFFOUS which will retrieve the missing data for the sap script which was not there in the std. program. Now we have applied a SP to our system and since then we are having a problem...when we are printing the chechks its missing some fields.
    Surpisingly, it is happening for all scripts like Dunning, invoice......
    These scripts are working good in production which is not applied patches.
    I have tried in all ways, did debug, data is there in tables and scripts are exactly same as in production.
    Could you please share any ideas regarding this? What would be the effect of patches?
    Thanks
    Sha

    Hi ,
    I think u r printing the Check through the Tr Code F110.
    In that program u r using the Standard Driver Program RFFOUS_C and u create a New Sap script.
    and also u also mantained the custom subroutine pool ZRFFOUS .  when ru giving printing u are  not able to print some  field.
    In this case  when u using the Standard driver Program RFFOUS_C in that program there is a Include Progran  * RFFORI01---- check  , 
    in this program it is calling the Standard Form (F110PRENUM_CHCK) i--e t042e-zforn .as shown in the below and it is calling the function module 'OPEN_FORM'._
    Please copy  the form  asZF110_PRENUM_CHCK and  and do the changes in that form . and we need to maintained the Form as Company code level  -- and it will shown this Table T042E (Company Code-Specific Specifications for Payment Methods)
    Please go to Transaction Code FBZP  and U can maitained the  New Sap Script Form Company Code Level.
    one thing while u calling your new subroutine pool ZRFFOUS  Please call  this subroutine in  your Sap Script form then only u can see all values in your Check.  and Actvate the Sap script .
    Like U can call your new  subroutine ZRFFOUS  in your New Sap script Program.
    /E   CHECK
    /:   PERFORM XXXXXXX IN PROGRAM XXXXXX''                  
    /:   PERFORM CHECK_NAME IN PROGRAM  ZRFFOUS
    /:   USING &XXXXXXX&                      
    /:   CHANGING &XXXXXX&                   
    /:   ENDPERFORM                              
    In the subroutine pool ZRFFOUS   u have to call  as
    FORM CHECK_NAME TABLES t_data_in  STRUCTURE itcsy
                                                   t_data_out STRUCTURE itcsy.
    xxxxx
    xxxxx
    xxxxx
    ENDFORM.
    In this case  when u using the Standard driver Program RFFOUS_C in that program there is a Include Progran  * RFFORI01---- check  , 
    in this program it is calling the Standard Form (F110_PRENUM_CHCK) i--e t042e-zforn .
        open check form
          CALL FUNCTION 'OPEN_FORM'
               EXPORTING
                    form     =  t042e-zforn
                    device   = 'PRINTER'
                    language = t001-spras
                    options  = itcpo
                    dialog   = space
               EXCEPTIONS
                    form     = 1.
          IF sy-subrc EQ 1.                "abend:
            IF sy-batch EQ space.          "form is not active
              MESSAGE a069 WITH t042e-zforn.
            ELSE.
              MESSAGE s069 WITH t042e-zforn.
              MESSAGE s094.
              STOP.
            ENDIF.
          ENDIF.
    I thing it will help u to solve this issue.
    Thanks.
    Gagan

  • Issue in script

    hi friends,
    have 1 issue in script
    i have the code in my script:
    /:   PERFORM F_SO_DATA IN PROGRAM ZZZFR0021F USING &P_BUKRS&     
    /:   CHANGING &L_VAR&                                            
    /:   ENDPERFORM                
    and then in the prog........
    form F_SO_DATA tables intab structure itcsy
                      outtab structure itcsy.
    data: l_var like adrc-addrnumber,
          bukrs like t001-bukrs.
    data: begin of itab occurs 0,
          land1 like t001-land1,
          adrnr like adrc-addrnumber,
          name1 like adrc-name1,
          end of itab.
         read table intab with key name = P_BUKRS.    
         if sy-subrc eq 0.    
          bukrs = intab-value.
    while debugging, strangely the control is not getting in to the subroutine.
    i'm running the script from the sel-screen and  i'm able to see the value entered in parameter p_bukrs in the script...Plz let me know friends where i'm going wrong.....
    Thanks
    Praveen

    ok your interface is correct.
    I think it´s either a activation problem, something still not activated, or you may not have started the transaction new in which you test it.
    BUT there might be another problem. your form might get printed in update task.
    In this case not even System debugging and update task debugging wont help you much.
    Best way to come around this, if that is the problem, is to go to TA MB90 and maually process the communication type again.
    This again wont be done in update task, what means you can now debug either the form or the subroutine.

  • Calculation of total in sap script

    Hi All,
    Please help me out for this requirement.
    I have an amount field reguh-rbetr. I need to show the sum of this field as TOTAL.
    How can we do it? Please let me know. Is there any function in the script itself or do we need to calculate it in the program? Pl gimme example code.
    Regards,
    Priya

    Hi
    see the sample codes of the Subroutines and do accordingly
    How to call a subroutine form SAPscripts
    The Form :
    /: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.
    /: PERFORM
    /: USING &INVAR1&
    /: USING &INVAR2&
    /: CHANGING &OUTVAR1&
    /: CHANGING &OUTVAR2&
    /: ENDPERFORM
    INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types.
    OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings.
    Example:
    In script form
    /: PERFORM READ_TEXTS IN PROGRAM 'Z08M1_FORM_EKFORM1'
    /: USING &EKKO-EKORG&
    /: USING &EKPO-WERKS&
    /: USING &EKKO-EKGRP&
    /: USING &EKKO-BSTYP&
    /: CHANGING &COMPNAME&
    /: CHANGING &SENDADR&
    /: CHANGING &INVCADR&
    /: CHANGING &COMPADR&
    /: CHANGING &COVERLTR&
    /: CHANGING &SHIPADR&
    /: CHANGING &REMINDER&
    /: CHANGING &REJECTION&
    /: CHANGING &POSTADR&
    /: CHANGING &LOGO&
    /: ENDPERFORM
    In program
    FORM Read_texts - To extract the standard texts from the table *
    FORM READ_TEXTS TABLES IN_PAR STRUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    DATA : L_EKORG TYPE EKORG,
    L_WERKS TYPE WERKS_D,
    L_BSTYP TYPE BSTYP,
    L_EKGRP TYPE BKGRP.
    READ TABLE IN_PAR WITH KEY 'EKKO-EKORG' .
    CHECK SY-SUBRC = 0.
    L_EKORG = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKPO-WERKS' .
    CHECK SY-SUBRC = 0.
    L_WERKS = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKKO-EKGRP' .
    CHECK SY-SUBRC = 0.
    L_EKGRP = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY 'EKKO-BSTYP' .
    CHECK SY-SUBRC = 0.
    L_BSTYP = IN_PAR-VALUE.
    CLEAR Z08M1_ORG_TEXTS.
    SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
    AND WERKS = L_WERKS
    AND EKGRP = L_EKGRP
    AND BSTYP = L_BSTYP.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
    AND WERKS = L_WERKS
    AND EKGRP = L_EKGRP
    AND BSTYP = SPACE.
    ENDIF.
    READ TABLE OUT_PAR WITH KEY 'COMPNAME'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COMP.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'SENDADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_ADRS.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'INVCADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_INVC.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'COMPADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_CPAD.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'COVERLTR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COVR.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'SHIPADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_SHIP.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'REMINDER'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RMDR.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'REJECTION'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RJCT.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'POSTADR'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_POST.
    MODIFY OUT_PAR INDEX SY-TABIX.
    READ TABLE OUT_PAR WITH KEY 'LOGO'.
    OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_LOGO.
    MODIFY OUT_PAR INDEX SY-TABIX.
    ENDFORM.
    REPORT ZMPO1 .
    form get_freight tables in_par structure itcsy out_par structure itcsy.
    tables: ekko,konv,t685t.
    data: begin of itab occurs 0,
             ebeln like ekko-ebeln,
             knumv like ekko-knumv,
           end of itab.
    data: begin of itab1 occurs 0,
             knumv like konv-knumv,
             kposn like konv-kposn,
             kschl like konv-kschl,
             kbetr like konv-kbetr,
             waers like konv-waers,
             kwert like konv-kwert,
           end of itab1.
    data: begin of iout occurs 0,
             kschl like konv-kschl,
             vtext like t685t-vtext,
             kbetr like konv-kbetr,
             kwert like konv-kwert,
           end of iout.
    data v_po like ekko-ebeln.
    read table in_par with key 'EKKO-EBELN'.
    if sy-subrc = 0.
       v_po = in_par-value.
       select
         ebeln
         knumv
      from ekko
      into table itab
      where ebeln = v_po.
      if sy-subrc = 0.
        loop at itab.
          select
            knumv
            kposn
            kschl
            kbetr
            waers
            kwert
          into table itab1
          from konv
          where knumv = itab-knumv and
                kappl = 'M'.
        endloop.
        loop at itab1.
          if itab1-kposn <> 0.
            select single * from t685t
                              where kschl = itab1-kschl
                                and kappl = 'M'
                                and spras = 'EN'.
            iout-vtext = t685t-vtext.
            iout-kschl = itab1-kschl.
            iout-kbetr = itab1-kbetr.
            iout-kwert = itab1-kwert.
            append iout.
            clear iout.
          endif.
        endloop.
        sort itab1 by kposn.
        loop at iout.
          sort iout by kschl.
          if ( iout-kschl eq 'GSDC' OR
               iout-kschl eq 'GSFR' OR
               iout-kschl eq 'GSIR' ).
            at end of kschl.
              read table iout index sy-tabix.
              sum.
             write:/ iout-kschl,iout-vtext,iout-kwert.
          out_par-name = 'A1'.
          out_par-value = iout-vtext.
          append out_par.
          out_par-name = 'A2'.
          out_par-value = iout-kwert.
          append out_par.
              endat.
            endif.
          endloop.
        endif.
      endif.
    endform.
    IN THE FORM I AM WRITING THIS CODE.
    /:DEFINE &A1& = ' '
    /:DEFINE &A2& = ' '
    /:PERFORM GET_FREIGHT IN PROGRAM ZMFORM_PO1
    /:USING &EKKO-EBELN&
    /:CHANGING &A1&
    /:CHANGING &A2&
    /:ENDPERFORM
    &A1&
    &A2&
    This Code is to be written in the PO form under ADDRESS window.
    /:DEFINE &A1& = ' '
    /:DEFINE &A2& = ' '
    /:DEFINE &A3& = ' '
    /:DEFINE &A4& = ' '
    /:DEFINE &A5& = ' '
    /:DEFINE &A6& = ' '
    /:PERFORM GET_VENDOR IN PROGRAM ZMFORM_PO
    /:USING &EKKO-EBELN&
    /:CHANGING &A1&
    /:CHANGING &A2&
    /:CHANGING &A3&
    /:CHANGING &A4&
    /:CHANGING &A5&
    /:CHANGING &A6&
    /:ENDPERFORM
    &A1&
    &A2&
    &A3&
    &A4&
    &A5&
    &A6&
    Regards
    Anji

  • SAP SCRIPT Header text and Item text not printing in customized PO

    Hello Experts,
                          I have copied the standard MEDRUCK to ZMEDRUCK and customized the form according to the requirement.
    I want to print the header text and Item text in my form.
    For Header text I have used :
    /: INCLUDE &EKKO-EBELN& OBJECT EKKO ID F01
    Problem 1: The text what I enter in header text is flowing only when I hit on print preview without saving the form. Once I save the SAP SCRIPT  and click on print preview the field is appearing blank. I also tried to print the form, but the field is appearing blank even on the print out.
    Problem 2: For item text the field is concatenation of  EBELN & EBELP. Can anyone suggest me how to concatenate and fetch the text in item text.

    Hi,
        Im getting an error in my subroutine pool for i_xtline which is to fetch ITEM TEXT., It says its not a in any internal table nor defined as data. How can I proceed further. I have pasted my code below. Please check and revert ASAP
    PROGRAM  ZMEDRUCK_SUBP1.
    TABLES: EKPO, EKKO.
    FORM fetch_table_data TABLES in_tab STRUCTURE itcsy
                                 out_tab STRUCTURE itcsy.
    data xname like THEAD-TDNAME.
    data i_xtline like xtline.
    clear i_xtline.
    refresh i_xtline.
    CONCATENATE EKPO-ebeln EKPO-ebelp INTO v_item_text.
    MOVE v_item_text to ITEMTXT.
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
      CLIENT                        = SY-MANDT
        id                            = F01
        language                      = EN
        name                          = ITEMTXT
        object                        = EKPO
      ARCHIVE_HANDLE                = 0
      LOCAL_CAT                     = ' '
    IMPORTING
      HEADER                        =
      tables
        lines                         = i_xtline
    EXCEPTIONS
       ID                            = 1
       LANGUAGE                      = 2
       NAME                          = 3
       NOT_FOUND                     = 4
       OBJECT                        = 5
       REFERENCE_CHECK               = 6
      WRONG_ACCESS_TO_ARCHIVE       = 7
      OTHERS                        = 8
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.

  • Calculation of values in a dunning form (SAP Script)

    Hi Experts!
    I want to add values to a sum (dunning-amount + dunning-fee + interest) in a dunning form (SAP Script; Z150_DUNN_02).Therefore I'm using a subroutine (Z_FI_KX_DUNN_02_INTEREST) to summarize. Problem is the format of the output-field &Z_FAEBT&. It's not similar to field &MHNK-FAEBT& which was formerly printed (without calculation of interest and dunning-fees.
    /:   DEFINE &Z_FAEHW& := &MHNK-FAEHW&                 
    /:   DEFINE &Z_ZINHW& := &MHNK-ZINHW&                 
    /:   DEFINE &Z_MHNGH& := &MHNK-MHNGH&                 
    /:   DEFINE &Z_FAEBT& := &MHNK-FAEBT&                 
    /:   PERFORM ZFAEBT IN PROGRAM Z_FI_KX_DUNN_02_INTEREST
    /:   USING &Z_FAEHW&                                  
    /:   USING &Z_ZINHW&                                  
    /:   USING &Z_MHNGH&                                  
    /:   CHANGING &Z_FAEBT&                               
    /:   ENDPERFORM                                       
    /:   ENDIF                                            
    A3   &MHNK-WAERS& &Z_FAEBT(C)&       
    It would be fine to get a hint how to format the field &Z_FAEBT& correctly. Must be done in the subroutine Z_FI_KX_DUNN_02_INTEREST by a special WRITE-command? Is it possible to add these values only in the form?
    Thanks for support!
    Regards, Bernd

    hi!
    I defined the field like you said! After moving this field to a numeric field to add the different amounts the
    following error occurred:
    Runtime errors         CONVT_NO_NUMBER           
    Exception              CX_SY_CONVERSION_NO_NUMBER
    Occurred on     16.06.2009 at   15:15:25  
    Unable to interpret " 1.316,59" as a number.     
    Definition:
    FORM zfaebt TABLES in_par STRUCTURE itcsy
                       out_par STRUCTURE itcsy.
      TABLES: mhnk.
      DATA: z_faehw_num LIKE mhnk-faehw,
            z_zinhw_num LIKE mhnk-zinhw,
            z_mhngh_num LIKE mhnk-mhngh,
            z_faebt_num LIKE mhnk-faebt.
      DATA: z_faehw TYPE string,
            z_zinhw TYPE string,
            z_mhngh TYPE string,
            z_faebt TYPE string.
    statement:
      READ TABLE in_par WITH KEY 'Z_FAEHW'.
      CHECK sy-subrc = 0.
      z_faehw = in_par-value.
      z_faehw_num = z_faehw.
    I suppose a type-conflict.
    Regard, Bernd

  • How to use perform statements in sap scripts

    how to use perform statements in sap scripts . and pls send me one progam for this
    thnaks
    raja

    Hi Raja,
    <b>PERFORM</b> key work is used to include subroutine in sapscript form...
    But the processing is lttle bit different form the one we use in ABAP.
    Here the paramters passed to form is stored in internal table of name-value table. there are two table one for inbound parameter and other for outbound parameters.
    Check out the example below to see how this is used..
    <b>Definition in the SAPscript form:</b>
    /: PERFORM GET_BARCODE IN PROGRAM QCJPERFO
    /: USING &PAGE&
    /: USING &NEXTPAGE&
    /: CHANGING &BARCODE&
    /: ENDPERFORM
    / &BARCODE&
    <b>Coding of the calling ABAP program:</b>
    REPORT QCJPERFO.
    FORM GET_BARCODE TABLES IN_PAR STUCTURE ITCSY
    OUT_PAR STRUCTURE ITCSY.
    DATA: PAGNUM LIKE SY-TABIX, "page number
    NEXTPAGE LIKE SY-TABIX. "number of next page
    READ TABLE IN_PAR WITH KEY ‘PAGE’.
    CHECK SY-SUBRC = 0.
    PAGNUM = IN_PAR-VALUE.
    READ TABLE IN_PAR WITH KEY ‘NEXTPAGE’.
    CHECK SY-SUBRC = 0.
    NEXTPAGE = IN_PAR-VALUE.
    READ TABLE OUT_PAR WITH KEY ‘BARCODE’.
    CHECK SY-SUBRC = 0.
    IF PAGNUM = 1.
    OUT_PAR-VALUE = ‘|’. "First page
    ELSE.
    OUT_PAR-VALUE = ‘||’. "Next page
    ENDIF.
    IF NEXTPAGE = 0.
    OUT_PAR-VALUE+2 = ‘L’. "Flag: last page
    ENDIF.
    MODIFY OUT_PAR INDEX SY-TABIX.
    ENDFORM.
    Hope this is clear to understand...
    Enjoy SAP.
    Pankaj Singh.

Maybe you are looking for

  • Output from ssoldif

    I am having a look of the possibilty of using LDAP for Portal authentication. I have changed some portal users passwords and some portal database schema's passwords such as "portal30" and "portal30_sso" from the default ones. But when I using "ssoldi

  • How do you retrieve iTunes media from many locations to one file

    I have all Mac devices. The particular item I have a question about is my itunes media file.  Since I have a very large collection, I was advised by apple support to move my Itunes Media folder to the 1.5T wireless WD hard drive I have. All was going

  • Does an inline view execute before the rest of the select?

    Hi, The O'Reilly book Mastering Oracle Sql defines an inline view simply as a subquery in a select FROM clause. This conforms to the definitions in the Oracle 9i and 10g docs. But unlike the Oracle docs, the O'Reilly book says the inline view is, lik

  • UTF-16 in labview 8.5

    hi, some body help me, i want to use 16 bit character set in labview.Actully i want to send a wild character which code is above 8 bit means greater then 255. After too many search ,i could not find any vision to use unicode character like theta in m

  • Erreur création d'un Etat Access 2003 en PDF

    Bonjour, je ne parviens pas à créer un fichier PDF à partir d'un état dans une base de données MS Access 2003. Lors que je lance la création du PDF via le menu Fichier / Imprimer (avec l'imprimante Adobe PDF), la création commence mais n'abouti pas.