· 9 years ago · Nov 06, 2016, 01:22 PM
1*&---------------------------------------------------------------------*
2*& Module FCODE_100 INPUT
3*&---------------------------------------------------------------------*
4*
5* module fcode_100 carries out the flight maintenance actions
6* (update, create, display or delete flight)
7* specified by the user on dynpro 100.
8*----------------------------------------------------------------------*
9MODULE FCODE_100 INPUT.
10 FCODE = OK-CODE. "save the function contained in the OK CODE
11 CLEAR OK-CODE. "Clears the OK CODE value. The OK CODE is not
12 "automatically cleared by the system.
13 CASE FCODE.
14 WHEN 'UPDA'.
15 UPDATE WBTABLE. "Update the flight table
16 IF SY-SUBRC <> 0. "Check the system return code.
17 MESSAGE E004 WITH WBTABLE-FLID."Flight & does not exist.
18 ENDIF.
19 MESSAGE S002 WITH WBTABLE-FLID. "Flight was updated
20 WHEN 'CREA'.
21 INSERT WBTABLE.
22 IF SY-SUBRC <> 0.
23 MESSAGE E000 WITH WBTABLE-FLID. "Flight already exists.
24 ENDIF.
25 MESSAGE S001 WITH WBTABLE-FLID. "Flight was CREATED successfully.
26 WHEN 'DISP'.
27 SELECT SINGLE * FROM WBTABLE
28 WHERE FLID = WBTABLE-FLID.
29 IF SY-SUBRC <> 0.
30 MESSAGE E004 WITH WBTABLE-FLID. "Flight does not exist.
31 ENDIF.
32 WHEN 'DELE'.
33 SELECT SINGLE * FROM WBTABLE
34 WHERE FLID = WBTABLE-FLID.
35 IF SY-SUBRC <> 0.
36 MESSAGE E004 WITH WBTABLE-FLID. "Flight does not exist.
37 ELSE. "Send confirmation popup to the user.
38 CALL FUNCTION 'POPUP_TO_CONFIRM_LOSS_OF_DATA'
39 EXPORTING
40 TEXTLINE1 = 'Delete Flight?'
41 TITEL = 'Attention'
42 IMPORTING
43 ANSWER = ANSWER.
44 CHECK ANSWER NE 'N'. "If the user confirms the delete, control
45 "passes to the following instructions.
46 "Otherwise, the system leaves the module.
47 DELETE WBTABLE.
48 CLEAR WBTABLE.
49 MESSAGE S003 WITH WBTABLE-FLID. "Flight was DELETED successfully
50 ENDIF.
51 WHEN SPACE. "If the Enter key is hit do nothing.
52 WHEN OTHERS. "When BACK, CANCEL, EXIT is hit leave the
53 "screen and terminate the transaction.
54 SET SCREEN 0.
55 LEAVE SCREEN.
56 ENDCASE.
57ENDMODULE. " FCODE_100 INPUT
58
59*&---------------------------------------------------------------------*
60*& Module FRAGMENT INPUT
61*&---------------------------------------------------------------------*
62* text *
63*----------------------------------------------------------------------*
64MODULE FRAGMENT INPUT.
65 FCODE = OK-CODE.
66 CLEAR OK-CODE.
67 CASE FCODE.
68 WHEN 'UPDA'.
69 UPDATE WBTABLE.
70 IF SY-SUBRC <> 0.
71 MESSAGE E004 WITH WBTABLE-FLID.
72 ENDIF.
73 MESSAGE S002 WITH WBTABLE-FLID.
74 WHEN 'CREA'.
75 INSERT WBTABLE.
76 IF SY-SUBRC <> 0.
77 MESSAGE E000 WITH WBTABLE-FLID.
78 ENDIF.
79 MESSAGE S001 WITH WBTABLE-FLID.
80 WHEN 'DISP'.
81 SELECT SINGLE * FROM WBTABLE
82 WHERE FLID = WBTABLE-FLID.
83 IF SY-SUBRC <> 0.
84 MESSAGE E004 WITH WBTABLE-FLID.
85 ENDIF.
86 WHEN 'DELE'.
87 SELECT SINGLE * FROM WBTABLE
88 WHERE FLID = WBTABLE-FLID.
89 IF SY-SUBRC <> 0.
90 MESSAGE E004 WITH WBTABLE-FLID.
91 ENDIF.
92 WHEN SPACE.
93 WHEN OTHERS.
94 SET SCREEN 0.
95 LEAVE SCREEN.
96 ENDCASE.
97
98ENDMODULE. " FRAGMENT INPUT