Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

HI

Former Member
0 Likes
741

CAN ANY ONE SEND THE SMALL PROGRAM FOR CLASS

7 REPLIES 7
Read only

Former Member
0 Likes
717

HI Swathi,

In Se38 From Menu Option

Select Below Path :

Environment --> Control Examples..

You can see plenty of examples on Class.

I hope U meant this only.

Thanks Praveen

Read only

p291102
Active Contributor
0 Likes
717

Hi,

Following report is the sample and simple report for abap,

*
REPORT  YMS_CONTROLBREAKDEMO.

DATA: T1(4), T2 TYPE I.

FIELD-GROUPS: HEADER.

INSERT T2 T1 INTO HEADER.

T1 ='AABB'. T2 = 1. EXTRACT HEADER.
T1 ='BBCC'. T2 = 2. EXTRACT HEADER.
T1 ='AAAA'. T2 = 2. EXTRACT HEADER.
T1 ='AABB'. T2 = 1. EXTRACT HEADER.
T1 ='BBBB'. T2 = 2. EXTRACT HEADER.
T1 ='BBCC'. T2 = 2. EXTRACT HEADER.
T1 ='AAAA'. T2 = 1. EXTRACT HEADER.
T1 ='BBBB'. T2 = 1. EXTRACT HEADER.
T1 ='AAAA'. T2 = 3. EXTRACT HEADER.
T1 ='AABB'. T2 = 1. EXTRACT HEADER.

SORT BY T1 T2.

LOOP.

AT FIRST.
WRITE 'Start of LOOP'.
ULINE.
ENDAT.

AT NEW T1.
WRITE / ' New T1:'.
ENDAT.

AT NEW T2.
WRITE / ' New T2:'.
ENDAT.

WRITE: /14 T1, T2.

AT END OF T2.
WRITE / 'End of T2'.
ENDAT.

AT END OF T1.
WRITE / 'End of T1'.
ENDAT.

AT LAST.
ULINE.
ENDAT.

ENDLOOP.

Thanks,

Sankar M

Read only

Former Member
0 Likes
717

Hi,

Check the following program:

TABLES : VBAK,VBAP.

TYPES : BEGIN OF ST_VBAK,

VBELN TYPE VBAK-VBELN,

ERDAT TYPE VBAK-ERDAT,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

AUART TYPE VBAK-AUART,

END OF ST_VBAK.

TYPES : BEGIN OF ST_VBAP,

VBELN TYPE VBAP-VBELN,

POSNR TYPE VBAP-POSNR,

MATNR TYPE VBAP-MATNR,

MATKL TYPE VBAP-MATKL,

ARKTX TYPE VBAP-ARKTX,

PSTYV TYPE VBAP-PSTYV,

END OF ST_VBAP.

TYPES : BEGIN OF ST_FINAL,

VBELN TYPE VBAK-VBELN,

POSNR TYPE VBAP-POSNR,

ERDAT TYPE VBAK-ERDAT,

AUDAT TYPE VBAK-AUDAT,

VBTYP TYPE VBAK-VBTYP,

AUART TYPE VBAK-AUART,

MATNR TYPE VBAP-MATNR,

MATKL TYPE VBAP-MATKL,

ARKTX TYPE VBAP-ARKTX,

PSTYV TYPE VBAP-PSTYV,

END OF ST_FINAL.

SELECT-OPTIONS : S_VBAK FOR VBAK-VBELN.

CLASS SALES1 DEFINITION.

PUBLIC SECTION.

METHODS : GET_DATA,

POPULATE_DATA,

DISPLAY_DATA.

DATA : IT_VBAK TYPE STANDARD TABLE OF ST_VBAK,

IT_VBAP TYPE STANDARD TABLE OF ST_VBAP,

IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,

WA_VBAK LIKE LINE OF IT_VBAK,

WA_VBAP LIKE LINE OF IT_VBAP,

WA_FINAL LIKE LINE OF IT_FINAL.

ENDCLASS.

CLASS SALES1 IMPLEMENTATION.

METHOD GET_DATA.

SELECT VBELN ERDAT AUDAT VBTYP AUART FROM VBAK INTO TABLE IT_VBAK WHERE VBELN in S_VBAK.

IF NOT IT_VBAK[] IS INITIAL.

SELECT VBELN POSNR MATNR MATKL ARKTX PSTYV FROM VBAP

INTO TABLE IT_VBAP

FOR ALL ENTRIES IN IT_VBAK

WHERE VBELN = IT_VBAK-VBELN.

ENDIF.

ENDMETHOD.

METHOD POPULATE_DATA.

LOOP AT IT_VBAK INTO WA_VBAK.

READ TABLE IT_VBAP INTO WA_VBAP WITH KEY VBELN = WA_VBAK-VBELN.

IF SY-SUBRC = 0.

WA_FINAL-VBELN = WA_VBAK-VBELN.

WA_FINAL-POSNR = WA_VBAP-POSNR.

WA_FINAL-ERDAT = WA_VBAK-ERDAT.

WA_FINAL-AUDAT = WA_VBAK-AUDAT.

WA_FINAL-VBTYP = WA_VBAK-VBTYP.

WA_FINAL-AUART = WA_VBAK-AUART.

WA_FINAL-MATNR = WA_VBAP-MATNR.

WA_FINAL-MATKL = WA_VBAP-MATKL.

WA_FINAL-ARKTX = WA_VBAP-ARKTX.

WA_FINAL-PSTYV = WA_VBAP-PSTYV.

APPEND WA_FINAL TO IT_FINAL.

ENDIF.

ENDLOOP.

ENDMETHOD.

METHOD DISPLAY_DATA.

LOOP AT IT_FINAL INTO WA_FINAL.

WRITE 😕 WA_FINAL-VBELN ,

WA_FINAL-POSNR ,

WA_FINAL-ERDAT,

WA_FINAL-AUDAT ,

WA_FINAL-VBTYP ,

WA_FINAL-AUART ,

WA_FINAL-MATNR ,

WA_FINAL-MATKL ,

WA_FINAL-ARKTX ,

WA_FINAL-PSTYV .

ENDLOOP.

ENDMETHOD .

ENDCLASS.

START-OF-SELECTION.

DATA : OBJ TYPE REF TO SALES1.

CREATE OBJECT OBJ.

CALL METHOD OBJ->GET_DATA.

CALL METHOD OBJ->POPULATE_DATA.

CALL METHOD OBJ->DISPLAY_DATA.

Regards,

Bhaskar

Read only

Former Member
0 Likes
717

hi

below is the program for class

&----


*

*& Report ZCL_OOP01

*&

&----


*&

*&

&----


REPORT ZCL_OOP01.

&----


  • Global data definitions for ALV

&----


&----


  • Object reference

&----


  • ALV Grid instance reference

DATA: GR_ALVGRID TYPE REF TO CL_GUI_ALV_GRID,

  • Custom container instance reference

GR_CCONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

&----


  • Internal Table

&----


  • Field catalog table

DATA: GT_FIELDCAT TYPE LVC_T_FCAT,

  • Internal table holding list data

GT_LIST TYPE STANDARD TABLE OF SFLIGHT.

&----


  • Work area

&----


  • Layout structure

DATA: GS_LAYOUT TYPE LVC_S_LAYO,

  • Field catalog structure

GS_FCAT TYPE LVC_S_FCAT.

&----


  • Variables

&----


DATA: OK_CODE TYPE SY-UCOMM,

SAVE_OK TYPE SY-UCOMM,

  • Name of the custom control added on the screen

GV_CUSTOM_CONTROL_NAME TYPE SCRFNAME VALUE 'CC_ALV'.

&----


  • Calling the screen where ALV output is displayed

&----


CALL SCREEN 100.

&----


*& Module PBO

&----


  • PBO

----


MODULE PBO OUTPUT.

  • PF Status

SET PF-STATUS 'MENU'.

  • ALV display

PERFORM DISPLAY_ALV.

ENDMODULE. " PBO

&----


*& Module PAI

&----


  • PAI

----


MODULE PAI INPUT.

IF OK_CODE EQ 'EXIT'.

LEAVE PROGRAM.

ENDIF.

ENDMODULE. " PAI

&----


*& Form display_alv

&----


  • ALV display

----


FORM DISPLAY_ALV.

PERFORM GET_DATA.

PERFORM CREATE_ALV.

ENDFORM. " display_alv

&----


*& Form get_data

&----


  • Fetch data to be displayed in the list

----


FORM GET_DATA.

SELECT * FROM SFLIGHT

INTO TABLE GT_LIST.

ENDFORM. " get_data

&----


*& Form create_alv

&----


  • Create and set or Refresh ALV

----


FORM CREATE_ALV.

  • Checking whether an instance of the container (or ALV Grid) exists.

IF GR_ALVGRID IS INITIAL.

  • If not, creating and setting ALV for the first display.

  • Creating custom container instance

CREATE OBJECT GR_CCONTAINER

EXPORTING

CONTAINER_NAME = GV_CUSTOM_CONTROL_NAME

EXCEPTIONS

CNTL_ERROR = 1

CNTL_SYSTEM_ERROR = 2

CREATE_ERROR = 3

LIFETIME_ERROR = 4

LIFETIME_DYNPRO_DYNPRO_LINK = 5

OTHERS = 6.

  • Creating ALV Grid instance

CREATE OBJECT GR_ALVGRID

EXPORTING

I_PARENT = GR_CCONTAINER

EXCEPTIONS

ERROR_CNTL_CREATE = 1

ERROR_CNTL_INIT = 2

ERROR_CNTL_LINK = 3

ERROR_DP_CREATE = 4

OTHERS = 5.

  • Preparing field catalog.

PERFORM PREPARE_FIELD_CATALOG CHANGING GT_FIELDCAT.

  • Preparing layout structure

PERFORM PREPARE_LAYOUT CHANGING GS_LAYOUT.

  • Method to display ALV grid

CALL METHOD GR_ALVGRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = GS_LAYOUT

CHANGING

IT_OUTTAB = GT_LIST

IT_FIELDCATALOG = GT_FIELDCAT

EXCEPTIONS

INVALID_PARAMETER_COMBINATION = 1

PROGRAM_ERROR = 2

TOO_MANY_LINES = 3

OTHERS = 4.

ELSE.

  • If an instance of the container (or ALV Grid) exists, refreshing it.

CALL METHOD GR_ALVGRID->REFRESH_TABLE_DISPLAY

EXCEPTIONS

FINISHED = 1

OTHERS = 2.

ENDIF.

ENDFORM. " create_alv

&----


*& Form prepare_field_catalog

&----


  • text

----


  • <--P_GT_FIELDCAT text

----


FORM PREPARE_FIELD_CATALOG CHANGING P_GT_FIELDCAT TYPE LVC_T_FCAT.

  • Generating the field catalog semi automatically

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = 'SFLIGHT'

CHANGING

CT_FIELDCAT = P_GT_FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3.

LOOP AT P_GT_FIELDCAT INTO GS_FCAT.

CASE GS_FCAT-FIELDNAME.

WHEN 'CARRID'.

GS_FCAT-OUTPUTLEN = '10'.

GS_FCAT-COLTEXT = 'Airline Carrier ID'.

MODIFY P_GT_FIELDCAT FROM GS_FCAT.

WHEN 'FLDATE'.

GS_FCAT-JUST = 'C'.

GS_FCAT-HOTSPOT = 'X'.

MODIFY P_GT_FIELDCAT FROM GS_FCAT.

ENDCASE.

ENDLOOP.

ENDFORM. " prepare_field_catalog

&----


*& Form prepare_layout

&----


  • Preparing layout structure

----


  • <--P_GS_LAYOUT Layout structure

----


FORM PREPARE_LAYOUT CHANGING P_GS_LAYOUT TYPE LVC_S_LAYO.

P_GS_LAYOUT-ZEBRA = 'X' .

P_GS_LAYOUT-GRID_TITLE = 'Flight Info System'.

P_GS_LAYOUT-SMALLTITLE = 'X'.

ENDFORM. " prepare_layout

please reward points if helpful.

Read only

Former Member
0 Likes
717

Hi,

Program 1.

REPORT ZCLASS_TEST .

class myclass definition.

public section.

data: num1 type i,

num2 type i.

class-data: sum type i.

endclass.

data o1 type ref to myclass.

create object o1.

o1->num1 = 10.

o1->num2 = 20.

myclass=>sum = o1->num1 + o1->num2.

write:/5 myclass=>sum.

Program 2

REPORT ZCLASS_TEST .

class myclass definition.

public section.

class-data: num1 type i value 10,

num2 type i value 15,

sum type i.

endclass.

myclass=>sum = myclass=>num1 + myclass=>num2.

write:/5 myclass=>sum.

Program 3

REPORT ZCLASS_TEST .

class myclass definition.

public section.

data num1 type i.

methods constructor.

endclass.

data: o1 type ref to myclass,

o2 like o1.

create object: o1, o2.

write:/ ' Number of objects created: ', o2->num1.

Program 4

REPORT ZCLASS_TEST .

parameters: p_num1 type i default 10.

class myclass definition.

public section.

class-data: num1 type i,

square type i.

methods sum importing num1 type i.

endclass.

data o1 type ref to myclass.

create object o1.

call method o1->sum( exporting num1 = p_num1 ).

write:/ ' The square of ', p_num1, 'is ', o1->square.

class myclass implementation.

method sum.

square = num1 * num1.

endmethod.

endclass.

class myclass implementation.

method constructor.

num1 = num1 + 1.

endmethod.

endclass.

Read only

Former Member
0 Likes
717

Hi,

Please refer the link below:

http://www.saptechnical.com/Tutorials/OOPS/MainPage.htm

Thanks,

Sriram Ponna.

Read only

Former Member
0 Likes
717

Hi Dear....

class myclass definition.

public section.

data: num1 type i,

num2 type i.

class-data: sum type i.

endclass.

data o1 type ref to myclass.

create object o1.

o1->num1 = 15.

o1->num2 = 25.

myclass=>sum = o1->num1 + o1->num2.

write:/ myclass=>sum.

Regards .

Sudarsan