天天看點

擷取标準報表CJI3的ALV資料

1、CJI3

運作标準程式CJI3,擷取對象和業務貨币值,在其他程式中展示

擷取标準報表CJI3的ALV資料
擷取标準報表CJI3的ALV資料

2、代碼展示

CJI3對應程式名rkpep003,最終展示的ALV結構可以再程式中找到。

因為本執行個體隻擷取其中兩個字段的值,也可以直接在ALV點F1擷取字段名稱

TYPES:BEGIN OF ty_alv,
        objid  TYPE kaep_coac-objid,"編輯的格式中的對象
        wtgbtr TYPE kaep_coac-wtgbtr,"交易貨币中的總值
      END OF ty_alv.

DATA ls_cji3 TYPE REF TO data.

DATA:lt_alv TYPE TABLE OF ty_alv,
     ls_alv TYPE ty_alv.

FIELD-SYMBOLS:<fs_cji3> TYPE ANY TABLE.

RANGES:r_pspid FOR proj-pspid,
        r_budat FOR cobk-budat.

r_pspid-sign = 'I'.
r_pspid-option = 'EQ'.
r_pspid-low = 'YA-2201004'.
APPEND r_pspid.

r_budat-sign = 'I'.
r_budat-option = 'EQ'.
r_budat-low = '20221101'.
r_budat-high = '20221130'.
APPEND r_budat.

"運作時不顯示,隻擷取ALV資料
cl_salv_bs_runtime_info=>set( display = abap_false
                              metadata = abap_false
                              data  = abap_true ).

"調用CJI3
SUBMIT rkpep003
WITH cn_projn IN r_pspid
WITH r_budat IN r_budat
WITH koagr = '40'
AND RETURN.

TRY .
    cl_salv_bs_runtime_info=>get_data_ref("擷取資料
      IMPORTING r_data = ls_cji3 ).

    ASSIGN ls_cji3->* TO <fs_cji3>.

    MOVE-CORRESPONDING <fs_cji3> TO lt_alv.

  CATCH  cx_salv_bs_sc_runtime_info.
    MESSAGE '無法擷取ALV資料' TYPE  'E'.
ENDTRY.

cl_salv_bs_runtime_info=>clear_all( ).      

繼續閱讀