> (ABAP) Memory를 사용하지 않고 Submit으로 ALV Data 가져오기 <
Submit으로 다른 프로그램의 ALV Data를 가져오려면 항상 Memory를 사용했었음
아래의 방법을 사용하면 Memory 사용하지 않고 처리가능
Memory를 사용하지 않기 때문에 두 프로그램간의 Table 구조를 맞출 필요도 없음 👍
DATA: LT_FLEXA TYPE TABLE OF FAGLFLEXA WITH HEADER LINE,
LR_DATA TYPE REF TO DATA.
FIELD-SYMBOLS : <FS_TABLE> TYPE ANY TABLE,
<FS_LINE> TYPE ANY.
CL_SALV_BS_RUNTIME_INFO=>SET( EXPORTING DISPLAY = ABAP_FALSE
METADATA = ABAP_FALSE
DATA = ABAP_TRUE ).
SUBMIT FAGL_ACCOUNT_ITEMS_GL WITH SD_SAKNR-LOW = GT_LIST-HKONT
WITH SD_BUKRS-LOW = P_BUKRS
WITH X_OPSEL = ' '
WITH X_CLSEL = ' '
WITH X_AISEL = 'X'
WITH SO_BUDAT IN S_BUDAT
AND RETURN.
TRY.
CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF( IMPORTING R_DATA = LR_DATA ).
ASSIGN LR_DATA->* TO <FS_TABLE>.
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 <FS_TABLE> ASSIGNING <FS_LINE>.
MOVE-CORRESPONDING <FS_LINE> TO LT_FLEXA.
APPEND LT_FLEXA.
CLEAR LT_FLEXA.
ENDLOOP.
끝.