[SAP/ABAP] SAP-Directory 내 파일 생성/삭제(OPEN DATASET/CLOSE DATASET/DELETE DATASET)

2023. 6. 29. 15:20SAP - ABAP

T-CODE : AL11에서 조회되는  SAP-Directies 에 파일을 만들고 지우는 방법 

 
예를 들어 텍스트파일을 TEST디렉토리인 /usr/sap/test 라는 경로에
test_file.txt라는 이름으로 파일을 만들고 삭제 한다고 가정한다면
 

[파일 생성]

DATA : FILENAM(100), "파일DROP경로 설정 변수선언
            LV_TEXT TYPE TEXT255.
 
DATA : LS_EXCEL LIKE GT_FILE,"TXT,XLS파일 양식
            LT_DATA  TYPE TABLE OF ZS001 WITH HEADER LINE.
            > ZS001 Structure는  line 필드만 가지고 있는 구조체임

CONSTANTS: LC_TAB TYPE CHAR1 VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
FIELD-SYMBOLS: <LS_VALUE>.
 
"엑셀데이터 가공 - START
LOOP AT GT_DATA. 
   MOVE-CORRESPONDING GT_DATA TO LS_EXCEL.
  
   DO.
      ASSIGN COMPONENT SY-INDEX OF STRUCTURE LS_EXCEL TO <LS_VALUE>.
 
     IF SY-SUBRC IS NOT INITIAL.
         EXIT. 
     ENDIF.
     LV_TEXT = <LV_VALUE>.
     CONDENSE LV_TEXT.
      
     CONCATENATE LT_DATA-LINE  LV_TEXT LC_TAB INTO LT_DATA-LINE.
   ENDDO.
 
   APPEND LT_DATA. CLEAR LT_DATA
ENDLOOP.
"엑셀데이터 가공 - END
 
FILENAME = /usr/sap/test/test_file.txt "파일경로 (엑셀파일로만들고 싶으면 .XLS로만들면된다)
 
OPEN DATASET FILENAM FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
 
LOOP AT LT_DATA.
  TRANSFER LT_DATA TO FILENAM.
ENDLOOP.
 
CLOSE DATASET FILENAM.

[파일 삭제]

FILENAME = /usr/sap/test/test_file.txt
DELETE DATASET FILENAM.