abap开发中,有时会需要获取另外一个已存在的报表中的数据,也就是绑定在ALV上的数据,通常有两种做法:

第一种方法:把ALV的内表数据export到内存中,在调用结束后,用import从内存中读取出来,这种方法需要修改被调用报表;

第二种方法:使用SAP提供的函数,这种方法不需要修改被调用报表的,以下是此种方法的sample;

*&---------------------------------------------------------------------*
*& Report ZTEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zliuxy_test.
TYPES:BEGIN OF ty_itab,
        werks LIKE mast-werks,
        matnr LIKE mast-matnr,  "bom层
        stlnr LIKE mast-stlnr,  "物料单
        stlal LIKE stko-stlal,  "可选bom(替代)
        idnrk LIKE stpo-idnrk,  "bom物料
        menge LIKE stpo-menge,  "数量
        alpst LIKE stpo-alpst, "策略
        ewahr LIKE stpo-ewahr,  " 使用可能性
      END OF ty_itab.
DATA:itab    TYPE TABLE OF ty_itab WITH HEADER LINE,
     ls_itab TYPE ty_itab.

RANGES:s_matnr  FOR mast-matnr,
       s_datuv FOR stas-datuv.
FIELD-SYMBOLS:<lt_data> TYPE ANY TABLE.
DATA:lr_data  TYPE REF TO data.
"初始设置
CALL METHOD cl_salv_bs_runtime_info=>set
  EXPORTING
    display  = abap_false
    metadata = abap_false
    data     = abap_true.
s_matnr-sign = 'I'.
s_matnr-option = 'EQ'.
s_matnr-low = ''.
APPEND s_matnr.
s_datuv-sign = 'I'.
s_datuv-option = 'EQ'.
s_datuv-low = ''.
APPEND s_datuv.
* 调用目标程序
SUBMIT z_mm_bomq
  WITH s_matnr IN s_matnr
  WITH s_datuv IN s_datuv
  AND RETURN.
TRY.
    "获取ALV显示数据
    CALL METHOD cl_salv_bs_runtime_info=>get_data_ref
      IMPORTING
        r_data = lr_data.
    ASSIGN lr_data->* TO <lt_data>.
    REFRESH itab.
    CLEAR itab.
    MOVE-CORRESPONDING <lt_data>[] TO itab[].
  CATCH cx_salv_bs_sc_runtime_info.
ENDTRY.
"结束
cl_salv_bs_runtime_info=>clear_all( ).

ABAP中,获取报表ALV数据sample相关推荐

  1. 解决从json文件中获取不到数据的问题

    解决从json文件中获取不到数据的问题 参考文章: (1)解决从json文件中获取不到数据的问题 (2)https://www.cnblogs.com/yhyanjin/p/7214776.html ...

  2. Qt 中获取摄像头图像数据的方法

    Qt 中获取摄像头图像数据的方法 在 Qt 中提供了 QCamera 类用来操作摄像头.(这里的摄像头指的是电脑上常用的那种 USB 摄像头或网络摄像头,暂时还不支持工业相机.)摄像头获取的实时图像可 ...

  3. Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/123536470 红胖子(红模仿)的博文大全:开发技术集 ...

  4. java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...

    事实证明,检索存储内存缓存的低级数据存储实体非常缓慢.由于objectify将实体缓存为低级数据存储区实体类型,因此当使用objectify从memcache中获取许多实体时,这会导致性能不佳. 真正 ...

  5. java 数据库中获取省市级json数据

    需求: 根据数据库表,获取省市县的级连json数据,供前台下拉列表.效果图 表结构: 1 CREATE TABLE `bxqk_pe_area` ( 2 `id` int(11) NOT NULL A ...

  6. python产品缺陷_基于python从redmine-api中获取项目缺陷数据(1)

    1.引言 本文主要内容是将如何利用 Python 对 Redmine缺陷进行缺陷数据获取操作.目前统计缺陷数据时基本是根据项目手动去redmine获取缺陷数据,至少要花费一个工作日去完成,目前的目标是 ...

  7. springboot项目拦截器中获取接口返回数据_Spring Boot自定义Annotation实现接口自动幂...

    在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同.按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重 ...

  8. java代码中获取配置文件信息数据

    获取properties文件信息 -- 从properties文件中获取信息 1 创建文件对象 private static Properties config = new Properties(); ...

  9. springmvc从request中获取body的数据的方法

    从request中获取只需要3步骤即可,其中会用到dubbo的IOUtils,需要引入maven <dependency><groupId>com.alibaba</gr ...

最新文章

  1. 【廖雪峰python入门笔记】if语句
  2. XCOM串口助手打印不出数据
  3. 异步编程(asyncawait)
  4. DNS解析与Bind的使用(2)
  5. java面向对象(二)之继承
  6. uml -- unified modeling language 同一建模语言
  7. 【数据结构与算法】获取链表中值算法
  8. #define c# 报错_#define 预处理指令(C++,C#,VB.NET)
  9. python pip升级报错
  10. python教程-Python入门教程完整版(懂中文就能学会)
  11. 大数据:知识,真正的价值体现
  12. oracle 账号 jdk下载登录
  13. Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA) version ‘202.7660.26.42.74
  14. 如何实现镜像网站内容的同步
  15. Centos 默认网关GATEWAY不生效
  16. Linux-lsxxx
  17. 8个免费的PNG素材网站推荐
  18. 计算机工程与科学是sci,系统科学与系统工程有哪些sci期刊
  19. 计算机管理 看内存个数,如何知道/查看内存槽数
  20. Bandwidth Part

热门文章

  1. 在微软Azure的服务器上创建Windows虚拟机的教程
  2. aix 磁带机增量备份
  3. 程序员学习算法,有这样几本基础书
  4. HMI-59-【多媒体】收音机 2
  5. saltstack 的安装
  6. 获取 Windows 任务管理器中应用程序和进程 任务
  7. 第一批90后已经爬上胡润富豪榜了,第一批90后已经秃了......
  8. 2020年B证(安全员)考试及B证(安全员)多少钱
  9. Python竞猜商品价格
  10. Pandas中DataFrame的属性、方法、常用操作以及使用示例