728x90

 

> (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.

 

끝.

반응형
Posted by Gomtui
,