12-19-2013 4:26 PM
I tried to pass value Using Internal table . but I could't Enter the value there..
I tried with,
Parameter Name --> it
Typing --> type standard table of
(or)
--> type
--> like
Associated Type--> MARA.
But here i got the error message " TABLES parameters are obsolete" i tried with all 1.type standard table of, 2.type, 3. like. i didn't work . What to give in Typing field ? can anyone help me ?
12-21-2013 12:01 PM
Thank You Friends. Thanks for your Information .. So instead of using 'table' i can use import option to invoke 'ITAB' right?
12-19-2013 4:38 PM
Hi Karthi,
This message is pretty clear, no? Still, if you want to use this type of parameters, it should be typified using "LIKE".
I recommend you use types IMPORTING, EXPORTING and CHANGING.
Regards,
Alex
PS: The message is an warning. Press return again and continue.
12-19-2013 4:41 PM
Hi,
Try passing a CHANGING parameter of type MARA_TAB.
At,
Sandro Ramos
12-19-2013 4:44 PM
Hi Karthi,
You can go to se11 transaction and create a table of type mara and using it in your import tab.
Then write in function module import Parameter name:z_t_mara and typing: TYPE.
Regards,
12-19-2013 4:53 PM
Don't need to create a new table type, use standard MARA_TAB instead.
Regards,
Sandro
12-20-2013 3:36 AM
hi Sandro,
i know SAP recommend using import, export. bacasue tables have high memory consumption and lower performance.
Could you explain me why?
if using import, it will be, 'itab type standard table of tableType', low memory consumption?
if using tables, it will be, 'itab like standard table of table', high memory consumption?
thanks very much.
Archer
12-19-2013 5:59 PM
When creating a function module (se37) SAP would like developers to begin passing table information in the IMPORT, EXPORT, and/or CHANGING tabs instead of using the TABLES tab. This means that we must use table types instead of statements like...gt_itab TYPE STANDARD TABLE OF mara in se37.
Sandro has a good suggestion of using MARA_TAB. If you look at MARA_TAB in se11 you'll see that it is a table type instead of a structure. You can use any table type for your IMPORTING, EXPORTING, and CHANGING parameters of your new function module,and they will behave just as if you added a parameter to the TABLES tab.
I hope this additional insight is helpful.
12-19-2013 6:07 PM
Hi,
SAP Release 7.0 EP2, the Tables parameter is not required anymore; we can define internal tables in the IMPORTING & EXPORTING tabs.
Regards,
Tanmoy
12-21-2013 12:01 PM
Thank You Friends. Thanks for your Information .. So instead of using 'table' i can use import option to invoke 'ITAB' right?
12-21-2013 4:07 PM
Hi Karthi,
Just read the documentation below and explains the reason for obsolete statement.
TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as internal 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 such a formal parameter, an empty 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. In the case of formal parameters defined with TABLES, no value transmission is possible.
Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created in the function module for the internal table using the addition LIKE LINE OF itab of the DATA statement in the function module.
So better to use the changing parameter by using SAP defined table type TT_MARA( just like referring to standard internal table ). declare your FM as mentioned below screen shot.
12-23-2013 11:56 AM
Hi Karthi,
Note that TABLE type parameters pass your variable by reference and allows to modify the value of these. If you are using a IMPORTING type parameter can only read this value. If you want change the value of your variable, you should use a CHANGING parameter or one IMPORTING and one EXPORTING.
In all cases (except TABLE type paramters) the type of your varible must be an table type. Not an structure.
Best Regards,
Alex