|
A program to load a database table from a UNIX file |
|
|
|
|
Written by Judit Rakovits
|
|
Wednesday, 02 January 2008 |
|
Requirement: Write a program to load a database table from a UNIX file.
Solution: - 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
Related Items:
|