0% found this document useful (0 votes)
189 views6 pages

10.local Class Constructor

CONSTRUCTOR and CLASS-CONSTRUCTOR are special methods in SAP ABAP local classes. CONSTRUCTOR is used to set default values when an object is instantiated. CLASS-CONSTRUCTOR executes automatically when the class is first called and can be used to set default class-wide values. The documents provide an example of using CONSTRUCTOR to set a language code and CLASS-CONSTRUCTOR to set a date when an object of the CL_CONSTRUCTOR_EXAMPLE class is created and used.

Uploaded by

Shashank Yerra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
189 views6 pages

10.local Class Constructor

CONSTRUCTOR and CLASS-CONSTRUCTOR are special methods in SAP ABAP local classes. CONSTRUCTOR is used to set default values when an object is instantiated. CLASS-CONSTRUCTOR executes automatically when the class is first called and can be used to set default class-wide values. The documents provide an example of using CONSTRUCTOR to set a language code and CLASS-CONSTRUCTOR to set a date when an object of the CL_CONSTRUCTOR_EXAMPLE class is created and used.

Uploaded by

Shashank Yerra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

# Content

1 Usins CONSTRUCTOR in local class

2 Using CLASS-CONSTRUCTOR in SAP Local classes

Usins CONSTRUCTOR in local


class
Last Updated: November 13th 2013 by Ashok Kumar Reddy

Using CONSTRUCTOR method in SAP local classes, CONSTRUCTOR in SAP


ABAP Object Oriented Programming.

+ -
CONSTRUCTOR is a special type of a method which will trigger whenever a class object is
instantiated (create object), mainly these constructors are used to set default values for the
particaular instance.

CONSTRUCTOR name is always [Link] is just similer to method, it only


have importing parameters and no exporting parameters.
Follow below steps to create constructor method .

Define class

CLASS CL_CONSTRUCTOR_EXAMPLE DEFINITION. "class definition


PUBLIC SECTION.
DATA : LV_LANGUAGE TYPE SPRAS.
METHODS : CONSTRUCTOR "Constructor method
IMPORTING IM_SPRAS TYPE SPRAS.
METHODS : GET_MATERIAL_DESCRIPTIONS "method to get material descriptions
IMPORTING IM_MATNR TYPE MARA-MATNR
EXPORTING EX_MAKT TYPE MAKT.
ENDCLASS.

Implement class

CLASS CL_CONSTRUCTOR_EXAMPLE IMPLEMENTATION. "class implementation


METHOD: CONSTRUCTOR.
LV_LANGUAGE = IM_SPRAS.
ENDMETHOD.
METHOD: GET_MATERIAL_DESCRIPTIONS.
SELECT * FROM MAKT INTO EX_MAKT
WHERE MATNR = IM_MATNR AND SPRAS = LV_LANGUAGE .
ENDSELECT.
ENDMETHOD.
ENDCLASS. "CL_CONSTRUCTOR_EXAMPLE

Use the class

DATA LO_CLASS TYPE REF TO CL_CONSTRUCTOR_EXAMPLE. "declare class


DATA : WA_MAKT TYPE MAKT. "makt work area
PARAMETERS : P_MATNR TYPE MARA-MATNR. "input material number
PARAMETERS P_SPRAS TYPE MAKT-SPRAS. "input language to pass to constructor
START-OF-SELECTION.
CREATE OBJECT LO_CLASS "create object for class, constructor method will trigger
here
EXPORTING
IM_SPRAS = P_SPRAS.

CALL METHOD LO_CLASS->GET_MATERIAL_DESCRIPTIONS "call method to get materiald


escriptions
EXPORTING
IM_MATNR = P_MATNR
IMPORTING
EX_MAKT = WA_MAKT.
WRITE :/ WA_MAKT-MATNR, WA_MAKT-MAKTX, WA_MAKT-SPRAS. "print data

Final code will be

REPORT ZSAPN_LOCAL_CLASS_CONSTRUCTOR.
CLASS CL_CONSTRUCTOR_EXAMPLE DEFINITION DEFERRED . "class is defined in next lines
DATA LO_CLASS TYPE REF TO CL_CONSTRUCTOR_EXAMPLE. "declare class
DATA : WA_MAKT TYPE MAKT. "makt work area
PARAMETERS : P_MATNR TYPE MARA-MATNR. "input material number
PARAMETERS P_SPRAS TYPE MAKT-SPRAS. "input language to pass to constructor

CLASS CL_CONSTRUCTOR_EXAMPLE DEFINITION. "class definition


PUBLIC SECTION.
DATA : LV_LANGUAGE TYPE SPRAS.
METHODS : CONSTRUCTOR "Constructor method
IMPORTING IM_SPRAS TYPE SPRAS.
METHODS : GET_MATERIAL_DESCRIPTIONS "method to get material descriptions
IMPORTING IM_MATNR TYPE MARA-MATNR
EXPORTING EX_MAKT TYPE MAKT.

ENDCLASS.

START-OF-SELECTION.
CREATE OBJECT LO_CLASS "create object for class, constructor method will trigger
here
EXPORTING
IM_SPRAS = P_SPRAS.

CALL METHOD LO_CLASS->GET_MATERIAL_DESCRIPTIONS "call method to get materiald


escriptions
EXPORTING
IM_MATNR = P_MATNR
IMPORTING
EX_MAKT = WA_MAKT.
WRITE :/ WA_MAKT-MATNR, WA_MAKT-MAKTX, WA_MAKT-SPRAS. "print data
CLASS CL_CONSTRUCTOR_EXAMPLE IMPLEMENTATION. "class implementation
METHOD: CONSTRUCTOR.
LV_LANGUAGE = IM_SPRAS.
ENDMETHOD.
METHOD: GET_MATERIAL_DESCRIPTIONS.
SELECT * FROM MAKT INTO EX_MAKT
WHERE MATNR = IM_MATNR AND SPRAS = LV_LANGUAGE .
ENDSELECT.
ENDMETHOD.
ENDCLASS. "CL_CONSTRUCTOR_EXAMPLE

Learner Questions

No Questions by learners, be first one to ask ..!!

Using CLASS-CONSTRUCTOR in
SAP Local classes
Last Updated: November 13th 2013 by Ashok Kumar Reddy

Using CLASS-CONSTRUCTOR in SAP Local Classes, Object Oriented ABAP


Constructor method.
+ -
CLASS-CONSTRUCTOR is a special type of method which will execute automatically when the first
call of a class is made (call may through instance or through method).
CLASS-CONSTRUCTOR dosen`t support any importing and exporting parameters, it is mainly used
to set default values in classes.
Please refer previous lesson Using CONSTRUCTOR method in SAP Local classes .

Program for CLASS-CONSTRUCTOR


REPORT ZSAPN_LOCAL_CLASS_CONSTRUCTOR.
CLASS CL_CONSTRUCTOR_EXAMPLE DEFINITION DEFERRED . "class is defined in next lines
DATA LO_CLASS TYPE REF TO CL_CONSTRUCTOR_EXAMPLE. "declare class
DATA : WA_MAKT TYPE MAKT. "makt work area
DATA : LV_DATE TYPE SY-DATUM. "declare date
PARAMETERS : P_MATNR TYPE MARA-MATNR. "input material number
PARAMETERS P_SPRAS TYPE MAKT-SPRAS. "input language to pass to constructor

CLASS CL_CONSTRUCTOR_EXAMPLE DEFINITION. "class definition


PUBLIC SECTION.
DATA : LV_LANGUAGE TYPE SPRAS.
METHODS : CONSTRUCTOR "Constructor method
IMPORTING IM_SPRAS TYPE SPRAS.
CLASS-METHODS : CLASS_CONSTRUCTOR ."Class Constructor method .
METHODS : GET_MATERIAL_DESCRIPTIONS "method to get material descriptions
IMPORTING IM_MATNR TYPE MARA-MATNR
EXPORTING EX_MAKT TYPE MAKT.

ENDCLASS.

START-OF-SELECTION.
CREATE OBJECT LO_CLASS "create object for class, constructor method will trigger
here
EXPORTING
IM_SPRAS = P_SPRAS.

CALL METHOD LO_CLASS->GET_MATERIAL_DESCRIPTIONS "call method to get materiald


escriptions
EXPORTING
IM_MATNR = P_MATNR
IMPORTING
EX_MAKT = WA_MAKT.
WRITE :/ WA_MAKT-MATNR, WA_MAKT-MAKTX, WA_MAKT-SPRAS. "print data
WRITE:/ 'Generated at :', LV_DATE .
CLASS CL_CONSTRUCTOR_EXAMPLE IMPLEMENTATION. "class implementation
METHOD: CONSTRUCTOR.
LV_LANGUAGE = IM_SPRAS.
ENDMETHOD.
METHOD : CLASS_CONSTRUCTOR.
LV_DATE = SY-DATUM . "add date using class constructor
ENDMETHOD.
METHOD: GET_MATERIAL_DESCRIPTIONS.
SELECT * FROM MAKT INTO EX_MAKT
WHERE MATNR = IM_MATNR AND SPRAS = LV_LANGUAGE .
ENDSELECT.
ENDMETHOD.
ENDCLASS. "CL_CONSTRUCTOR_EXAMPLE

Learner Questions

No Questions by learners, be first one to ask ..!!

Please Sign in to ask a question

You might also like