2007 Apr 05 11:36 AM
Hello everybody,
Can any one send me some very very simple programs on OOPs concept.
I'll be very thankful for those programs...
2007 Apr 05 12:25 PM
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
Hello everybody,
Can any one send me some very very simple programs on OOPs concept.
I'll be very thankful for those programs...
2007 Apr 05 11:38 AM
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
2007 Apr 05 11:49 AM
Hello
I have posted several sample reports within this forum (<i>ABAP Objects</i>). Simply search for term <b>ZUS_SDN</b>.
Regards
Uwe
2007 Apr 05 12:05 PM
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
2007 Apr 05 12:25 PM
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
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |