File Handling - Archiving

 Archiving: Moving the data from one folder to another folder and deleting it from the old folder.

*&---------------------------------------------------------------------*
*& Report ZVB_FH_ARCH
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zvb_fh_arch.

TABLES:vbap.

TYPESBEGIN OF ty_vbap,
         vbeln(10TYPE c,
         posnr(5)  TYPE c,
         matnr(40TYPE c,
       END OF ty_vbap.

DATA:it_vbap TYPE TABLE OF ty_vbap,
     iw_vbap TYPE ty_vbap.

DATA:lv_file   TYPE string VALUE '/tmp/SO Item.txt',
     lv_afile  TYPE string  VALUE '/usr/sap/T46/SYS/src/Order.txt',
     lv_string TYPE string.

START-OF-SELECTION.

  OPEN DATASET lv_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
  IF sy-subrc 0.
    DO.
      READ DATASET lv_file INTO lv_string.
      IF sy-subrc 0.
        SPLIT lv_string AT '#' INTO iw_vbap-vbeln iw_vbap-posnr iw_vbap-matnr.
        APPEND iw_vbap TO it_vbap.
        CLEAR:iw_vbap.
      ELSE.
        EXIT.
      ENDIF.
    ENDDO.
    CLOSE DATASET lv_file.
  ENDIF.

  IF it_vbap IS NOT INITIAL.
    OPEN DATASET lv_afile FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc 0.
      LOOP AT it_vbap INTO iw_vbap.
        CONCATENATE iw_vbap-vbeln iw_vbap-posnr iw_vbap-matnr INTO lv_string SEPARATED BY '#'.
        TRANSFER lv_string TO lv_afile.
      ENDLOOP.
      CLOSE DATASET lv_afile.
      DELETE DATASET lv_file.
    ENDIF.
    WRITE:'Data moved to new folder'.
    LOOP AT it_vbap INTO iw_vbap.
      WRITE/ iw_vbap-vbeln,iw_vbap-posnr,iw_vbap-matnr.
    ENDLOOP.
  ELSE.
    MESSAGE 'No data in the file' TYPE 'E'.
  ENDIF.
 

Result:


Comments

Popular posts from this blog

CDS Views: Table Functions with Example

Passing Dynamic Variables to SO10 TEXT

Adobe Form/PDF Form Introduction