Application Development 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: 

Reg Dialog Prog..

former_member198892
Participant
0 Kudos

Hi,

Any one can send me the sample dialog program..I created one DP it contains 2 text field and one push button, when i press the button it ll not work.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

see this sample code

REPORT ZBHMOD1 .

DATA:OKCODE1 LIKE SY-UCOMM,

OKCODE2 LIKE SY-UCOMM.

DATA:N1(10) TYPE N,N2(10) TYPE N,RES(12) TYPE N.

MODULE USER_COMMAND_1000 INPUT.

CASE OKCODE1.

WHEN 'NEXT'.

RES = N1 + N2.

SET SCREEN 1001.

WHEN 'CLEA'.

CLEAR:N1,N2.

WHEN 'BACK'.

SET SCREEN '0'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1000 INPUT

MODULE STATUS_1000 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT1'.

ENDMODULE. " STATUS_1000 OUTPUT

MODULE USER_COMMAND_1001 INPUT.

CASE OKCODE2.

WHEN 'BACK'.

SET SCREEN 1000.

ENDCASE.

ENDMODULE. " USER_COMMAND_1001 INPUT

MODULE STATUS_1001 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT2'.

ENDMODULE. " STATUS_1001 OUTPUT

FLOW LOGIC:

PROCESS BEFORE OUTPUT.

MODULE STATUS_1000.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1000.

PROCESS BEFORE OUTPUT.

MODULE STATUS_1001.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1001.

**************************************************************************

************************************************************************

2)

REPORT ZBHMOD2.

DATA: OKCODE1 TYPE SY-UCOMM,

OKCODE2 TYPE SY-UCOMM,

ENAME(10) TYPE C,

DNAME(10) TYPE C.

MODULE STATUS_1000 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT1'.

ENDMODULE. " STATUS_1000 OUTPUT

MODULE STATUS_1001 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT2'.

ENDMODULE. " STATUS_1001 OUTPUT

MODULE USER_COMMAND_1000 INPUT.

CASE OKCODE1.

WHEN 'BACK'.

SET SCREEN '0'.

WHEN 'NEXT'.

DNAME = ENAME.

SET SCREEN '1001'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1000 INPUT

MODULE USER_COMMAND_1001 INPUT.

CASE OKCODE2.

WHEN 'BACK'.

SET SCREEN '1000'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1001 INPUT

FORM ON_CTMENU_FORM USING ZDEMO1 TYPE REF TO CL_CTMENU.

CALL METHOD ZDEMO1->LOAD_GUI_STATUS

EXPORTING

PROGRAM = 'ZDEMO1'

STATUS = 'ZDEMO1'

MENU = ZDEMO1.

ENDFORM. " ON_CTMENU_FORM

FLOW LOGIC:

PROCESS BEFORE OUTPUT.

MODULE STATUS_1000.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1000.

PROCESS BEFORE OUTPUT.

MODULE STATUS_1001.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1001.

*************************************************************

Every Screen has a pbo and a pai.

Screen elements are the textbox, buttons, radio buttons and check boxes .....

If we want to pass data from a abap program to a screen element, we have to create a variable with the name we have given in the screen.So whatever the value is present in that variable is reflected on to the screen element.

Here is an example :

Using subscreens and some of the screen elements

REPORT demo_dynpro_subscreens.

DATA: ok_code TYPE sy-ucomm,

save_ok TYPE sy-ucomm.

DATA: number1(4) TYPE n VALUE '0110',

number2(4) TYPE n VALUE '0130',

field(10) TYPE c, field1(10) TYPE c, field2(10) TYPE c.

CALL SCREEN 100.

MODULE status_100 OUTPUT.

SET PF-STATUS 'SCREEN_100'.

ENDMODULE.

MODULE fill_0110 OUTPUT.

field = 'Eingabe 1'(001).

ENDMODULE.

MODULE fill_0120 OUTPUT.

field = field1.

ENDMODULE.

MODULE fill_0130 OUTPUT.

field = 'Eingabe 2'(002).

ENDMODULE.

MODULE fill_0140 OUTPUT.

field = field2.

ENDMODULE.

MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE save_ok INPUT.

save_ok = ok_code.

CLEAR ok_code.

ENDMODULE.

MODULE user_command_0110 INPUT.

IF save_ok = 'OK1'.

number1 = '0120'.

field1 = field.

CLEAR field.

ENDIF.

ENDMODULE.

MODULE user_command_0130 INPUT.

IF save_ok = 'OK2'.

number2 = '0140'.

field2 = field.

CLEAR field.

ENDIF.

ENDMODULE.

MODULE user_command_100 INPUT.

CASE save_ok.

WHEN 'SUB1'.

number1 = '0110'.

WHEN 'SUB2'.

number1 = '0120'.

CLEAR field1.

WHEN 'SUB3'.

number2 = '0130'.

WHEN 'SUB4'.

number2 = '0140'.

CLEAR field2.

ENDCASE.

ENDMODULE.

  • flow logic for screen 100

PROCESS BEFORE OUTPUT.

MODULE STATUS_100.

CALL SUBSCREEN: AREA1 INCLUDING SY-REPID NUMBER1,

AREA2 INCLUDING SY-REPID NUMBER2.

PROCESS AFTER INPUT.

MODULE CANCEL AT EXIT-COMMAND.

MODULE SAVE_OK.

CALL SUBSCREEN: AREA1,

AREA2.

MODULE USER_COMMAND_100.

  • flow logic for screen 110

PROCESS BEFORE OUTPUT.

MODULE FILL_0110.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0110.

  • flow logic for screen 120

PROCESS BEFORE OUTPUT.

MODULE FILL_0120.

PROCESS AFTER INPUT.

  • flow logic for screen 130

PROCESS BEFORE OUTPUT.

MODULE FILL_0130.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0130.

  • flow logic for screen 140

PROCESS BEFORE OUTPUT.

MODULE FILL_0140.

PROCESS AFTER INPUT.

<b>Reward points for useful Answers</b>

Regards

Anji

6 REPLIES 6

Former Member
0 Kudos

Hi

see this sample code

REPORT ZBHMOD1 .

DATA:OKCODE1 LIKE SY-UCOMM,

OKCODE2 LIKE SY-UCOMM.

DATA:N1(10) TYPE N,N2(10) TYPE N,RES(12) TYPE N.

MODULE USER_COMMAND_1000 INPUT.

CASE OKCODE1.

WHEN 'NEXT'.

RES = N1 + N2.

SET SCREEN 1001.

WHEN 'CLEA'.

CLEAR:N1,N2.

WHEN 'BACK'.

SET SCREEN '0'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1000 INPUT

MODULE STATUS_1000 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT1'.

ENDMODULE. " STATUS_1000 OUTPUT

MODULE USER_COMMAND_1001 INPUT.

CASE OKCODE2.

WHEN 'BACK'.

SET SCREEN 1000.

ENDCASE.

ENDMODULE. " USER_COMMAND_1001 INPUT

MODULE STATUS_1001 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT2'.

ENDMODULE. " STATUS_1001 OUTPUT

FLOW LOGIC:

PROCESS BEFORE OUTPUT.

MODULE STATUS_1000.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1000.

PROCESS BEFORE OUTPUT.

MODULE STATUS_1001.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1001.

**************************************************************************

************************************************************************

2)

REPORT ZBHMOD2.

DATA: OKCODE1 TYPE SY-UCOMM,

OKCODE2 TYPE SY-UCOMM,

ENAME(10) TYPE C,

DNAME(10) TYPE C.

MODULE STATUS_1000 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT1'.

ENDMODULE. " STATUS_1000 OUTPUT

MODULE STATUS_1001 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

SET TITLEBAR 'TIT2'.

ENDMODULE. " STATUS_1001 OUTPUT

MODULE USER_COMMAND_1000 INPUT.

CASE OKCODE1.

WHEN 'BACK'.

SET SCREEN '0'.

WHEN 'NEXT'.

DNAME = ENAME.

SET SCREEN '1001'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1000 INPUT

MODULE USER_COMMAND_1001 INPUT.

CASE OKCODE2.

WHEN 'BACK'.

SET SCREEN '1000'.

ENDCASE.

ENDMODULE. " USER_COMMAND_1001 INPUT

FORM ON_CTMENU_FORM USING ZDEMO1 TYPE REF TO CL_CTMENU.

CALL METHOD ZDEMO1->LOAD_GUI_STATUS

EXPORTING

PROGRAM = 'ZDEMO1'

STATUS = 'ZDEMO1'

MENU = ZDEMO1.

ENDFORM. " ON_CTMENU_FORM

FLOW LOGIC:

PROCESS BEFORE OUTPUT.

MODULE STATUS_1000.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1000.

PROCESS BEFORE OUTPUT.

MODULE STATUS_1001.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_1001.

*************************************************************

Every Screen has a pbo and a pai.

Screen elements are the textbox, buttons, radio buttons and check boxes .....

If we want to pass data from a abap program to a screen element, we have to create a variable with the name we have given in the screen.So whatever the value is present in that variable is reflected on to the screen element.

Here is an example :

Using subscreens and some of the screen elements

REPORT demo_dynpro_subscreens.

DATA: ok_code TYPE sy-ucomm,

save_ok TYPE sy-ucomm.

DATA: number1(4) TYPE n VALUE '0110',

number2(4) TYPE n VALUE '0130',

field(10) TYPE c, field1(10) TYPE c, field2(10) TYPE c.

CALL SCREEN 100.

MODULE status_100 OUTPUT.

SET PF-STATUS 'SCREEN_100'.

ENDMODULE.

MODULE fill_0110 OUTPUT.

field = 'Eingabe 1'(001).

ENDMODULE.

MODULE fill_0120 OUTPUT.

field = field1.

ENDMODULE.

MODULE fill_0130 OUTPUT.

field = 'Eingabe 2'(002).

ENDMODULE.

MODULE fill_0140 OUTPUT.

field = field2.

ENDMODULE.

MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE save_ok INPUT.

save_ok = ok_code.

CLEAR ok_code.

ENDMODULE.

MODULE user_command_0110 INPUT.

IF save_ok = 'OK1'.

number1 = '0120'.

field1 = field.

CLEAR field.

ENDIF.

ENDMODULE.

MODULE user_command_0130 INPUT.

IF save_ok = 'OK2'.

number2 = '0140'.

field2 = field.

CLEAR field.

ENDIF.

ENDMODULE.

MODULE user_command_100 INPUT.

CASE save_ok.

WHEN 'SUB1'.

number1 = '0110'.

WHEN 'SUB2'.

number1 = '0120'.

CLEAR field1.

WHEN 'SUB3'.

number2 = '0130'.

WHEN 'SUB4'.

number2 = '0140'.

CLEAR field2.

ENDCASE.

ENDMODULE.

  • flow logic for screen 100

PROCESS BEFORE OUTPUT.

MODULE STATUS_100.

CALL SUBSCREEN: AREA1 INCLUDING SY-REPID NUMBER1,

AREA2 INCLUDING SY-REPID NUMBER2.

PROCESS AFTER INPUT.

MODULE CANCEL AT EXIT-COMMAND.

MODULE SAVE_OK.

CALL SUBSCREEN: AREA1,

AREA2.

MODULE USER_COMMAND_100.

  • flow logic for screen 110

PROCESS BEFORE OUTPUT.

MODULE FILL_0110.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0110.

  • flow logic for screen 120

PROCESS BEFORE OUTPUT.

MODULE FILL_0120.

PROCESS AFTER INPUT.

  • flow logic for screen 130

PROCESS BEFORE OUTPUT.

MODULE FILL_0130.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0130.

  • flow logic for screen 140

PROCESS BEFORE OUTPUT.

MODULE FILL_0140.

PROCESS AFTER INPUT.

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos

see this doc. u can do everything.

http://sap.mis.cmich.edu/sap-abap/abap09/index.htm

regards,

srinivas

<b>*reward for useful answers*</b>

Former Member
0 Kudos

Hi,

plz go through the following example-----

----


  • T A B L E D E C L E R A T I O N

----


TABLES : Z8T024E.

----


  • C O N S T A N T S

----


DATA : ok_code_501(20).

DATA : A1(20).

DATA: D_FIRST VALUE 'Y'. " DECLEARING A FLAG

data: dyname like d020s-prog value 'Z8VIJAY_T024E_RIV',

dynumb like d020s-dnum value '0501'.

data: begin of dynpfields occurs 3.

include structure dynpread.

data: end of dynpfields.

----


  • C O N T R O L S

----


CONTROLS : TAB_CONTROL TYPE TABLEVIEW USING SCREEN 501.

----


  • I N T E R N A L T A B L E

----


DATA : BEGIN OF I_TAB OCCURS 0,

z8_ekorg TYPE z8ekorg, "purchasing organization

z8_ekotx TYPE z8ekotx, "description

z8_bukrs TYPE z8bukrs, "company code

END OF I_TAB.

&----


*& Module USER_COMMAND_0501 INPUT

&----


  • text

----


module USER_COMMAND_0501 input.

OK_CODE_501 = SY-UCOMM.

CASE OK_CODE_501.

*-for save--

WHEN 'SAV1'.

LOOP AT I_TAB.

SELECT SINGLE * FROM Z8T024E

WHERE Z8_EKORG = I_TAB-Z8_EKORG

AND Z8_BUKRS = I_TAB-Z8_BUKRS.

****IF DATA EXITS THEN UPDATE.....

IF SY-SUBRC = 0.

UPDATE Z8T024E SET Z8_EKOTX = I_TAB-Z8_EKOTX

WHERE Z8_EKORG = I_TAB-Z8_EKORG AND Z8_BUKRS = I_TAB-Z8_BUKRS.

ENDIF.

ENDLOOP.

D_FIRST = 'Y'.

CLEAR OK_CODE_501.

*

**-for exit-

WHEN 'EX01'.

SET SCREEN 0.

LEAVE SCREEN.

ENDCASE.

ENDMODULE. " USER_COMMAND_0501 INPUT

&----


*& Module STATUS_0501 OUTPUT

&----


  • text

----


module STATUS_0501 output.

SET PF-STATUS 'Z8VIJAY'.

SET TITLEBAR 'TABLE CONTROL FOR Z8T024E'.

IF D_FIRST = 'Y'.

REFRESH I_TAB.

SELECT

z8_ekorg

z8_ekotx

z8_bukrs

INTO CORRESPONDING FIELDS OF TABLE i_tab

FROM z8t024e

WHERE Z8_BUKRS = '5504'.

D_FIRST = 'N'.

ENDIF.

TAB_CONTROL-LINES = 200.

endmodule. " STATUS_0501 OUTPUT

&----


*& Module ADD_ENTRIES OUTPUT

&----


  • text

----


module ADD_ENTRIES output.

CLEAR I_TAB.

READ TABLE I_TAB INDEX tab_control-current_line.

TAB_CONTROL-V_SCROLL = 'X'.

*TAB_CONTROL-H_GRID = 'X'.

*TAB_CONTROL-V_GRID = 'X'.

IF I_TAB-Z8_EKORG = '' OR I_TAB-Z8_BUKRS = ''.

LOOP AT SCREEN.

IF SCREEN-NAME = 'I_TAB-Z8_EKOTX'.

SCREEN-OUTPUT = 1.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF..

endmodule. " ADD_ENTRIES OUTPUT

&----


*& Module READ_ENTRIES INPUT

&----


  • text

----


module READ_ENTRIES input.

MODIFY I_TAB INDEX tab_control-current_line.

IF I_TAB-z8_bukrs IS INITIAL.

ENDIF.

endmodule. " READ_ENTRIES INPUT

&----


*& Module DISPLAY OUTPUT

&----


  • text

----


module DISPLAY output.

*when display-

IF SY-UCOMM = 'DISP'.

IF I_TAB-Z8_EKORG <> ''.

LOOP AT SCREEN.

SCREEN-INPUT = 0.

SCREEN-OUTPUT = 1.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

ENDIF.

*when change-

IF SY-UCOMM = 'CH01'.

IF I_TAB-Z8_EKORG = '' OR I_TAB-Z8_BUKRS = ''.

LOOP AT SCREEN.

SCREEN-INPUT = 0.

SCREEN-OUTPUT = 1.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

ENDIF.

*when create-

IF SY-UCOMM = 'CR01'.

LOOP AT SCREEN.

CLEAR I_TAB.

REFRESH I_TAB.

SCREEN-INPUT = 1.

SCREEN-OUTPUT = 1.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

endmodule. " DISPLAY OUTPUT

*&----


**& Module help INPUT

*&----


    • text

*----


*module help input.

*CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD'

  • EXPORTING

  • DOKLANGU = SY-LANGU

    • DOKTITLE = ' '

    • CALLED_BY_TCODE =

    • CALLED_BY_PROGRAM =

    • CALLED_BY_DYNP =

  • CALLED_FOR_TAB = 'Z8T024E'

  • CALLED_FOR_FIELD = 'Z8_EKORG'

    • CALLED_FOR_TAB_FLD_BTCH_INPUT =

    • CALLED_BY_CUAPROG =

    • CALLED_BY_CUASTAT =

    • MERGE_DZ_IF_AVAILABLE =

    • MEMORYID =

    • EXPLICIT_MEMORYID = ' '

    • TABLES

    • LINKS =

    • EXCLUDEFUN =

  • EXCEPTIONS

  • OBJECT_NOT_FOUND = 1

  • SAPSCRIPT_ERROR = 2

  • OTHERS = 3

  • .

*IF sy-subrc <> 0.

    • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*ENDIF.

*

*

*endmodule. " help INPUT

&----


*& Module help INPUT

&----


  • text

----


module help input.

if sy-subrc = 0.

endif.

REFRESH dynpfields.

move '0001' to dynpfields-fieldname.

append dynpfields.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = dyname

dynumb = dynumb

  • TRANSLATE_TO_UPPER = ' '

  • REQUEST = ' '

  • PERFORM_CONVERSION_EXITS = ' '

  • PERFORM_INPUT_CONVERSION = ' '

  • DETERMINE_LOOP_INDEX = ' '

tables

dynpfields = dynpfields

EXCEPTIONS

INVALID_ABAPWORKAREA = 1

INVALID_DYNPROFIELD = 2

INVALID_DYNPRONAME = 3

INVALID_DYNPRONUMMER = 4

INVALID_REQUEST = 5

NO_FIELDDESCRIPTION = 6

INVALID_PARAMETER = 7

UNDEFIND_ERROR = 8

DOUBLE_CONVERSION = 9

STEPL_NOT_FOUND = 10

OTHERS = 11

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

endmodule. " help INPUT

&----


*& Module HELP1 INPUT

&----


  • text

----


module HELP1 input.

endmodule. " HELP1 INPUT

&----


*& Module HELP2 INPUT

&----


  • text

----


module HELP2 input.

endmodule. " HELP2 INPUT

What is Dialog Progrmming.

http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb2d40358411d1829f0000e829fbfe/content.htm

This link Give you all details about Modulepool

http://sap.mis.cmich.edu/sap-abap/abap09/index.htm

Regards,

Priyanka.

Former Member
0 Kudos

Hi,

Chk these DEMO programs

DEMO_DYNPRO Program S_SCREEN_PAINTER_DEMO

DEMO_DYNPRO_AT_EXIT_COMMAND Demonstration of Conditional Module Execution

DEMO_DYNPRO_AUTOMATIC_CHECKS Demonstration of Automatic Entry Checks on Screens

DEMO_DYNPRO_CHECK_RADIO Checkboxes and Radio Buttons

DEMO_DYNPRO_CONTEXT_MENU Context Menus on Screens

DEMO_DYNPRO_DICTIONARY Demonstration for Screen Fields with Dictionary Reference

DEMO_DYNPRO_DROPDOWN_LISTBOX Demonstration of Dropdown List Boxes on Screens

DEMO_DYNPRO_F1_HELP Demonstration of F1 Help on Screens

DEMO_DYNPRO_F4_HELP_DICTIONARY Demonstration for F4 Help from the ABAP Dictionary on Screens

DEMO_DYNPRO_F4_HELP_DYNPRO Demonstration for F4 Help on Screens

DEMO_DYNPRO_F4_HELP_MODULE Demonstration for F4 Help from Dialog Modules

DEMO_DYNPRO_FIELD Demonstration of FIELD on Screens

DEMO_DYNPRO_FIELD_CHAIN Demonstration for Input Checks in ABAP Programs

DEMO_DYNPRO_GET_CURSOR Demonstration for GET CURSOR on a Screen

DEMO_DYNPRO_GUI_STATUS Demonstration of GUI Status on Screens

<b>Reward points</b>

Regards

Former Member
0 Kudos

Former Member
0 Kudos

hi thanushkodi,

this is my program iam sharing with you....

&----


*& Module Pool SAPMZASH

*&

&----


*&

*&

&----


INCLUDE MZASHTOP . " global Data

  • INCLUDE MZASHO01 . " PBO-Modules

  • INCLUDE MZASHI01 . " PAI-Modules

  • INCLUDE MZASHF01 . " FORM-Routines

&----


*& Module USER_COMMAND_0800 INPUT

&----


  • text

----


MODULE USER_COMMAND_0800 INPUT.

tables : zdepartment,zproject,zappraisal,zincome,ztransport,zclient.

gd_repid = sy-repid.

data : itab_department like zdepartment occurs 0 with header line,

wa_department like line of itab_department.

data : itab_project like zproject occurs 0 with header line,

wa_project like line of itab_project.

data : itab_appraisal like zappraisal occurs 0 with header line,

wa_appraisal like line of itab_appraisal.

data : itab_income like zincome occurs 0 with header line,

wa_income like line of itab_income.

data : itab_transport like ztransport occurs 0 with header line,

wa_transport like line of itab_transport.

data : itab_all like zall occurs 0 with header line,

wa_all like line of itab_all.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT1'.

select single * from zemployee where detid = zdepartment-detid.

if sy-subrc = 0.

select single * from zdepartment where detid = zdepartment-detid.

if sy-subrc = 0.

LEAVE TO LIST-PROCESSING.

write : zdepartment-detid,

10 zdepartment-deptname,

30 zdepartment-designation,

50 zdepartment-projectid,

70 zemployee-empname,

90 sy-subrc.

endif.

else.

call screen 0801.

endif.

when 'BUT2'.

call screen 0802.

when 'BUT4'.

call screen 0803.

when 'MAIN'.

leave to screen 0.

when 'APP'.

call screen 0804.

when 'SAL'.

call screen 0805.

when 'TRAN'.

call screen 0806.

endcase.

ENDMODULE. " USER_COMMAND_0800 INPUT

&----


*& Module USER_COMMAND_0801 INPUT

&----


  • text

----


MODULE USER_COMMAND_0801 INPUT.

  • write : 'welcome'.

ENDMODULE. " USER_COMMAND_0801 INPUT

&----


*& Module STATUS_0800 OUTPUT

&----


  • text

----


MODULE STATUS_0800 OUTPUT.

  • CALL SUBSCREEN GD_SUBSCREENAREA INCLUDING 'SAPMZASH' '0801'.

*

SET PF-STATUS 'NEW'.

SET TITLEBAR 'TITLE'.

ENDMODULE. " STATUS_0800 OUTPUT

&----


*& Module USER_COMMAND_0802 INPUT

&----


  • text

----


MODULE USER_COMMAND_0802 INPUT.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT2'.

select single * from zproject where projectid = zproject-projectid.

if sy-subrc = 0.

LEAVE TO LIST-PROCESSING.

write : zproject-projectid,

10 zproject-technology,

30 zproject-clientname,

50 sy-subrc.

else.

call screen 0801.

endif.

when 'HOME'.

leave to screen 0800.

endcase.

ENDMODULE. " USER_COMMAND_0802 INPUT

&----


*& Module USER_COMMAND_0803 INPUT

&----


  • text

----


MODULE USER_COMMAND_0803 INPUT.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT3'.

select single * from zemployee where empname = zemployee-empname.

if sy-subrc = 0.

LEAVE TO LIST-PROCESSING.

write : zemployee-empname,

30 zemployee-empid,

50 zemployee-empaddress,

70 zemployee-ponumber,

90 zemployee-city,

110 zemployee-detid,

130 sy-subrc.

else.

call screen 0801.

endif.

when 'HOME'.

leave to screen 0800.

endcase.

ENDMODULE. " USER_COMMAND_0803 INPUT

&----


*& Module USER_COMMAND_0804 INPUT

&----


  • text

----


MODULE USER_COMMAND_0804 INPUT.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT7'.

select single * from zappraisal where empid = zappraisal-empid.

if sy-subrc = 0.

leave to list-processing.

write : zappraisal-appid,

10 zappraisal-empname,

30 zappraisal-empid,

50 zappraisal-remarks.

else.

call screen 0801.

endif.

when 'HOME'.

leave to screen 0800.

endcase.

ENDMODULE. " USER_COMMAND_0804 INPUT

&----


*& Module USER_COMMAND_0805 INPUT

&----


  • text

----


MODULE USER_COMMAND_0805 INPUT.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT8'.

select single * from zincome where empid = zincome-empid.

if sy-subrc = 0.

leave to list-processing.

write : zincome-sid,

10 zincome-empname,

30 zincome-salary,

50 zincome-empid.

else.

call screen 0801.

endif.

when 'HOME'.

leave to screen 0800.

endcase.

ENDMODULE. " USER_COMMAND_0805 INPUT

&----


*& Module USER_COMMAND_0806 INPUT

&----


  • text

----


MODULE USER_COMMAND_0806 INPUT.

ok_code = sy-ucomm.

save_ok = ok_code.

clear ok_code.

case save_ok.

when 'BUT9'.

select single * from ztransport where empid = ztransport-empid.

if sy-subrc = 0.

leave to list-processing.

write : ztransport-transid,

10 ztransport-empid,

30 ztransport-empname,

50 ztransport-route.

else.

call screen 0801.

endif.

when 'HOME'.

leave to screen 0800.

endcase.

ENDMODULE. " USER_COMMAND_0806 INPUT

&----


*& Module USER_COMMAND_0807 INPUT

&----


  • text

----


*MODULE USER_COMMAND_0807 INPUT.

  • ok_code = sy-ucomm.

  • save_ok = ok_code.

  • clear ok_code.

  • case save_ok.

*

  • when 'HIS'.

  • select single * from zall where empid = zall-empid.

  • if sy-subrc = 0.

  • leave to list-processing.

  • write : zall-empid,

  • 10 zall-serialno,

  • 30 zall-empname,

  • 50 zall-clientloc,

  • 70 zall-salary,

  • 90 zall-route.

*

  • else.

  • call screen 0801.

  • endif.

  • when 'HOME'.

  • leave to screen 0800.

  • endcase.

*

*

*ENDMODULE. " USER_COMMAND_0807 INPUT

*INCLUDE MZASH_DATA_RETRIEVALO01.

*

*INCLUDE MZASH_POPULATE_SCREENO01.

*

INCLUDE MZASH_DATA_RETRIEVALO01.

REWARD IF USEFUL...!!