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

OOPs Programs

Former Member
0 Likes
683

Hello everybody,

Can any one send me some very very simple programs on OOPs concept.

I'll be very thankful for those programs...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
635

Hi,

Here i am giving one example to u check it. It is very helpful to u.

&----


*& Report ZEXAMPLE3

*&

&----


*&

*&

&----


REPORT ZTMW_WRKBNCH_TABS.

DATA:OKCODE LIKE SY-UCOMM. " ok code for screen 101

DATA:SCRNO(4) TYPE N. "FOR 101 SCREEN

DATA:T_NUM(2),SCR(4).

SELECT SINGLE WORK_BENCH_TAB INTO T_NUM FROM ZTMW_WRKBNCH_TAB

WHERE TAB_STATUS = 'X'.

IF STRLEN( T_NUM ) = 1.

CONCATENATE '300' T_NUM INTO SCR.

ELSE.

CONCATENATE '30' T_NUM INTO SCR.

ENDIF.

SCRNO = SCR.

CONTROLS TABS TYPE TABSTRIP. "TAB STRIP IN SCREEN 101

perform ref_texts.

SET SCREEN 0101.

DATA: h LIKE d020s,

f LIKE d021s OCCURS 0 WITH HEADER LINE,

e LIKE d022s OCCURS 0 WITH HEADER LINE,

m LIKE d023s OCCURS 0 WITH HEADER LINE,

f1(100), f2(100), f3(100), dynpro_id(44).

DATA:TAB(5) TYPE C,

tab_num type ztmw_wrkbnch_tab-WORK_BENCH_TAB,

tab_name type ztmw_wrkbnch_tab-TAB_NAME,

ACT_TAB(5) TYPE C,

TAB_STATUS TYPE ztmw_wrkbnch_tab-TAB_STATUS,NUM(2).

DATA:GT_ZTMW_HEADER_HIS TYPE TABLE OF ZTMW_HEADER_HIS,

GT_ZTMW_HEADER_WIP TYPE TABLE OF ZTMW_HEADER_WIP,

G_CONTAINER TYPE SCRFNAME VALUE 'TABC',

GRID1 TYPE REF TO CL_GUI_ALV_GRID,

G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA:LAYOUT TYPE LVC_S_LAYO.

DATA:FCAT TYPE LVC_T_FCAT.

Field-symbols: <lfs_fieldcat> TYPE lvc_s_fcat.

&----


*& Module STATUS_0101 OUTPUT

MODULE STATUS_0101 OUTPUT.

SET PF-STATUS 'MENU1'.

SET TITLEBAR 'TIT1'.

DO 20 TIMES.

NUM = SY-INDEX.

CONCATENATE 'TAB' NUM INTO ACT_TAB.

SELECT TAB_STATUS INTO TAB_STATUS FROM ZTMW_WRKBNCH_TAB

WHERE WORK_BENCH_TAB = NUM.

IF tab_status = 'X'.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSE.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDSELECT.

IF SY-SUBRC <> 0.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDDO.

ENDMODULE. " STATUS_0101 OUTPUT

&----


*& Module USER_COMMAND_0101 INPUT

MODULE USER_COMMAND_0101 INPUT.

CASE OKCODE.

WHEN 'TAB1'.

SCRNO = 3001.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB2'.

SCRNO = 3002.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB3'.

SCRNO = 3003.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB4'.

SCRNO = 3004.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB5'.

SCRNO = 3005.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB6'.

SCRNO = 3006.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB7'.

SCRNO = 3007.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB8'.

SCRNO = 3008.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB9'.

SCRNO = 3009.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB10'.

SCRNO = 3010.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB11'.

SCRNO = 3011.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB12'.

SCRNO = 3012.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB13'.

SCRNO = 3013.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB14'.

SCRNO = 3014.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB15'.

SCRNO = 3015.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB16'.

SCRNO = 3016.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB17'.

SCRNO = 3017.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB18'.

SCRNO = 3018.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB19'.

SCRNO = 3019.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB20'.

SCRNO = 3020.

TABS-ACTIVETAB = OKCODE.

WHEN 'BACK'.

set screen 0.

WHEN 'REFRESH'.

perform ref_texts.

ENDCASE.

ENDMODULE. " USER_COMMAND_0101 INPUT

FORM ref_texts .

  • Format Screen ID

dynpro_id = sy-repid.

dynpro_id+40(4) = '0101'.

  • Import Screen data in tables

IMPORT DYNPRO h f e m ID dynpro_id.

CHECK sy-subrc EQ 0.

  • Modify Screen Data

SELECT WORK_BENCH_TAB TAB_NAME into (tab_num,tab_name)

FROM ZTMW_WRKBNCH_TAB WHERE TAB_STATUS = 'X'.

CONCATENATE 'TAB' tab_num INTO TAB.

LOOP AT f WHERE fnam EQ TAB.

f-stxt = tab_name.

MODIFY f.

ENDLOOP.

ENDSELECT.

CHECK sy-subrc EQ 0.

  • Export Screen Data

EXPORT DYNPRO h f e m ID dynpro_id.

CHECK sy-subrc EQ 0.

  • Generate Screen for changes to take effect

GENERATE DYNPRO h f e m ID dynpro_id MESSAGE f1 LINE f2 WORD f3.

ENDFORM. " ref_texts

&----


*& Module STATUS_3007 OUTPUT

MODULE GRID OUTPUT.

IF G_CUSTOM_CONTAINER IS INITIAL.

CREATE OBJECT G_CUSTOM_CONTAINER

EXPORTING CONTAINER_NAME = G_CONTAINER.

CREATE OBJECT GRID1

EXPORTING I_PARENT = G_CUSTOM_CONTAINER.

PERFORM LAYOUT.

PERFORM FIELD_CAT.

PERFORM FILL_DATA.

CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = LAYOUT

CHANGING

IT_FIELDCATALOG = FCAT[]

IT_OUTTAB = GT_ZTMW_HEADER_HIS.

ENDIF.

ENDMODULE. " STATUS_3007 OUTPUT

&----


*& Form FIELD_CAT

&----


  • text

----


FORM FIELD_CAT.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = 'ZTMW_HEADER_IO'

CHANGING

CT_FIELDCAT = FCAT[].

LOOP AT FCAT ASSIGNING <lfs_fieldcat>.

CASE <lfs_fieldcat>-fieldname.

WHEN 'TRANSACTION_NUM'.

<lfs_fieldcat>-coltext = 'IDOC no.'.

WHEN 'FEED_CODE'.

<lfs_fieldcat>-coltext = 'Feed Code'.

WHEN 'BOL_NUM'.

<lfs_fieldcat>-coltext = 'EXT. BOL'.

WHEN 'TERMINAL_CODE'.

<lfs_fieldcat>-coltext = 'Unc.Term Cd'.

WHEN 'TRANSCATION_DATE'.

<lfs_fieldcat>-coltext = 'Trans Date'.

WHEN 'TRANSCATION_TIME'.

<lfs_fieldcat>-coltext = 'Trans Time'.

WHEN 'TRANS_STATUS'.

<lfs_fieldcat>-coltext = 'BOL Status'.

WHEN 'VOID_STATUS'.

<lfs_fieldcat>-coltext = 'Void Status'.

WHEN 'HOLD_STATUS'.

<lfs_fieldcat>-coltext = 'Hold Status'.

WHEN 'PLANT'.

<lfs_fieldcat>-coltext = 'Plant'.

ENDCASE.

ENDLOOP.

ENDFORM. "FIELD_CAT

&----


*& Form FILL_DATA

&----


  • text

----


FORM FILL_DATA.

CLEAR GT_ZTMW_HEADER_HIS.

  • IF WIP_ONLY = 'X'.

SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_HIS.

  • UP TO MAX_HITS ROWS.

  • ELSEIF HIS_ONLY = 'X'.

  • SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS

  • UP TO MAX_HITS ROWS.

  • ELSE.

  • SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS.

  • SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_WIP.

  • INSERT LINES OF GT_ZTMW_HEADER_HIS INTO TABLE

  • GT_ZTMW_HEADER_WIP.

  • SORT GT_ZTMW_HEADER_WIP.

  • CLEAR GT_ZTMW_HEADER_HIS[].

  • INSERT LINES OF GT_ZTMW_HEADER_WIP FROM 1 TO MAX_HITS INTO

  • TABLE GT_ZTMW_HEADER_HIS .

*

  • ENDIF.

ENDFORM. "FILL_DATA

FORM LAYOUT.

  • LAYOUT-EDIT = 'X'.

layout-grid_title = 'List Of Bills Of Lading'.

ENDFORM. "LAYOUT

Hope this resolves your query.

Reward all the helpful answers.

Regards

4 REPLIES 4
Read only

Former Member
0 Likes
635

Go to ABAPDOCU transaction.

IN the left hand pane, you can see a node For ABAP Object, YOu can open that node to see various examples for beginners.

Regards,

Ravi

Read only

uwe_schieferstein
Active Contributor
0 Likes
635

Hello

I have posted several sample reports within this forum (<i>ABAP Objects</i>). Simply search for term <b>ZUS_SDN</b>.

Regards

Uwe

Read only

Former Member
0 Likes
635

hi,

<b>sorry earlier program was not working try this</b>

check this simple example.

create a screen 100 and place a custom control on the screen,give a name.

data:g_cont type ref to cl_gui_custom_container,

g_grid type ref to cl_gui_alv_grid,

ok_code like sy-ucomm.

DATA:itab TYPE STANDARD TABLE OF sflight.

start-of-selection.

set screen 100.

SELECT carrid connid price FROM sflight

INTO CORRESPONDING FIELDS OF TABLE itab.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


module STATUS_0100 output.

SET PF-STATUS 'PF1'.

  • SET TITLEBAR 'xxx'.

CREATE OBJECT g_cont

EXPORTING

container_name = 'CONT1'.

CREATE OBJECT g_grid

EXPORTING

i_parent = g_cont

.

CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

I_STRUCTURE_NAME = 'SFLIGHT'

CHANGING

IT_OUTTAB = itab

.

endmodule. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CALL METHOD cl_gui_cfw=>dispatch.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'BACK'.

LEAVE PROGRAM.

ENDCASE.

CLEAR ok_code.

ENDMODULE. " USER_COMMAND_0100 INPUT

Thanks,

Message was edited by:

sowjanya s

Message was edited by:

sowjanya s

Read only

Former Member
0 Likes
636

Hi,

Here i am giving one example to u check it. It is very helpful to u.

&----


*& Report ZEXAMPLE3

*&

&----


*&

*&

&----


REPORT ZTMW_WRKBNCH_TABS.

DATA:OKCODE LIKE SY-UCOMM. " ok code for screen 101

DATA:SCRNO(4) TYPE N. "FOR 101 SCREEN

DATA:T_NUM(2),SCR(4).

SELECT SINGLE WORK_BENCH_TAB INTO T_NUM FROM ZTMW_WRKBNCH_TAB

WHERE TAB_STATUS = 'X'.

IF STRLEN( T_NUM ) = 1.

CONCATENATE '300' T_NUM INTO SCR.

ELSE.

CONCATENATE '30' T_NUM INTO SCR.

ENDIF.

SCRNO = SCR.

CONTROLS TABS TYPE TABSTRIP. "TAB STRIP IN SCREEN 101

perform ref_texts.

SET SCREEN 0101.

DATA: h LIKE d020s,

f LIKE d021s OCCURS 0 WITH HEADER LINE,

e LIKE d022s OCCURS 0 WITH HEADER LINE,

m LIKE d023s OCCURS 0 WITH HEADER LINE,

f1(100), f2(100), f3(100), dynpro_id(44).

DATA:TAB(5) TYPE C,

tab_num type ztmw_wrkbnch_tab-WORK_BENCH_TAB,

tab_name type ztmw_wrkbnch_tab-TAB_NAME,

ACT_TAB(5) TYPE C,

TAB_STATUS TYPE ztmw_wrkbnch_tab-TAB_STATUS,NUM(2).

DATA:GT_ZTMW_HEADER_HIS TYPE TABLE OF ZTMW_HEADER_HIS,

GT_ZTMW_HEADER_WIP TYPE TABLE OF ZTMW_HEADER_WIP,

G_CONTAINER TYPE SCRFNAME VALUE 'TABC',

GRID1 TYPE REF TO CL_GUI_ALV_GRID,

G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA:LAYOUT TYPE LVC_S_LAYO.

DATA:FCAT TYPE LVC_T_FCAT.

Field-symbols: <lfs_fieldcat> TYPE lvc_s_fcat.

&----


*& Module STATUS_0101 OUTPUT

MODULE STATUS_0101 OUTPUT.

SET PF-STATUS 'MENU1'.

SET TITLEBAR 'TIT1'.

DO 20 TIMES.

NUM = SY-INDEX.

CONCATENATE 'TAB' NUM INTO ACT_TAB.

SELECT TAB_STATUS INTO TAB_STATUS FROM ZTMW_WRKBNCH_TAB

WHERE WORK_BENCH_TAB = NUM.

IF tab_status = 'X'.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSE.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDSELECT.

IF SY-SUBRC <> 0.

LOOP AT SCREEN.

IF SCREEN-NAME = ACT_TAB.

SCREEN-INVISIBLE = '1'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDDO.

ENDMODULE. " STATUS_0101 OUTPUT

&----


*& Module USER_COMMAND_0101 INPUT

MODULE USER_COMMAND_0101 INPUT.

CASE OKCODE.

WHEN 'TAB1'.

SCRNO = 3001.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB2'.

SCRNO = 3002.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB3'.

SCRNO = 3003.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB4'.

SCRNO = 3004.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB5'.

SCRNO = 3005.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB6'.

SCRNO = 3006.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB7'.

SCRNO = 3007.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB8'.

SCRNO = 3008.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB9'.

SCRNO = 3009.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB10'.

SCRNO = 3010.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB11'.

SCRNO = 3011.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB12'.

SCRNO = 3012.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB13'.

SCRNO = 3013.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB14'.

SCRNO = 3014.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB15'.

SCRNO = 3015.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB16'.

SCRNO = 3016.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB17'.

SCRNO = 3017.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB18'.

SCRNO = 3018.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB19'.

SCRNO = 3019.

TABS-ACTIVETAB = OKCODE.

WHEN 'TAB20'.

SCRNO = 3020.

TABS-ACTIVETAB = OKCODE.

WHEN 'BACK'.

set screen 0.

WHEN 'REFRESH'.

perform ref_texts.

ENDCASE.

ENDMODULE. " USER_COMMAND_0101 INPUT

FORM ref_texts .

  • Format Screen ID

dynpro_id = sy-repid.

dynpro_id+40(4) = '0101'.

  • Import Screen data in tables

IMPORT DYNPRO h f e m ID dynpro_id.

CHECK sy-subrc EQ 0.

  • Modify Screen Data

SELECT WORK_BENCH_TAB TAB_NAME into (tab_num,tab_name)

FROM ZTMW_WRKBNCH_TAB WHERE TAB_STATUS = 'X'.

CONCATENATE 'TAB' tab_num INTO TAB.

LOOP AT f WHERE fnam EQ TAB.

f-stxt = tab_name.

MODIFY f.

ENDLOOP.

ENDSELECT.

CHECK sy-subrc EQ 0.

  • Export Screen Data

EXPORT DYNPRO h f e m ID dynpro_id.

CHECK sy-subrc EQ 0.

  • Generate Screen for changes to take effect

GENERATE DYNPRO h f e m ID dynpro_id MESSAGE f1 LINE f2 WORD f3.

ENDFORM. " ref_texts

&----


*& Module STATUS_3007 OUTPUT

MODULE GRID OUTPUT.

IF G_CUSTOM_CONTAINER IS INITIAL.

CREATE OBJECT G_CUSTOM_CONTAINER

EXPORTING CONTAINER_NAME = G_CONTAINER.

CREATE OBJECT GRID1

EXPORTING I_PARENT = G_CUSTOM_CONTAINER.

PERFORM LAYOUT.

PERFORM FIELD_CAT.

PERFORM FILL_DATA.

CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

IS_LAYOUT = LAYOUT

CHANGING

IT_FIELDCATALOG = FCAT[]

IT_OUTTAB = GT_ZTMW_HEADER_HIS.

ENDIF.

ENDMODULE. " STATUS_3007 OUTPUT

&----


*& Form FIELD_CAT

&----


  • text

----


FORM FIELD_CAT.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_STRUCTURE_NAME = 'ZTMW_HEADER_IO'

CHANGING

CT_FIELDCAT = FCAT[].

LOOP AT FCAT ASSIGNING <lfs_fieldcat>.

CASE <lfs_fieldcat>-fieldname.

WHEN 'TRANSACTION_NUM'.

<lfs_fieldcat>-coltext = 'IDOC no.'.

WHEN 'FEED_CODE'.

<lfs_fieldcat>-coltext = 'Feed Code'.

WHEN 'BOL_NUM'.

<lfs_fieldcat>-coltext = 'EXT. BOL'.

WHEN 'TERMINAL_CODE'.

<lfs_fieldcat>-coltext = 'Unc.Term Cd'.

WHEN 'TRANSCATION_DATE'.

<lfs_fieldcat>-coltext = 'Trans Date'.

WHEN 'TRANSCATION_TIME'.

<lfs_fieldcat>-coltext = 'Trans Time'.

WHEN 'TRANS_STATUS'.

<lfs_fieldcat>-coltext = 'BOL Status'.

WHEN 'VOID_STATUS'.

<lfs_fieldcat>-coltext = 'Void Status'.

WHEN 'HOLD_STATUS'.

<lfs_fieldcat>-coltext = 'Hold Status'.

WHEN 'PLANT'.

<lfs_fieldcat>-coltext = 'Plant'.

ENDCASE.

ENDLOOP.

ENDFORM. "FIELD_CAT

&----


*& Form FILL_DATA

&----


  • text

----


FORM FILL_DATA.

CLEAR GT_ZTMW_HEADER_HIS.

  • IF WIP_ONLY = 'X'.

SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_HIS.

  • UP TO MAX_HITS ROWS.

  • ELSEIF HIS_ONLY = 'X'.

  • SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS

  • UP TO MAX_HITS ROWS.

  • ELSE.

  • SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS.

  • SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_WIP.

  • INSERT LINES OF GT_ZTMW_HEADER_HIS INTO TABLE

  • GT_ZTMW_HEADER_WIP.

  • SORT GT_ZTMW_HEADER_WIP.

  • CLEAR GT_ZTMW_HEADER_HIS[].

  • INSERT LINES OF GT_ZTMW_HEADER_WIP FROM 1 TO MAX_HITS INTO

  • TABLE GT_ZTMW_HEADER_HIS .

*

  • ENDIF.

ENDFORM. "FILL_DATA

FORM LAYOUT.

  • LAYOUT-EDIT = 'X'.

layout-grid_title = 'List Of Bills Of Lading'.

ENDFORM. "LAYOUT

Hope this resolves your query.

Reward all the helpful answers.

Regards