You are on page 1of 2

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

*& Report ZBDC


*
*&
*
*&---------------------------------------------------------------------*
*&
*
*&
*
*&---------------------------------------------------------------------*
REPORT ZBDC
.
DATA: BEGIN OF ITAB OCCURS 1,
LINE(255) TYPE C,
END OF ITAB.
DATA: BEGIN OF ITAB2 OCCURS 1,
ROLLNO(4),
FNAME(15),
LNAME(15),
AGE(3),
CLASS(3),
ADDR(20),
END OF ITAB2.
START-OF-SELECTION.
PERFORM READ_DATA.
PERFORM SPLIT_REC.
*&---------------------------------------------------------------------*
*&
Form READ_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM READ_DATA .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME
= 'C:\STUD.TXT'
FILETYPE
= 'ASC'
TABLES
DATA_TAB
= ITAB
EXCEPTIONS
FILE_OPEN_ERROR
= 1
FILE_READ_ERROR
= 2
NO_BATCH
= 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE
= 5
NO_AUTHORITY
= 6
UNKNOWN_ERROR
= 7
BAD_DATA_FORMAT
= 8
HEADER_NOT_ALLOWED
= 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG
= 11
UNKNOWN_DP_ERROR
= 12
ACCESS_DENIED
= 13
DP_OUT_OF_MEMORY
= 14
DISK_FULL
= 15
DP_TIMEOUT
= 16
OTHERS
= 17.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.


ENDIF.
ENDFORM.
" READ_DATA
*&---------------------------------------------------------------------*
*&
Form SPLIT_REC
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM SPLIT_REC .
LOOP AT ITAB.
ITAB2-ROLLNO = ITAB-LINE(4).
ITAB2-FNAME = ITAB-LINE+4(15).
ITAB2-LNAME = ITAB-LINE+19(15).
ITAB2-AGE
= ITAB-LINE+34(3).
ITAB2-CLASS = ITAB-LINE+37(3).
ITAB2-ADDR = ITAB-LINE+40.
APPEND ITAB2.
ENDLOOP.
LOOP AT ITAB2.
WRITE:/ ITAB2-ROLLNO,
ITAB2-FNAME,
ITAB2-LNAME,
ITAB2-AGE,
ITAB2-CLASS,
ITAB2-ADDR.
ENDLOOP.
ENDFORM.

" SPLIT_REC

You might also like