前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP 通过SUBMIT获取ALV的数据

ABAP 通过SUBMIT获取ALV的数据

作者头像
matinal
发布2023-10-12 17:03:55
4720
发布2023-10-12 17:03:55
举报
文章被收录于专栏:SAP TechnicalSAP Technical

程序间获取ALV数据的两种方法:

方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点;

方法2: SUBMIT前屏蔽ALV GRID的显示,SUBMIT,然后调用 CL_SALV_BS_RUNTIME_INFO => GET_DATA_REF方法 获取数据, 该方法 不需要修改目标程序,但不能 设置目标程序的中断点,需显示ALV的函数执行完毕方可获取到数据。

示例:

代码语言:javascript
复制
START-OF-SELECTION .
   PERFORM GET_DATA .

*&———————————————————————*
*&      Form  GET_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM GET_DATA .
   DATA :LS_DATA  TYPE  REF  TO  DATA .
   FIELD-SYMBOLS : <LT_DATA>  TYPE  TABLE ,
                 <L_DATA>   TYPE  DATA .

  CL_SALV_BS_RUNTIME_INFO => SET (
    DISPLAY   =  ''
    METADATA  =  ''
     DATA      =  'X'   ) .

   SUBMIT ZMMR009  WITH ZBUDAT  IN ZBUDAT  AND  RETURN .

   TRY .
      CL_SALV_BS_RUNTIME_INFO =>GET_DATA_REF (
         IMPORTING R_DATA  = LS_DATA  ) .
       ASSIGN LS_DATA ->*  TO <LT_DATA> .


     CATCH CX_SALV_BS_SC_RUNTIME_INFO .
       MESSAGE  'UNABLE TO RETRIEVE ALV DATA'  TYPE  'E' .


   ENDTRY .

  CL_SALV_BS_RUNTIME_INFO =>CLEAR_ALL (  ) .

   LOOP  AT <LT_DATA>  ASSIGNING <L_DATA> .
     MOVE-CORRESPONDING <L_DATA>  TO GT_TAB .
     APPEND GT_TAB .
   ENDLOOP .
ENDFORM .
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档