Passing an IMPORT Table Parameter...

Yesterday, I was working on my SP01 PHP-SAP Based and I found a little problem...
I created a "Z" based version of RSPO_L_RETURN_RAW_DATA (I need it to make it RFC enabled)....But there's one problem....
One of the IMPORT parameters is <b>RQ</b> which is really a Table, structure <b>TSP01SYS</b>.
I created something like this...
[code]
$RQ = Array( 'RQIDENT' => $RQIDENT,
             'RQCLIENT' => $RQCLIENT,
             and so on....
[/code]
An passed like a normal Import parameter....But it doesn't work....I try to pass it as a table parameter...but of course that wouldn't work either....
How can I achieved that???
Greetings,
Blag.

Ooopppsss! -:'( Shame on me....I just found this on Eduard's homepage...
[code]
<?php
   saprfc_import ($fce,"NAME","Smith");
   saprfc_import ($fce,"FULLNAME", array ("FIRST"=>"John","LAST"=>"Smith"));
?>
[/code]
Maybe I get an error in my array...Or I need to build it inside my Import....Yesterday my internet connection broke so I couldn't look for it....Still....I'm not going to close the question until I test this....So, please try to help me -;) Points will be assigned -:D
Greetings,
Blag.

Similar Messages

  • Gateway Service for FM with Importing tables

    Hello Experts,
    I have a function module which imports around 4 parameters & a table with 4 fields. Since its a table, so there can be more than one entry. So, FM has:
    Import Parameters - around 4 fields
    Table  Parameters - a table with 4 fields. FM can execute more than one entry
    Export Parameters - 3 fields - This is the information FM returns after processing records from import & table parameters
    I am confused on how to build GW service for this scenario. I have gone through the GW service generation from FM but how are we going to address importing table parameter? I just need some pointers on how i should approach to build service for such a scenario.
    Regards
    Gaurav K

    Hello Ron,
    Definitely it was inside-out modelling pitfall, but now, after going through your blogs & other such information on SCN, I am feeling better.
    I myself prefer code based implementation since it provides lots of flexibility. FM constraint definitely limits the scope improvement.
    we are developing a internal application where we are trying to replicate a existing old application which accepts data in adobe forms. Purpose of creation is to give application a UI5 look-feel & use the ODATA way of exposing & consuming services. So, this way we are learning & along the way, improving some internal applications as well. Of course, we are doing this by taking some time out of our PRIMARY work.
    Reason why i wanted to use this FM was mainly because it was already available as its already being used in existing application. I was trying to figure out the possibility of using this FM without any logic tweaking.
    I was exploring this possibility to create a service by keeping most of the code-related things intact from existing application. But you experts have been such a valuable advisors. I will do it the best way now.
    Thanks a lot.
    Gaurav K

  • Pass Structured table into dynamic table parameter in public method

    Ladies and Gentlemen,
    I have a requiremet to pass (1 at a time) any number of tables into a reuseable method in a custom class.  The Method code is as follows:
    method CREATE_OUTBOUND_FILE.
    * Importing VALUE( IV_PATHNAME )  TYPE PATHEXTERN File Destination
    * Importing VALUE( IT_FILE_RECORD ) TYPE REF TO DATA  Table with Output
    * Importing VALUE( IV_RECORD_STRUCTURE )  TYPE STRING OPTIONAL  Record Structure
    * Importing VALUE( IV_DELIMITER )     TYPE STRING     File Delimiter
    * Exporting VALUE( EV_RECORD_CNT )  TYPE STRING Record Count
      Data:
            ls_line_cnt(6) type n,
            lt_data_struc  type zty_ddic_struc_T,
            ls_string      type string.
      field-SYMBOLS: <fs_string> type any.
    * Open Dataset for outputting file details
      Open dataset iv_pathname for output in text mode encoding default.
      Assign ls_string to <fs_string> CASTING TYPE (iv_record_structure).
      loop at it_file_record into <fs_string>.
        transfer <fs_string> to iv_pathname.
        Add 1 to ls_line_cnt.
        clear <fs_string>.
      endloop.
      ev_record_cnt = ls_line_cnt.
    where IV_PATHNAME = output destination & filename
                IT_FILE_REC     = data table
                IV_RECORD_STRUCTURE = is ddic structure definition for the data table
                IV_DELIMITER = file delimiter, in this case, let's say it's C (for CSV)
         and EV_RECORD_CNT is a count of numbe of records processed.
    Lets say, for example, I wish to load data from table SFLIGHT into the method when program A is executed.  Then another time I wish to excute Program B which is passing in data of table  SFLCONN2.  I hope that by using the "type ref to data" defintion, I can pass the table contents through. Is this true?
    Secondly, I'm getting a syntax error saying that "IT_FILE_RECORD" is not defined as a table (and therefore can't be looped at), and therefore can't be read.  How can I access the data in this table in preparation for output.
    Any assistance or thoughts would be greatly appreciated.
    Regards,
    Steve

    Hi Stephen ,
    Graham already gve part of the solution.
    If you declare
    Importing VALUE( IT_FILE_RECORD ) TYPE REF TO DATA
    it does not make sense to declare to pass by VALUE because you will not change this refernce in the method. Calling this method, you must pass a refefernce.
    data:
      lr_ref type ref to data.
    get reference of <your itab here> into lr_ref.
    CREATE_OUTBOUND_FILE( ...IT_FILE_RECORD = lr_ref ... )
    In the method, it goes as graham explained.
    Anyway, I would declare the table parameter as
    Importing IT_FILE_RECORD TYPE TABLE
    The your code could work, but you will have troube with any non-character fields in the tables.
    Regards,
    Clemens

  • Passing an Internal Table as parameter to a method

    Hi,
       Can we pass an internal table as a parameter to a method.if so how can we do that?i am new to abap objects..

    Hi Matt,
            Here is the code that i am trying to execute.I am extracting the data in the method "Extract" and passing it to the method "Display" to produce a report output.When i execute this it is giving me an error saying that t_mara is not an internal table since i just refered it with x_mara in the class definition.So how can i modify this code to pass t_mara as an internal table from the method "Extract".Please help me.
    *& Report  ZOBJ_PRAC                                      *
    REPORT  zobj_prac                                                   .
          CLASS example DEFINITION
    CLASS example DEFINITION.
      PUBLIC SECTION.
            TYPES : BEGIN OF x_mara,
                  matnr TYPE matnr,
                  ersda TYPE ersda,
               END OF x_mara.
        METHODS : extract EXPORTING t_mara TYPE x_mara,
                          display IMPORTING it_mara TYPE x_mara.
    ENDCLASS.                    "example DEFINITION
    "example IMPLEMENTATION
          CLASS example IMPLEMENTATION
    CLASS example IMPLEMENTATION.
      METHOD extract.
        DATA :lt_mara TYPE STANDARD TABLE OF x_mara INITIAL SIZE 0,
                  lw_mara TYPE x_mara.
        SELECT matnr ersda FROM mara INTO TABLE lt_mara UP TO 10 ROWS.
        t_mara[]  =  lt_mara[].
      ENDMETHOD.                    "extract
      METHOD display.
        DATA :lt_mara TYPE STANDARD TABLE OF x_mara INITIAL SIZE 0,
              lw_mara TYPE x_mara.
        lt_mara[]  =  it_mara[].
        LOOP AT lt_mara INTO lw_mara.
          WRITE:/ lw_mara-matnr,
                20 lw_mara-ersda.
        ENDLOOP.
      ENDCLASS.                    "example IMPLEMENTATION
    START-OF-SELECTION.
      DATA :  b1 TYPE REF TO example.
    CREATE OBJECT b1 TYPE example.
      TYPES : BEGIN OF x_mara,
                  matnr TYPE matnr,
                  ersda TYPE ersda,
               END OF x_mara.
    data : t_mara type standard table of x_mara initial size 0,
           it_mara type standard table of  x_mara initial size 0.
      call method b1->extract
        importing
         t_mara = t_mara.
         it_mara[]  =  t_mara[].
      call method b1->display
        exporting
         it_mara = it_mara.
    Edited by: Sai Chaitanya on Dec 2, 2008 5:30 AM

  • ABAP for Super Dumps: Import- & Export-Parameter for a Table in a FM

    Hello ABAP Profs,
    sorry I am BW.
    <b>Import- & Export-Parameter for a Table in and out of an Function Modul.</b>
    I want to import a table into a Function Module, change it and export it again.
    How do I have to define the Import- and Export- Parameters in the FM ?
    The table looks looks this:
    DATA: zvpshub_tab TYPE SORTED TABLE OF /bic/pzvpshub WITH UNIQUE KEY
    /bic/zvpshub objvers /bic/zvpsoursy INITIAL SIZE 0.
    Thanks a lot
    Martin Sautter

    Hi Clemens,
    <u>in SE11</u> I defined a datatype of Type Structure: ZVPSHUB_ROW.
    <u>in SE11</u> I defiend a datatype of Type Tabletype: ZVPSHUB_TAB,
    bases on Rowtype ZVPSHUB_ROW.
    <u>in SE 80</u> I creates an FM with a CHANGEING Parameter referencing ZVPSHUB_TAB:
    FUNCTION ZVP_SHUB_TAB_LOAD.
    ""Lokale Schnittstelle:
    *"  CHANGING
    *"     VALUE(SHUB_TAB) TYPE  ZVPSHUB_TAB
    <u>in RSA1</u> in BW in the Startroutine of the Upload Rules in defined the table:
    DATA:shub_tab          TYPE zvpshub_tab.
    <u>in RSA1</u> in BW in the Startroutine of the Upload Rules in defined the table:
    DATA:shub_tab          TYPE zvpshub_tab.
    <u>in RSA1</u> in BW in the Startroutine i called the FM
    CALL FUNCTION 'ZVP_SHUB_TAB_LOAD'
        CHANGING
          shub_tab = shub_tab.
    and it works ..
    Thank You
    Martin Sautter

  • Issue when passing table parameter to perform...

    Hello,
    I have a table parameter (S_KOSTL) defined as RSRANGE in a function module.
    Now when I am passing the table to an perform staeement as follows:
    PERFORM get_cost_center_info USING s_kostl
                                       CHANGING lt_output.
    Inside the form routine I am using following:
    FORM get_cost_center_info USING S_KOSTL TYPE RSRANGE
                                            CHANGING ct_output TYPE tt_output.
    LOOP AT it_ausp INTO ls_ausp WHERE atwrt IN s_kostl.
    ENDLOOP.
    But it says relational operator 'IN' not supported even if I defined S_KOSTL LIKE RSRANGE in function module tbale parameter.
    Please help.
    Regards,
    Rajesh.

    Since you are passing the Range which is a Table you have to pass it with the TABLES addition instead of the Using.
    Try like this:
    PERFORM get_cost_center_info TABLES s_kostl
    CHANGING lt_output.
    Inside the form routine I am using following:
    FORM get_cost_center_info TABLES S_KOSTL TYPE RSRANGE
    CHANGING ct_output TYPE tt_output.
    LOOP AT it_ausp INTO ls_ausp WHERE atwrt IN s_kostl.
    ENDLOOP.
    Regards,
    Naimesh Patel

  • Call same RFC from Web dynpro twice (table parameter passing)

    We have one table on our Iview bind to RFC A output table. We execute the RFC A with input parameters (p1=val1, p2=val2) and the data (task name and chkbox field) gets displayed on Iview table.
    The user will click a select deselect all checkbox to select all rows of the table.
    We want to execute SAME RFC A with input parameters (p1=val3, p2=val4) by passing the Iview table for processing. Please suggest the way to do this.

    Hi Sanjay,
    I am not sure about your requirement. I assume you need to call the same RFC twice, the first time with some simple parameters & the second time with a table parameter. Is this the case? If so:
    You needn't switch data between the contexts. You simply need to check if the RFC is being called when the WD table has some data. If so, add the table parameter to the RFC Input object. Let your WD table be bound to a node 'TableNode' having two attributes - 'task' and 'chk' (chk of type 'boolean'). I assume you need to add the row only if the checkbox has been selected.
    Assuming that your BAPI/RFC uses a table ‘MyTable’ of some type 'ZTAB' and that your RFC call is being done from your view:
    ZTAB table;
    IPrivate<your view>.ITableNodeElement elmt;
    <i>// create an instance of the Input class;</i>
    <BAPI_name>_Input input = new <BAPI_name>_Input ()
    <i>// Populating the RFC Object for the first time call
    i.e when the table node is empty</i>
    if(wdContext.nodeTableNode.size()==0)
    input.setParam1(<some default value>);
    input.setParamN(<some default value>);
    else
    for(int i=0;i<wdContext.nodeTableNode.size();i++)
    elmt = wdContext.nodeTableNode().getTableNodeElementAt(i);
    if(elmt.getChk())
    table = new ZTAB();
    <i>//if you do not know table type of 'MyTable’ , check the function input.add<MyTable> (<table type>)</i>
    table.set<property1>(elmt.getTask());
    <i>// If you need to add more parameters :</i>
    table.set<propertyN>(<your-value>);
    input.add<MyTable>(table);
    wdcontext.node<BAPI_name>_Input().bind(input);
    <i>Now execute the BAPI using the following line</i>
    wdContext.current<BAPI_Name>_InputElement().modelObject().execute();
    wdContext.nodeOutput.invalidate()
    <i>// Refreshes the value in the output node</i>
    Hope this helps,
    Best Regards,
    Nibu.

  • Passing table parameter from dynpro for java to sap r/3

    I am sending table parameter from WebDynpro to sap r/3,but the table is not populating.

    Hi,
    In 7.3:
    // models
                RFCModel1 modeloGral = new RFCModel1();
                Zfmfi_Certificado_Ret_Pdf_Input modeloRfc =                          wdContext.currentZfmfi_Certificado_Ret_Pdf_InputElement().modelObject();
                // clean
                if(modeloRfc.getIt_Tipo_Ret_Pobl()!=null && modeloRfc.getIt_Tipo_Ret_Pobl().size()>0){
                               modeloRfc.getIt_Tipo_Ret_Pobl().removeAll(modeloRfc.getIt_Tipo_Ret_Pobl());
                //fill
                IEt_RetencionesElement retElem;
                int cant = wdContext.nodeEt_Retenciones().size();
                for(int i=0; i<cant; i++){
                   retElem = wdContext.nodeEt_Retenciones().getEt_RetencionesElementAt(i);
                   Zfie_Tipo_Retencion_Poblacion retencion = new                                                                            Zfie_Tipo_Retencion_Poblacion(modeloGral);
                                    retencion.setTipo_Ret(retElem.getTipo_Ret());
                                    modeloRfc.addIt_Tipo_Ret_Pobl(retencion);

  • How to call a function with generic table parameter

    Hi everybody
    I need to call function module RSAR_ODS_API_GET (from BW). It recive an internal table with request ids and should return in E_T_DATA "unstructured" data from the psa and in E_T_RSFIELDTXT the description of the data structure, I guess
    from sap help only thing I have reggarding how to use the function module is :
    "You can call up the function module RSAR_ODS_API_GET with the list of request IDs given by the function module RSSM_API_REQUEST_GET. The function module RSAR_ODS_API_GET no longer recognizes InfoSources on the interface, rather it recognizes the request IDs instead. With the parameter I_T_SELECTIONS, you can restrict reading data records in the PSA table with reference to the fields of the transfer structure. In your program, the selections are filled and transferred to the parameter I_T_SELECTIONS.
    The import parameter causes the function module to output the data records in the parameter E_T_DATA. Data output is unstructured, since the function module RSAR_ODS_API_GET works generically, and therefore does not recognize the specific structure of the PSA. You can find information on the field in the PSA table using the parameter E_T_RSFIELDTXT."
    unfortunately I when running de report bellow, I get a dump which says:
    Function parameter "E_DATA" is unknown
    in the definition of the interface E_DATA has no type, which  means it can recive any table type, right?
    So I have two questions?
    1) How to get the code working
    2) How do I use the parameter E_T_RSFIELDTXT to parse the data returned in E_DATA
    by debuging RSSM_API_REQUEST_GET for this code I found it try to put an internal table with the struct of the database table /BIC/B0000151000 in E_DATA
    Thanks a lot for any help
    rgds
    my test report is:
    REPORT  ZTEST_PSA_API.
    TABLES: /BIC/B0000151000 .
    TYPE-POOLS: RSSM.
    TYPES: BEGIN OF STC_REQ_LINE,
      sign(1),
             option(2),
             low  TYPE rsa_request,
             high TYPE rsa_request,
             END OF STC_REQ_LINE,
      IT_REQUEST TYPE STC_REQ_LINE OCCURS 0.
    DATA: lit_request TYPE RSSM_T_API_REQUEST_GET WITH HEADER LINE,
          lc_system TYPE RSSM_T_API_LOGSYS,
          lit_request1 TYPE IT_REQUEST WITH HEADER LINE.
    DATA: lc_dtarget_name TYPE RSA_ODSNAME,
          lit_meta_data TYPE RSARC_T_RSFIELDTXT.
    DATA: lt_psa_data LIKE /BIC/B0000151000 OCCURS 0.
    CALL FUNCTION 'RSSM_API_REQUEST_GET'
      EXPORTING
        I_SOURCE    = '2LIS_13_VDITM'
        I_TYP       = 'D'
        I_DATEFROM  = '20060627'
      IMPORTING
        E_T_REQUEST = lit_request[]
        E_T_LOGSYS  = lc_system
        EXCEPTIONS  = 1.
    READ TABLE lit_request.
    lit_request1-sign = 'I'.
    lit_request1-option = 'EQ'.
    lit_request1-low = lit_request-request .
    APPEND lit_request1 .
    break-point .
    CALL FUNCTION 'RSAR_ODS_API_GET'
      EXPORTING
        I_T_REQUEST = lit_request1[]
      IMPORTING
        E_ODSNAME = lc_dtarget_name
        E_T_RSFIELDTXT = lit_meta_data
      TABLES
        E_DATA = lt_psa_data
      EXCEPTIONS
        NO_DATA_FOUND = 1
        PARAMETER_FAILURE = 2
        REQUEST_NOT_AVAILABLE = 3
        NO_REQUEST_FOUND = 4
        NO_FIELDS_TO_ODS = 5
        NO_ODS_FOUND = 6
        PACKAGE_LOCKED_BY_LOADING = 7 .

    Try to pass table parameter without "[]" :
    CALL FUNCTION 'RSAR_ODS_API_GET'
    EXPORTING
    I_T_REQUEST = lit_request1
    IMPORTING
    E_ODSNAME = lc_dtarget_name
    E_T_RSFIELDTXT = lit_meta_data
    TABLES
    E_DATA = lt_psa_data

  • Passing an internal table WITH HEADER LINE to abap object

    Hi. In another thread, it was explained how to pass an internal table to an abap object method. Is it possible to pass an internal table that has a header line, and RETAIN the header line once the table has been passed?
    My problem is, that I can pass the table, update it, but the read buffer is not populated when returning from the object's method. This is the result of being able to pass a STANDARD TABLE type, but not a STANDARD TABLE WITH HEADER LINE.
    This means that I have to read the table into a work area instead of doing a READ TABLE LKNA1 within the method, which is what I need to do.
    Thanks.

    Please check this sample program, notice that it is modifing the internal table and passing it back modified as well as passing the "work area" or "header line" back thru the exporting parameter.
    report zrich_0001.
    *       CLASS lcl_app DEFINITION
    class lcl_app definition.
      public section.
        types: t_t001 type table of t001.
        class-data: it001 type table of t001.
        class-data: xt001 like line of it001.
        class-methods: change_table
                                    exporting ex_wt001 type t001
                                    changing im_t001 type t_t001.
    endclass.
    data: w_t001 type t001.
    data: a_t001 type table of t001 with header line.
    start-of-selection.
      select * into table a_t001 from t001.
      call method lcl_app=>change_table
                 importing
                     ex_wt001 = w_t001
                 changing
                     im_t001  = a_t001[] .
      check sy-subrc  = 0.
    *       CLASS lcl_app IMPLEMENTATION
    class lcl_app implementation.
      method change_table.
        loop at im_t001 into xt001.
          concatenate xt001-butxt 'Changed'
               into xt001-butxt separated by space.
          modify im_t001 from xt001.
        endloop.
        ex_wt001 = xt001.
      endmethod.
    endclass.
    Regards,
    Rich Heilman

  • How to read JCO Table parameter

    Hello
    I am calling Java function from ABAP side (JCO outbound call). Right now, in the java program I can get the import parameter data, but not the table parameter data. I am using the famous example5.java and the ABAP code is like below:
    PARAMETERS: requtext LIKE sy-lisel.
    DATA: echotext LIKE sy-lisel,
          resptext LIKE sy-lisel,
          rfctest TYPE TABLE OF rfctest,
          wa_rfctest TYPE rfctest.
    wa_rfctest-rfcdata1 = requtext.
    wa_rfctest-rfcdata2 = 'Hello World'.
    APPEND wa_rfctest TO rfctest.
    CALL FUNCTION 'STFC_CONNECTION'
      DESTINATION 'JCO'
      EXPORTING
        requtext = requtext
      IMPORTING
        echotext = echotext
        resptext = resptext
      TABLES
        rfctest  = rfctest.
    In the java side it is defined as:
    JCO.MetaData fmeta = new JCO.MetaData("STFC_CONNECTION");
            fmeta.addInfo("REQUTEXT", JCO.TYPE_CHAR, 16,   0,     0,       JCO.IMPORT_PARAMETER, null);
            fmeta.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255,   255,     0,       JCO.EXPORT_PARAMETER, null);
            fmeta.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255,   512,     0,       JCO.EXPORT_PARAMETER, null);
            fmeta.addInfo("RFCTABLE",     JCO.TYPE_TABLE,     144, 0, 0, 0,                    "RFCTEST");
    Also RFCTEST structure is defined ( omitted here)
    In the handleRequest(JCO.Function function), the following code:
    if (function.getName().equals("STFC_CONNECTION")) {
                    output.setValue(input.getString("REQUTEXT"),"ECHOTEXT");
                    JCO.Table tab = tables.getTable("RFCTABLE");
                    System.out.println("RFCTABLE rows = " + tables.getTable("RFCTABLE").getNumRows());
    I always get 0 rows in the table RFCTABLE. I checked the trace file in the Java side, I can see the table data are indeed passed to Java side, the JCO just can't pass the data through the API.
    Any one has idea of it?
    Thank you very much.
    Jayson

    Andre 
    I have read the function Structure of J_1B_NFE_XML_OUT and i don't find the TableParameter or ExportParameter for this FM.
    How do you actually get your return parameter?
    I don't think here the table type is JCO.Table.
    And  i don't know how to use this Function . So i can't test my assumption.
    JCO.Table tab = function.getImportParameterList().getTable( "XML_ITEM_TAB" );
    normally people use the JCO.Table tab=function.getTableParameterList().getTable();
    But XML_ITEM_TAB is not a Table parameter.
    I don't know if table type from importParmeter can convert themself like that.But you still can try it.
    hope that be helpful!

  • Import table in abap method

    Hi,
    How can i import table in methods ,in FM i use the tab tables and in method i had the returning tab
    but it just for export.
    BR
    Ricardos

    Hi,
    In tables parameter use
    my_tab LIKE your_db_table_name
    or via importing/exporting/changing parameters:
    - go to se11, select Data type
    - type in new table type in Z_MY_TABLE_TYPE and Create
    - select Table type
    - Pass description and as Line type type in your DB table name
    - activate
    - pass this table type to one of FM / method parameter
    my_tab TYPE my_new_table_type.
    Regards
    Marcin

  • TABLE parameter in FUnction module

    Hi Experts
    Iam modifying a FM, i have 10 fileds in export parameters,
    filed1
    filed2
    filed3
    filed 10.
    as per the requirement i need to display the same parameters in table form
    suppose the rows of table is like
    filed1filed2filed3
    filed4filed5filed6
    filed7filed8filed9filed10
    so iam planing to create internal table and pass it TABLE parameter option in FM
    please tell me is it make sense and how to define TABLE parameter in FM, and how to pass data to it
    thanks
    vasavi

    inside the fm you can declare some thing like this.. have a table parameter name some thing don't reference to any data type.
    and also you have 10 importing parameters.
    function ztest_function.
    data: begin of itab occurs 0,
             field1 type <datatype>,
             field2..
            field10,
          end of itab.
    "passing importing parameters
    itab-field1 = i_field1. "these are importing parameters
    itab-field2 = i_field2.
    itab-field10 = i_field10.
    append itab.
    table_parameter[] = itab[].
    endfunction.

  • How to pass multi value selection parameter to SAP Function Module?

    Hi ,
    Anyone know how to pass CR multi value parameter - array to SAP Function module ?
    eg  multi selection of customer in CR
    and then pass to Function module
    in SAP FM,  the SQL select these customer only
    How should the import parameter / table of SAP Function module designed?
    and how should CR pass the data to SAP FM
    thx
    John

    Moved to Integration Kit forum

  • Passing an Internal table to the Smartform

    Hi Experts,
    I have build an internal table in the driver program with some (20 fields) now I need to pass the same internal table to Smartform as importing parameter or Tables Parameter so that I can use the table data for my further processing.
    I have searched the forums and its look like I can't pass an Internal table to the smartform unless and until it is defined in the DDIC with the table types.
    FYI...
    I can't create the DDIC table type as it needs lot of approvals to get it created.
    Please help me on how to proceed further.
    Thanks in advance.
    Regards,
    Srinivas

    I can't create the DDIC table type as it needs lot of approvals to get it created.
    It's a shame you need approval for this.
    Anyway can you overcome this with field symbols:
    - type parameter in Smartform FM with TYPE STANDARD TABLE (or INDEX/SORTED/HASHED - depending which one you use)
    - pass your locally typed table
    - in SF create the same data type
    - declare field symbol with this type
    - assign the table from the parameter to this field symbol - this way you can work with the table via field symbol as it would be of the table type
    "in SF
      TYPES: tt_my_type TYPE TABLE OF my_type..
      FIELD-SYMBOLS <tab> TYPE tt_my_type .
      "itab is parameter table
      ASSIGN itab TO <tab>.
      "now you can even address its components
       <wa_tab>-field1 = ...
    Although FM parameters in general should be typed with DDIC types only, this way you can cheat the system a little bit;)
    Regards
    Marcin

Maybe you are looking for