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

F8进去的时候是这样的,出来的时候还是停留在标签3处。

2018.03.30 abap屏幕标签保存之前执行过的状态的更多相关文章

  1. EZ 2018 03 30 NOIP2018 模拟赛(六)

    链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...

  2. 2018/03/30 每日一个Linux命令 之 创建用户/密码

    感悟: 感觉每天学习下指令真的很不错,虽然感觉也没啥东西,但是真的用到了,马上就能想起来个大概,忘了详细的用法,就回来看看自己的博客. 话说今天GitHub上有个人 star 了我的项目,很开心,嘎嘎 ...

  3. ABAP屏幕基础

    Select语句的使用 关键字into后可以加 structure(结构体), internal table(内表) 和 fieldlist(字段列表) Authority 权限 程序员可以根据权限对 ...

  4. 20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

    20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中 ...

  5. 【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

    --------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch ...

  6. 怎样录制屏幕并将结果保存为Gif

    怎样录制屏幕 并将结果保存为GIF 大前天写文章,需要把PPT的翻转页面截成动态图.我一开始就想到保存文件肯定是GIF.但是如何生成呢?素材又从哪里来?以前自己感兴趣做过把一组连拍的图片做成动态图,再 ...

  7. ABAP屏幕设计

    转自 http://www.cnblogs.com/aBaoRong/archive/2012/06/05/2536591.html abap 屏幕控制 ******************** 屏幕 ...

  8. 2018.12.30【NOIP提高组】模拟赛C组总结

    2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...

  9. 2018.8.30 nowcoder oi赛制测试1

    2018.8.30 nowcoder oi赛制测试1 普及组难度,发现了一些问题 A 题目大意:求斐波那契数列\(f(k-1)f(k+1)-f(k)^2\),范围极大 打表可得规律 其实是卡西尼恒等式 ...

随机推荐

  1. Spring基础20——AOP基础

    1.什么是AOP AOP(Aspect-Oriented Programming)即面向切面编程,是一种新的方法论,是对那个传统OOP面向对象编程的补充.AOP的主要编程对象是切面(aspect),而 ...

  2. (转) weblogic 域,管理服务器,受管服务器,集群和机器的基本知识

    weblogic 域,管理服务器,受管服务器,集群和机器的基本知识 1.域(Domain) •它是什么? –是一个逻辑上管理的WebLogic Server组,这些组从管理上当作一个整体来操作 •域里 ...

  3. java ArrayList迭代过程中删除

    第一种迭代删除方式: 第二种迭代删除方式: 第三种迭代删除: 第四种迭代删除: 第五种迭代删除: 第六种: ArrayList中remove()方法的机制,首先看源码: 真正的删除操作在fastRem ...

  4. shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected)

    shell报错:-bash: [: ==: 期待一元表达式 解决方法 ([: ==: unary operator expected) blogdaren 2015-02-26  抢沙发 14916人 ...

  5. linux如何判断上一条命令执行是否正确

    echo $? 如果输出0代表结果正确 如果输出非0代表结果错误

  6. Rsync服务端部署流程

    Rsync服务端部署流程       Rsync服务端部署流程: 一.rsync服务端配置流程 配置rsync配置文件/etc/rsyncd.conf 创建同步的本地目录/dingjian 并根据需要 ...

  7. [转]CSS自动换行后缩进

    原文 https://blog.csdn.net/u011974797/article/details/71439794 例如: ●这是第一行太长了超出 显示到第二行 想实现的效果: ●这是第一行太长 ...

  8. js-点击tab按钮,同一页面显示不同的内容

    效果: html: JS: css: .tabs-two{ .two{ display: inline-block; font-size:14px; height: 17px; font-weight ...

  9. 全方面了解和学习PHP框架PHP培训教程

    PHP成为最流行的脚本语言有许多原因:灵活性,易用性等等.对于项目开发来说,我们通常需要一个PHP框架来代替程序员完成那些重复的部分.本文,兄弟连PHP培训 将对PHP框架进行全面解析. PHP框架是 ...

  10. 洛谷 P3049 Landscaping ( 贪心 || DP)

    题意 : 有n块土地,每块有A[i]泥土,现把其改造成B[i]泥土,有3种操作:(1)花费X向任意土地增加1泥土:(2)花费Y向任意土地减少1泥土:(3)花费Z*|i-j|把土地i的1泥土运到土地j. ...