ABAP program to load a database table from a UNIX file

Requirement:

Write a program to load a database table from a UNIX file.

ABAP Source Code:

report zmjud001 no standard page heading.
tables: z_mver.
parameters: test(60) lower case default ‘/dir/judit.txt’.
data: begin of unix_intab occurs 100,
field(53),

 

end of unix_intab.
data: msg(60).
***open the unix file
open dataset test for input in text mode message msg.
if sy-subrc <> 0.
write: / msg.
exit.

endif.
***load the unix file into an internal table
do.

 

read dataset test into unix_intab.
if sy-subrc ne 0.

exit.
else.

append unix_intab.
endif.
enddo.
close dataset test.
***to process the data. load the database table
loop at unix_intab.

z_mver-mandt = sy-mandt.
z_mver-matnr = unix_intab-field(10).
translate z_mver-matnr to upper case.
z_mver-werks = unix_intab-field+10(4).
translate z_mver-werks to upper case.
z_mver-gjahr = sy-datum(4).
z_mver-perkz = ‘M’.
z_mver-mgv01 = unix_intab-field+14(13).
z_mver-mgv02 = unix_intab-field+27(13).
z_mver-mgv03 = unix_intab-field+40(13).
* to check the data on the screen (this is just for checking purpose)

write: / z_mver-mandt, z_mver-matnr, z_mver-werks, z_mver-gjahr,
z_mver-perkz, z_mver-mgv01,
z_mver-mgv02, z_mver-mgv03.
insert z_mver client specified.
*if the data already had been in table z_mver then sy-subrc will not be
*equal with zero. (this can be *interesting for you – (this list is
*not necessary but it maybe useful for you)

if sy-subrc ne 0.

write:/ z_mver-matnr, z_mver-werks.
endif.
endloop.
NOTES:

1. This solution is recommended only if the database table is NOT a standard SAP database table .
2. In the above mentioned unix file record’s size is 53 bytes.
Every record in the unix file as the same size:

10 bytes for material
04 bytes for plant
13 bytes for corrected consumption for January
13 bytes for corrected consumption for February
13 bytes for corrected consumption for March
3. Table Z_MVER

This table was created to store the consumption values for first quarter of the year.

Fields
Data Element
mandt
mandt
matnr
matnr
werks
werks
gjahr
gjahr
perkz
perkz
mgv01
mgvbr
mgv02
mgvbr
mgv03
mgvbr

Contributed by : Judit Rakovits

More References