want to avoid into corresponding
Hi Friends ,
I have defined an internal table without like . but when i write a select statement using into corresponding and inner join , i am geeting a dump.
but same work fine with select , endselect statement .
can anybody guide over this issue .
thanks in advance .
Regards
Samir
Any chance of posting your code?
Samir,
CORRESPONDING does not require LIKE specification when you define your ITAB. However, it requires certain things (data element match, field name match, etc.) to be able to determine which fields really correspond.
Examining closely "Error analysis", "How to correct the error", and "Source code extract" sections in your short dump will help you find out what caused the dump.
If you could post those sections here, someone will try to make a suggestion.
_________________
Sudhi Karkada
Hi Friends ,
I have defined an internal table without like . but when i write a select statement using into corresponding and inner join , i am geeting a dump.
but same work fine with select , endselect statement .
can anybody guide over this issue .
thanks in advance .
Regards
Samir
I always define my itab with LIKE just so to avoid data conversion/mismatch field length, data type problem.
You don't need INTO CORRESPONDING if your select statement is in the same order as your itab and the names of your itab fields are the same as the db field names.
Dear Samir:
What exactly does your dump say? I bet it has a length or type mismatch on the receiving structure.
Regards,
Wolfgang
************************************************************************
* TABLES
************************************************************************
TABLES: MARA , "General Material Data
MAKT , "Material Descriptions
MBEW , "Material Valuation
MARC , "Plant Data for Material
MARM , "Units of Measure for Material
MVKE , "Sales Data for Material
T179 , "Materials: Product Hierarchies
T179T, "Materials: Product hierarchies: Texts
T006, "Units of Measurement
t002. "Language keys
************************************************************************
* GLOBAL DATA
************************************************************************
DATA: W_TOTAL1(9) TYPE N. "records extracted- File 1
DATA: W_TOTAL2(9) TYPE N. "records extracted- File2
DATA: W_TOTAL3(9) TYPE N. "records extracted- File 3
DATA: W_TOTAL4(9) TYPE N. "records extracted- File 4
DATA: W_TOTAL5(9) TYPE N. "records extracted- File 5
DATA: W_TOTAL6(9) TYPE N. "records extracted- File 6
DATA: W_TOTAL7(9) TYPE N. "records extracted- File 7
DATA : w_MSEHI like t006-MSEHI,
w_isocode like t006-isocode,
w_MEABM like t006-MSEHI,
w_isocode1 like t006-isocode,
w_VOLEH like t006-MSEHI,
w_isocode2 like t006-isocode,
w_GEWEI like t006-MSEHI,
w_isocode3 like t006-isocode.
DATA: ERDATI( TYPE C. "Date
DATA: HEADER(40) TYPE C. "Common Header
************************************************************************
* INTERNAL TABLES
************************************************************************
* Data structure for file 1
DATA: BEGIN OF IT_MARA OCCURS 0,
MATNR(1 TYPE C,
MAKTX(40) TYPE C,
PRDHA(1 TYPE C,
AENAM(12) TYPE C,
BRGEW(1 TYPE C,
XBEWM(1) TYPE C,
EAN11(1 TYPE C,
ERSDA( TYPE C,
GEWEI(3) TYPE C,
LAEDA( TYPE C,
MEINS(3) TYPE C,
MHDHB(4) TYPE C,
MSTAE(2) TYPE C,
MSTDE( type c,
MTART(4) TYPE C,
NTGEW(1 TYPE C,
SPART(2) TYPE C,
TAKLV(1) TYPE C,
ZZTXT4(10) TYPE C,
ZZTXT2(10) TYPE C,
ZZCBOX1(1) type c,
ZZMULTI1(36) TYPE C,
ZZMULTI2(36) TYPE C,
TEMPB(2) TYPE C,
XGCHP(1) TYPE C,
NUMTP(2) TYPE C,
MTPOS_MARA(4) TYPE C,
MHDRZ(6) TYPE C,
BISMT(1 TYPE C,
IPRKZ(1) TYPE C,
KOSCH(1 TYPE C,
MSTAV(2) TYPE C,
EXTRACT_DATE( TYPE C,
ZZTXT1(10) TYPE C,
ZZTXT3(10) TYPE C,
ZZTXT5(10) TYPE C,
ZZTXT6(10) TYPE C,
ZZNUMC1(10) TYPE c,
ZZNUMC2(10) TYPE c,
ZZNUMC3(10) TYPE c,
ZZNUMC4(10) TYPE c,
ZZQTY1(1 TYPE c,
ZZQTY2(1 TYPE c,
ZZUNIT1(3) TYPE C,
ZZUNIT2(3) TYPE C,
ZZCBOX2(1) TYPE C,
ZZCBOX3(1) TYPE C,
ZZCBOX4(1) TYPE C,
ZZDATE1( TYPE C,
ZZDATE2( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARA.
DATA : RFLAG LIKE MARA-ZZTXT2.
* Data structure for file 2
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR(1 TYPE C,
WERKS(4) TYPE C,
BWTTY(1) TYPE C,
MMSTA(2) TYPE C,
MMSTD( TYPE C,
AUSME(3) TYPE C,
PLIFZ(3) TYPE C,
MEGRU(4) TYPE C,
WEBAZ(3) TYPE C,
ZZTXT2_W(10) TYPE C,
MTVFP(2) TYPE C,
CASNR(15) TYPE C,
INSMK(1) TYPE C,
PREND( TYPE C,
LADGR(4) TYPE C,
EXTRACT_DATE( TYPE C,
ZZTXT1_W(10) TYPE C,
ZZTXT3_W(10) TYPE C,
ZZTXT4_W(10) TYPE C,
ZZTXT5_W(10) TYPE C,
ZZTXT6_W(10) TYPE C,
ZZTXT7_W(10) TYPE C,
ZZTXT8_W(10) TYPE C,
ZZTXT9_W(10) TYPE C,
ZZTXT10_W(10) TYPE C,
ZZNUMC1_W(10) TYPE C,
ZZNUMC2_W(10) TYPE C,
ZZNUMC3_W(10) TYPE C,
ZZNUMC4_W(10) TYPE C,
ZZQTY1_W(1 TYPE C,
ZZQTY2_W(1 TYPE C,
ZZUNIT1_W(3) TYPE C,
ZZUNIT2_W(3) TYPE C,
ZZAMT1_W(1 type c,
ZZAMT2_W(1 type c,
ZZAMT3_W(1 type c,
ZZAMT4_W(1 type c,
ZZCURR1_W(1 type c,
ZZCURR2_W(1 type c,
ZZCURR3_W(1 type c,
ZZCURR4_W(1 type c,
ZZCBOX1_W(1) type c,
ZZCBOX2_W(1) type c,
ZZCBOX3_W(1) type c,
ZZCBOX4_W(1) type c,
ZZMULTI1_W(36) type c,
ZZMULTI2_W(36) type c,
ZZDATE1_W( type c,
ZZDATE2_W( type c,
ZZTIME1_W( TYPE C,
ZZTIME2_W( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARC.
* Data structure for file 3
DATA: BEGIN OF IT_MVKE OCCURS 0,
MATNR(1 TYPE C,
VKORG(4) TYPE C,
VTWEG(2) TYPE C,
PRODH(1 TYPE C,
VRKME(3) TYPE C,
MVGR1(3) TYPE C,
MVGR2(3) TYPE C,
MVGR3(3) TYPE C,
MVGR4(3) TYPE C,
MVGR5(3) TYPE C,
KTGRM(2) TYPE C,
PROVG(2) TYPE C,
DWERK(4) TYPE C,
VMSTA(2) TYPE C,
MTPOS(4) TYPE C,
VERSG(1) TYPE C,
KONDM(2) TYPE C,
PMATN(1 TYPE C,
PRATA(1) TYPE C,
PRAT1(1) TYPE C,
PRAT2(1) TYPE C,
PRAT3(1) TYPE C,
PRAT4(1) TYPE C,
PRAT5(1) TYPE C,
PRAT6(1) TYPE C,
PRAT7(1) TYPE C,
PRAT8(1) TYPE C,
PRAT9(1) TYPE C,
MEGRU(4) TYPE C,
VMSTD( TYPE C,
ZZTXT1_V(10) TYPE C,
ZZTXT2_V(10) TYPE C,
ZZTXT3_V(10) TYPE C,
ZZTXT4_V(10) TYPE C,
ZZTXT5_V(10) TYPE C,
ZZTXT6_V(10) TYPE C,
ZZTXT7_V(10) TYPE C,
ZZTXT8_V(10) TYPE C,
ZZTXT9_V(10) TYPE C,
ZZTXT10_V(10) TYPE C,
ZZNUMC1_V(10) TYPE C,
ZZNUMC2_V(10) TYPE C,
ZZNUMC3_V(10) TYPE C,
ZZNUMC4_V(10) TYPE C,
ZZQTY1_V(1 TYPE C,
ZZQTY2_V(1 TYPE C,
ZZUNIT1_V(3) TYPE C,
ZZUNIT2_V(3) TYPE C,
ZZCBOX1_V(1) TYPE C,
ZZCBOX2_V(1) TYPE C,
ZZCBOX3_V(1) TYPE C,
ZZCBOX4_V(1) TYPE C,
ZZMULTI1_V(36) TYPE C,
ZZMULTI2_V(36) TYPE C,
ZZDATE1_V( TYPE C,
ZZDATE2_V( TYPE C,
ZZTIME1_V( TYPE C,
ZZTIME2_V( TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MVKE.
* Data structure for file 4
DATA: BEGIN OF IT_MARM OCCURS 0,
MATNR(1 TYPE C,
MEINH(3) TYPE C,
HOEHE(1 TYPE C,
BREIT(1 TYPE C,
LAENG(1 TYPE C,
BRGEW(1 TYPE C,
VOLUM(1 TYPE C,
MEABM(3) TYPE C,
VOLEH(3) TYPE C,
GEWEI(3) TYPE C,
UMREZ(1 TYPE C,
UMREN(1 TYPE C,
AUTO_PRFZ(1) TYPE C,
EAN11(1 TYPE C,
NUMTP(2) TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARM.
* Data structure for file 5
DATA: BEGIN OF IT_T179 OCCURS 0,
MATNR(1 TYPE C,
MAKTX(40) TYPE C,
PRDHA(1 TYPE C,
VTEXT(40) TYPE C,
PRDHA1(16) TYPE C,
VTEXT1(40) TYPE C,
PRDHA2(12) TYPE C,
VTEXT2(40) TYPE C,
PRDHA3(9) TYPE C,
VTEXT3(40) TYPE C,
PRDHA4(6) TYPE C,
VTEXT4(40) TYPE C,
PRDHA5(4) TYPE C,
VTEXT5(40) TYPE C,
PRDHA6(2) TYPE C,
VTEXT6(40) TYPE C,
EXTRACT_DATE( TYPE C,
BODY_FLAG(1) TYPE C,
END OF IT_T179.
* Data structure for file 6
DATA: BEGIN OF IT_MVKE1 OCCURS 0,
MATNR(1 TYPE C,
VKORG(4) TYPE C,
VTWEG(2) TYPE C,
MAKTX(40) TYPE C,
PRODH(1 TYPE C,
VTEXT(40) TYPE C,
PRODH1(16) TYPE C,
VTEXT1(40) TYPE C,
PRODH2(12) TYPE C,
VTEXT2(40) TYPE C,
PRODH3(9) TYPE C,
VTEXT3(40) TYPE C,
PRODH4(6) TYPE C,
VTEXT4(40) TYPE C,
PRODH5(4) TYPE C,
VTEXT5(40) TYPE C,
PRODH6(2) TYPE C,
VTEXT6(40) TYPE C,
EXTRACT_DATE( TYPE C,
BODY_FLAG(1) TYPE C,
END OF IT_MVKE1.
* Data structure for file 7
DATA: BEGIN OF IT_MAKT OCCURS 0,
MATNR(1 TYPE C,
LAISO(2) TYPE C, "LANGUAGE KEY (SPRAS)
MAKTX(40) TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MAKT.
************************************************************************
* PARAMETERS / SELECT-OPTIONS
************************************************************************
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : BEGIN OF BLOCK 11 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 20(60) TEXT-003. "Program Objective
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE.
* File Name
PARAMETERS:
P_FILEO1 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI10E_MATR_EU.txt'(009),
P_FILEO2 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI15C_MATR_PLANT_EU.txt'(010),
P_FILEO3 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI20C_MATR_SALE_AREA_EU.txt'(011),
P_FILEO4 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI30E_MATR_ALTR_EU.txt'(012),
P_FILEO5 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI40E_MATR_HIER_EU_EU.txt'(013),
P_FILEO6 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI50C_MATR_HIER_LOCL_EU.txt'(014),
P_FILEO7 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI60E_MATR_LANGUAGE_EU.txt'(015).
PARAMETERS: P_RLIMIT(7) TYPE N DEFAULT '9999999'(016) .
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : END OF BLOCK 11.
************************************************************************
* FIELD-STRINGS
************************************************************************
************************************************************************
* RANGES
************************************************************************
************************************************************************
* MACROS
************************************************************************
************************************************************************
* INITIALIZATION
************************************************************************
PERFORM CREATE_COMMON_HEADER.
************************************************************************
* AT SELECTION-SCREEN
************************************************************************
************************************************************************
* AT SELECTION-SCREEN HELP EVENTS / VALUE REQUEST
************************************************************************
************************************************************************
TOP-OF-PAGE.
************************************************************************
ULINE.
WRITE: /2 'Program Name:'(004) , SY-REPID,
50 SY-TITLE(45),
110 'Page No:'(005), SY-PAGNO.
WRITE: /2 'User Name:'(006), SY-UNAME(,
90 'Date & Time:'(007), SY-DATUM DD/MM/YYYY, '/', SY-UZEIT.
WRITE: /2 'SAP System/Release/Client:'(008),
SY-SYSID(5), SY-SAPRL, SY-MANDT.
************************************************************************
* AT LINE-SELECTION
************************************************************************
************************************************************************
* AT USER-COMMAND
************************************************************************
************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
*** Create File 1
PERFORM EXTRACT_DATA1. "Extract data 1
PERFORM WRITE_OUTPUT_FILE1. "Output 1 to PC Server
*** Create File 2
PERFORM EXTRACT_DATA2. "Extract data 2
PERFORM WRITE_OUTPUT_FILE2. "Output 2 to PC Server
*** Create File 3
PERFORM EXTRACT_DATA3. "Extract data 3
PERFORM WRITE_OUTPUT_FILE3. "Output 3 to PC Server
*** Create File 4
PERFORM EXTRACT_DATA4. "Extract data 4
PERFORM WRITE_OUTPUT_FILE4. "Output 4 to PC Server
*** Create File 5
PERFORM EXTRACT_DATA5. "Extract data 5
PERFORM WRITE_OUTPUT_FILE5. "Output 5 to PC Server
*** Create File 6
PERFORM EXTRACT_DATA6. "Extract data 6
PERFORM WRITE_OUTPUT_FILE6. "Output 6 to PC Server
*** Create File 7
PERFORM EXTRACT_DATA7. "Extract data 7
PERFORM WRITE_OUTPUT_FILE7. "Output 7 to PC Server
*** Write Report Summary
PERFORM WRITE_SUMMARY. "Write Summary Report
************************************************************************
* END-OF-SELECTION
************************************************************************
END-OF-SELECTION.
*------------------------------ FORMS ---------------------------------*
*&---------------------------------------------------------------------*
*& Form create_common_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_COMMON_HEADER.
MOVE: 'HHHHHHHHHH' TO HEADER(10).
* system Date and Time - YYYYMMDD to DD-MM-YYYY
MOVE: SY-DATUM+6(2) TO HEADER+10(2),
'-' TO HEADER+12(1),
SY-DATUM+4(2) TO HEADER+13(2),
'-' TO HEADER+15(1),
SY-DATUM(4) TO HEADER+16(4),
'-' TO HEADER+20(1).
* Time in HH:MM:SS
MOVE: SY-UZEIT(2) TO HEADER+21(2),
':' TO HEADER+23(1),
SY-UZEIT+2(2) TO HEADER+24(2),
':' TO HEADER+26(1),
SY-UZEIT+4(2) TO HEADER+27(2).
ENDFORM. " create_common_HEADER
*&---------------------------------------------------------------------*
*& Form EXTRACT_DATA1
*&---------------------------------------------------------------------*
* Extract Functional Location Data
*----------------------------------------------------------------------*
FORM EXTRACT_DATA1.
* Create Header Line
* MOVE: HEADER TO IT_MARA,
* 'H' TO IT_MARA+484(1).
*
* SELECT * FROM MARA CLIENT SPECIFIED WHERE MANDT = SY-MANDT.
* SELECT * FROM MAKT WHERE MATNR = MARA-MATNR
* and SPRAS = 'E'.
* SELECT * FROM MBEW WHERE MATNR = MARA-MATNR.
SELECT A~MATNR
B~MAKTX
A~PRDHA
A~AENAM
A~BRGEW
C~XBEWM
A~EAN11
A~ERSDA
A~GEWEI
A~LAEDA
A~MEINS
A~MHDHB
A~MSTAE
A~MSTDE
A~MTART
A~NTGEW
A~SPART
A~TAKLV
A~ZZTXT4
A~ZZTXT2
A~ZZCBOX1
A~ZZMULTI1
A~ZZMULTI2
A~TEMPB
A~XGCHP
A~NUMTP
A~MTPOS_MARA
A~MHDRZ
A~BISMT
A~IPRKZ
A~KOSCH
A~MSTAV
A~ZZTXT1
A~ZZTXT3
A~ZZTXT5
A~ZZTXT6
A~ZZNUMC1
A~ZZNUMC2
A~ZZNUMC3
A~ZZNUMC4
A~ZZQTY1
A~ZZQTY2
A~ZZUNIT1
A~ZZUNIT2
A~ZZCBOX2
A~ZZCBOX3
A~ZZCBOX4
A~ZZDATE1
A~ZZDATE2
APPENDING TABLE IT_MARA
FROM MARA AS A inner JOIN MAKT AS B ON A~MATNR = B~MATNR
inner JOIN MBEW AS C ON A~MATNR = C~MATNR
WHERE A~MANDT = SY-MANDT AND
( B~SPRAS = 'E' ).
LOOP AT IT_MARA.
IF W_TOTAL1 GE P_RLIMIT. EXIT. ENDIF.
* MOVE-CORRESPONDING MARA TO IT_MARA.
* MOVE-CORRESPONDING MAKT TO IT_MARA.
* MOVE-CORRESPONDING MBEW TO IT_MARA.
MOVE IT_MARA-MEINS TO w_MSEHI.
* Convert SAP CODE TO ISOCODE
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = W_MSEHI
IMPORTING
ISO_CODE = w_isocode
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE TO IT_MARA-MEINS.
* Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MARA-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MARA-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MARA-BODY_FLAG. "BODY_FLAG
* APPEND IT_MARA.
* CLEAR IT_MARA.
MODIFY IT_MARA.
CLEAR IT_MARA.
W_TOTAL1 = W_TOTAL1 + 1.
* ENDSELECT.
* ENDSELECT.
* ENDSELECT.
ENDLOOP.
LOOP AT IT_MARA.
* Create Header Line
MOVE: HEADER TO IT_MARA,
'H' TO IT_MARA+484(1).
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MARA(10),
W_TOTAL1 TO IT_MARA+10(9),
'F' TO IT_MARA+484(1).
APPEND IT_MARA.
CLEAR IT_MARA.
ENDLOOP.
* Loop at IT_MARA.
Delete adjacent duplicates from IT_MARA.
SORT IT_MARA BY MATNR.
* Endloop.
ENDFORM. " EXTRACT_DATA1
*&---------------------------------------------------------------------*
*& Form WRITE_OUTPUT_FILE1
*&---------------------------------------------------------------------*
* Create Output file1
*----------------------------------------------------------------------*
FORM WRITE_OUTPUT_FILE1.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO1
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MARA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-1 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " WRITE_OUTPUT_FILE1
*----------------------------------------------------------------------*
*
*&---------------------------------------------------------------------*
*& Form EXTRACT_DATA2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM EXTRACT_DATA2.
* Create HEADER
MOVE: HEADER TO IT_MARC,
'H' TO IT_MARC+520(1).
APPEND IT_MARC.
CLEAR IT_MARC.
* Extract data from SAP Tables
SELECT * FROM MARC CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
IF W_TOTAL2 GE P_RLIMIT. EXIT. ENDIF.
MOVE-CORRESPONDING MARC TO IT_MARC.
MOVE MARC-AUSME TO w_MSEHI.
* Convert SAP CODE TO ISOCODE
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = W_MSEHI
IMPORTING
ISO_CODE = w_isocode
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE TO IT_MARC-AUSME.
*Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MARC-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MARC-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MARC-BODY_FLAG. "BODY_FLAG
APPEND IT_MARC.
CLEAR IT_MARC.
W_TOTAL2 = W_TOTAL2 + 1.
ENDSELECT.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MARC(10),
W_TOTAL2 TO IT_MARC+10(9),
'F' TO IT_MARC+520(1).
APPEND IT_MARC.
CLEAR IT_MARC.
ENDFORM. " EXTRACT_DATA2
**&---------------------------------------------------------------------
*
**& Form write_output_file2
**&---------------------------------------------------------------------
*
** text
**----------------------------------------------------------------------
*
** --> p1 text
** <-- p2 text
**----------------------------------------------------------------------
*
FORM WRITE_OUTPUT_FILE2.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO2
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MARC
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-2 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " write_output_file2
*&---------------------------------------------------------------------
*& Form EXTRACT_DATA3
*&---------------------------------------------------------------------
* text
*----------------------------------------------------------------------
* --> p1 text
** <-- p2 text
**---------------------------------------------------------------------
FORM EXTRACT_DATA3.
* Create HEADER
MOVE: HEADER TO IT_MVKE,
'H' TO IT_MVKE+417(1).
APPEND IT_MVKE.
CLEAR IT_MVKE.
* Extract from SAP
SELECT * FROM MVKE CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
IF W_TOTAL3 GE P_RLIMIT. EXIT. ENDIF.
MOVE-CORRESPONDING MVKE TO IT_MVKE.
MOVE MVKE-VRKME TO w_MSEHI.
* Convert SAP CODE TO ISOCODE
CLEAR ERDATI.
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = W_MSEHI
IMPORTING
ISO_CODE = w_isocode
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE TO IT_MVKE-VRKME.
* Convert Date from YYYYMMDD to DDMMYYYY format
CLEAR ERDATI.
if mvke-VMSTD = 0.
move '01010001' to it_mvke-VMSTD.
else.
MOVE: Mvke-VMSTD(4) TO ERDATI+4(4),
MVKE-VMSTD+4(2) TO ERDATI+2(2),
MVKE-VMSTD+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MVKE-VMSTD.
"Date-MVKE-VMSTD
endif.
CLEAR ERDATI.
if mvke-ZZDATE1_V = 0.
move '01010001' to it_mvke-ZZDATE1_V.
else.
MOVE: MVKE-ZZDATE1_V(4) TO ERDATI+4(4),
MVKE-ZZDATE1_V+4(2) TO ERDATI+2(2),
MVKE-ZZDATE1_V+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MVKE-ZZDATE1_V.
"Date-MVKE-ZZDATE1_V
endif.
CLEAR ERDATI.
if mvke-ZZDATE2_V = 0.
move '01010001' to it_mvke-ZZDATE2_V.
else.
MOVE: MVKE-ZZDATE2_V(4) TO ERDATI+4(4),
MVKE-ZZDATE2_V+4(2) TO ERDATI+2(2),
MVKE-ZZDATE2_V+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MVKE-ZZDATE2_V.
"Date-MVKE-ZZDATE2_V
endif.
CLEAR ERDATI.
if mVKE-ZZQTY1_V = 0.
move '00000000000000.000' to it_MVKE-ZZQTY1_V .
else.
move MVKE-ZZQTY1_V to it_MVKE-ZZQTY1_V .
endif.
if MVKE-ZZQTY2_V = 0.
move '00000000000000.000' to it_MVKE-ZZQTY2_V .
else.
move MVKE-ZZQTY2_V to it_MVKE-ZZQTY2_V .
endif.
if MVKE-ZZTIME1_V = 0.
move '00.00.00' to it_MVKE-ZZTIME1_V .
else.
move MVKE-ZZTIME1_V to it_MVKE-ZZTIME1_V .
endif.
if MVKE-ZZTIME2_V = 0.
move '00.00.00' to it_MVKE-ZZTIME2_V.
else.
move MVKE-ZZTIME2_V to it_MVKE-ZZTIME2_V.
endif.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MVKE-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MVKE-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MVKE-BODY_FLAG. "BODY_FLAG
APPEND IT_MVKE.
CLEAR IT_MVKE.
W_TOTAL3 = W_TOTAL3 + 1.
ENDSELECT.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MVKE(10),
W_TOTAL3 TO IT_MVKE+10(9),
'F' TO IT_MVKE+417(1).
APPEND IT_MVKE.
CLEAR IT_MVKE.
ENDFORM. " EXTRACT_DATA3
*&---------------------------------------------------------------------
*& Form write_output_file3
*&---------------------------------------------------------------------
* text
*----------------------------------------------------------------------
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------
FORM WRITE_OUTPUT_FILE3.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO3
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MVKE
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-3 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " write_output_file3
*------------------------------ FORM-----------------------------------*
*&---------------------------------------------------------------------
*& Form EXTRACT_DATA4
*&---------------------------------------------------------------------
* Extract Functional Location Data
*----------------------------------------------------------------------
FORM EXTRACT_DATA4.
* Create HEADER Line
MOVE: HEADER TO IT_MARM,
'H' TO IT_MARM+187(1).
APPEND IT_MARM.
CLEAR IT_MARM.
* Extract data from SAP Tables
SELECT * FROM MARM CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
IF W_TOTAL4 GE P_RLIMIT. EXIT. ENDIF.
MOVE-CORRESPONDING MARM TO IT_MARM.
MOVE Marm-meinh TO w_MSEHI.
MOVE Marm-MEABM TO w_MEABM.
MOVE Marm-VOLEH TO w_VOLEH.
MOVE Marm-GEWEI TO w_GEWEI.
* Convert SAP CODE TO ISOCODE
CLEAR ERDATI.
IF w_MSEHI <> SPACE .
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = W_MSEHI
IMPORTING
ISO_CODE = w_isocode
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE TO IT_marm-meinh.
ENDIF.
* IT_marm-MEABM
IF w_MEABM <> SPACE .
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = w_MEABM
IMPORTING
ISO_CODE = w_isocode1
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE1 TO IT_marm-MEABM.
ENDIF.
* IT_marm-w_VOLEH.
IF w_VOLEH <> SPACE .
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = w_VOLEH
IMPORTING
ISO_CODE = w_isocode2
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE2 TO IT_marm-VOLEH.
endif.
* IT_marm-GEWEI
IF w_GEWEI <> SPACE .
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = w_GEWEI
IMPORTING
ISO_CODE = w_isocode3
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE w_isocode3 TO IT_marm-GEWEI.
ENDIF.
* Data Extraction Date
CLEAR ERDATI.
if marM-hoehe = 0.
move '00000000000000.000' to it_marm-hoehe.
else.
move marM-hoehe to it_marm-hoehe.
endif.
if marm-breit = 0.
move '00000000000000.000' to it_marm-breit.
else.
move marm-breit to it_marm-breit.
endif.
if marm-laeng = 0.
move '00000000000000.000' to it_marm-laeng.
else.
move marm-laeng to it_marm-laeng.
endif.
if marm-brgew = 0.
move '00000000000000.000' to it_marm-brgew.
else.
move marm-brgew to it_marm-brgew.
endif.
if marm-volum = 0.
move '00000000000000.000' to it_marm-volum.
else.
move marm-volum to it_marm-volum.
endif.
if marm-umrez = 0.
move '00000000000000.000' to it_marm-umrez.
else.
move marm-umrez to it_marm-umrez.
endif.
if marm-umren = 0.
move '00000000000000.000' to it_marm-umren.
else.
move marm-umren to it_marm-umren.
endif.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MARM-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MARM-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MARM-BODY_FLAG. "BODY_FLAG
APPEND IT_MARM.
CLEAR IT_MARM.
W_TOTAL4 = W_TOTAL4 + 1.
ENDSELECT.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MARM(10),
W_TOTAL4 TO IT_MARM+10(9),
'F' TO IT_MARM+187(1).
APPEND IT_MARM.
CLEAR IT_MARM.
ENDFORM. " EXTRACT_DATA4
*&---------------------------------------------------------------------
*& Form WRITE_OUTPUT_FILE4
*&---------------------------------------------------------------------
*
* Create Output file4
*----------------------------------------------------------------------
FORM WRITE_OUTPUT_FILE4.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO4
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MARM
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-4 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " WRITE_OUTPUT_FILE4
*------------------------------ FORMS---------------------------------*
*
*&---------------------------------------------------------------------
*& Form EXTRACT_DATA5
*&---------------------------------------------------------------------
* Extract Functional Location Data
*----------------------------------------------------------------------
FORM EXTRACT_DATA5.
* Create HEADER Line
MOVE: HEADER TO IT_T179,
'H' TO IT_T179+413(1).
APPEND IT_T179.
CLEAR IT_T179.
* Extract data from SAP Tables
SELECT * FROM MARA CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
IF W_TOTAL5 GE P_RLIMIT. EXIT. ENDIF.
SELECT * FROM MAKT CLIENT SPECIFIED
WHERE MATNR = MARA-MATNR AND MANDT = SY-MANDT.
MOVE-CORRESPONDING MAKT TO IT_T179.
ENDSELECT.
SELECT * FROM T179 CLIENT SPECIFIED
WHERE PRODH = MARA-PRDHA AND MANDT = SY-MANDT.
SELECT * FROM T179T CLIENT SPECIFIED
WHERE PRODH = T179-PRODH AND MANDT = SY-MANDT.
MOVE-CORRESPONDING MARA TO IT_T179.
MOVE-CORRESPONDING T179 TO IT_T179.
MOVE-CORRESPONDING T179T TO IT_T179.
clear : IT_T179-PRDHA,
IT_T179-VTEXT.
CASE T179-STUFE .
WHEN '7'.
MOVE MARA-PRDHA TO IT_T179-PRDHA.
MOVE T179T-VTEXT TO IT_T179-VTEXT.
WHEN '6'.
MOVE MARA-PRDHA TO IT_T179-PRDHA1.
MOVE T179T-VTEXT TO IT_T179-VTEXT1.
WHEN '5'.
MOVE MARA-PRDHA TO IT_T179-PRDHA2.
MOVE T179T-VTEXT TO IT_T179-VTEXT2.
WHEN '4'.
MOVE MARA-PRDHA TO IT_T179-PRDHA3.
MOVE T179T-VTEXT TO IT_T179-VTEXT3.
WHEN '3'.
MOVE MARA-PRDHA TO IT_T179-PRDHA4.
MOVE T179T-VTEXT TO IT_T179-VTEXT4.
WHEN '2'.
MOVE MARA-PRDHA TO IT_T179-PRDHA5.
MOVE T179T-VTEXT TO IT_T179-VTEXT5.
WHEN '1'.
MOVE MARA-PRDHA TO IT_T179-PRDHA6.
MOVE T179T-VTEXT TO IT_T179-VTEXT6.
ENDCASE.
ENDSELECT.
ENDSELECT.
* Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_T179-EXTRACT_DATE. "Extract Date
MOVE: 'B' TO IT_T179-BODY_FLAG. "BODY_FLAG
APPEND IT_T179.
CLEAR IT_T179.
W_TOTAL5 = W_TOTAL5 + 1.
ENDSELECT.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_T179(10),
W_TOTAL5 TO IT_T179+10(9),
'F' TO IT_T179+413(1).
APPEND IT_T179.
CLEAR IT_T179.
ENDFORM. " EXTRACT_DATA5
*&---------------------------------------------------------------------
*& Form WRITE_OUTPUT_FILE5
*&---------------------------------------------------------------------
* Create Output file5
*----------------------------------------------------------------------
FORM WRITE_OUTPUT_FILE5.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO5
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_T179
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-5 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " WRITE_OUTPUT_FILE5
*------------------------------ FORMS---------------------------------*
*&---------------------------------------------------------------------
*& Form EXTRACT_DATA6
*&---------------------------------------------------------------------
* Extract Functional Location Data
*----------------------------------------------------------------------
*
FORM EXTRACT_DATA6.
*
* Create HEADER Line
MOVE: HEADER TO IT_mvke1,
'H' TO IT_mvke1+419(1).
APPEND IT_MVKE1.
CLEAR IT_MVKE1.
* Extract data from SAP Tables
SELECT * FROM MVKE CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
IF W_TOTAL6 GE P_RLIMIT. EXIT. ENDIF.
MOVE-CORRESPONDING MVKE TO IT_MVKE1.
SELECT * FROM MAKT CLIENT SPECIFIED
WHERE MATNR = MVKE-MATNR AND MANDT = SY-MANDT.
MOVE-CORRESPONDING MAKT TO IT_MVKE1.
ENDSELECT.
SELECT * FROM T179 CLIENT SPECIFIED
WHERE PRODH = MVKE-PRODH AND MANDT = SY-MANDT.
SELECT * FROM T179T CLIENT SPECIFIED
WHERE PRODH = T179-PRODH AND MANDT = SY-MANDT.
MOVE-CORRESPONDING T179 TO IT_MVKE1.
MOVE-CORRESPONDING T179T TO IT_MVKE1.
clear : IT_MVKE1-PRODH,
IT_MVKE1-VTEXT.
CASE T179-STUFE .
WHEN '7'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT.
WHEN '6'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH1.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT1.
WHEN '5'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH2.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT2.
WHEN '4'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH3.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT3.
WHEN '3'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH4.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT4.
WHEN '2'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH5.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT5.
WHEN '1'.
MOVE MVKE-PRODH TO IT_MVKE1-PRODH6.
MOVE T179T-VTEXT TO IT_MVKE1-VTEXT6.
ENDCASE.
ENDSELECT.
ENDSELECT.
* Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MVKE1-EXTRACT_DATE. "Extract Date
MOVE: 'B' TO IT_MVKE1-BODY_FLAG. "BODY_FLAG
APPEND IT_MVKE1.
CLEAR IT_MVKE1.
W_TOTAL6 = W_TOTAL6 + 1.
ENDSELECT.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MVKE1(10),
W_TOTAL6 TO IT_MVKE1+10(9),
'F' TO IT_MVKE1+419(1).
APPEND IT_MVKE1.
CLEAR IT_MVKE1.
ENDFORM. " EXTRACT_DATA6
*&---------------------------------------------------------------------
*& Form WRITE_OUTPUT_FILE6
*&---------------------------------------------------------------------
* Create Output file6
*----------------------------------------------------------------------
FORM WRITE_OUTPUT_FILE6.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO6
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MVKE1
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-6 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " WRITE_OUTPUT_FILE6
*------------------------------ FORMS---------------------------------*
*&---------------------------------------------------------------------
*& Form EXTRACT_DATA7
*&---------------------------------------------------------------------
* Extract Functional Location Data
*----------------------------------------------------------------------
FORM EXTRACT_DATA7.
* Create HEADER Line
MOVE: HEADER TO IT_MAKT,
'H' TO IT_MAKT+70(1).
APPEND IT_MAKT.
CLEAR IT_MAKT.
* Extract data from SAP Tables
SELECT * FROM MAKT CLIENT SPECIFIED
WHERE MANDT = SY-MANDT.
SELECT * FROM t002 CLIENT SPECIFIED
WHERE spras = makt-spras.
IF W_TOTAL7 GE P_RLIMIT. EXIT. ENDIF.
MOVE-CORRESPONDING MAKT TO IT_MAKT.
MOVE-CORRESPONDING t002 TO IT_MAKT.
* Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MAKT-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MAKT-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MAKT-BODY_FLAG. "BODY_FLAG
APPEND IT_MAKT.
CLEAR IT_MAKT.
W_TOTAL7 = W_TOTAL7 + 1.
ENDSELECT.
endselect.
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MAKT(10),
W_TOTAL7 TO IT_MAKT+10(9),
'F' TO IT_MAKT+70(1).
APPEND IT_MAKT.
CLEAR IT_MAKT.
ENDFORM. " EXTRACT_DATA7
*&---------------------------------------------------------------------
*& Form WRITE_OUTPUT_FILE7
*&---------------------------------------------------------------------
* Create Output file7
*----------------------------------------------------------------------
FORM WRITE_OUTPUT_FILE7.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO7
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MAKT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
OTHERS = 10.
IF SY-SUBRC <> 0.
WRITE: / 'Error in Downloading Output file-7 to the',
'presentation server'.
STOP.
ENDIF.
ENDFORM. " WRITE_OUTPUT_FILE7
*&---------------------------------------------------------------------*
*& Form WRITE_SUMMARY
*&---------------------------------------------------------------------*
* Write Summary
*----------------------------------------------------------------------*
FORM WRITE_SUMMARY.
ULINE.
SKIP 2.
SUMMARY.
WRITE: /20 'Program Summary :'.
WRITE: /20 '-----------------'. SKIP.
WRITE: /5 'Output File 1 Name :', 35 P_FILEO1.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL1. SKIP.
WRITE: /5 'Output File 2 Name :', 35 P_FILEO2.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL2. SKIP.
WRITE: /5 'Output File 3 Name :', 35 P_FILEO3.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL3. SKIP.
WRITE: /5 'Output File 4 Name :', 35 P_FILEO4.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL4. SKIP.
WRITE: /5 'Output File 5 Name :', 35 P_FILEO5.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL5. SKIP.
WRITE: /5 'Output File 6 Name :', 35 P_FILEO6.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL6. SKIP.
WRITE: /5 'Output File 7 Name :', 35 P_FILEO7.
WRITE: /5 'Total Records Extracted :', 35 W_TOTAL7. SKIP.
WRITE: /20 ' End Of Report '.
WRITE: /20 ' ------------- '. SKIP.
ENDFORM. " WRITE_SUMMARY
*---------------------------------------------------------------------************************************************************************
* ABAP NAME : Based on Interface Document IL03-29-18
* SHORT TITLE : Extract Material Master Data from SAP Tables.
* Company : Kraft
* AUTHOR : SAMIR TANNIRWAR, IBM
* for Kraft, Galaxy Project
* CREATED ON : 23/07/2002
* ABAP TYPE : Extract Material Master Data from tables MARA,MAKT,MBEW
* MARC,MARM,MVKE,T179,T179T
* MODULE : MM
* REQUESTED BY :
* SPEC : Lotus Notes Interface Document : IL03-29-18
* TECH OVERVIEW: Extract data from different tables as mention earlier
* for protopying for Galaxy project.
* TRANS.REQ.NO.: KDAK928854.
*----------------------------------------------------------------------
* CHANGE HISTORY
*----------------------------------------------------------------------
* First revision - Author
* 23/07/2002 - SAMIR TANNIRWAR,IBM,INDIA.
*----------------------------------------------------------------------
* CHANGE DETAILS:
* CODE DATE CHANGE IMPLEMENTOR CHANGE REQUESTOR
*---------------------------------------------------------------------*
REPORT YMMIT_MATE_MASTER_EXTRACT_R LINE-SIZE 132
LINE-COUNT 55 NO STANDARD PAGE HEADING.
************************************************************************
* INCLUDES
************************************************************************
************************************************************************
* TABLES
************************************************************************
TABLES: MARA , "General Material Data
MAKT , "Material Descriptions
MBEW , "Material Valuation
MARC , "Plant Data for Material
MARM , "Units of Measure for Material
MVKE , "Sales Data for Material
T179 , "Materials: Product Hierarchies
T179T, "Materials: Product hierarchies: Texts
T006, "Units of Measurement
t002. "Language keys
************************************************************************
* GLOBAL DATA
************************************************************************
DATA: W_TOTAL1(9) TYPE N. "records extracted- File 1
DATA: W_TOTAL2(9) TYPE N. "records extracted- File2
DATA: W_TOTAL3(9) TYPE N. "records extracted- File 3
DATA: W_TOTAL4(9) TYPE N. "records extracted- File 4
DATA: W_TOTAL5(9) TYPE N. "records extracted- File 5
DATA: W_TOTAL6(9) TYPE N. "records extracted- File 6
DATA: W_TOTAL7(9) TYPE N. "records extracted- File 7
DATA : w_MSEHI like t006-MSEHI,
w_isocode like t006-isocode,
w_MEABM like t006-MSEHI,
w_isocode1 like t006-isocode,
w_VOLEH like t006-MSEHI,
w_isocode2 like t006-isocode,
w_GEWEI like t006-MSEHI,
w_isocode3 like t006-isocode.
DATA: ERDATI( TYPE C. "Date
DATA: HEADER(40) TYPE C. "Common Header
************************************************************************
* INTERNAL TABLES
************************************************************************
* Data structure for file 1
DATA: BEGIN OF IT_MARA OCCURS 0,
MATNR(1 TYPE C,
MAKTX(40) TYPE C,
PRDHA(1 TYPE C,
AENAM(12) TYPE C,
BRGEW(1 TYPE C,
XBEWM(1) TYPE C,
EAN11(1 TYPE C,
ERSDA( TYPE C,
GEWEI(3) TYPE C,
LAEDA( TYPE C,
MEINS(3) TYPE C,
MHDHB(4) TYPE C,
MSTAE(2) TYPE C,
MSTDE( type c,
MTART(4) TYPE C,
NTGEW(1 TYPE C,
SPART(2) TYPE C,
TAKLV(1) TYPE C,
ZZTXT4(10) TYPE C,
ZZTXT2(10) TYPE C,
ZZCBOX1(1) type c,
ZZMULTI1(36) TYPE C,
ZZMULTI2(36) TYPE C,
TEMPB(2) TYPE C,
XGCHP(1) TYPE C,
NUMTP(2) TYPE C,
MTPOS_MARA(4) TYPE C,
MHDRZ(6) TYPE C,
BISMT(1 TYPE C,
IPRKZ(1) TYPE C,
KOSCH(1 TYPE C,
MSTAV(2) TYPE C,
EXTRACT_DATE( TYPE C,
ZZTXT1(10) TYPE C,
ZZTXT3(10) TYPE C,
ZZTXT5(10) TYPE C,
ZZTXT6(10) TYPE C,
ZZNUMC1(10) TYPE c,
ZZNUMC2(10) TYPE c,
ZZNUMC3(10) TYPE c,
ZZNUMC4(10) TYPE c,
ZZQTY1(1 TYPE c,
ZZQTY2(1 TYPE c,
ZZUNIT1(3) TYPE C,
ZZUNIT2(3) TYPE C,
ZZCBOX2(1) TYPE C,
ZZCBOX3(1) TYPE C,
ZZCBOX4(1) TYPE C,
ZZDATE1( TYPE C,
ZZDATE2( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARA.
DATA : RFLAG LIKE MARA-ZZTXT2.
* Data structure for file 2
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR(1 TYPE C,
WERKS(4) TYPE C,
BWTTY(1) TYPE C,
MMSTA(2) TYPE C,
MMSTD( TYPE C,
AUSME(3) TYPE C,
PLIFZ(3) TYPE C,
MEGRU(4) TYPE C,
WEBAZ(3) TYPE C,
ZZTXT2_W(10) TYPE C,
MTVFP(2) TYPE C,
CASNR(15) TYPE C,
INSMK(1) TYPE C,
PREND( TYPE C,
LADGR(4) TYPE C,
EXTRACT_DATE( TYPE C,
ZZTXT1_W(10) TYPE C,
ZZTXT3_W(10) TYPE C,
ZZTXT4_W(10) TYPE C,
ZZTXT5_W(10) TYPE C,
ZZTXT6_W(10) TYPE C,
ZZTXT7_W(10) TYPE C,
ZZTXT8_W(10) TYPE C,
ZZTXT9_W(10) TYPE C,
ZZTXT10_W(10) TYPE C,
ZZNUMC1_W(10) TYPE C,
ZZNUMC2_W(10) TYPE C,
ZZNUMC3_W(10) TYPE C,
ZZNUMC4_W(10) TYPE C,
ZZQTY1_W(1 TYPE C,
ZZQTY2_W(1 TYPE C,
ZZUNIT1_W(3) TYPE C,
ZZUNIT2_W(3) TYPE C,
ZZAMT1_W(1 type c,
ZZAMT2_W(1 type c,
ZZAMT3_W(1 type c,
ZZAMT4_W(1 type c,
ZZCURR1_W(1 type c,
ZZCURR2_W(1 type c,
ZZCURR3_W(1 type c,
ZZCURR4_W(1 type c,
ZZCBOX1_W(1) type c,
ZZCBOX2_W(1) type c,
ZZCBOX3_W(1) type c,
ZZCBOX4_W(1) type c,
ZZMULTI1_W(36) type c,
ZZMULTI2_W(36) type c,
ZZDATE1_W( type c,
ZZDATE2_W( type c,
ZZTIME1_W( TYPE C,
ZZTIME2_W( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARC.
* Data structure for file 3
DATA: BEGIN OF IT_MVKE OCCURS 0,
MATNR(1 TYPE C,
VKORG(4) TYPE C,
VTWEG(2) TYPE C,
PRODH(1 TYPE C,
VRKME(3) TYPE C,
MVGR1(3) TYPE C,
MVGR2(3) TYPE C,
MVGR3(3) TYPE C,
MVGR4(3) TYPE C,
MVGR5(3) TYPE C,
KTGRM(2) TYPE C,
PROVG(2) TYPE C,
DWERK(4) TYPE C,
VMSTA(2) TYPE C,
MTPOS(4) TYPE C,
VERSG(1) TYPE C,
KONDM(2) TYPE C,
PMATN(1 TYPE C,
PRATA(1) TYPE C,
PRAT1(1) TYPE C,
PRAT2(1) TYPE C,
PRAT3(1) TYPE C,
PRAT4(1) TYPE C,
PRAT5(1) TYPE C,
PRAT6(1) TYPE C,
PRAT7(1) TYPE C,
PRAT8(1) TYPE C,
PRAT9(1) TYPE C,
MEGRU(4) TYPE C,
VMSTD( TYPE C,
ZZTXT1_V(10) TYPE C,
ZZTXT2_V(10) TYPE C,
ZZTXT3_V(10) TYPE C,
ZZTXT4_V(10) TYPE C,
ZZTXT5_V(10) TYPE C,
ZZTXT6_V(10) TYPE C,
ZZTXT7_V(10) TYPE C,
ZZTXT8_V(10) TYPE C,
ZZTXT9_V(10) TYPE C,
ZZTXT10_V(10) TYPE C,
ZZNUMC1_V(10) TYPE C,
ZZNUMC2_V(10) TYPE C,
ZZNUMC3_V(10) TYPE C,
ZZNUMC4_V(10) TYPE C,
ZZQTY1_V(1 TYPE C,
ZZQTY2_V(1 TYPE C,
ZZUNIT1_V(3) TYPE C,
ZZUNIT2_V(3) TYPE C,
ZZCBOX1_V(1) TYPE C,
ZZCBOX2_V(1) TYPE C,
ZZCBOX3_V(1) TYPE C,
ZZCBOX4_V(1) TYPE C,
ZZMULTI1_V(36) TYPE C,
ZZMULTI2_V(36) TYPE C,
ZZDATE1_V( TYPE C,
ZZDATE2_V( TYPE C,
ZZTIME1_V( TYPE C,
ZZTIME2_V( TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MVKE.
* Data structure for file 4
DATA: BEGIN OF IT_MARM OCCURS 0,
MATNR(1 TYPE C,
MEINH(3) TYPE C,
HOEHE(1 TYPE C,
BREIT(1 TYPE C,
LAENG(1 TYPE C,
BRGEW(1 TYPE C,
VOLUM(1 TYPE C,
MEABM(3) TYPE C,
VOLEH(3) TYPE C,
GEWEI(3) TYPE C,
UMREZ(1 TYPE C,
UMREN(1 TYPE C,
AUTO_PRFZ(1) TYPE C,
EAN11(1 TYPE C,
NUMTP(2) TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MARM.
* Data structure for file 5
DATA: BEGIN OF IT_T179 OCCURS 0,
MATNR(1 TYPE C,
MAKTX(40) TYPE C,
PRDHA(1 TYPE C,
VTEXT(40) TYPE C,
PRDHA1(16) TYPE C,
VTEXT1(40) TYPE C,
PRDHA2(12) TYPE C,
VTEXT2(40) TYPE C,
PRDHA3(9) TYPE C,
VTEXT3(40) TYPE C,
PRDHA4(6) TYPE C,
VTEXT4(40) TYPE C,
PRDHA5(4) TYPE C,
VTEXT5(40) TYPE C,
PRDHA6(2) TYPE C,
VTEXT6(40) TYPE C,
EXTRACT_DATE( TYPE C,
BODY_FLAG(1) TYPE C,
END OF IT_T179.
* Data structure for file 6
DATA: BEGIN OF IT_MVKE1 OCCURS 0,
MATNR(1 TYPE C,
VKORG(4) TYPE C,
VTWEG(2) TYPE C,
MAKTX(40) TYPE C,
PRODH(1 TYPE C,
VTEXT(40) TYPE C,
PRODH1(16) TYPE C,
VTEXT1(40) TYPE C,
PRODH2(12) TYPE C,
VTEXT2(40) TYPE C,
PRODH3(9) TYPE C,
VTEXT3(40) TYPE C,
PRODH4(6) TYPE C,
VTEXT4(40) TYPE C,
PRODH5(4) TYPE C,
VTEXT5(40) TYPE C,
PRODH6(2) TYPE C,
VTEXT6(40) TYPE C,
EXTRACT_DATE( TYPE C,
BODY_FLAG(1) TYPE C,
END OF IT_MVKE1.
* Data structure for file 7
DATA: BEGIN OF IT_MAKT OCCURS 0,
MATNR(1 TYPE C,
LAISO(2) TYPE C, "LANGUAGE KEY (SPRAS)
MAKTX(40) TYPE C,
EXTRACT_DATE( TYPE C,
CTY_FLAG(2) TYPE C VALUE 'EU', "Country Flag
BODY_FLAG(1) TYPE C,
END OF IT_MAKT.
************************************************************************
* PARAMETERS / SELECT-OPTIONS
************************************************************************
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : BEGIN OF BLOCK 11 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 20(60) TEXT-003. "Program Objective
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN ULINE.
* File Name
PARAMETERS:
P_FILEO1 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI10E_MATR_EU.txt'(009),
P_FILEO2 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI15C_MATR_PLANT_EU.txt'(010),
P_FILEO3 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI20C_MATR_SALE_AREA_EU.txt'(011),
P_FILEO4 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI30E_MATR_ALTR_EU.txt'(012),
P_FILEO5 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI40E_MATR_HIER_EU_EU.txt'(013),
P_FILEO6 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI50C_MATR_HIER_LOCL_EU.txt'(014),
P_FILEO7 LIKE RLGRAP-FILENAME
DEFAULT 'C:\data\Interface\FAOAFI60E_MATR_LANGUAGE_EU.txt'(015).
PARAMETERS: P_RLIMIT(7) TYPE N DEFAULT '9999999'(016) .
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : END OF BLOCK 11.
************************************************************************
* FIELD-STRINGS
************************************************************************
************************************************************************
* RANGES
************************************************************************
************************************************************************
* MACROS
************************************************************************
************************************************************************
* INITIALIZATION
************************************************************************
PERFORM CREATE_COMMON_HEADER.
************************************************************************
* AT SELECTION-SCREEN
************************************************************************
************************************************************************
* AT SELECTION-SCREEN HELP EVENTS / VALUE REQUEST
************************************************************************
************************************************************************
TOP-OF-PAGE.
************************************************************************
ULINE.
WRITE: /2 'Program Name:'(004) , SY-REPID,
50 SY-TITLE(45),
110 'Page No:'(005), SY-PAGNO.
WRITE: /2 'User Name:'(006), SY-UNAME(,
90 'Date & Time:'(007), SY-DATUM DD/MM/YYYY, '/', SY-UZEIT.
WRITE: /2 'SAP System/Release/Client:'(008),
SY-SYSID(5), SY-SAPRL, SY-MANDT.
************************************************************************
* AT LINE-SELECTION
************************************************************************
************************************************************************
* AT USER-COMMAND
************************************************************************
************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
*** Create File 1
PERFORM EXTRACT_DATA1. "Extract data 1
PERFORM WRITE_OUTPUT_FILE1. "Output 1 to PC Server
*** Create File 2
PERFORM EXTRACT_DATA2. "Extract data 2
PERFORM WRITE_OUTPUT_FILE2. "Output 2 to PC Server
*** Create File 3
PERFORM EXTRACT_DATA3. "Extract data 3
PERFORM WRITE_OUTPUT_FILE3. "Output 3 to PC Server
*** Create File 4
PERFORM EXTRACT_DATA4. "Extract data 4
PERFORM WRITE_OUTPUT_FILE4. "Output 4 to PC Server
*** Create File 5
PERFORM EXTRACT_DATA5. "Extract data 5
PERFORM WRITE_OUTPUT_FILE5. "Output 5 to PC Server
*** Create File 6
PERFORM EXTRACT_DATA6. "Extract data 6
PERFORM WRITE_OUTPUT_FILE6. "Output 6 to PC Server
*** Create File 7
PERFORM EXTRACT_DATA7. "Extract data 7
PERFORM WRITE_OUTPUT_FILE7. "Output 7 to PC Server
*** Write Report Summary
PERFORM WRITE_SUMMARY. "Write Summary Report
************************************************************************
* END-OF-SELECTION
************************************************************************
END-OF-SELECTION.
*------------------------------ FORMS ---------------------------------*
*&---------------------------------------------------------------------*
*& Form create_common_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_COMMON_HEADER.
MOVE: 'HHHHHHHHHH' TO HEADER(10).
* system Date and Time - YYYYMMDD to DD-MM-YYYY
MOVE: SY-DATUM+6(2) TO HEADER+10(2),
'-' TO HEADER+12(1),
SY-DATUM+4(2) TO HEADER+13(2),
'-' TO HEADER+15(1),
SY-DATUM(4) TO HEADER+16(4),
'-' TO HEADER+20(1).
* Time in HH:MM:SS
MOVE: SY-UZEIT(2) TO HEADER+21(2),
':' TO HEADER+23(1),
SY-UZEIT+2(2) TO HEADER+24(2),
':' TO HEADER+26(1),
SY-UZEIT+4(2) TO HEADER+27(2).
ENDFORM. " create_common_HEADER
*&---------------------------------------------------------------------*
*& Form EXTRACT_DATA1
*&---------------------------------------------------------------------*
* Extract Functional Location Data
*----------------------------------------------------------------------*
FORM EXTRACT_DATA1.
* Create Header Line
* MOVE: HEADER TO IT_MARA,
* 'H' TO IT_MARA+484(1).
*
* SELECT * FROM MARA CLIENT SPECIFIED WHERE MANDT = SY-MANDT.
* SELECT * FROM MAKT WHERE MATNR = MARA-MATNR
* and SPRAS = 'E'.
* SELECT * FROM MBEW WHERE MATNR = MARA-MATNR.
SELECT A~MATNR
B~MAKTX
A~PRDHA
A~AENAM
A~BRGEW
C~XBEWM
A~EAN11
A~ERSDA
A~GEWEI
A~LAEDA
A~MEINS
A~MHDHB
A~MSTAE
A~MSTDE
A~MTART
A~NTGEW
A~SPART
A~TAKLV
A~ZZTXT4
A~ZZTXT2
A~ZZCBOX1
A~ZZMULTI1
A~ZZMULTI2
A~TEMPB
A~XGCHP
A~NUMTP
A~MTPOS_MARA
A~MHDRZ
A~BISMT
A~IPRKZ
A~KOSCH
A~MSTAV
A~ZZTXT1
A~ZZTXT3
A~ZZTXT5
A~ZZTXT6
A~ZZNUMC1
A~ZZNUMC2
A~ZZNUMC3
A~ZZNUMC4
A~ZZQTY1
A~ZZQTY2
A~ZZUNIT1
A~ZZUNIT2
A~ZZCBOX2
A~ZZCBOX3
A~ZZCBOX4
A~ZZDATE1
A~ZZDATE2
APPENDING TABLE IT_MARA
FROM MARA AS A inner JOIN MAKT AS B ON A~MATNR = B~MATNR
inner JOIN MBEW AS C ON A~MATNR = C~MATNR
WHERE A~MANDT = SY-MANDT AND
( B~SPRAS = 'E' ).
LOOP AT IT_MARA.
IF W_TOTAL1 GE P_RLIMIT. EXIT. ENDIF.
* MOVE-CORRESPONDING MARA TO IT_MARA.
* MOVE-CORRESPONDING MAKT TO IT_MARA.
* MOVE-CORRESPONDING MBEW TO IT_MARA.
MOVE IT_MARA-MEINS TO w_MSEHI.
* Convert SAP CODE TO ISOCODE
CALL FUNCTION 'SAP_TO_ISO_MEASURE_UNIT_CODE'
EXPORTING
SAP_CODE = W_MSEHI
IMPORTING
ISO_CODE = w_isocode
EXCEPTIONS
NOT_FOUND = 1
NO_ISO_CODE = 2.
MOVE W_ISOCODE TO IT_MARA-MEINS.
* Data Extraction Date
CLEAR ERDATI.
MOVE: SY-DATUM(4) TO ERDATI+4(4),
SY-DATUM+4(2) TO ERDATI+2(2),
SY-DATUM+6(2) TO ERDATI(2).
MOVE: ERDATI TO IT_MARA-EXTRACT_DATE. "Extract Date
MOVE: 'EU' TO IT_MARA-CTY_FLAG. "Country Flag
MOVE: 'B' TO IT_MARA-BODY_FLAG. "BODY_FLAG
* APPEND IT_MARA.
* CLEAR IT_MARA.
MODIFY IT_MARA.
CLEAR IT_MARA.
W_TOTAL1 = W_TOTAL1 + 1.
* ENDSELECT.
* ENDSELECT.
* ENDSELECT.
ENDLOOP.
LOOP AT IT_MARA.
* Create Header Line
MOVE: HEADER TO IT_MARA,
'H' TO IT_MARA+484(1).
* Create Footer
MOVE: 'FFFFFFFFFF' TO IT_MARA(10),
W_TOTAL1 TO IT_MARA+10(9),
'F' TO IT_MARA+484(1).
APPEND IT_MARA.
CLEAR IT_MARA.
ENDLOOP.
* Loop at IT_MARA.
Delete adjacent duplicates from IT_MARA.
SORT IT_MARA BY MATNR.
* Endloop.
ENDFORM. " EXTRACT_DATA1
*&---------------------------------------------------------------------*
*& Form WRITE_OUTPUT_FILE1
*&---------------------------------------------------------------------*
* Create Output file1
*----------------------------------------------------------------------*
FORM WRITE_OUTPUT_FILE1.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = P_FILEO1
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_MARA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERRO
Hi Samir,
After looking at your code we think that the reason for dump is
-You cannot move Amount/Quantity fields into character fields, by mentioning character fields in internal table.
For example BGREW.
That best practice is to define the internal table with LIKE/TYPE.
Regards,
Sudhir/Mohit
These dumps are not just to waste paper.
Reading 'm helps you out quite often (as is reading the help, but that is another discussion).