SAP/ABAP

ALV 엑셀 Export 시 데이터 분리 현상 해결방법

그녀는애교쟁이 2014. 7. 3. 14:07
반응형

Class ALV 를 개발하고 나서 ALV 의 내용을 export 시키는 기본 기능을 많이 사용한다. 현업에서도 많이 사용하고 개발자들도 데이터를 내릴 때 많이 사용하는데 가끔 개발후 EXPORT > 로컬 파일 > 스프레드 시트 로 다운로드 받을 때 아래와 같은 현상이 발생한다. 







그리드는 하나로 보이는데 데이터를 내리면 2개 이상으로 분리되어 보이는 경우가 있다. 이럴 때는 ALV 의 SORT 하는 부분의 속성을 확인하면 된다. 



*&---------------------------------------------------------------------*
*&      Form  GRID_SET_SORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_LT_SORT  text
*----------------------------------------------------------------------*
FORM grid_set_sort  TABLES pt_lvc_sort STRUCTURE lvc_s_sort.

  PERFORM field_sorting TABLES pt_lvc_sort USING :

          ' ' 'FIELDNAME' 'FLIGHT',
          ' ' 'SPOS'      '1',
          ' ' 'GROUP'     '*',
*         ' ' 'SUBTOT'    'X',
          'A' 'UP'        'X',

          ' ' 'FIELDNAME' 'PATH',
          ' ' 'SPOS'      '2',
          ' ' 'GROUP'     ' ',
*         ' ' 'SUBTOT'    'X',
          'A' 'UP'        'X'.

ENDFORM.                    " SET_SORT

* 프로그램 소스는 상황에 따라 다를 수 있다.


위의 소스 중에서 GROUP 이라고 표시된 부분의 * 를 삭제해 주면 하나의 테이블로 데이터 내려 받기가 가능하다. 간단하지만 프로그램을 개발 할 때 복사를 해서 사용한다면 잘 모르고 지나칠 경우가 있다. 


*&---------------------------------------------------------------------*
*&      Form  GRID_SET_SORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_LT_SORT  text
*----------------------------------------------------------------------*
FORM grid_set_sort  TABLES pt_lvc_sort STRUCTURE lvc_s_sort.

  PERFORM field_sorting TABLES pt_lvc_sort USING :

          ' ' 'FIELDNAME' 'FLIGHT',
          ' ' 'SPOS'      '1',
          ' ' 'GROUP'     ' ',   " 이부분의 * 표시를 삭제해준다.
*         ' ' 'SUBTOT'    'X',
          'A' 'UP'        'X',

          ' ' 'FIELDNAME' 'PATH',
          ' ' 'SPOS'      '2',
          ' ' 'GROUP'     ' ',
*         ' ' 'SUBTOT'    'X',
          'A' 'UP'        'X'.

ENDFORM.                    " SET_SORT


- 끗 -