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.
TYPES: BEGIN OF ty_vbap,
vbeln(10) TYPE c,
posnr(5) TYPE c,
matnr(40) TYPE 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
Post a Comment