‎2008 Mar 25 9:24 AM
Hy, I'm stuck in this weird problem, grrr..
The ABAP compiler says:
different number of parameters in form and perform, number o formal parameters: 3, number of actual parameter: 1
Could anyone help me?
Thank you!
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data USING it_flight.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_data
USING p_it_flight TYPE TABLE OF sbc400focc.
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
‎2008 Mar 25 9:29 AM
Hi,
do modifications as below.
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
types:t_sbc400focc TYPE TABLE OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data USING it_flight.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_data
USING p_it_flight type t_sbc400focc.
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
rgds,
bharat.
‎2008 Mar 25 9:29 AM
‎2008 Mar 25 9:29 AM
Hi,
do modifications as below.
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
types:t_sbc400focc TYPE TABLE OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data USING it_flight.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_data
USING p_it_flight type t_sbc400focc.
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
rgds,
bharat.
‎2008 Mar 25 9:30 AM
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
&----
*& Form display_data
&----
text
----
FORM display_data.
DATA wa LIKE LINE OF it_flight.
LOOP AT it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
‎2008 Mar 25 9:30 AM
hi,
replace this line:
FORM display_data
USING p_it_flight TYPE TABLE OF sbc400focc.
with:
FORM display_data
USING p_it_flight TYPE TABLE.
hope this helps
ec
‎2008 Mar 25 9:32 AM
your perform & form should be like this --
PERFORM display_data TABLES it_flight.
&----
*& Form display_data
&----
text
----
-->P_IT_FLIGHT text
----
form display_data tables p_it_flight structure < it_flight #local# >
"Insert correct name for <...>.
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
endform. " display_data
Edited by: Pankaj Singh on Mar 25, 2008 3:03 PM
‎2008 Mar 25 9:35 AM
Hi Milascon,
Please change ur code like this :
FORM display_data
USING p_it_flight TYPE TABLE OF sbc400focc.
USING p_it_flight LIKE it_flight.
U are referring to TYPE. INSTEAD refer it to internal table using like.
This will surely help you.
Regards,
Sreekanth.G
‎2008 Mar 25 9:35 AM
‎2008 Mar 25 9:38 AM
FORM display_data USING p_it_flight type any.
This will resolve your problem mate.
Raghav
‎2008 Mar 25 9:43 AM
Hi,
Pls correct the Coding,
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data TABLES it_flight.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
&----
*& Form display_data
&----
text
----
FORM display_data
TABLES p_it_flight .
DATA wa LIKE LINE OF it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
Regards,
Balakumar.G
Reward Points if helpful.
‎2008 Mar 25 9:57 AM
In the form try this,
FORM display_data
USING p_it_flight LIKE it_flight.
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa.
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%'.
ENDLOOP.
ENDFORM. "display_data
‎2008 Mar 25 10:30 AM
wow... so many answers. Ok guys, thanx all of you ... problem solved.
sdn.sap.com forum rulez
Edited by: Milascon Daniel on Mar 25, 2008 11:30 AM
‎2008 Mar 25 10:32 AM
Hi ,
For passing an internal table use the addition of keyword TABLES when we r calling a subroutine using PERFORM statement and in FORM use TABLES ADDITION and also STRUCTURE addition. like in program below.
TYPES: BEGIN OF sbc400focc,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
seatsmax TYPE sflight-seatsmax,
seatsocc TYPE sflight-seatsocc,
percentage(3) TYPE p DECIMALS 2,
END OF sbc400focc.
PARAMETER pa_carr TYPE sflight-carrid.
DATA: it_flight TYPE TABLE OF sbc400focc,
wa_flight LIKE LINE OF it_flight,
z_table TYPE sbc400focc.
SELECT *
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flight
WHERE carrid = pa_carr.
wa_flight-percentage = 100 * wa_flight-seatsocc / wa_flight-seatsmax.
INSERT wa_flight INTO TABLE it_flight.
ENDSELECT.
IF sy-subrc EQ 0.
SORT it_flight BY percentage.
PERFORM display_data TABLES it_flight.
ELSE.
WRITE: 'No ' , pa_carr , ' flights found!'.
ENDIF.
&----
*& Form display_data
&----
text
----
FORM display_data
TABLES p_it_flight STRUCTURE z_table .
DATA wa LIKE LINE OF p_it_flight.
LOOP AT p_it_flight INTO wa .
WRITE: / wa-carrid COLOR COL_KEY,
wa-connid COLOR COL_KEY,
wa-fldate COLOR COL_KEY,
wa-seatsmax COLOR COL_KEY,
wa-seatsocc COLOR COL_KEY,
wa-percentage COLOR COL_KEY, '%' COLOR COL_KEY.
ENDLOOP.
ENDFORM. "display_data