Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

about internal tables

Former Member
0 Likes
552

hi,

can i have one internal table into another internal table.

i am asking this because i have somany headers under which i have somany item details.

if not suggest me to update the internal table with an example.

the thing is i have the file in the presentation server.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
527

hi ibrahim,

take simple step define different internal table, populate seperatly by reference and then pass into final internal output table and final internal table will b the collection of all fields that u difined in your different interanal table.

jus check this example.

REPORT ZVIJF2 LINE-SIZE 250 LINE-COUNT 50.

TABLES: MARA,MARC,MARD,MBEW,MARM,EKKO,EKPO,EBAN,EKBE.

DATA: BEGIN OF ITAB OCCURS 0,

MATNR LIKE MARA-MATNR,

ERNAM LIKE MARA-ERNAM,

MTART LIKE MARA-MTART,

END OF ITAB.

DATA: BEGIN OF JTAB OCCURS 0,

MATNR LIKE MARC-MATNR,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

END OF JTAB.

DATA: BEGIN OF MTAB OCCURS 0,

MATNR LIKE MARD-MATNR,

WERKS LIKE MARD-WERKS,

LGORT LIKE MARD-LGORT,

END OF MTAB.

DATA: BEGIN OF NTAB OCCURS 0,

MATNR LIKE MBEW-MATNR,

BWKEY LIKE MBEW-BWKEY,

BKLAS LIKE MBEW-BKLAS,

END OF NTAB.

DATA: BEGIN OF PTAB OCCURS 0,

MATNR LIKE MARM-MATNR,

MEINH LIKE MARM-MEINH,

GEWEI LIKE MARM-GEWEI,

END OF PTAB.

DATA: BEGIN OF RTAB OCCURS 0,

ESTKZ LIKE EBAN-ESTKZ,

MATNR LIKE EBAN-MATNR,

MATKL LIKE EBAN-MATKL,

END OF RTAB.

*DATA: BEGIN OF STAB OCCURS 0,

  • EBELN LIKE EKBE-EBELN,

  • BELNR LIKE EKBE-BELNR,

  • BUZEI LIKE EKBE-BUZEI,

  • MATNR LIKE EKBE-MATNR,

  • END OF STAB.

DATA: BEGIN OF KTAB OCCURS 0,

MATNR LIKE MARA-MATNR,

ERNAM LIKE MARA-ERNAM,

MTART LIKE MARA-MTART,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

LGORT LIKE MARD-LGORT,

BWKEY LIKE MBEW-BWKEY,

BKLAS LIKE MBEW-BKLAS,

MEINH LIKE MARM-MEINH,

GEWEI LIKE MARM-GEWEI,

ESTKZ LIKE EBAN-ESTKZ,

MATKL LIKE EBAN-MATKL,

  • EBELN LIKE EKBE-EBELN,

  • BELNR LIKE EKBE-BELNR,

  • BUZEI LIKE EKBE-BUZEI,

END OF KTAB.

SELECT-OPTIONS: MATNR FOR MARA-MATNR.

*PARAMETER: MTART TYPE MARA-MTART.

  • SELECT AMATNR AERNAM AMTART BWERKS B~PSTAT INTO CORRESPONDING

*FIELDS OF TABLE ITAB FROM MARA AS A INNER JOIN MARC AS B ON A~MATNR =

*B~MATNR.

*LOOP AT ITAB.

*REFRESH ITAB.

SELECT MATNR ERNAM MTART FROM MARA APPENDING CORRESPONDING FIELDS OF

TABLE

ITAB WHERE MATNR IN MATNR.

*APPEND ITAB.

*CLEAR ITAB.

*REFRESH JTAB.

*MTART IN MTART.

LOOP AT ITAB.

SELECT MATNR WERKS PSTAT FROM MARC APPENDING CORRESPONDING FIELDS OF

TABLE

JTAB

WHERE MATNR = ITAB-MATNR.

*APPEND JTAB.

SELECT MATNR LGORT FROM MARD APPENDING CORRESPONDING FIELDS OF TABLE

MTAB

WHERE MATNR = ITAB-MATNR.

*APPEND MTAB.

SELECT MATNR BWKEY BKLAS FROM MBEW APPENDING CORRESPONDING FIELDS OF

TABLE

NTAB

WHERE MATNR = ITAB-MATNR.

*APPEND NTAB.

SELECT MATNR MEINH GEWEI FROM MARM APPENDING CORRESPONDING FIELDS OF

TABLE

PTAB

WHERE MATNR = ITAB-MATNR.

*APPEND PTAB.

*LOOP AT ITAB.

SORT RTAB BY MATNR ESTKZ MATKL.

SELECT MATNR ESTKZ MATKL FROM EBAN APPENDING CORRESPONDING FIELDS OF

TABLE

RTAB

WHERE MATNR = ITAB-MATNR.

*APPEND RTAB.

*ENDLOOP.

*LOOP AT ITAB.

*SORT STAB BY MATNR EBELN BELNR BUZEI.

*SELECT MATNR EBELN BELNR BUZEI FROM EKBE INTO CORRESPONDING FIELDS OF

*STAB

*WHERE MATNR = ITAB-MATNR.

*APPEND STAB.

**ENDLOOP.

*ENDSELECT.

*ENDSELECT.

**ENDLOOP.

*

*ENDSELECT.

*

*ENDSELECT.

*

*ENDSELECT.

**CLEAR JTAB.

*ENDSELECT.

*ENDSELECT.

*APPEND JTAB.

**CLEAR JTAB.

*APPEND ITAB.

*CLEAR JTAB.

*ENDSELECT.

*ENDSELECT.

*

*

ENDLOOP.

LOOP AT ITAB.

MOVE-CORRESPONDING ITAB TO KTAB. APPEND KTAB .

ENDLOOP.

LOOP AT JTAB.

LOOP AT KTAB WHERE MATNR = JTAB-MATNR.

MOVE-CORRESPONDING JTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT MTAB.

LOOP AT KTAB WHERE MATNR = MTAB-MATNR.

MOVE-CORRESPONDING MTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

**

LOOP AT NTAB.

LOOP AT KTAB WHERE MATNR = NTAB-MATNR.

MOVE-CORRESPONDING NTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT PTAB.

LOOP AT KTAB WHERE MATNR = PTAB-MATNR.

MOVE-CORRESPONDING PTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT RTAB.

LOOP AT KTAB WHERE MATNR = RTAB-MATNR.

MOVE-CORRESPONDING RTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

*LOOP AT STAB.

*LOOP AT KTAB WHERE MATNR = STAB-MATNR.

*MOVE-CORRESPONDING STAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

*ENDLOOP.

*ENDLOOP.

*

*

WRITE:/2(10) 'MATERIAL NO', 15(10) 'CREATED BY', 25(10) 'MTYPE'

, 40(6) 'PLANT', 50(10) 'STATUS', 65(10) 'ST_LOCATION', 80(8)

'VAL_AREA'

,90(9) 'VAL_CLASS',100(7) 'UOM', 110(7) 'WT_UNIT',118(6) 'CR_IND',

125(10) 'CR_BY'.",136(15)" 'PUR_DOC', 155(15) 'MAT_DOC', 173(10) 'ITEM'.

*LOOP AT KTAB.

*WRITE:/2(18) KTAB-MATNR ,KTAB-ERNAM UNDER 'CREATED BY',

*KTAB-MTART UNDER 'MTYPE',KTAB-WERKS UNDER 'PLANT',KTAB-PSTAT UNDER

*'STATUS'.

*ENDLOOP.

*LOOP AT ITAB.

LOOP AT KTAB.

WRITE:/2(18) KTAB-MATNR ,KTAB-ERNAM UNDER 'CREATED BY',

KTAB-MTART UNDER 'MTYPE',KTAB-WERKS UNDER 'PLANT',KTAB-PSTAT UNDER

'STATUS', KTAB-LGORT UNDER 'ST_LOCATION', KTAB-BWKEY UNDER 'VAL_AREA',

KTAB-BKLAS UNDER 'VAL_CLASS', KTAB-MEINH UNDER 'UOM', KTAB-GEWEI UNDER

'WT_UNIT',KTAB-ESTKZ UNDER 'CR_IND',KTAB-MATKL UNDER 'CR_BY'.",

*KTAB-EBELN

  • UNDER 'PUR_DOC',KTAB-BELNR UNDER 'MAT_DOC',KTAB-BUZEI UNDER 'ITEM'

*.

ENDLOOP.

*ENDLOOP.

FREE ITAB.

FREE JTAB.

FREE KTAB.

regards

vijay dwivedi

rewards if usefull*

hi,

can i have one internal table into another internal table.

i am asking this because i have somany headers under which i have somany item details.

if not suggest me to update the internal table with an example.

the thing is i have the file in the presentation server.

2 REPLIES 2
Read only

Former Member
0 Likes
527

can you please be specific on how would you want to handle the records..atleast can you give us some examples?

Read only

Former Member
0 Likes
528

hi ibrahim,

take simple step define different internal table, populate seperatly by reference and then pass into final internal output table and final internal table will b the collection of all fields that u difined in your different interanal table.

jus check this example.

REPORT ZVIJF2 LINE-SIZE 250 LINE-COUNT 50.

TABLES: MARA,MARC,MARD,MBEW,MARM,EKKO,EKPO,EBAN,EKBE.

DATA: BEGIN OF ITAB OCCURS 0,

MATNR LIKE MARA-MATNR,

ERNAM LIKE MARA-ERNAM,

MTART LIKE MARA-MTART,

END OF ITAB.

DATA: BEGIN OF JTAB OCCURS 0,

MATNR LIKE MARC-MATNR,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

END OF JTAB.

DATA: BEGIN OF MTAB OCCURS 0,

MATNR LIKE MARD-MATNR,

WERKS LIKE MARD-WERKS,

LGORT LIKE MARD-LGORT,

END OF MTAB.

DATA: BEGIN OF NTAB OCCURS 0,

MATNR LIKE MBEW-MATNR,

BWKEY LIKE MBEW-BWKEY,

BKLAS LIKE MBEW-BKLAS,

END OF NTAB.

DATA: BEGIN OF PTAB OCCURS 0,

MATNR LIKE MARM-MATNR,

MEINH LIKE MARM-MEINH,

GEWEI LIKE MARM-GEWEI,

END OF PTAB.

DATA: BEGIN OF RTAB OCCURS 0,

ESTKZ LIKE EBAN-ESTKZ,

MATNR LIKE EBAN-MATNR,

MATKL LIKE EBAN-MATKL,

END OF RTAB.

*DATA: BEGIN OF STAB OCCURS 0,

  • EBELN LIKE EKBE-EBELN,

  • BELNR LIKE EKBE-BELNR,

  • BUZEI LIKE EKBE-BUZEI,

  • MATNR LIKE EKBE-MATNR,

  • END OF STAB.

DATA: BEGIN OF KTAB OCCURS 0,

MATNR LIKE MARA-MATNR,

ERNAM LIKE MARA-ERNAM,

MTART LIKE MARA-MTART,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

LGORT LIKE MARD-LGORT,

BWKEY LIKE MBEW-BWKEY,

BKLAS LIKE MBEW-BKLAS,

MEINH LIKE MARM-MEINH,

GEWEI LIKE MARM-GEWEI,

ESTKZ LIKE EBAN-ESTKZ,

MATKL LIKE EBAN-MATKL,

  • EBELN LIKE EKBE-EBELN,

  • BELNR LIKE EKBE-BELNR,

  • BUZEI LIKE EKBE-BUZEI,

END OF KTAB.

SELECT-OPTIONS: MATNR FOR MARA-MATNR.

*PARAMETER: MTART TYPE MARA-MTART.

  • SELECT AMATNR AERNAM AMTART BWERKS B~PSTAT INTO CORRESPONDING

*FIELDS OF TABLE ITAB FROM MARA AS A INNER JOIN MARC AS B ON A~MATNR =

*B~MATNR.

*LOOP AT ITAB.

*REFRESH ITAB.

SELECT MATNR ERNAM MTART FROM MARA APPENDING CORRESPONDING FIELDS OF

TABLE

ITAB WHERE MATNR IN MATNR.

*APPEND ITAB.

*CLEAR ITAB.

*REFRESH JTAB.

*MTART IN MTART.

LOOP AT ITAB.

SELECT MATNR WERKS PSTAT FROM MARC APPENDING CORRESPONDING FIELDS OF

TABLE

JTAB

WHERE MATNR = ITAB-MATNR.

*APPEND JTAB.

SELECT MATNR LGORT FROM MARD APPENDING CORRESPONDING FIELDS OF TABLE

MTAB

WHERE MATNR = ITAB-MATNR.

*APPEND MTAB.

SELECT MATNR BWKEY BKLAS FROM MBEW APPENDING CORRESPONDING FIELDS OF

TABLE

NTAB

WHERE MATNR = ITAB-MATNR.

*APPEND NTAB.

SELECT MATNR MEINH GEWEI FROM MARM APPENDING CORRESPONDING FIELDS OF

TABLE

PTAB

WHERE MATNR = ITAB-MATNR.

*APPEND PTAB.

*LOOP AT ITAB.

SORT RTAB BY MATNR ESTKZ MATKL.

SELECT MATNR ESTKZ MATKL FROM EBAN APPENDING CORRESPONDING FIELDS OF

TABLE

RTAB

WHERE MATNR = ITAB-MATNR.

*APPEND RTAB.

*ENDLOOP.

*LOOP AT ITAB.

*SORT STAB BY MATNR EBELN BELNR BUZEI.

*SELECT MATNR EBELN BELNR BUZEI FROM EKBE INTO CORRESPONDING FIELDS OF

*STAB

*WHERE MATNR = ITAB-MATNR.

*APPEND STAB.

**ENDLOOP.

*ENDSELECT.

*ENDSELECT.

**ENDLOOP.

*

*ENDSELECT.

*

*ENDSELECT.

*

*ENDSELECT.

**CLEAR JTAB.

*ENDSELECT.

*ENDSELECT.

*APPEND JTAB.

**CLEAR JTAB.

*APPEND ITAB.

*CLEAR JTAB.

*ENDSELECT.

*ENDSELECT.

*

*

ENDLOOP.

LOOP AT ITAB.

MOVE-CORRESPONDING ITAB TO KTAB. APPEND KTAB .

ENDLOOP.

LOOP AT JTAB.

LOOP AT KTAB WHERE MATNR = JTAB-MATNR.

MOVE-CORRESPONDING JTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT MTAB.

LOOP AT KTAB WHERE MATNR = MTAB-MATNR.

MOVE-CORRESPONDING MTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

**

LOOP AT NTAB.

LOOP AT KTAB WHERE MATNR = NTAB-MATNR.

MOVE-CORRESPONDING NTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT PTAB.

LOOP AT KTAB WHERE MATNR = PTAB-MATNR.

MOVE-CORRESPONDING PTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

LOOP AT RTAB.

LOOP AT KTAB WHERE MATNR = RTAB-MATNR.

MOVE-CORRESPONDING RTAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

ENDLOOP.

ENDLOOP.

*LOOP AT STAB.

*LOOP AT KTAB WHERE MATNR = STAB-MATNR.

*MOVE-CORRESPONDING STAB TO KTAB. MODIFY KTAB INDEX SY-TABIX.

*ENDLOOP.

*ENDLOOP.

*

*

WRITE:/2(10) 'MATERIAL NO', 15(10) 'CREATED BY', 25(10) 'MTYPE'

, 40(6) 'PLANT', 50(10) 'STATUS', 65(10) 'ST_LOCATION', 80(8)

'VAL_AREA'

,90(9) 'VAL_CLASS',100(7) 'UOM', 110(7) 'WT_UNIT',118(6) 'CR_IND',

125(10) 'CR_BY'.",136(15)" 'PUR_DOC', 155(15) 'MAT_DOC', 173(10) 'ITEM'.

*LOOP AT KTAB.

*WRITE:/2(18) KTAB-MATNR ,KTAB-ERNAM UNDER 'CREATED BY',

*KTAB-MTART UNDER 'MTYPE',KTAB-WERKS UNDER 'PLANT',KTAB-PSTAT UNDER

*'STATUS'.

*ENDLOOP.

*LOOP AT ITAB.

LOOP AT KTAB.

WRITE:/2(18) KTAB-MATNR ,KTAB-ERNAM UNDER 'CREATED BY',

KTAB-MTART UNDER 'MTYPE',KTAB-WERKS UNDER 'PLANT',KTAB-PSTAT UNDER

'STATUS', KTAB-LGORT UNDER 'ST_LOCATION', KTAB-BWKEY UNDER 'VAL_AREA',

KTAB-BKLAS UNDER 'VAL_CLASS', KTAB-MEINH UNDER 'UOM', KTAB-GEWEI UNDER

'WT_UNIT',KTAB-ESTKZ UNDER 'CR_IND',KTAB-MATKL UNDER 'CR_BY'.",

*KTAB-EBELN

  • UNDER 'PUR_DOC',KTAB-BELNR UNDER 'MAT_DOC',KTAB-BUZEI UNDER 'ITEM'

*.

ENDLOOP.

*ENDLOOP.

FREE ITAB.

FREE JTAB.

FREE KTAB.

regards

vijay dwivedi

rewards if usefull*