REPORT ZDOOPS01.
*CLASS LCL_ABC DEFINITION.
* PUBLIC SECTION.
* CLASS-DATA S_ATTRIBUTE TYPE I. "STATIC ATTRIBUTE
* DATA I_ATTRIBUTE TYPE I. "INSTANCE ATTRIBUTE
* CONSTANTS C_ATTRIBUTE TYPE I VALUE 100. "CONSTANT ATTRIBUTE
*ENDCLASS.
*
*WRITE :/ 'VALUE FOR STATIC ATTRIBUTE IS :', LCL_ABC=>S_ATTRIBUTE,
* / 'VALUE FOR CONSTANT ATTRIBUTE IS :', LCL_ABC=>C_ATTRIBUTE.
** / 'VALUE FOR INSTANCE ATTRIBUTE IS :', LCL_ABC=>I_ATTRIBUTE.
"ERROR. WE CANNOT PRINT INSTANCE ATTRIBUTE USING CLASS
*
** CREATE OBJECT FOR LOCAL CLASS.
*
* DATA OB1 TYPE REF TO LCL_ABC. " SYNTAX FOR DECLARING THE REFERENCE FOR
OUR LOCAL CLASS.
* CREATE OBJECT OB1.
*
*
* ULINE.
** WRITE :/ 'VALUE FOR INSTANC ATTRIBUTE IS :', OB1=>I_ATTRIBUTE. " SYNTAX
ERROR.
*
* WRITE :/ 'VALUE FOR INSTANCE ATTRIBUTE IS :', OB1->I_ATTRIBUTE, "
SUCCESS. RIGHT WAY.
* / 'VALUE FOR STATIC ATTRIBUTE USING CLASS OBJECT IS :', OB1-
>S_ATTRIBUTE,
* / 'VALUE FOR CONSTANT ATTRIBUTE USING CLASS OBJECT IS :', OB1-
>C_ATTRIBUTE.
*
*
*ULINE.
* OB1->S_ATTRIBUTE = 25.
* OB1->I_ATTRIBUTE = 50.
*
* WRITE :/ 'UPDATED VALUE FOR INSTANCE ATTRIBUTE IS :', OB1->I_ATTRIBUTE,
" SUCCESS. RIGHT WAY.
* / 'UPDATED VALUE FOR STATIC ATTRIBUTE USING CLASS OBJECT IS :',
OB1->S_ATTRIBUTE,
* / 'VALUE FOR CONSTANT ATTRIBUTE USING CLASS OBJECT IS :', OB1-
>C_ATTRIBUTE.
*
* ULINE.
*
* DATA OB2 TYPE REF TO LCL_ABC. " SYNTAX FOR DECLARING THE REFERENCE FOR
OUR LOCAL CLASS.
* CREATE OBJECT OB2.
*
* WRITE :/ 'VALUE FOR INSTANCE ATTRIBUTE IS USING 2ND OBJECT :', OB2-
>I_ATTRIBUTE.
* WRITE :/ 'VALUE FOR INSTANCE ATTRIBUTE IS USING 1ST OBJECT :', OB1-
>I_ATTRIBUTE.
CLASS LCL_ABC DEFINITION.
PROTECTED SECTION.
CLASS-DATA S_ATTRIBUTE TYPE I. "STATIC ATTRIBUTE
DATA I_ATTRIBUTE TYPE I. "INSTANCE ATTRIBUTE
CONSTANTS C_ATTRIBUTE TYPE I VALUE 100. "CONSTANT ATTRIBUTE
ENDCLASS.
WRITE :/ 'VALUE FOR STATIC ATTRIBUTE IS :', LCL_ABC=>S_ATTRIBUTE,
/ 'VALUE FOR CONSTANT ATTRIBUTE IS :', LCL_ABC=>C_ATTRIBUTE,
/ 'VALUE FOR INSTANCE ATTRIBUTE IS :', LCL_ABC=>I_ATTRIBUTE.