注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

XINBO'S SAP BLOG

你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经

 
 
 

日志

 
 

通过SUBMIT获取ALV GRID的数据  

2012-12-28 09:19:30|  分类: ALV |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
程序间获取ALV数据的两种方法:
方法1:通过修改SUBMIT的目标程序,把内表EXPORT到内存,SUBMIT后IMPORT ,该方法需要修改目标程序,可以任意设置目标程序的中断点;
方法2:SUBMIT前屏蔽ALV GRID的显示,SUBMIT,然后调用CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF方法获取数据,该方法不需要修改目标程序,但不能设置目标程序的中断点,需显示ALV的函数执行完毕方可获取到数据。

示例:
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.


示例参考:http://scn.sap.com/message/10823425
  评论这张
 
阅读(848)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017