REPORT  ZZJX_TEST09.
*&---------------------------------------------------------------------*
TABLES: T001W,T161,T161T,T024. DATA: L_OBJ TYPE REF TO CL_GUI_FRONTEND_SERVICES.
DATA: IT_FILE TYPE FILETABLE WITH HEADER LINE.
DATA: G_RC TYPE I.
DATA: IL_RAW TYPE TRUXS_T_TEXT_DATA. DATA: G_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE, "字段内表
L_LAYOUT TYPE SLIS_LAYOUT_ALV. DATA: BEGIN OF GT_UPLOAD OCCURS ,
DATA1() TYPE C,
DATA2() TYPE C,
END OF GT_UPLOAD.
DATA: BEGIN OF GT_ALV1 OCCURS .
* INCLUDE STRUCTURE ZMMWERKS1.
DATA: STA() TYPE C,
END OF GT_ALV1. DATA: BEGIN OF GT_ALV2 OCCURS .
* INCLUDE STRUCTURE ZMMWERKS2.
DATA: STA() TYPE C,
END OF GT_ALV2.
FIELD-SYMBOLS: <ALV1> LIKE LINE OF GT_ALV1,
<ALV2> LIKE LINE OF GT_ALV2.
DATA: L_FLAG TYPE I VALUE . DATA: BEGIN OF L_SIGN,
FLAG TYPE I VALUE ,
BUTTON TYPE I VALUE ,
END OF L_SIGN. SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK S01 WITH FRAME TITLE TEXT-C01.
PARAMETERS: P_RB1 RADIOBUTTON GROUP T1 DEFAULT 'X' USER-COMMAND T1,
P_RB2 RADIOBUTTON GROUP T1 .
SELECTION-SCREEN END OF BLOCK S01.
SELECTION-SCREEN BEGIN OF BLOCK S02 WITH FRAME TITLE TEXT-C02.
SELECT-OPTIONS: S_WERKS FOR T001W-WERKS.
SELECTION-SCREEN END OF BLOCK S02.
SELECTION-SCREEN END OF SCREEN . SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK S03 WITH FRAME TITLE TEXT-C01.
PARAMETERS: P_RB3 RADIOBUTTON GROUP T2 DEFAULT 'X' USER-COMMAND T2,
P_RB4 RADIOBUTTON GROUP T2 .
SELECTION-SCREEN END OF BLOCK S03.
SELECTION-SCREEN BEGIN OF BLOCK S04 WITH FRAME TITLE TEXT-C02.
SELECT-OPTIONS: T_WERKS FOR T001W-WERKS,
T_BSART FOR T161-BSART MODIF ID M3,
T_EKGRP FOR T024-EKGRP MODIF ID M4.
SELECTION-SCREEN END OF BLOCK S04.
SELECTION-SCREEN END OF SCREEN . SELECTION-SCREEN BEGIN OF SCREEN AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK S05 WITH FRAME TITLE TEXT-C01.
PARAMETERS: P_RB5 RADIOBUTTON GROUP T3 DEFAULT 'X' USER-COMMAND T3,
P_RB6 RADIOBUTTON GROUP T3 .
SELECTION-SCREEN END OF BLOCK S05.
SELECTION-SCREEN BEGIN OF BLOCK S06 WITH FRAME TITLE TEXT-C02.
PARAMETERS: P_FIL1 TYPE RLGRAP-FILENAME MODIF ID M5,
P_FIL2 TYPE RLGRAP-FILENAME MODIF ID M6.
SELECTION-SCREEN END OF BLOCK S06. SELECTION-SCREEN END OF SCREEN . SELECTION-SCREEN: BEGIN OF TABBED BLOCK MYTAB FOR LINES,
TAB () BUTTON1 USER-COMMAND PUSH1,
TAB () BUTTON2 USER-COMMAND PUSH2,
TAB () BUTTON3 USER-COMMAND PUSH3,
END OF BLOCK MYTAB. INITIALIZATION.
BUTTON1 = TEXT-A01.
BUTTON2 = TEXT-A02.
BUTTON3 = TEXT-A03.
MYTAB-PROG = SY-REPID. IMPORT L_SIGN FROM MEMORY ID 'FLAG'."主要使用内存共享的方式来实现,进入list退出之后保存进去之前的标签
CASE L_SIGN-FLAG.
WHEN .
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH1'.
WHEN .
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH2'.
WHEN .
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH3'.
ENDCASE.
MODIFY SCREEN.
FREE MEMORY ID 'FLAG'. "为控件页签单击事件, 选择不同页签显示不同子屏幕. AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'PUSH1'.
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH1'.
L_SIGN-FLAG = .
L_SIGN-BUTTON = .
WHEN 'PUSH2'.
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH2'.
L_SIGN-FLAG = .
L_SIGN-BUTTON = .
WHEN 'PUSH3'.
MYTAB-DYNNR = .
MYTAB-ACTIVETAB = 'PUSH3'.
L_SIGN-FLAG = .
L_SIGN-BUTTON = .
ENDCASE.
EXPORT L_SIGN TO MEMORY ID 'FLAG'. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN.
CASE SCREEN-GROUP1.
WHEN 'M1'.
IF P_RB1 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
WHEN 'M2'.
IF P_RB2 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
WHEN 'M2'.
IF P_RB3 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
WHEN 'M4'.
IF P_RB4 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
WHEN 'M5'.
IF P_RB5 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
WHEN 'M6'.
IF P_RB6 IS INITIAL.
SCREEN-ACTIVE = ''.
ELSE.
SCREEN-ACTIVE = ''.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FIL1. "弹出选择文件对话框
CREATE OBJECT L_OBJ.
CLEAR IT_FILE[].
CALL METHOD L_OBJ->FILE_OPEN_DIALOG
EXPORTING
FILE_FILTER = '*.xls;*.xlsx;*.txt'
INITIAL_DIRECTORY = 'C:\data'
CHANGING
FILE_TABLE = IT_FILE[]
RC = G_RC.
READ TABLE IT_FILE INDEX .
P_FIL1 = IT_FILE-FILENAME. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FIL2. "弹出选择文件对话框
CREATE OBJECT L_OBJ.
CLEAR IT_FILE[].
CALL METHOD L_OBJ->FILE_OPEN_DIALOG
EXPORTING
FILE_FILTER = '*.xls;*.xlsx;*.txt'
INITIAL_DIRECTORY = 'C:\data'
CHANGING
FILE_TABLE = IT_FILE[]
RC = G_RC.
READ TABLE IT_FILE INDEX .
P_FIL2 = IT_FILE-FILENAME. START-OF-SELECTION. END-OF-SELECTION.
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. 【转载】平时的你VS面试的你

    https://www.cnblogs.com/rjzheng/p/10275453.html 引言 大家在面试的时候,特别是最后一面HR面,是不是经常都说自己咳咳咳.博主特意总结了一下平时的你和面试 ...

  2. 关闭mmu和cache

    处理器内部寄存器,访问速度最快,但是数量少 TCM:紧耦合存储器(Cache.主存储器) 辅助存储器(Flash.SD等) Cache是一种容量小但是存取速度非常快的存储器 它保存最近用到的存储器中的 ...

  3. Eclipse集成开发环境搭建

    gdbserver安装: 安装gdb-server的环境变量要放在arm-linux-gcc的环境的前面,因为arm-linux-gcc的安装包里面也有gdb,linux系统在找指令时从/root/. ...

  4. Big Data(七)MapReduce计算框架(PPT截图)

    一.为什么叫MapReduce? Map是以一条记录为单位映射 Reduce是分组计算

  5. 如何在 Visual C# 中执行基本的文件 I/O

    演示文件 I/O 操作 本文中的示例讲述基本的文件 I/O 操作.“分步示例”部分说明如何创建一个演示下列六种文件 I/O 操作的示例程序: 注意:如果要直接使用下列示例代码,请注意下列事项: 必须包 ...

  6. 树上独立集数量 树型DP

    题目描述: 对于一棵树,独立集是指两两互不相邻的节点构成的集合.例如,图1有5个不同的独立集(1个双点集合.3个单点集合.1个空集),图2有14个不同的独立集,图3有5536个不同的独立集.  输入: ...

  7. HDU-2389-Rain on your Parade (最大匹配,kopcroft-karp)

    链接: https://vjudge.net/problem/HDU-2389 题意: You're giving a party in the garden of your villa by the ...

  8. encode()和decode()两个函数

    编码可以将抽象字符以二进制数据的形式表示,有很多编码方法,如utf-8.gbk等,可以使用encode()函数对字符串进行编码,转换成二进制字节数据,也可用decode()函数将字节解码成字符串:用d ...

  9. ApplicationRunner接口

    ApplicationRunner 和 CommandLineRunner 功能一致,用法也基本一致,唯一的区别主要体现在对参数的处理上,ApplicationRunner 可以接收更多类型的参数(A ...

  10. mysql AUTO INCREMENT字段 语法

    mysql AUTO INCREMENT字段 语法 作用:在新记录插入表中时生成一个唯一的数字 说明:我们通常希望在每次插入新记录时,自动地创建主键字段的值.我们可以在表中创建一个 auto-incr ...