程序间获取ALV显示数据(读取ALV GRID上的数据)
来源:互联网 发布:java泛型类 继承 调用 编辑:程序博客网 时间:2024/05/18 00:16
程序间获取ALV数据的两种方法:
方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点;
* Execute transaction IA09 to get all Functional Location Tasklists SUBMIT riplko10 WITH SELECTION-TABLE lt_selscreen WITH pn_iflo = abap_true "Select Func Loc Tasklists WITH dy_tcode = 'IA09' WITH dy_selm = 'D' "Dark mode AND RETURN IMPORT sel_tab FROM MEMORY ID 'RIPLKO10'.
这种方法性能比较高但是依赖源程序,需要事先将需要的数据EXPORT到内存,如果是标准程序就需要做增强。
方法2:SUBMIT前屏蔽ALV GRID的显示,使用SUBMIT,然后调用CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF方法获取数据(包括显示数据,布局数据,字段数据,过滤器等),这个是SAP提供的API所以我们不关心如何存储所以该方法不需要修改目标程序就可以直接得到ALV显示的结果,但不能设置目标程序的中断点,需显示ALV的函数执行完毕方可获取到数据。
FIELD-SYMBOLS <lt_pay_data> TYPE ANY TABLE. DATA lr_pay_data TYPE REF TO data. DATA lt_selscreen TYPE TABLE OF rsparams. "初始设置 CALL METHOD cl_salv_bs_runtime_info=>set EXPORTING display = abap_false metadata = abap_false data = abap_true.* 调用目标程序 SUBMIT h99cwtr0 WITH SELECTION-TABLE lt_selscreen AND RETURN. TRY. "获取ALV显示数据 CALL METHOD cl_salv_bs_runtime_info=>get_data_ref IMPORTING r_data = lr_pay_data. ASSIGN lr_pay_data->* TO <lt_pay_data>. CATCH cx_salv_bs_sc_runtime_info. MESSAGE `无法取得ALV术` TYPE 'E'. ENDTRY. "结束 cl_salv_bs_runtime_info=>clear_all( ).
CL_SALV_BS_RUNTIME_INFO与读取ALV有关的方法:
SET() - 此方法初始化类(清除内存区域),然后允许标志的设置让任何后续ALV对象如何工作。它应该在装程序调用ALV报告程序之前被调用。
参数:
- DISPLAY - 将它设为abap_false强制所有后续ALV报告在“黑暗模式”下运行,也就是说,ALV不会被输出到GUI。
- METADATA - 将它设为abap_false防止基本信息(布局,字段目录等)被取到内存中......一般我们不需要。
- DATA - 将它设为abap_true迫使数据表导出到内存而不是显示报表。
GET_DATA_REF() - 非常灵活的GET_DATA*方法,这种方法可以用来访问该数据表变量的引用(动态而且易用),所以即使不知道ALV数据表的结构也没关系。
参数:
- R_DATA - 输出ALV数据表。
- R_DATA_LINE - 如果执行的ALV有HEADER的(可选)。
GET_DATA() - 如果知道需要调用的ALV数据表的结构,可以使用这个方法。
参数:
- T_DATA - 输出参数数据表。
- T_DATA_LINE - 如果执行的ALV有HEADER(可选)。
CLEAR_ALL() - 此方法清除在set()方法设置的标志。如果之后本程序还需要出ALV那么这个方法尤为重要。如果不清除设置,你的ALV就不会被显示出来。
阅读全文
0 0
- 程序间获取ALV显示数据(读取ALV GRID上的数据)
- 通过SUBMIT获取ALV GRID的数据
- 抓取标准报表ALV GRID上的数据
- 抓取SAP报表ALV GRID上的数据
- alv读取数据时屏幕显示自定义文本
- SAP EXCEL数据上传,ALV显示模板程序
- ALV GRID的颜色
- 一个程序的ALV显示之后还可以进行数据操作。
- alv tree 为显示的树结构数据添加图片
- ABAP alv用excel显示数据
- ALV GRID的参考文档(I)
- ALV GRID的参考文档(IV)
- ALV GRID的参考文档(V)
- ALV GRID的参考文档(VI)
- ALV GRID的参考文档(九)
- ALV Grid
- SAP ABAP在alv grid中使用subtotal小计数据
- ALV 数据更改后,刷新ALV
- java.lang.IllegalArgumentException: Request header is too large的解决
- linux htop命令
- Android Api demo系列(24) (Graphics>shadow card drag)
- 通过git命令管理java项目分支的简单使用
- 20万、50万、100万的算法工程师,到底有什么区别?
- 程序间获取ALV显示数据(读取ALV GRID上的数据)
- 运动商城
- 【Solidity】Solidity概述
- Hadoop2.7.4在Windows 7(64位)详细配置(完美版)
- MapInfo上的GIS系统开发
- oracle知道一个用户,修改管理员用户密码
- 滚动条与viewpagerFragment交互
- 包装类
- jQuery 搜索关键字,并突出显示