抓取SAP报表ALV GRID上的数据
生活随笔
收集整理的這篇文章主要介紹了
抓取SAP报表ALV GRID上的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在開發的產銷存報表的過程中,由于數據量過大,且取數邏輯太過于復雜,導致報表性能上很緩慢;
后來業務顧問要求直接在MB5B上取數,一開始有點納悶,怎么從標準報表上取數。
于是從網絡上搜索相關資料發現還真有,即將其轉摘下來,以做備用。
在項目開發過程中需要從標準報表 MB5B中獲取數據,以下是本人實例中的相關部分,程序同樣適用于獲取其他標準報表的數據。
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | CL_SALV_BS_RUNTIME_INFO=>SET( ????DISPLAY = ABAP_FALSE ????METADATA = ABAP_FALSE ??DATA = ABAP_TRUE? ). SUBMIT RM07MLBD??????????????? " Tcode MB5B WITH WERKS?IN S_WERKS????? " 填寫篩選屏幕字段 WITH DATUM?IN S_BUDAT WITH XSUM =?'' WITH PA_SUMFL =?'X' WITH XCHAR =?'' WITH LGBST =?'' WITH BWBST =?'X' 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 '無法獲取ALV數據' TYPE 'E'. ENDTRY. CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ). IF < LT_DATA > IS?ASSIGNED. LOOP AT < LT_DATA >?ASSIGNING < L_DATA >. MOVE-CORRESPONDING < L_DATA >?TO LW_MB5B. APPEND LW_MB5B?TO LT_MB5B. CLEAR LW_MB5B. ENDLOOP. ENDIF. |
另外,當首次使用的時候,無法確定內表定義字段時,可以在這斷點,然后查看< LT_DATA >的字段;
總結
以上是生活随笔為你收集整理的抓取SAP报表ALV GRID上的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解除分配UNASSIGN
- 下一篇: 接口调用报表结果