SAP/ABAP
유닉스 관련 명령어
DrkLion
2007. 9. 13. 16:02
1. ABAP 에서 유닉스 명령어 실행하기
DATA: BEGIN OF work1 OCCURS 100 ,
line(100).
DATA: END OF work1.
DATA: u_command(100).
CALL 'SYSTEM' ID 'COMMAND' FIELD u_command
ID 'TAB' FIELD work1-*sys* .
Loop at work1.
WRITE work1-line.
EndLoop.
Call 'system' 을 수행하면 command를 수행하고, 그 결과를 tab에 저장한다.
Internal table에 저장된 데이터를 다양하게 활욜 가능하다.
2. 유닉스에 파일 생성하기
OPEN DATASET lv_filename FOR OUTPUT IN TEXT MODE.
LOOP AT i_tab.
TRANSFER i_tab TO lv_filename.
ENDLOOP.
CLOSE DATASET lv_filename.
Open dataset 으로 파일을 생성하고, Transfer 로 파일 내용을 전송하고
Close Dataset 으로 파일을 닫아주게 된다.
이때, Lv_filename 은 유닉스서버의 디렉토리명을 포함한 경로, 파일명을 넣어야 한다.
3. 유닉스 파일을 internal table로 담기
OPEN DATASET unixfile FOR INPUT IN TEXT MODE.
DO.
CLEAR in_rec.
READ DATASET unixfile INTO in_rec.
APPEND in_rec.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDDO.
File을 오픈한 뒤에 READ DATASET 명령을 사용해 한 라인씩
in_rec 라는 Internal Table에 저장 할수 있다.
4. 파일변경 권한 체크하기
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORT
* PROGRAM =
ACTIVITY = 'WRITE'
FILENAME = PATH .
DATA: BEGIN OF work1 OCCURS 100 ,
line(100).
DATA: END OF work1.
DATA: u_command(100).
CALL 'SYSTEM' ID 'COMMAND' FIELD u_command
ID 'TAB' FIELD work1-*sys* .
Loop at work1.
WRITE work1-line.
EndLoop.
Call 'system' 을 수행하면 command를 수행하고, 그 결과를 tab에 저장한다.
Internal table에 저장된 데이터를 다양하게 활욜 가능하다.
2. 유닉스에 파일 생성하기
OPEN DATASET lv_filename FOR OUTPUT IN TEXT MODE.
LOOP AT i_tab.
TRANSFER i_tab TO lv_filename.
ENDLOOP.
CLOSE DATASET lv_filename.
Open dataset 으로 파일을 생성하고, Transfer 로 파일 내용을 전송하고
Close Dataset 으로 파일을 닫아주게 된다.
이때, Lv_filename 은 유닉스서버의 디렉토리명을 포함한 경로, 파일명을 넣어야 한다.
3. 유닉스 파일을 internal table로 담기
OPEN DATASET unixfile FOR INPUT IN TEXT MODE.
DO.
CLEAR in_rec.
READ DATASET unixfile INTO in_rec.
APPEND in_rec.
IF sy-subrc NE 0.
EXIT.
ENDIF.
ENDDO.
File을 오픈한 뒤에 READ DATASET 명령을 사용해 한 라인씩
in_rec 라는 Internal Table에 저장 할수 있다.
4. 파일변경 권한 체크하기
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORT
* PROGRAM =
ACTIVITY = 'WRITE'
FILENAME = PATH .