通过SUBMIT获取ALV GRID的数据
生活随笔
收集整理的這篇文章主要介紹了
通过SUBMIT获取ALV GRID的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序間獲取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.
示例: 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.
總結
以上是生活随笔為你收集整理的通过SUBMIT获取ALV GRID的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地文件上传、下载服务器文件事物码
- 下一篇: 生产订单状态