Showing posts with label Move File from One Directory to Another in ABAP. Show all posts
Showing posts with label Move File from One Directory to Another in ABAP. Show all posts

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.