1. 程式人生 > >2018.03.30 abap屏幕標簽保存之前狀態

2018.03.30 abap屏幕標簽保存之前狀態

ref fault tor OS http UC info 3.3 end

  1 REPORT  ZZJX_TEST09.
  2 *&---------------------------------------------------------------------*
  3 TABLES: T001W,T161,T161T,T024.
  4 
  5 DATA: L_OBJ TYPE REF TO CL_GUI_FRONTEND_SERVICES.
  6 DATA: IT_FILE TYPE FILETABLE WITH HEADER LINE.
  7 DATA: G_RC TYPE I.
  8 DATA: IL_RAW TYPE TRUXS_T_TEXT_DATA.
9 10 11 DATA: G_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE, "字段內表 12 L_LAYOUT TYPE SLIS_LAYOUT_ALV. 13 14 DATA: BEGIN OF GT_UPLOAD OCCURS 0, 15 DATA1(4) TYPE C, 16 DATA2(4) TYPE C, 17 END OF GT_UPLOAD. 18 DATA: BEGIN OF GT_ALV1 OCCURS 0. 19 * INCLUDE STRUCTURE ZMMWERKS1.
20 DATA: STA(4) TYPE C, 21 END OF GT_ALV1. 22 23 DATA: BEGIN OF GT_ALV2 OCCURS 0. 24 * INCLUDE STRUCTURE ZMMWERKS2. 25 DATA: STA(4) TYPE C, 26 END OF GT_ALV2. 27 FIELD-SYMBOLS: <ALV1> LIKE LINE OF GT_ALV1, 28 <ALV2> LIKE LINE OF GT_ALV2. 29 DATA: L_FLAG TYPE
I VALUE 1. 30 31 DATA: BEGIN OF L_SIGN, 32 FLAG TYPE I VALUE 1, 33 BUTTON TYPE I VALUE 1, 34 END OF L_SIGN. 35 36 SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN. 37 SELECTION-SCREEN BEGIN OF BLOCK S01 WITH FRAME TITLE TEXT-C01. 38 PARAMETERS: P_RB1 RADIOBUTTON GROUP T1 DEFAULT X USER-COMMAND T1, 39 P_RB2 RADIOBUTTON GROUP T1 . 40 SELECTION-SCREEN END OF BLOCK S01. 41 SELECTION-SCREEN BEGIN OF BLOCK S02 WITH FRAME TITLE TEXT-C02. 42 SELECT-OPTIONS: S_WERKS FOR T001W-WERKS. 43 SELECTION-SCREEN END OF BLOCK S02. 44 SELECTION-SCREEN END OF SCREEN 100. 45 46 SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN. 47 SELECTION-SCREEN BEGIN OF BLOCK S03 WITH FRAME TITLE TEXT-C01. 48 PARAMETERS: P_RB3 RADIOBUTTON GROUP T2 DEFAULT X USER-COMMAND T2, 49 P_RB4 RADIOBUTTON GROUP T2 . 50 SELECTION-SCREEN END OF BLOCK S03. 51 SELECTION-SCREEN BEGIN OF BLOCK S04 WITH FRAME TITLE TEXT-C02. 52 SELECT-OPTIONS: T_WERKS FOR T001W-WERKS, 53 T_BSART FOR T161-BSART MODIF ID M3, 54 T_EKGRP FOR T024-EKGRP MODIF ID M4. 55 SELECTION-SCREEN END OF BLOCK S04. 56 SELECTION-SCREEN END OF SCREEN 200. 57 58 SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN. 59 SELECTION-SCREEN BEGIN OF BLOCK S05 WITH FRAME TITLE TEXT-C01. 60 PARAMETERS: P_RB5 RADIOBUTTON GROUP T3 DEFAULT X USER-COMMAND T3, 61 P_RB6 RADIOBUTTON GROUP T3 . 62 SELECTION-SCREEN END OF BLOCK S05. 63 SELECTION-SCREEN BEGIN OF BLOCK S06 WITH FRAME TITLE TEXT-C02. 64 PARAMETERS: P_FIL1 TYPE RLGRAP-FILENAME MODIF ID M5, 65 P_FIL2 TYPE RLGRAP-FILENAME MODIF ID M6. 66 SELECTION-SCREEN END OF BLOCK S06. 67 68 SELECTION-SCREEN END OF SCREEN 300. 69 70 71 SELECTION-SCREEN: BEGIN OF TABBED BLOCK MYTAB FOR 12 LINES, 72 TAB (25) BUTTON1 USER-COMMAND PUSH1, 73 TAB (25) BUTTON2 USER-COMMAND PUSH2, 74 TAB (25) BUTTON3 USER-COMMAND PUSH3, 75 END OF BLOCK MYTAB. 76 77 INITIALIZATION. 78 BUTTON1 = TEXT-A01. 79 BUTTON2 = TEXT-A02. 80 BUTTON3 = TEXT-A03. 81 MYTAB-PROG = SY-REPID. 82 83 84 IMPORT L_SIGN FROM MEMORY ID FLAG."主要使用內存共享的方式來實現,進入list退出之後保存進去之前的標簽 85 CASE L_SIGN-FLAG. 86 WHEN 1. 87 MYTAB-DYNNR = 100. 88 MYTAB-ACTIVETAB = PUSH1. 89 WHEN 2. 90 MYTAB-DYNNR = 200. 91 MYTAB-ACTIVETAB = PUSH2. 92 WHEN 3. 93 MYTAB-DYNNR = 300. 94 MYTAB-ACTIVETAB = PUSH3. 95 ENDCASE. 96 MODIFY SCREEN. 97 FREE MEMORY ID FLAG. 98 99 "為控件頁簽單擊事件, 選擇不同頁簽顯示不同子屏幕. 100 101 AT SELECTION-SCREEN. 102 CASE SY-UCOMM. 103 WHEN PUSH1. 104 MYTAB-DYNNR = 100. 105 MYTAB-ACTIVETAB = PUSH1. 106 L_SIGN-FLAG = 1. 107 L_SIGN-BUTTON = 1. 108 WHEN PUSH2. 109 MYTAB-DYNNR = 200. 110 MYTAB-ACTIVETAB = PUSH2. 111 L_SIGN-FLAG = 2. 112 L_SIGN-BUTTON = 2. 113 WHEN PUSH3. 114 MYTAB-DYNNR = 300. 115 MYTAB-ACTIVETAB = PUSH3. 116 L_SIGN-FLAG = 3. 117 L_SIGN-BUTTON = 3. 118 ENDCASE. 119 EXPORT L_SIGN TO MEMORY ID FLAG. 120 121 AT SELECTION-SCREEN OUTPUT. 122 123 LOOP AT SCREEN. 124 CASE SCREEN-GROUP1. 125 WHEN M1. 126 IF P_RB1 IS INITIAL. 127 SCREEN-ACTIVE = 0. 128 ELSE. 129 SCREEN-ACTIVE = 1. 130 ENDIF. 131 WHEN M2. 132 IF P_RB2 IS INITIAL. 133 SCREEN-ACTIVE = 0. 134 ELSE. 135 SCREEN-ACTIVE = 1. 136 ENDIF. 137 WHEN M2. 138 IF P_RB3 IS INITIAL. 139 SCREEN-ACTIVE = 0. 140 ELSE. 141 SCREEN-ACTIVE = 1. 142 ENDIF. 143 WHEN M4. 144 IF P_RB4 IS INITIAL. 145 SCREEN-ACTIVE = 0. 146 ELSE. 147 SCREEN-ACTIVE = 1. 148 ENDIF. 149 WHEN M5. 150 IF P_RB5 IS INITIAL. 151 SCREEN-ACTIVE = 0. 152 ELSE. 153 SCREEN-ACTIVE = 1. 154 ENDIF. 155 WHEN M6. 156 IF P_RB6 IS INITIAL. 157 SCREEN-ACTIVE = 0. 158 ELSE. 159 SCREEN-ACTIVE = 1. 160 ENDIF. 161 ENDCASE. 162 MODIFY SCREEN. 163 ENDLOOP. 164 165 166 AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FIL1. "彈出選擇文件對話框 167 CREATE OBJECT L_OBJ. 168 CLEAR IT_FILE[]. 169 CALL METHOD L_OBJ->FILE_OPEN_DIALOG 170 EXPORTING 171 FILE_FILTER = *.xls;*.xlsx;*.txt 172 INITIAL_DIRECTORY = C:\data 173 CHANGING 174 FILE_TABLE = IT_FILE[] 175 RC = G_RC. 176 READ TABLE IT_FILE INDEX 1. 177 P_FIL1 = IT_FILE-FILENAME. 178 179 AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FIL2. "彈出選擇文件對話框 180 CREATE OBJECT L_OBJ. 181 CLEAR IT_FILE[]. 182 CALL METHOD L_OBJ->FILE_OPEN_DIALOG 183 EXPORTING 184 FILE_FILTER = *.xls;*.xlsx;*.txt 185 INITIAL_DIRECTORY = C:\data 186 CHANGING 187 FILE_TABLE = IT_FILE[] 188 RC = G_RC. 189 READ TABLE IT_FILE INDEX 1. 190 P_FIL2 = IT_FILE-FILENAME. 191 192 193 START-OF-SELECTION. 194 195 END-OF-SELECTION. 196 WRITE:/ hello.

技術分享圖片F8進去的時候是這樣的,出來的時候還是停留在標簽3處。

2018.03.30 abap屏幕標簽保存之前狀態