2008 Aug 20 8:11 AM
Hi.. Friends...
I created one function module...
In that Iam created one subroutine, that is saved in Finclude of that function group.
Here in function module source code....
data: itab TYPE STANDARD TABLE OF <dbtable> WITH HEADER LINE.
/////
perform fill_data changing itab.
For this subroutine F include source code...
FORM fill_data CHANGING itab standard table.
<SELECT STATEMENT WITH ABOVE INTERNAL TABLE>
ENDFORM.
Now the problem is F inculde activating with out any errors.
But while activating FM iam getting following error message....
>>In PERFORM "FILL_DATA", the actual parameter "ITAB" and
>>formal parameter "ITAB" are incompatible. "ITAB" is
>>the header line of table "ITAB[]".
Where i did mistake.
Thanks,
Naveen.I
2008 Aug 20 8:16 AM
Hi naveen,
1. For Passing tables,
the TABLES syntax should be used normally,
instead of changing.
By using the TABLES syntax, we can also CHANGE
the tables content.
2. I tried just now, and this syntax will work.
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
*----
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
perform fill_data tables itab .
*----
FORM fill_data tables itab structure t001.
select query....
ENDFORM.
regards,
amit m.
Hi naveen,
1. For Passing tables,
the TABLES syntax should be used normally,
instead of changing.
By using the TABLES syntax, we can also CHANGE
the tables content.
2. I tried just now, and this syntax will work.
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
*----
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
perform fill_data tables itab .
*----
FORM fill_data tables itab structure t001.
select query....
ENDFORM.
regards,
amit m.
2008 Aug 20 8:15 AM
Hi,
Use TABLES instead of CHANGING.
perform fill_data TABLES itab.take help of this example.
PARAMETERS: p_carr TYPE sflight-carrid,
p_conn TYPE sflight-connid.
DATA sflight_tab TYPE STANDARD TABLE OF sflight.
...
PERFORM select_sflight TABLES sflight_tab
USING p_carr p_conn.
...
FORM select_sflight TABLES flight_tab LIKE sflight_tab
USING f_carr TYPE sflight-carrid
f_conn TYPE sflight-connid.
SELECT *
FROM sflight
INTO TABLE flight_tab
WHERE carrid = f_carr AND
connid = f_conn.
ENDFORM.
hope this helps.
thanx,
dhanashri.
Edited by: Dhanashri Pawar on Aug 20, 2008 9:19 AM
2008 Aug 20 8:16 AM
Hi naveen,
1. For Passing tables,
the TABLES syntax should be used normally,
instead of changing.
By using the TABLES syntax, we can also CHANGE
the tables content.
2. I tried just now, and this syntax will work.
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
*----
data: itab TYPE STANDARD TABLE OF t001 WITH HEADER LINE.
perform fill_data tables itab .
*----
FORM fill_data tables itab structure t001.
select query....
ENDFORM.
regards,
amit m.
2008 Aug 20 9:34 AM
HI Friends...
Function module source code....
data: itab TYPE STANDARD TABLE OF <dbtable> WITH HEADER LINE.
/////
perform fill_data TABLES itab.For this subroutine F include source code...
FORM fill_data TABLES itab standard table.
<SELECT STATEMENT WITH ABOVE INTERNAL TABLE>
ENDFORM....Is working fine.
Hi... Vinod... As I hav no.of declarations in my program, I am not tried with your code. I will get back here with my effort with your help.
Thanks,
Naveen Inuganti.
2008 Aug 20 8:21 AM
You can do this when you are going for Changing parameters.
Types: ty_t_tab type standard table of sflight.
data: it_flight like table of sflight with header line,
wa_flight type sflight.
perform test_form in program ztest_formtest2
using wa_flight
changing it_flight[].
form test_form using wa_flight type sflight
changing flight type ty_t_tab.
endform.
2008 Aug 20 8:24 AM
Hi,
When calling the subroutiene or at subroutiene declaration .... the system is considering ITAB as work area instead of table. Append [] to ITAB while calling the subroutiene so that it considers ITAB as table not as work are.
I think this solves ur problem
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |