Tuesday, June 10, 2014

Move File from One Directory to Another in ABAP

*&---------------------------------------------------------------------*
*& REPORT  YFILEMOVE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YFILEMOVE.

SELECTION-SCREEN:BEGIN OF BLOCK F1 WITH FRAME TITLE TEXT-001.
PARAMETERSFILEPATH LIKE IBIPPARMS-PATH OBLIGATORY.
SELECTION-SCREEN:END OF BLOCK F1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILEPATH.

  CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
   EXPORTING
    DIRECTORY              'YOUR DIRECTORY PATH HERE'
*    FILEMASK               = ' '
   IMPORTING
     SERVERFILE             =  FILEPATH
*   EXCEPTIONS
*    CANCELED_BY_USER       = 1
*    OTHERS                 = 2
            .
  IF SY-SUBRC 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    "MESSAGE 'SUCCESS' TYPE 'I'.
  ENDIF.

 "----------------------------------------------------------------------------"

  START-OF-SELECTION.

  DATAL_MSG(100),
        P_W_CONF_MSG(100),
        P_WA_ANSWER(100).

  L_MSG 'Confirm'.  " YOUR TEXT
  P_W_CONF_MSG 'Are You Sure You Want To Move The File?'.

  CALL FUNCTION 'POPUP_TO_CONFIRM'
  EXPORTING
    TITLEBAR              =  L_MSG
    TEXT_QUESTION         P_W_CONF_MSG
    TEXT_BUTTON_1         'Yes'(002)
    TEXT_BUTTON_2         'No'(005)
    DEFAULT_BUTTON        '1'
    DISPLAY_CANCEL_BUTTON ''
  IMPORTING
    ANSWER                P_WA_ANSWER.

IF P_WA_ANSWER EQ '1'.

  DATAD1 TYPE LOCALFILE,
  P1(100),
  P2(100),
  P3(100),
  P4(100),
  P5 TYPE EPSFILNAM,
  DEL(1VALUE '/'.

  D1 FILEPATH.
* WRITE D1.

"Building up the filename in P5.
  SPLIT D1 AT DEL INTO P1 P2 P3 P4 P5.

*  WRITE / P1.
*  WRITE / P2.
*  WRITE / P3.
*  WRITE / P4.

  DATAD2(100)D3 TYPE LOCALFILE.
  D2 '/FOLDER NAME/'.
  CONCATENATE D2 P5 INTO D3.
* WRITE / D3.

  DATABEGIN OF ITAB OCCURS 0,
        REC(100TYPE C,
        END OF ITAB.
  DATAWA(100TYPE C.


    CALL METHOD CL_CTS_LANGUAGE_FILE_IO=>COPY_FILES_LOCAL
    EXPORTING
      IM_SOURCE_FILE           P5
      IM_SOURCE_DIRECTORY      'SOURCE PATH'
      IM_TARGET_FILE           P5
      IM_TARGET_DIRECTORY      'DESTINATION PATH'
*      IM_OVERWRITE_MODE        = SPACE
*    IMPORTING
*      EX_FILE_SIZE             =
    EXCEPTIONS
      OPEN_INPUT_FILE_FAILED   1
      OPEN_OUTPUT_FILE_FAILED  2
      WRITE_BLOCK_FAILED       3
      READ_BLOCK_FAILED        4
      CLOSE_OUTPUT_FILE_FAILED 5
      OTHERS                   6.

     IF SY-SUBRC 0.
      MESSAGE 'File Moved.' TYPE 'I'.
      DELETE DATASET D1.
     ELSE.
      MESSAGE 'File Not Moved' TYPE 'E'.
     ENDIF.
ENDIF.

No comments:

Post a Comment