‎2007 Feb 09 5:37 AM
Hi friends i got a program on the net i dont remember the url also from where i got this program but while i was trying to execute this it was showing some error so plz can u explain where the error is and how to resolve it
&----
*& Report ZNEW12 *
*& *
&----
*& *
*& *
&----
REPORT ZNEW12.
INTERFACE COST.
METHODS M1.
DATA : X TYPE I.
ENDINTERFACE.
DATA: V_DISTANCE TYPE I.
CLASS PLANE DEFINITION.
PUBLIC SECTION.
METHODS : CONSTRUCTOR IMPORTING
IM_CARRID TYPE I
IM_CONNID TYPE I
IM_DISTANCE TYPE I,
GET_DISPLAY,FUEL_EST.
PRIVATE SECTION.
DATA : V_CARRID TYPE I,
V_CONNID TYPE I,
V_DISTANCE TYPE I,
FUELCAL TYPE I.
ENDCLASS.
CLASS PLANE IMPLEMENTATION.
METHOD CONSTRUCTOR.
V_CARRID = IM_CARRID.
V_CONNID = IM_CONNID.
V_DISTANCE = IM_DISTANCE.
ENDMETHOD.
METHOD FUEL_EST.
FUELCAL = V_DISTANCE * 10.
WRITE:/ FUELCAL.
ENDMETHOD.
METHOD GET_DISPLAY.
WRITE:/ V_CARRID,
V_CONNID,
V_DISTANCE,
FUELCAL.
ENDMETHOD.
ENDCLASS.
CLASS PASS_PASSENGER DEFINITION INHERITING FROM PLANE.
PUBLIC SECTION.
METHODS: CONSTRUCTOR IMPORTING
IM_CARRID TYPE I
IM_CONNID TYPE I
IM_DISTANCE TYPE I
IM_PASSENGER TYPE I.
METHODS: FUEL_EST REDEFINITION.
METHODS: GET_DISPLAY REDEFINITION.
INTERFACES COST.
PRIVATE SECTION.
DATA : V_CARRID TYPE I,
V_CONNID TYPE I,
V_DISTANCE TYPE I,
IM_PASS TYPE I,
X TYPE I,
FUELCAL.
ENDCLASS.
CLASS PASS_PASSENGER IMPLEMENTATION.
METHOD CONSTRUCTOR.
CALL METHOD SUPER->CONSTRUCTOR( IM_CARRID = IM_CARRID
IM_CONNID = IM_CONNID IM_DISTANCE = IM_DISTANCE ) .
IM_PASS = IM_PASSENGER.
ENDMETHOD.
METHOD COST~M1.
X = IM_PASS * V_DISTANCE.
ENDMETHOD.
METHOD FUEL_EST.
FUELCAL = V_DISTANCE * 10.
ENDMETHOD.
METHOD GET_DISPLAY.
WRITE:/ V_CARRID,
V_CONNID,
V_DISTANCE,
IM_PASS.
ENDMETHOD.
ENDCLASS.
DATA REF2 TYPE REF TO PASS_PASSENGER.
START-OF-SELECTION.
CREATE OBJECT REF2 EXPORTING
IM_CARRID = 11
IM_CONNID = 88
IM_DISTANCE = 678
IM_PASSENGER = 10.
REF2->COST~M1( ).
REF2->GET_DISPLAY( ).
CLASS CARGO_PLANE DEFINITION INHERITING FROM PLANE.
PUBLIC SECTION.
METHODS: CONSTRUCTOR IMPORTING
IM_CARRID TYPE I
IM_CONNID TYPE I
IM_DISTANCE TYPE I
IM_WEIGHT TYPE I.
METHODS: FUEL_EST REDEFINITION.
INTERFACES COST.
PRIVATE SECTION.
DATA : IM_WT TYPE I,
FUELCAL TYPE I,
X TYPE I.
ENDCLASS.
CLASS CARGO_PLANE IMPLEMENTATION.
METHOD CONSTRUCTOR.
CALL METHOD SUPER->CONSTRUCTOR( IM_CARRID = IM_CARRID
IM_CONNID = IM_CONNID IM_DISTANCE = IM_DISTANCE ).
IM_WT = IM_WEIGHT.
ENDMETHOD.
METHOD FUEL_EST.
FUELCAL = V_DISTANCE * 200.
ENDMETHOD.
METHOD COST~M1.
X = IM_WT * V_DISTANCE.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA REF3 TYPE REF TO CARGO_PLANE.
CREATE OBJECT REF3 EXPORTING IM_CARRID = 112 IM_CONNID = 34 IM_DISTANCE
= 49 IM_WEIGHT = 56.
REF3->COST~M1( ).
REF3->GET_DISPLAY( ).
DATA: WA_ITAB LIKE LINE OF ITAB.
CLASS LCL_VEH DEFINITION.
PUBLIC SECTION.
METHODS : GET_DATA IMPORTING
IM_CARRID TYPE SPFLI-CARRID
IM_CONNID TYPE SPFLI-CONNID
IM_DISTANCE TYPE SPFLI-DISTANCE,
GET_DISPLAY,GET_FUEL.
PRIVATE SECTION.
DATA : V_CARRID TYPE SPFLI-CARRID,
V_CONNID TYPE SPFLI-CONNID,
V_DISTANCE TYPE SPFLI-DISTANCE.
.
ENDCLASS.
START-OF-SELECTION.
DATA : R_OBJ TYPE REF TO LCL_VEH.
CLASS LCL_VEH IMPLEMENTATION.
METHOD GET_DATA.
V_CARRID = IM_CARRID.
V_CONNID = IM_CONNID.
V_DISTANCE = IM_DISTANCE.
R_OBJ->GET_DISPLAY( ).
ENDMETHOD.
METHOD GET_DISPLAY.
WRITE 😕 V_CARRID,
V_CONNID,
V_DISTANCE.
ENDMETHOD.
METHOD GET_FUEL.
WRITE : ' NO FUEL'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
CREATE OBJECT R_OBJ.
SELECT * FROM SPFLI INTO TABLE ITAB.
LOOP AT ITAB INTO WA_ITAB.
R_OBJ->GET_DATA( IM_CARRID = WA_ITAB-CARRID
IM_CONNID = WA_ITAB-CONNID
IM_DISTANCE = WA_ITAB-DISTANCE ).
ENDLOOP.
R_OBJ->GET_FUEL( ).
‎2007 Feb 09 5:50 AM
Hi praveen,
the definition of itab in the program is missing.... define itab and the program is working fine.
regards,
chaitanya.
‎2007 Feb 09 5:50 AM
Hi praveen,
the definition of itab in the program is missing.... define itab and the program is working fine.
regards,
chaitanya.
‎2007 Feb 09 5:55 AM
Hi pavan,
itab declaration is missing.
include this:
data: itab type standard table of spfli.
regards,
keerthi
‎2007 Feb 09 5:59 AM
Hi ,
The error is at this the line as below.
<b>DATA: WA_ITAB LIKE LINE OF ITAB.</b>
In the program itab is not declared.
Add the following code.
data : itab type standard table of spfli.
This will solve the problem.
Please reward if useful.