SAP Class programs
REPORT ZCL1.
class math DEFINITION.
PUBLIC SECTION.
DATA : P TYPE NUM1 VALUE 8, V TYPE NUM1 VALUE 7, R TYPE NUM1 VALUE 3.
CLASS-DATA : X TYPE I VALUE 2, Y TYPE I VALUE 3, Z TYPE I VALUE 4.(static
attribute)
METHODS ADD IMPORTING A TYPE NUM1
B TYPE NUM1
RETURNING VALUE(C) TYPE NUM1.
CLASS-METHODS Q.
ENDCLASS.
CLASS MATH IMPLEMENTATION.
METHOD ADD .
C = A + B.
ENDMETHOD.
METHOD Q .
WRITE / 'METHOD CALLED'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA D TYPE NUM1.
DATA OBJ TYPE REF TO MATH.
CREATE OBJECT OBJ.
*DATA(OBJ1) = NEW MATH( ).
* OBJ->ADD(
* EXPORTING
* A =
* B =
** RECEIVING
** C =
* ).
*OBJ1->ADD( A = 5 B = 9 RECEIVING D ).
*MATH=>ADD( A = 5 B = 9 ).
*
*MATH=>Q( ).
*OBJ->Q( ).
*WRITE D.
WRITE OBJ->P.
WRITE / MATH=>X.
WRITE / OBJ->X.
Class for Static Attribute and Method
REPORT ZCL_ANIMAL.
CLASS ANIMAL DEFINITION.
PUBLIC SECTION.
CLASS-DATA : LEG, EYES, COLOUR, TAIL, SPEICES, HAIR, EARS.
CLASS-METHODS : EATING, RUNNING, SLEEPING, WALKING, ROARING, DRINKING.
ENDCLASS.
CLASS ANIMAL IMPLEMENTATION.
METHOD EATING.
WRITE / 'ANIMAL EATING'.
ENDMETHOD.
METHOD RUNNING.
ENDMETHOD.
METHOD SLEEPING.
ENDMETHOD.
METHOD WALKING.
ENDMETHOD.
METHOD ROARING.
ENDMETHOD.
METHOD DRINKING.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
ANIMAL=>EATING( ).
DATA(DOG) = NEW ANIMAL( ).
DOG->EATING( ).
Class for Static Attribute and Method
REPORT ZCL_ANIMAL1.
CLASS ANIMAL DEFINITION.
PUBLIC SECTION.
CLASS-DATA : LEG TYPE NUMC1, EYES TYPE NUMC1.
CLASS-METHODS : EATING, RUNNING.
METHODS CONSTRUCTOR IMPORTING A_LEG TYPE NUMC1
A_EYES TYPE NUMC1.
ENDCLASS.
CLASS ANIMAL IMPLEMENTATION.
METHOD EATING.
WRITE / 'ANIMAL EATING'.
ENDMETHOD.
METHOD RUNNING.
ENDMETHOD.
METHOD CONSTRUCTOR.
LEG = A_LEG.
EYES = A_EYES.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
*ANIMAL=>EATING( ).
DATA(DOG) = NEW ANIMAL( A_EYES = 2 A_LEG = 4 ).
*DOG->EATING( ).
WRITE : / DOG->LEG, / DOG->EYES.
Class for Inheritance
REPORT ZCL_ANIMAL_INH.
CLASS ANIMAL DEFINITION.
PUBLIC SECTION.
CLASS-DATA : LEG TYPE NUMC1, EYES TYPE NUMC1.
CLASS-METHODS : EATING, RUNNING.
METHODS CONSTRUCTOR IMPORTING A_LEG TYPE NUMC1
A_EYES TYPE NUMC1.
ENDCLASS.
CLASS ANIMAL IMPLEMENTATION.
METHOD EATING.
WRITE / 'ANIMAL EATING'.
ENDMETHOD.
METHOD RUNNING.
ENDMETHOD.
METHOD CONSTRUCTOR.
LEG = A_LEG.
EYES = A_EYES.
WRITE : /'THE ANIMAL HAS', LEG, 'LEGS', 'AND', EYES , 'EYES'.
ENDMETHOD.
ENDCLASS.
CLASS HORSE DEFINITION INHERITING FROM ANIMAL.
ENDCLASS.
CLASS HORSE IMPLEMENTATION.
ENDCLASS.
CLASS DONKEY DEFINITION INHERITING FROM HORSE.
ENDCLASS.
CLASS DONKEY IMPLEMENTATION.
ENDCLASS.
START-OF-SELECTION.
PARAMETERS : P_E TYPE NUMC1,
P_L TYPE NUMC1.
*DATA(CHETAK) = NEW HORSE( A_EYES = P_E A_LEG = P_L ).
DATA(D1) = NEW DONKEY( A_EYES = P_E A_LEG = P_L ).
Class for Car
REPORT ZCL_CAR.
CLASS CAR DEFINITION.
PUBLIC SECTION.
DATA SPEED TYPE I. ##VALUE ##100.
DATA C_NAME TYPE CHAR5. instance attribute
METHODS RUN.
METHODS FORWARD.
ENDCLASS.
CLASS CAR IMPLEMENTATION.
METHOD RUN.
WRITE :/ 'THE HIGH SPEED OF CAR IS', SPEED, 'THE NAME OF CAR IS', C_NAME.
ENDMETHOD.
METHOD FORWARD.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
PARAMETERS C_SPEED TYPE NUMC3.
PARAMETERS C_NAME1 TYPE CHAR5.
DATA(MARUTI800) = NEW CAR( ).==>Object declaration
DATA(ALTO) = NEW CAR( ).
MARUTI800->SPEED = C_SPEED.
MARUTI800->C_NAME = C_NAME1.
MARUTI800->RUN( ). calling method through obj
Constructor Program
REPORT ZCL_CONSTRUCTOR.
CLASS FOR_CONST DEFINITION.
PUBLIC SECTION.
METHODS CONSTRUCTOR.
* METHODS CONSTRUCTOR.
ENDCLASS.
CLASS FOR_CONST IMPLEMENTATION.
METHOD CONSTRUCTOR.
WRITE / 'CONSTRUCTOR CALLED'.
ENDMETHOD.
* METHOD CONSTRUCTOR.
* WRITE / 'CONSTRUCTOR CALLED'.
* ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(OBJ) = NEW FOR_CONST( ).
WRITE /'progrm run succsefully'.
Class From SE24 TCODE
REPORT ZGL_CLMETH.
DATA(OBJ_SALES) = NEW ZGL_CL1( ).
OBJ_SALES->SO_DETAILS(
EXPORTING
VBELN = '0000004971' " Sales Document
IMPORTING
ERDAT = DATA(ET) " Date on Which Record Was Created
ERZET = DATA(EZ) " Entry time
ERNAM = DATA(ER) " Name of Person who Created the Object
ANGDT = DATA(AB) " Quotation/Inquiry is valid from
).
BREAK-POINT.
Class For Access Specifier
REPORT ZACC_SPE.
CLASS AS DEFINITION.
PUBLIC SECTION.
METHODS : SET_ID IMPORTING I_ID TYPE CHAR5,
SET_PASS IMPORTING I_PASS TYPE CHAR5,
GET_IDPASS.
PRIVATE SECTION.
DATA : ID TYPE CHAR5,
PASS TYPE CHAR5.
ENDCLASS.
CLASS AS IMPLEMENTATION.
METHOD SET_ID.
ID = I_ID.
ENDMETHOD.
METHOD SET_PASS.
PASS = I_PASS.
ENDMETHOD.
METHOD GET_IDPASS.
WRITE : / 'THE ID IS', ID,'AND PASS IS', PASS.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(OBJ) = NEW AS( ).
OBJ->SET_ID( I_ID = 'KUNAL' ).
OBJ->SET_PASS( I_PASS = 'SAP12' ).
OBJ->GET_IDPASS( ).
REPORT ZACC_SPE01.
CLASS AS DEFINITION.
PUBLIC SECTION.
METHODS : SET_ID IMPORTING I_ID TYPE CHAR5,
SET_PASS IMPORTING I_PASS TYPE CHAR5,
GET_IDPASS.
PROTECTED SECTION.
DATA : ID TYPE CHAR5,
PASS TYPE CHAR5.
ENDCLASS.
CLASS AS IMPLEMENTATION.
METHOD SET_ID.
* ID = I_ID.
ENDMETHOD.
METHOD SET_PASS.
* PASS = I_PASS.
ENDMETHOD.
METHOD GET_IDPASS.
* WRITE : / 'THE ID IS', ID,'AND PASS IS', PASS.
ENDMETHOD.
ENDCLASS.
CLASS ASI DEFINITION INHERITING FROM AS.
PUBLIC SECTION.
METHODS : SET_ID REDEFINITION,
SET_PASS REDEFINITION,
GET_IDPASS REDEFINITION.
ENDCLASS.
CLASS ASI IMPLEMENTATION.
METHOD SET_ID.
ID = I_ID.
ENDMETHOD.
METHOD SET_PASS.
PASS = I_PASS.
ENDMETHOD.
METHOD GET_IDPASS.
WRITE : / 'THE ID IS', ID,'AND PASS IS', PASS.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
DATA(OBJ) = NEW ASI( ).
OBJ->SET_ID( I_ID = 'KUNAL' ).
OBJ->SET_PASS( I_PASS = 'SAP12' ).
OBJ->GET_IDPASS( ).
Abstract Class Program
REPORT ZCL_ABSTRACT.
CLASS A_CL DEFINITION ABSTRACT.
PUBLIC SECTION.
METHODS EATING.
ENDCLASS.
CLASS A_CL IMPLEMENTATION.
METHOD EATING.
ENDMETHOD.
ENDCLASS.
CLASS I_CL DEFINITION INHERITING FROM A_CL.
PUBLIC SECTION.
METHODS EATING REDEFINITION.
ENDCLASS.
CLASS I_CL IMPLEMENTATION.
METHOD EATING.
WRITE 'EATING FOOD'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
* DATA(A_OBJ) = NEW A_CL( ).
DATA(I_OBJ) = NEW I_CL( ).
I_OBJ->EATING( ).
REPORT ZCL_P_C.
CLASS PT DEFINITION.
PUBLIC SECTION.
METHODS DOING.
ENDCLASS.
CLASS PT IMPLEMENTATION.
METHOD DOING.
WRITE : 'DOING BUSINESS'.
ENDMETHOD.
ENDCLASS.
CLASS CD DEFINITION INHERITING FROM PT.
PUBLIC SECTION.
METHODS DOING REDEFINITION.
ENDCLASS.
CLASS CD IMPLEMENTATION.
METHOD DOING.
WRITE : / 'DOING JOB'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
*OBJECT OF PARENT CLASS
DATA(P_OBJ) = NEW PT( ).
*OBJECT OF CHILD CLASS
DATA(C_OBJ) = NEW CD( ).
C_OBJ->DOING( ).