Significance of pass value checkbox in function module

Hi all,
Here is a confusion.....While creating a custom function module,i have checked the update module or RFC call radio button going to its attributes.But in the importing parameter if i pass a structure,it is giving a syntax error.It is only allowing table parameter.But if i check the pass value checkbox,it is not givng any syntax error if i pass any structure in the importing parameter.Can anybody please explain me the significance of pass value checkbox?
Thanks in advance.......

Hi,
Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
Function Module Interfaces
The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
Syntax
... [IMPORTING parameters]
[EXPORTING parameters]
[CHANGING parameters]
[TABLES table_parameters]
[{RAISING|EXCEPTIONS} exc1 exc2 ...]
The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
Interface parameters
The interface parameters are defined on the relevant tab pages in the Function Builder.
IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for <b>'pass by value'</b> is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
Exceptions
The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
Note
For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
RFC is a technology which is used to access a functions (Modules) from
the remote systems.
If a function module is set as remote enabled which can be access from
the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
But Normal function modules can not accessd from the remote system.
Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
CALLING A FUNCTION MODULE:
1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
--> Write the Corresponding FM name --> Hit Enter
2)The appropriate import ,export Parameters will be displayed in ur editor
3)Pass the Values Here.
Also check these links.
http://www.geocities.com/victorav15/sapr3/abapfun.html
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
Check this link:
http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
See the following links:
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
Regards,
Srilatha.

Similar Messages

  • Query in passing value to a function module

    Hi All ,
    I have a small query in the below code about the way i have passed value into a function module :
    CALL FUNCTION 'AUTHORITY_CHECK'
      EXPORTING
      USER                      = SY-UNAME
        OBJECT                    = 'E_INVOICE'
        FIELD1                    = 'BEGRU'
      VALUE1                    = ' '
       FIELD2                    = 'BUKRS'
       VALUE2                    = '$BUKRS'
       FIELD3                    = 'ISU_ACTIVT'
       VALUE3                    = '1,2,5,6'
       FIELD4                    = 'VKTYP_KK'
      VALUE4                    = ' '
    EXCEPTIONS
       USER_DONT_EXIST           = 1
       USER_IS_AUTHORIZED        = 2
       USER_NOT_AUTHORIZED       = 3
       USER_IS_LOCKED            = 4
       OTHERS                    = 5
    IF SY-SUBRC <> 0.
    MESSAGE 'User doesnt have sufficient authorizations' TYPE 'E'.
    EXIT.
    The query is on the field  VALUE3                    = '1,2,5,6' , is the format correct. If this is not right could someone please suggest the correct approach.
    thanks

    Hi Balaji,
    as that is parameter you can use at a time only one value..
    if you check in that FM we have other parameters VALUE1 to VALUE10..
    why don't you use those...
    Thanks!

  • Pass Values between two Function Modules RFC in Portal

    I need to pass values ​​between 2 FM RFC.
    I have an implicit enhancement in HRMSS_RFC_EP_READ_GENERALDATA RFC function module.
    PERNR LIKE  PSKEY-PERNR
    ENHANCEMENT 1  Z_ESS_EXPORT_PERNR.    "active version
      EXPORT pernr to memory id 'PMK'.
      set parameter id 'PMK' field pernr.
    ENDENHANCEMENT.
    On the other hand an RFC function module that has the code:
            pmk    LIKE PSKEY-PERNR,
            pmk_2  LIKE PSKEY-PERNR.
      get parameter id 'PMK' field pmk.
      IMPORT pmk_2 FROM MEMORY ID 'PMK'.
    When the execution is done in development environment, the modules function at the level of R3, the "get parameter id" works only if the debbuger is classic, otherwise not work. The Import to memory id never works.
    In the environment of quality, r3 do not work any of the 2 sentences. If run from portal (which is as it should be) does not work.
    Thanks if anyone can help me get the problem. Both function modules are executed at the portal.
    Regards
    Edited by: Daynet1840 on Feb 15, 2012 2:02 AM

    When the execution is directly in r3, in development environment or quality, does the set / get parameter id. Export / Import memory id not work.
    But if the FM are called from the portal, does not the set / get parameter id.
    I tried changing the sentence as I indicated harishkumar.dy still not working.
    Madhu: They're in different function groups, one is standard and the other not.
    Regards
    Edited by: Daynet1840 on Feb 15, 2012 3:08 PM
    Edited by: Daynet1840 on Feb 15, 2012 3:11 PM

  • Getting values from a function module called in a WDA method

    Friends,
    I am trying to execute a function module from WDA.
    I have created a service call for the function module. The function module takes values from the user, looks up the corresponding values of another field and returns the values in an internal table.
    I am using the "Method Call in Used Controller" of WD Code wizard to call the function module.
    When the event handler method containing the call to the function module is executed, nothing happens.
    I am not sure how to pass values to the function module and to get the return values from the function module.
    I am new to using function modules from WDA. Please help me out.
    Thanks and Regards.

    Rashmi,
    Is the function module intended to collect input data from the UI and process it? - Yes
    If yes, then the input (importing parameter) to the Function Module is a table of values (which should be ideally from the context mapped to the Table UI Element). - The importing parameter is a single value NOT a table and is mapped to the view context.
    Now this table UI Element is bound to the view controller context , which in turn is mapped to the component controller context. And you are indeed being able to read the value of this internal table in the component controller method where the function module is being called by means of get_static_attributes_table (Is this right? - Yes, I am able to read the table of values that is passed from the component controller view to form view context by using get_static_attributes_table.
    Or are you being able to read it in the event handler method of the view controller and not being able to read it in the component controller method) -
    The function module takes a single value as import parameter and returns a table of values as return value.
    It works fine when no importing parameter is being used and returns the table of values that is getting passed from component controller context to form view context when i am able to read it using get_static_attributes_table.
    Now the question is: how to pass the import parameter value to the function module. I assumed since the importing parameter is a context node (like the return values are), i should set the value ( captured when the user enters the value in the form) to the importing parameter context attribute using set_attribute method. Since it is mapped to the component controller context, i assumed it will get passed and the method will take it as input parameter.
    Let me know if my assumptions are correct regarding passing the import parameters and what is missing here.
    Thanks and Regards.

  • How to define null or empty value in BAPI function modules?

    Hi,
    I have problem with BAPI functions, where some parameters are mandatory.
    For example: when I try to use HR BAPI's(BAPI_PERSDATA_CHANGE, etc.) I have to insert parameters like SUBTYPE,OBJECTID,LOCKINDICATOR. The PA0002 table that is used from this BAPI doesn't have SUBTYPE, OBJECTID, LOCKINDICATOR, for any of the records that I would like to select.
    So what I tried, was to put a ' ', to indicate that is empty. It returned an error message saying "Make an entry in all required fields". Next tried to put in some values for these fields -- and it returned an error message saying "No data selected from 0002 for this period".
    I also tried to run BAPI_FAMILY_CHANGE that uses data from table PA0021. Here I found some records with  SUBTYPE, OBJECTID fields that were not empty, but LOCKINDICATOR was still missing. So I tried to put LOCINDICATOR value directly in to database (with MS SQL Enterprise Manager).  After that I was able to use BAPI_FAMILY_CHANGE.
    I think that manually inserting data in database is not normal procedure.
    Is there something that I have missed out?
    I mean -- how can I get this to work without inserting data directly in database?
    How can I define null or empty value in BAPI function modules?
    Thank you in advance.
    Best regards,
    Mihail

    Defining an empty value for a parm in a table is easy.
    First get the function's definition from the SAP system
    Second only populate the fields for which you have a value to set
    Third execute the function.
    The JCO takes care of the rest.
    Enjoy

  • How to get sysnr value in a Function Module

    Hi all,
    I need to get the sysnr(system number) value of the R/3 system. I execute a RFC function module and need to get the value of sysnr of the system it executes in as a return parameter. Can somebody tell me how to get this value in the function module and return it.
    Thanks and Regards,
    Pratik

    Hello Pratik
    The system number has to be defined in the RFC destination. Thus, select on your local system (where you call the RFC function module) the corresponding RFC destination from table <b>RFCDES</b>. In field RFCDES-RFCOPTIONS you will find a string like this:
    H=<ip address>,S=21,R=N, ...
    S=system number
    Regards
      Uwe

  • Pass a particular value  in the function module.

    Hi Gurus!
    I have a function module READ_HAUPTBUCH_TEXT , here in the importing table KONTENPLAN like ska1-ktopl.
    But I need to pass a value as ZNOA for KONTENPLAN while calling the function which is maintained in the db, but it is always picking up the value 'AZ'.
    can you please let me know as to how i do it .thx in advance.

    hi sandeep it is better to pass like this...
    data: v_ktopl type  ska1-ktopl.
            clear v_ktopl.
             v_ktopl = itab-ktopl.
          CALL FUNCTION 'READ_HAUPTBUCH_TEXT'
            EXPORTING
              kontenplan           =  v_ktopl
              sachkonto            =
              sprache              =
            NO_BUFFER            =
          IMPORTING
            TEXT_WA              =
          EXCEPTIONS
            TEXT_NOT_FOUND       = 1
            OTHERS               = 2
          IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    regards,
    venkat.

  • How to pass pushbutton values to a function module

    Hi all,
    I am required  to move a subroutine in main program to a function module but I am unable to pass in the pushbutton . How do I do that?
    In main program:
    SELECTION-SCREEN BEGIN OF BLOCK blk1.
    PARAMETERS message(10) TYPE c.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 3(5) btn1 user-command cli1 modif id bt1.
    SELECTION-SCREEN PUSHBUTTON 8(5) btn2 user-command cli2 modif id bt2.
    SELECTION-SCREEN PUSHBUTTON 13(5) btn3 user-command cli3 modif id bt3.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK blk1.
    In main program there is many subroutines perform check_button using 'P' or check_button using 'C'.
    Form check_button using str type boolean.
    IF btn1 = str AND btn2 = str AND btn3 = space.
         btn3 = 'C'.
         disable3 = 'X'.
         count = count + 1.
       ENDIF.
       IF btn1 = str AND btn3 = str AND btn2 = space.
         btn2 = 'C'.
         disable2 = 'X'.
         count = count + 1.
       ENDIF.
       IF btn2 = str AND btn3 = str AND btn1 = space.
         btn1 = 'C'.
         disable1 = 'X'.
         count = count + 1.
       ENDIF.
    Endform.
    Problem: My function module cannot possible know btn1, btn2 and btn3 values. How do I do it?

    Hi,
    Please try below:
    SELECTION-SCREEN BEGIN OF BLOCK blk1.
    PARAMETERS message(10) TYPE c.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 3(5) btn1 USER-COMMAND cli1 MODIF ID bt1.
    SELECTION-SCREEN PUSHBUTTON 8(5) btn2 USER-COMMAND cli2 MODIF ID bt2.
    SELECTION-SCREEN PUSHBUTTON 13(5) btn3 USER-COMMAND cli3 MODIF ID bt3.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK blk1.
    DATA : value TYPE char1.
    AT SELECTION-SCREEN.
      BREAK-POINT.
      DATA : value TYPE char1.
    IF sy-ucomm = 'CLI1'.
      value = '1'.
      PERFORM test USING value.
    ELSEIF sy-ucomm = 'CLI3'.
      value = '3'.
      PERFORM test USING value.
    ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      IF sy-ucomm = 'CLI1'.
        value = '1'.
      ENDIF.
      PERFORM test USING value.
    *&      Form  test
    *       text
    *      -->VALUE      text
    FORM test USING value .
      IF value = '1'.
        BREAK-POINT.
      ENDIF.
      IF value = '3'.
        BREAK-POINT.
      ENDIF.
    ENDFORM.                    "
    Regards,
    VS

  • Passing String values in the Function module

    Hi
    i am using a coustom made RFC, here i am usnig input parameter 'jobnature' of string type of length 720. the values is getting from the portal,
    i send a string of length of 720 charater from portal, but inside the RFC only 132 charaters are getting .why it happeded so, what is the solution .
    regards
    Renjith

    Hi renjith,
    1. don't give any length in the FM definition.
    2. just like this.
    STR     TYPE     STRING
    (Tick the checkbox for 'Pass Value')
    (Bcos its RFC Enabled)
    regards,
    amit m.

  • Attribute value to exit function module

    Hello group,
    I'm working in a sem-bps project and I have a problem with an exit function, because
    I need the function module to read the value of a characteristic's attribute.
    I read the standard function module UPF_VARIABLE_USER_EXIT_ATTR: it retrieves the attribute value through the import parameters ITO_ATTR TYPE  UPC_YTO_ATTR.
    I put this attribute on my exit function but when I check the content of the attribute it’s always empty. Do you know how I can transmit the parameter from the exit planning function to the function module?
    Any input is appreciated, thanks Andrea

    Andrea, if you want to fill a variable with the characteristic's attribute of another variable look at the document "HowTo_BPS_VarOfTypeExit.pdf" (i send at your e-mail if you want). It Follows an extract in which it's filled the second variable with the characteristic's attribute of another variable: 
    Source code: Attribute values
    SELECT * FROM /bi0/mbps_produ INTO TABLE lt_chavl
    WHERE bps_prodl = ls_varsel-low.
    if sy-subrc <> 0.
    MESSAGE e026(upc) WITH ls_varsel-low '0BPS_PRODL'.
    attribute value not found
    exit.
    endif.
    ls_varsel-seqno = '0000'.
    ls_varsel-chanm = '0BPS_PRODU'.
    LOOP AT lt_chavl INTO ls_chavl.
    ls_varsel-seqno = ls_varsel-seqno + 1.
    ls_varsel-low = ls_chavl-bps_produ.
    APPEND ls_varsel TO eto_charsel.
    ENDLOOP.
    In the example above ls_varsel contains the attribute value to provide to eto_charsel (the output table in which you have the result).
    I suggest you to debug your application to see how ito_attr is passed to the FM.
    Hope it helps.
    Fabio

  • Reg:Howto create checkboxes in function module(bapi)

    Hai ALl
    I have one  senario .in  i need  to create check boxes in functionmodule . for that i have to write the code.
    could any body suggest me.
    how to do this senario in FM
    thanks and regards,
    Chaitanya

    Use data Element : GLX_XFELD ( General Checkbox ) for checkbox..
    For check box... if box is checked then value is 'X' else
    space.
    but in function module it doesn;t matter whether u use data element for checkbox...  u can use char type variable of length 1.
    and inside code u can check..
    v_char1 = 'X'. : it means checkbox is checked.
    v_char1 = space " it means checkbox not checked.
    Reward if useful
    regards
    Prax

  • Passing Select-option to Function Module

    Hi ,
         I want to pass a select-option directly to the function Module tables parameter . Can anyone highlight on how i can declare the table in Function module side .
    Thanks & Regards,
    Raj

    Hi.
    In the TABLES tab of the specific FM ,
    give the parameter name ( which u have defined as Select options ). Since select options is like an Internal Table with values sign,option,low and high , u can give it here.
    Also give the ref. type and type specification.
    Pl try this.
    Thanks,
    Maheshwari.V

  • Input values for CONVERT_OTF_2_PDF function module

    Hi All ,
    I am using this function module 'CONVERT_OTF_2_PDF ' in my report(which will convert smartform to PDF) .
    Can anyone please let me knw what are the input value should I pass to test
    this function .('CONVERT_OTF_2_PDF)
    OTF          
    DOCTAB_ARCHIVE
    LINES        
    Thanks in advance

    Hi,
         TYPES: l_ty_tab_objbin TYPE solisti1 OCCURS 0.
    data: l_otf TYPE STANDARD TABLE OF itcoo.
    DATA: l_objbin TYPE l_ty_tab_objbin.
    DATA: l_docs TYPE STANDARD TABLE OF docs.
    data: i_line TYPE STANDARD TABLE OF tline.
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
    EXPORTING
    USE_OTF_MC_CMD = 'X'
    ARCHIVE_INDEX =
    IMPORTING
    BIN_FILESIZE =
    TABLES
    otf = l_otf
    doctab_archive = l_docs
    lines = i_line
    EXCEPTIONS
    ERR_CONV_NOT_POSSIBLE = 1
    ERR_OTF_MC_NOENDMARKER = 2
    OTHERS = 3
    Regards

  • Passing file path in function module XXL_FULL_API

    Hi All,
    I am using function module XXL_FULL_API instead of GUI_DOWNLOAD becuse  I need to download data with field names as heading. my question is how to pass complete file path (presentation server  path)in the function module XXL_FULL_API .
    Thanks in advance.
    vijaya.

    Hi Vijaya lakshmi,
    Please check this link
    excel download: XXL_FULL_API
    REPORT ZXXL_FULL_API  .
    TABLES:
    sflight.
    *header data................................
    DATA :
    header1 LIKE gxxlt_p-text VALUE 'Suresh',
    header2 LIKE gxxlt_p-text VALUE 'Excel sheet'.
    *Internal table for holding the SFLIGHT data
    DATA BEGIN OF t_sflight OCCURS 0.
    INCLUDE STRUCTURE sflight.
    DATA END OF t_sflight.
    *Internal table for holding the horizontal key.
    DATA BEGIN OF t_hkey OCCURS 0.
    INCLUDE STRUCTURE gxxlt_h.
    DATA END OF t_hkey .
    *Internal table for holding the vertical key.
    DATA BEGIN OF t_vkey OCCURS 0.
    INCLUDE STRUCTURE gxxlt_v.
    DATA END OF t_vkey .
    *Internal table for holding the online text....
    DATA BEGIN OF t_online OCCURS 0.
    INCLUDE STRUCTURE gxxlt_o.
    DATA END OF t_online.
    *Internal table to hold print text.............
    DATA BEGIN OF t_print OCCURS 0.
    INCLUDE STRUCTURE gxxlt_p.
    DATA END OF t_print.
    *Internal table to hold SEMA data..............
    DATA BEGIN OF t_sema OCCURS 0.
    INCLUDE STRUCTURE gxxlt_s.
    DATA END OF t_sema.
    *Retreiving data from sflight.
    SELECT * FROM sflight
    INTO TABLE t_sflight.
    *Text which will be displayed online is declared here....
    t_online-line_no = '1'.
    t_online-info_name = 'Created by'.
    t_online-info_value = 'RAAM'.
    APPEND t_online.
    *Text which will be printed out..........................
    t_print-hf = 'H'.
    t_print-lcr = 'L'.
    t_print-line_no = '1'.
    t_print-text = 'This is the header'.
    APPEND t_print.
    t_print-hf = 'F'.
    t_print-lcr = 'C'.
    t_print-line_no = '1'.
    t_print-text = 'This is the footer'.
    APPEND t_print.
    *Defining the vertical key columns.......
    t_vkey-col_no = '1'.
    t_vkey-col_name = 'MANDT'.
    APPEND t_vkey.
    t_vkey-col_no = '2'.
    t_vkey-col_name = 'CARRID'.
    APPEND t_vkey.
    t_vkey-col_no = '3'.
    t_vkey-col_name = 'CONNID'.
    APPEND t_vkey.
    t_vkey-col_no = '4'.
    t_vkey-col_name = 'FLDATE'.
    APPEND t_vkey.
    *Header text for the data columns................
    t_hkey-row_no = '1'.
    t_hkey-col_no = 1.
    t_hkey-col_name = 'PRICE'.
    APPEND t_hkey.
    t_hkey-col_no = 2.
    t_hkey-col_name = 'CURRENCY'.
    APPEND t_hkey.
    t_hkey-col_no = 3.
    t_hkey-col_name = 'PLANETYPE'.
    APPEND t_hkey.
    t_hkey-col_no = 4.
    t_hkey-col_name = 'SEATSMAX'.
    APPEND t_hkey.
    t_hkey-col_no = 5.
    t_hkey-col_name = 'SEATSOCC'.
    APPEND t_hkey.
    t_hkey-col_no = 6.
    t_hkey-col_name = 'PAYMENTSUM'.
    APPEND t_hkey.
    *populating the SEMA data..........................
    t_sema-col_no = 1.
    t_sema-col_typ = 'STR'.
    t_sema-col_ops = 'DFT'.
    APPEND t_sema.
    t_sema-col_no = 2.
    APPEND t_sema.
    t_sema-col_no = 3.
    APPEND t_sema.
    t_sema-col_no = 4.
    APPEND t_sema.
    t_sema-col_no = 5.
    APPEND t_sema.
    t_sema-col_no = 6.
    APPEND t_sema.
    t_sema-col_no = 7.
    APPEND t_sema.
    t_sema-col_no = 8.
    APPEND t_sema.
    t_sema-col_no = 9.
    APPEND t_sema.
    t_sema-col_no = 10.
    t_sema-col_typ = 'NUM'.
    t_sema-col_ops = 'ADD'.
    APPEND t_sema.
    CALL FUNCTION 'XXL_FULL_API'
    EXPORTING
    *DATA_ENDING_AT = 54
    *DATA_STARTING_AT = 5
    filename ='TEST'
    header_1 = header1
    header_2 = header2
    no_dialog = ''
    *no_start = ' '
    n_att_cols = 6
    n_hrz_keys = 1
    n_vrt_keys = 4
    sema_type = 'X'
    SO_TITLE = 'TEST'
    TABLES
    data = t_sflight
    hkey = t_hkey
    online_text = t_online
    print_text = t_print
    sema = t_sema
    vkey = t_vkey
    EXCEPTIONS
    cancelled_by_user = 1
    data_too_big = 2
    dim_mismatch_data = 3
    dim_mismatch_sema = 4
    dim_mismatch_vkey = 5
    error_in_hkey = 6
    error_in_sema = 7
    file_open_error = 8
    file_write_error = 9
    inv_data_range = 10
    inv_winsys = 11
    inv_xxl = 12
    OTHERS = 13
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Best regards,
    raam

  • I_UPDMODE has no value in my Function Module when using Delta Extraction

    Help me please.
    My system is BW 3.52
    Please see the source code below and tell me why I_UPDMODE has not been passed value. I have ever used "I_SOURCE" but the value pass to I_DSOURCE. Can anyone tell me where is the upload mode pass to?
    FUNCTION ZBWFN_TEST_DELTA.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SBIWA_S_INTERFACE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SBIWA_S_INTERFACE-ISOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SBIWA_S_INTERFACE-INITFLAG OPTIONAL
    *"     VALUE(I_UPDMODE) TYPE  SBIWA_S_INTERFACE-UPDMODE OPTIONAL
    *"     VALUE(I_DATAPAKID) TYPE  SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
    *"     VALUE(I_RLOGSYS) TYPE  SRSC_S_INTERFACE-RLOGSYS OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_INTERFACE-READONLY OPTIONAL
    *"  TABLES
    *"      I_T_SELECT TYPE  SBIWA_T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SBIWA_T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  ZISU_ERCHC OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    This extractor is part of a delta scenario based on a timestamp
    included in the fields of table ROVERCUBE1. The interesting part
    takes place in form get_time_interval, where the date range is
    calculated update modespecifically.
    The pointer for the date up to which delta was extracted during
    the last delta update is held in table ROBWQTSTAT.
      TABLES: ZISU_TP_ERCHC, ERCH, ERCHC.
    Auxiliary Selection criteria structure
      DATA: L_S_SELECT TYPE SBIWA_S_SELECT.
      DATA: L_ERCHC LIKE ZISU_TP_ERCHC OCCURS 0 WITH HEADER LINE.
      DATA: L_DATE LIKE SY-DATUM,
                L_ACTUAL_DATE LIKE SY-DATUM,
                L_LAST_DATE LIKE SY-DATUM.
    Maximum number of lines for DB table
      STATICS: L_MAXSIZE TYPE SBIWA_S_INTERFACE-MAXSIZE,
               BEGIN OF S_S_INTERFACE.
      INCLUDE TYPE SBIWA_S_INTERFACE.
      INCLUDE TYPE SRSC_S_INTERFACE.
      STATICS: END OF S_S_INTERFACE.
    STATICS: BEGIN OF S_R_TSTMP OCCURS 1,
                SIGN(1),
                OPTION(2),
                LOW  LIKE ROVERCUBE1-TSTMP,
                HIGH LIKE ROVERCUBE1-TSTMP,
              END   OF S_R_TSTMP.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Invalid second initialization call -> error exit
        IF NOT G_FLAG_INTERFACE_INITIALIZED IS INITIAL.
          IF 1 = 2. MESSAGE E008(R3). ENDIF.
          LOG_WRITE 'E'                    "message type
                    'R3'                   "message class
                    '008'                  "message number
                    ' '                    "message variable 1
                    ' '.                   "message variable 2
          RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDIF.
    Check DataSource validity
        CASE I_DSOURCE.
          WHEN 'ZOVER_TRANS'.
          WHEN 'TEST_ROVERCUBE'.
          WHEN 'DO_DATASOURCE'.
          WHEN '0VER_DELTA_WITH_LONG_NAME'.
          WHEN '0VER_CUBE_OLD_LIS'.
          WHEN '0VER_TYPE_ATTR'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E009(R3). ENDIF.
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      I_DSOURCE            "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
    Check for supported update mode
        CASE I_UPDMODE.
          WHEN 'F'.
          WHEN 'D'.
          WHEN 'C'.
          WHEN 'R'.
          WHEN 'S'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E011(R3). ENDIF.
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '011'                "message number
                      I_UPDMODE            "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
        APPEND LINES OF I_T_SELECT TO G_T_SELECT.
    Fill parameter buffer for data extraction calls
        S_S_INTERFACE-REQUNR    = I_REQUNR.
        S_S_INTERFACE-ISOURCE   = I_DSOURCE.
        S_S_INTERFACE-MAXSIZE   = I_MAXSIZE.
        S_S_INTERFACE-INITFLAG  = I_INITFLAG.
        S_S_INTERFACE-UPDMODE   = I_UPDMODE.
        S_S_INTERFACE-RLOGSYS   = I_RLOGSYS.
        S_S_INTERFACE-READONLY  = I_READ_ONLY.
        G_FLAG_INTERFACE_INITIALIZED = SBIWA_C_FLAG_ON.
        APPEND LINES OF I_T_FIELDS TO G_T_FIELDS.
    here the timerange for update modes concerning delta is calculated
    and the status table is updated
        PERFORM GET_CAL_INTERVAL TABLES G_R_DELTA_DATE[]
                                  USING  S_S_INTERFACE-ISOURCE
                                             S_S_INTERFACE-UPDMODE
                                             S_S_INTERFACE-RLOGSYS.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      calcualte range tables for key fields
                                   calculate date range due to update mode
                                   OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        G_COUNTER_DATAPAKID = G_COUNTER_DATAPAKID + 1.
        IF G_COUNTER_DATAPAKID = 1.
    Fill range tables.
         LOOP AT G_T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'COUNTRY'.
           MOVE-CORRESPONDING L_S_SELECT TO L_R_COUNTRY.
           APPEND L_R_COUNTRY.
         ENDLOOP.
         LOOP AT G_T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'REGION'.
           MOVE-CORRESPONDING L_S_SELECT TO L_R_REGION.
           APPEND L_R_REGION.
         ENDLOOP.
         LOOP AT G_T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'KUNNR'.
           MOVE-CORRESPONDING L_S_SELECT TO L_R_KUNNR.
           APPEND L_R_KUNNR.
         ENDLOOP.
         LOOP AT G_T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'TYPE'.
           MOVE-CORRESPONDING L_S_SELECT TO L_R_TYPE.
           APPEND L_R_TYPE.
         ENDLOOP.
         LOOP AT G_T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'GJAHR'.
           MOVE-CORRESPONDING L_S_SELECT TO L_R_GJAHR.
           APPEND L_R_GJAHR.
         ENDLOOP.
    no data must be selected in Init simulation mode
          CHECK S_S_INTERFACE-UPDMODE NE SRSC_C_UPDMODE_INITSIMU.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE.
          L_MAXSIZE = G_S_INTERFACE-MAXSIZE.
          REFRESH: L_ERCHC.
          SELECT * FROM ERCH WHERE ERDAT IN G_R_DELTA_DATE
                                          OR AEDAT IN G_R_DELTA_DATE.
            SELECT SINGLE * FROM ERCHC WHERE BELNR = ERCH-BELNR.
            IF SY-SUBRC = 0.
              CLEAR: L_ERCHC.
              L_ERCHC-BUKRS = ERCH-BUKRS.
              L_ERCHC-ABRVORG = ERCH-ABRVORG.
              L_ERCHC-PORTION = ERCH-PORTION.
              L_ERCHC-GPARTNER = ERCH-GPARTNER.
              IF ERCHC-CPUDT IN G_R_DELTA_DATE.
                L_ERCHC-DELDT = ERCHC-CPUDT.
                L_ERCHC-DOCDT = ERCHC-BUDAT.
                L_ERCHC-RELNO = 1.
                COLLECT L_ERCHC.
              ENDIF.
              IF ERCHC-INTCPUDT IN G_R_DELTA_DATE AND
                 ERCHC-INTCPUDT IS NOT INITIAL.
                L_ERCHC-DELDT = ERCHC-INTCPUDT.
                L_ERCHC-DOCDT = ERCHC-INTBUDAT.
                L_ERCHC-REVNO = 1.
                COLLECT L_ERCHC.
              ENDIF.
            ENDIF.
          ENDSELECT.
          DELETE FROM ZISU_TP_ERCHC.
          LOOP AT L_ERCHC.
            MOVE-CORRESPONDING L_ERCHC TO ZISU_TP_ERCHC.
            INSERT ZISU_TP_ERCHC.
          ENDLOOP.
          OPEN CURSOR WITH HOLD G_CURSOR FOR
          SELECT * FROM ZISU_TP_ERCHC.
        ENDIF.                             "First data package ?
        IF S_S_INTERFACE-UPDMODE = SRSC_C_UPDMODE_INITSIMU.
          RAISE NO_MORE_DATA.
        ENDIF.
    Fetch records into interface table.
        FETCH NEXT CURSOR G_CURSOR
                   APPENDING CORRESPONDING FIELDS OF TABLE E_T_DATA
                   PACKAGE SIZE  S_S_INTERFACE-MAXSIZE.
        IF SY-SUBRC <> 0.
          RAISE NO_MORE_DATA.
        ENDIF.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.

    Dave,
    1. You can fire SELECTS in an RFC as well, but in your case the data exists in SYSTEM A and the RFC is in System B, so you can't do that. You can fire SELECTS on tables in the same system.
    2. Quick example of two table loops - EKKO (HEADER) EKPO (ITEM).
    LOOP AT EKKO.
    LOOP AT EKPO WHERE EBELN = EKKO-EBELN.
    ENDLOOP.
    ENDLOOP.
    I hope this is clear now.
    Regards,
    Ravi

Maybe you are looking for

  • Pinnacle Studio MovieBox Plus: FireWire to USB!

    I don't have a Mac, but I've used them at my school, and I plan to get a Mac in the near future. Initially I figured I'd buy the $999 white MacBook since I use a Canon ZR800 MiniDV camcorder, until I just remembered I have THIS: http://www.apartmentt

  • Help needed for school

    Hello everyone, Currently if been busy with AS3 for a schoolproject however I'm facing all kind of problems.. If tried to contact a number of people for help, but neither they can help me with this. If searched my schoolbooks and of course the intern

  • G3 Pismo DVD-ROM Problem

    The DVD-ROM (Model M7931, Apple P/N 661-2244) in my G3 Pismo is not working properly. When a CD or DVD is input the drive spins, but makes slow & fast spin speed noises. Then it quits without reading the CD or DVD. The lens is clean & the drive appea

  • Help with adobe creative suite 5 design premium download

    I just got a new computer that does not have a cd drive and I have my current software on cds. I need to find out how to download the creative suite 5 premium. I was directed to this page, http://prodesigntools.com/all-adobe-cs5-direct-download-links

  • Auto send mail in next day

    I want to create program that run in server. it can auto send mail to someone everyday. Do everybody know the way? pls help me. if you have the code example, pls send it to me. my emai: [email protected] Thank in advance.