메뉴 건너뛰기

SAP 한국 커뮤니티

REPORT ZSAPTIP_002.

sapjoy 2009.02.20 12:06 조회 수 : 3206

REPORT  ZSAPTIP_002.


*&-------------------------------------------------------------*


*&    DATA & TABLES DEFINE


*&-------------------------------------------------------------*


TYPE-POOLS: CTSLG.


 


TABLES: E070.


 


DATA: BEGIN OF GT_STDOUT OCCURS 0,


         LINE(700),


      END OF GT_STDOUT.


 


DATA: BEGIN OF GT_RELEASE OCCURS 0,


        STEPID TYPE TSTRFCOFIL-FUNCTION,


        RC     TYPE TSTRFCOFIL-RETCODE,


      END OF GT_RELEASE.


 


DATA: GT_EPSFILI   LIKE EPSFILI OCCURS 0 WITH HEADER LINE.


 


DATA: GS_COFILE     TYPE CTSLG_COFILE,


      GS_SYSTEM     TYPE CTSLG_SYSTEM,


      GS_STEP       TYPE CTSLG_STEP.


 


 


DATA: GV_PATH       LIKE SAPB-SAPPFAD,


      GV_TARGETPATH LIKE SAPB-SAPPFAD,


      GV_FILENAME(30),


      GV_DIR_NAME   LIKE EPSF-EPSDIRNAM,


      GV_FILE_MASK  LIKE EPSF-EPSFILNAM,


      CMD(255).


 


PARAMETERS: P_TRKORR LIKE E070-TRKORR OBLIGATORY.


 


*&-------------------------------------------------------------*


START-OF-SELECTION.


*&-------------------------------------------------------------*


 


  SELECT SINGLE *


           FROM E070


          WHERE TRKORR = P_TRKORR.


 


  IF SY-SUBRC NE 0.


     LEAVE LIST-PROCESSING.


  ENDIF.


 


  PERFORM CHECK_RELEASE.


 


  PERFORM FILE_DOWN.


 


*&-------------------------------------------------------------*


*&      Form  CHECK_RELEASE


*&-------------------------------------------------------------*


form CHECK_RELEASE .


 


  CALL FUNCTION 'TR_READ_GLOBAL_INFO_OF_REQUEST'


       EXPORTING


            IV_TRKORR = P_TRKORR


       IMPORTING


            ES_COFILE = GS_COFILE.


 


  LOOP AT GS_COFILE-SYSTEMS INTO GS_SYSTEM.


    LOOP AT GS_SYSTEM-STEPS INTO GS_STEP.


      GT_RELEASE-STEPID = GS_STEP-STEPID.


      GT_RELEASE-RC     = GS_STEP-RC.


      COLLECT GT_RELEASE.


    ENDLOOP.


  ENDLOOP.


 


  LOOP AT GT_RELEASE WHERE STEPID = 'E'.


    EXIT.


  ENDLOOP.


  IF SY-SUBRC NE 0.


     WRITE:/ '요청', P_TRKORR, '이 릴리즈되지 않았습니다.'.


     STOP.


  ENDIF.


 


endform.                    " CHECK_RELEASE


*&-------------------------------------------------------------*


*&      Form  FILE_DOWN


*&-------------------------------------------------------------*


form FILE_DOWN .


 


  CMD = 'pwd'.


 


  CALL 'SYSTEM' ID 'COMMAND' FIELD CMD


        ID 'TAB'     FIELD GT_STDOUT-*SYS*.


 


  READ TABLE GT_STDOUT INDEX 1.


  CHECK SY-SUBRC EQ 0.


  GV_DIR_NAME = GT_STDOUT.


 


  CONCATENATE 'tar cvf - `find /usr/sap/trans -name ''*'


               P_TRKORR+4(6)


               '*'' -print`'


               INTO CMD.


  CONCATENATE 'bona' P_TRKORR '.tar' INTO GV_FILENAME.


 


  CONCATENATE CMD '>' GV_FILENAME


              INTO CMD SEPARATED BY SPACE.


 


  CALL 'SYSTEM' ID 'COMMAND' FIELD CMD


        ID 'TAB'     FIELD GT_STDOUT-*SYS*.


 


 


  GV_FILE_MASK = GV_FILENAME.


  CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'


       EXPORTING


            DIR_NAME               = GV_DIR_NAME


            FILE_MASK              = GV_FILE_MASK


       TABLES


            DIR_LIST               = GT_EPSFILI


       EXCEPTIONS


            INVALID_EPS_SUBDIR     = 1


            SAPGPARAM_FAILED       = 2


            BUILD_DIRECTORY_FAILED = 3


            NO_AUTHORIZATION       = 4


            READ_DIRECTORY_FAILED  = 5


            TOO_MANY_READ_ERRORS   = 6


            EMPTY_DIRECTORY_LIST   = 7


            OTHERS                 = 8.


 


  SORT GT_EPSFILI BY SIZE DESCENDING.


  READ TABLE GT_EPSFILI INDEX 1.


 


  CHECK GT_EPSFILI-SIZE > 0.


 


  CONCATENATE GV_DIR_NAME '/' GV_FILENAME INTO GV_PATH.


  CONCATENATE 'C:' GV_FILENAME INTO GV_TARGETPATH.


 


  CALL FUNCTION 'ARCHIVFILE_SERVER_TO_CLIENT'


       EXPORTING


            PATH       = GV_PATH


            TARGETPATH = GV_TARGETPATH


       EXCEPTIONS


            ERROR_FILE = 1


            OTHERS     = 2.


 


  IF SY-SUBRC = 0.


    WRITE:/ '파일 다운로드 완료:', GV_TARGETPATH.


  ELSE.


    WRITE:/ '파일 다운로드 실패’.


    STOP.


  ENDIF.


 


endform.                    " FILE_DOWN

번호 제목 글쓴이 날짜 조회 수
649 <b>ABAP SOURCE는 교재에 사용된 소스들입니다.</b> [1] sapjoy 2006.12.02 3618
648 REPORT z19_01. sapjoy 2012.08.01 3526
647 z_exception_test sapjoy 2010.10.10 3520
646 report zsalv_036 . sapjoy 2010.08.20 3472
645 REPORT ZSMARTFORMS_03. sapjoy 2008.11.28 3345
644 REPORT z18_04 . sapjoy 2012.08.01 3344
643 REPORT z18_05 sapjoy 2012.08.01 3328
642 Sub DOI_EXCEL_MACRO() sapjoy 2008.12.26 3312
641 REPORT z18_003 sapjoy 2007.03.05 3281
640 subroutine pool sapjoy 2013.11.15 3273
639 REPORT z19_004 sapjoy 2007.03.27 3230
638 REPORT Z_WHEREUSEDLIST [4] sapjoy 2011.03.28 3215
637 REPORT ZALVCOLOR sapjoy 2010.10.09 3212
» REPORT ZSAPTIP_002. sapjoy 2009.02.20 3206
635 zsalv_edit [1] sapjoy 2010.08.20 3205
634 REPORT Z06_001 MESSAGE-ID ZTEST . [1] sapjoy 2006.12.05 3205
633 REPORT z18_06. sapjoy 2012.08.01 3147
632 REPORT zsapdoi_001. [2] sapjoy 2008.12.20 3135
631 report zsalv_042 . sapjoy 2010.08.20 3132
630 REPORT z18_01. sapjoy 2012.08.01 3108