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

report

Former Member
0 Likes
1,112

how to add n no. of internal tables into one final internal tables

1 ACCEPTED SOLUTION
Read only

prasanth_kasturi
Active Contributor
0 Likes
1,082

hi,

you can use append lines statement

Append lines of int_fligh1 to int_fligh2.

reward if helpful

prasanth

9 REPLIES 9
Read only

Former Member
0 Likes
1,082

hi mahimaa,

move-corresponding statement will help to move the values from internal table to other internal table.

Regards...

Arun.

Read only

Former Member
0 Likes
1,082

see below.

Edited by: Vishvesh.K on May 30, 2008 10:51 AM

Read only

Former Member
0 Likes
1,082

Hi ,

see below code, you may get idea about merging internal tables.

&----


*& Report Z_VER_RPG4

*&

&----


*&

*&

&----


REPORT Z_VER_RPG4.

tables : kna1,

vbak,

vbap,

vbep.

types: begin of typ_kna1,

kunnr type kunnr,

name1 type name1,

land1 type land1,

end of typ_kna1.

types: begin of typ_vbak,

vbeln type vbeln,

erdat type erdat,

netwr type netwr,

kunnr type kunnr,

end of typ_vbak.

types: begin of typ_vbap,

vbeln type vbeln,

posnr type posnr,

matnr type matnr,

kwmeng type kwmeng,

vrkme type vrkme,

end of typ_vbap.

types : begin of typ_vbep,

vbeln type vbeln,

posnr type posnr,

etenr type etenr,

bmeng type bmeng,

vrkme type vrkme,

end of typ_vbep.

types: begin of typ_final,

kunnr type kunnr,

vbeln type vbeln,

posnr type posnr,

etenr type etenr,

matnr type matnr,

kwmeng type kwmeng,

vrkme type vrkme,

end of typ_final.

data : it_kna1 type standard table of typ_kna1 initial size 1,

it_vbak type standard table of typ_vbak initial size 1,

it_vbap type standard table of typ_vbap initial size 1,

it_vbep type standard table of typ_vbep initial size 1,

it_final type standard table of typ_final initial size 1,

wa_kna1 type typ_kna1,

wa_vbak type typ_vbak,

wa_vbap type typ_vbap,

wa_vbep type typ_vbep,

wa_final type typ_final.

*parameters : p_name(21) modif id abc.

select-options: s_kunnr for kna1-kunnr matchcode object DEBI.

top-of-page.

write:/ 'stop' color 4.

start-of-selection.

select kunnr name1 land1

from kna1

into table it_kna1

where kunnr in s_kunnr.

if sy-subrc eq 0.

sort it_kna1.

else.

message ' not found records' type 'E'.

endif.

if it_kna1[] is not initial.

select vbeln erdat netwr kunnr

from vbak

into table it_vbak

for all entries in it_kna1

where kunnr eq it_kna1-kunnr.

if sy-subrc eq '0'.

sort it_vbak.

else.

message 'Not found records in order level' type 'E'.

endif.

endif.

if it_vbak[] is not initial.

select vbeln posnr matnr kwmeng vrkme

from vbap

into table it_vbap

for all entries in it_vbak

where vbeln eq it_vbak-vbeln.

if sy-subrc eq '0'.

sort it_vbap.

else.

message 'not found records in item level' type 'E'.

endif.

endif.

if it_vbap[] is not initial.

select vbeln posnr etenr bmeng vrkme

from vbep

into table it_vbep

for all entries in it_vbap

where vbeln eq it_vbap-vbeln

and posnr eq it_vbap-posnr.

if sy-subrc eq 0.

sort it_vbep.

else.

message 'not found records in schedule level' type 'E'.

endif.

endif.

end-of-selection.

loop at it_vbep into wa_vbep.

READ TABLE it_vbap INTO wa_vbap WITH KEY vbeln = wa_vbep-vbeln.

if sy-subrc eq 0.

READ TABLE it_vbak INTO wa_vbak WITH KEY vbeln = wa_vbap-vbeln.

if sy-subrc eq 0.

READ TABLE it_kna1 INTO wa_kna1 WITH KEY kunnr = wa_vbak-kunnr.

if sy-subrc eq 0.

wa_final-kunnr = wa_kna1-kunnr.

wa_final-vbeln = wa_vbak-vbeln.

wa_final-posnr = wa_vbap-posnr.

wa_final-etenr = wa_vbep-etenr.

wa_final-matnr = wa_vbap-matnr.

wa_final-kwmeng = wa_vbap-kwmeng.

wa_final-vrkme = wa_vbap-vrkme.

append wa_final to it_final.

endif.

endif.

endif.

endloop.

Regards,

Vishvesh

if helpful, rewards it.

Read only

Former Member
0 Likes
1,082

Loop at itab1.

read table itab2 with key field1 = itab1-field1.

read table itab3 with key field1 = itab1-field1.

read table itab4 with key field1 = itab1-field1.

itab5-field1 = itab1-field1.

itab5-field2 = itab1-field2.

itab5-field3 = itab1-field3.

modify itab5.

endloopl.

Read only

prasanth_kasturi
Active Contributor
0 Likes
1,083

hi,

you can use append lines statement

Append lines of int_fligh1 to int_fligh2.

reward if helpful

prasanth

Read only

Former Member
0 Likes
1,082

Hi,

Just goo through the looping part which is nothing but reading other internal tables into final

&----


*& Report YVCHIERSEQASS4 *

*& *

&----


*& *

*& *

&----


REPORT yvchierseqass4 .

TYPE-POOLS:slis.

TABLES: sscrfields.

DATA:t_vbak TYPE STANDARD TABLE OF vbak INITIAL SIZE 0,

t_kna1 TYPE STANDARD TABLE OF kna1 INITIAL SIZE 0,

t_likp TYPE STANDARD TABLE OF likp INITIAL SIZE 0,

t_lips TYPE STANDARD TABLE OF lips INITIAL SIZE 0,

t_vbap TYPE STANDARD TABLE OF vbap INITIAL SIZE 0,

t_vbep TYPE STANDARD TABLE OF vbep INITIAL SIZE 0,

it_lips TYPE STANDARD TABLE OF lips INITIAL SIZE 0,

w_vbak TYPE vbak,

w_likp TYPE likp,

w_kna1 TYPE kna1,

w_lips TYPE lips,

w_vbap TYPE vbap,

w_vbep TYPE vbep,

iw_lips TYPE lips,

g_vbeln TYPE vbak-vbeln,

w_fieldcat TYPE slis_fieldcat_alv,

t_fieldcat TYPE slis_t_fieldcat_alv,

w_keyinfo TYPE slis_keyinfo_alv.

TYPES:BEGIN OF ty_output,

vbeln TYPE vbeln_va,

ernam TYPE ernam,

vgbel TYPE vgbel,

kunnr TYPE kunag,

name1 TYPE name1,

vkorg TYPE vkorg,

lfart TYPE lfart,

END OF ty_output.

DATA:w_output TYPE ty_output,

t_output TYPE TABLE OF ty_output.

TYPES:BEGIN OF i_output,

vbeln TYPE vbeln_va,

posnr TYPE posnr,

vgbel TYPE vgbel,

matnr TYPE matnr,

etenr TYPE etenr,

lfrel TYPE lfrel,

ernam TYPE ernam,

matkl TYPE matkl,

END OF i_output.

DATA:iw_output TYPE i_output,

it_output TYPE TABLE OF i_output.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

SELECT-OPTIONS:s_vbeln FOR g_vbeln.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN: FUNCTION KEY 1.

...

DATA: link TYPE TABLE OF tline .

AT SELECTION-SCREEN.

IF sscrfields-ucomm = 'FC01'.

CALL FUNCTION 'HELP_OBJECT_SHOW'

EXPORTING

dokclass = 'DE'

doklangu = sy-langu

dokname = 'YDOC'

  • DOKTITLE = ' '

  • CALLED_BY_PROGRAM = ' '

  • CALLED_BY_DYNP = ' '

  • CALLED_FOR_TAB = ' '

  • CALLED_FOR_FIELD = ' '

  • CALLED_FOR_TAB_FLD_BTCH_INPUT = ' '

  • MSG_VAR_1 = ' '

  • MSG_VAR_2 = ' '

  • MSG_VAR_3 = ' '

  • MSG_VAR_4 = ' '

  • CALLED_BY_CUAPROG = ' '

  • CALLED_BY_CUASTAT =

  • SHORT_TEXT = ' '

  • CLASSIC_SAPSCRIPT = ' '

TABLES

links = link

  • EXCEPTIONS

  • OBJECT_NOT_FOUND = 1

  • SAPSCRIPT_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

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

ENDIF.

ENDIF.

INITIALIZATION.

DATA: lv_id TYPE icon.

SELECT SINGLE * FROM icon INTO lv_id WHERE name = 'ICON_INFORMATION' .

MOVE lv_id-internal TO sscrfields-functxt_01.

CLEAR:w_vbak,

w_likp,

w_kna1,

w_vbap,

w_vbep,

w_lips,

iw_lips.

REFRESH:t_vbak,

t_likp,

t_kna1,

t_vbap,

t_vbep,

t_lips,

it_lips.

START-OF-SELECTION.

PERFORM sub_get_vbak.

PERFORM sub_get_lips.

PERFORM sub_get_likp.

PERFORM sub_get_kna1.

PERFORM sub_get_output.

PERFORM sub_get_vbap.

PERFORM sub_get_vbep.

PERFORM sub_get_itlips.

PERFORM sub_get_item.

PERFORM sub_disp_output.

*PERFORM IDISP.

FORM sub_get_vbak.

SELECT * FROM vbak INTO TABLE t_vbak WHERE vbeln IN s_vbeln.

ENDFORM. "SUB_GET_VBAK

&----


*& Form SUB_GET_LIPS

&----


  • text

----


FORM sub_get_lips.

SELECT * FROM lips INTO TABLE t_lips FOR ALL ENTRIES IN t_vbak WHERE

vgbel = t_vbak-vbeln.

ENDFORM. "SUB_GET_LIPS

&----


*& Form SUB_GET_LIKP

&----


  • text

----


FORM sub_get_likp.

SELECT * FROM likp INTO TABLE t_likp FOR ALL ENTRIES IN t_lips WHERE

vbeln = t_lips-vbeln.

ENDFORM. "SUB_GET_LIKP

&----


*& Form SUB_GET_KNA1

&----


  • text

----


FORM sub_get_kna1.

SELECT * FROM kna1 INTO TABLE t_kna1 FOR ALL ENTRIES IN t_vbak WHERE

kunnr = t_vbak-kunnr.

ENDFORM. "SUB_GET_KNA1

&----


*& Form SUB_GET_OUTPUT

&----


  • text

----


FORM sub_get_output.

LOOP AT t_vbak INTO w_vbak.

w_output-vbeln = w_vbak-vbeln.

w_output-ernam = w_vbak-ernam.

w_output-kunnr = w_vbak-kunnr.

READ TABLE t_lips INTO w_lips WITH KEY vgbel = w_vbak-vbeln.

*W_OUTPUT-VBELN = W_LIPS-VBELN.

IF sy-subrc = 0.

*W_OUTPUT-VGBEL = W_LIPS-VGBEL.

READ TABLE t_likp INTO w_likp WITH KEY vbeln = w_lips-vbeln.

IF sy-subrc = 0.

w_output-vkorg = w_likp-vkorg.

w_output-lfart = w_likp-lfart.

ENDIF.

ENDIF.

READ TABLE t_kna1 INTO w_kna1 WITH KEY kunnr = w_vbak-kunnr.

IF sy-subrc = 0.

w_output-name1 = w_kna1-name1.

ENDIF.

APPEND w_output TO t_output.

CLEAR w_output.

ENDLOOP.

*LOOP AT T_LIPS INTO W_LIPS.

*W_OUTPUT-VGBEL = W_LIPS-VGBEL.

*CLEAR W_VBAK.

*READ TABLE T_VBAK INTO W_VBAK WITH KEY VGBEL = W_LIPS-VGBEL.

*IF SY-SUBRC = 0.

*W_OUTPUT-VBELN = W_VBAK-VBELN.

*W_OUTPUT-ERNAM = W_VBAK-ERNAM.

*W_OUTPUT-KUNNR = W_VBAK-KUNNR.

*ENDIF.

*CLEAR W_LIKP.

*READ TABLE T_LIKP INTO W_LIKP WITH KEY VBELN = W_LIPS-VBELN.

*IF SY-SUBRC = 0.

*W_OUTPUT-VKORG = W_LIKP-VKORG.

*W_OUTPUT-LFART = W_LIKP-LFART.

*ENDIF.

*CLEAR W_KNA1.

*READ TABLE T_KNA1 INTO W_KNA1 WITH KEY KUNNR = W_VBAK-KUNNR.

*IF SY-SUBRC = 0.

*W_OUTPUT-NAME1 = W_KNA1-NAME1.

*ENDIF.

*APPEND W_OUTPUT TO T_OUTPUT.

*CLEAR W_OUTPUT.

*ENDLOOP.

*

ENDFORM. "SUB_GET_OUTPUT

*FORM DISP.

*

*LOOP AT T_OUTPUT INTO W_OUTPUT.

*WRITE:/ W_OUTPUT-VBELN,W_OUTPUT-ERNAM,W_OUTPUT-VGBEL,W_OUTPUT-KUNNR,

*W_OUTPUT-LFART,W_OUTPUT-VKORG,W_OUTPUT-NAME1.

*ENDLOOP.

*

*ENDFORM.

*****************ITEM DATA*************************************

FORM sub_get_vbap.

SELECT * FROM vbap INTO TABLE t_vbap FOR ALL ENTRIES IN t_vbak WHERE

vbeln = t_vbak-vbeln.

ENDFORM. "SUB_GET_VBAP

&----


*& Form SUB_GET_VBEP

&----


  • text

----


FORM sub_get_vbep.

SELECT * FROM vbep INTO TABLE t_vbep FOR ALL ENTRIES IN t_vbap WHERE

vbeln = t_vbap-vbeln.

ENDFORM. "SUB_GET_VBEP

&----


*& Form SUB_GET_ITLIPS

&----


  • text

----


FORM sub_get_itlips.

SELECT * FROM lips INTO TABLE it_lips FOR ALL ENTRIES IN t_vbap WHERE

vgbel = t_vbap-vbeln.

ENDFORM. "SUB_GET_ITLIPS

&----


*& Form SUB_GET_ITEM

&----


  • text

----


FORM sub_get_item.

LOOP AT t_vbap INTO w_vbap.

iw_output-vbeln = w_vbap-vbeln.

iw_output-posnr = w_vbap-posnr.

iw_output-vgbel = w_vbap-vgbel.

CLEAR w_lips.

READ TABLE it_lips INTO iw_lips WITH KEY vgbel = w_vbap-vbeln.

IF sy-subrc = 0.

iw_output-matnr = iw_lips-matnr.

iw_output-ernam = iw_lips-ernam.

iw_output-matkl = iw_lips-matkl.

ENDIF.

CLEAR w_vbep.

READ TABLE t_vbep INTO w_vbep WITH KEY vbeln = w_vbap-vbeln.

IF sy-subrc = 0.

iw_output-etenr = w_vbep-etenr.

iw_output-lfrel = w_vbep-lfrel.

ENDIF.

APPEND iw_output TO it_output.

CLEAR iw_output.

ENDLOOP.

ENDFORM. "SUB_GET_ITEM

&----


*& Form SUB_DISP_OUTPUT

&----


  • text

----


FORM sub_disp_output.

**********HEADER HEADINGS********************

w_fieldcat-col_pos = 1.

w_fieldcat-fieldname = 'VBELN'.

w_fieldcat-seltext_m = 'SALESORDER'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 2.

w_fieldcat-fieldname = 'ERNAM'.

w_fieldcat-seltext_m = 'ERNAME'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 3.

w_fieldcat-fieldname = 'KUNNR'.

w_fieldcat-seltext_m = 'KUNNR'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 4.

w_fieldcat-fieldname = 'VKORG'.

w_fieldcat-seltext_m = 'VKORG'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 5.

w_fieldcat-fieldname = 'LFART'.

w_fieldcat-seltext_m = 'LFART'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 6.

w_fieldcat-fieldname = 'NAME1'.

w_fieldcat-seltext_m = 'NAME'.

w_fieldcat-tabname = 't_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

************ITEM HEADINGS****************

w_fieldcat-col_pos = 1.

w_fieldcat-fieldname = 'POSNR'.

w_fieldcat-seltext_m = 'SALES ITEM'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 2.

w_fieldcat-fieldname = 'VGBEL'.

w_fieldcat-seltext_m = 'VGBEL'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 3.

w_fieldcat-fieldname = 'MATNR'.

w_fieldcat-seltext_m = 'MAT GROUP'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 4.

w_fieldcat-fieldname = 'ERNAM'.

w_fieldcat-seltext_m = 'ERNAM'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 5.

w_fieldcat-fieldname = 'MATKL'.

w_fieldcat-seltext_m = 'MATKL'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 6.

w_fieldcat-fieldname = 'ETENR'.

w_fieldcat-seltext_m = 'ETENR'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_fieldcat-col_pos = 7.

w_fieldcat-fieldname = 'LFREL'.

w_fieldcat-seltext_m = 'LFREL'.

w_fieldcat-tabname = 'it_output'.

APPEND w_fieldcat TO t_fieldcat.

CLEAR w_fieldcat.

w_keyinfo-header01 = 'VBELN'.

w_keyinfo-item01 = 'VBELN'.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

i_callback_program = sy-cprog

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IS_LAYOUT =

it_fieldcat = t_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

i_tabname_header = 't_output' "T_OUTPUT

i_tabname_item = 'it_output' "IT_OUTPUT

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

is_keyinfo = w_keyinfo

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab_header = t_output

t_outtab_item = it_output.

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

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. "SUB_DISP_OUTPUT

.

Read only

Former Member
0 Likes
1,082

use move-corresponding statement if they dont have same structure and move statement if they have same structure

Read only

Former Member
0 Likes
1,082

Hi,

After each of your internal table, loop on it and append the fields of this internal table to your final internal table.Similarly do for the rest of your internal tables.

Read only

Former Member
0 Likes
1,082

hi here i had adder 4 internal tables in to one internal table..

report ztest.

tables:pa0002,pa0008,pa0021,pa0041.

data: begin of itab occurs 0,

pernr like pa0002-pernr,

vorna like pa0002-vorna,

nachn like pa0002-nachn,

end of itab.

data: begin of itab1 occurs 0,

pernr like pa0008-pernr,

begda like pa0008-begda,

stvor like pa0008-stvor,

ansal like pa0008-ansal,

end of itab1.

data :begin of itab2 occurs 0,

pernr like pa0021-pernr,

favor like pa0021-favor,

fanam like pa0021-fanam,

end of itab2.

data:begin of itab3 occurs 0,

pernr like pa0041-pernr,

dar01 like pa0041-dar01,

dat01 like pa0041-dat01,

end of itab3.

data:begin of final occurs 0,

pernr like pa0002-pernr,

vorna like pa0002-vorna,

nachn like pa0002-nachn,

begda like pa0008-begda,

stvor like pa0008-stvor,

ansal like pa0008-ansal,

favor like pa0021-favor,

fanam like pa0021-fanam,

dar01 like pa0041-dar01,

dat01 like pa0041-dat01,

end of final.

select-options:s_pernr for pa0002-pernr.

select pernr

vorna

nachn

from pa0002

into table itab

where pernr in s_pernr.

select pernr

begda

stvor

ansal

from pa0008

into table itab1

for all entries in itab

where pernr = itab-pernr.

select pernr

favor

fanam

from pa0021

into table itab2

for all entries in itab1

where pernr = itab1-pernr.

select pernr

dar01

dat01

from pa0041

into table itab3

for all entries in itab2

where pernr = itab2-pernr.

loop at itab.

final-pernr = itab-pernr.

final-vorna = itab-vorna.

final-nachn = itab-nachn.

read table itab1 with key pernr = itab-pernr.

final-begda = itab1-begda.

final-stvor = itab1-stvor.

final-ansal = itab1-ansal.

read table itab2 with key pernr = itab1-pernr.

final-favor = itab2-favor.

final-fanam = itab2-fanam.

read table itab3 with key pernr = itab2-pernr.

final-dar01 = itab3-dar01 .

final-dat01 = itab3-dat01.

append final.

clear final.

endloop.

loop at final.

write:final-pernr ,

final-vorna ,

final-nachn ,

final-begda ,

final-stvor ,

final-ansal ,

final-favor ,

final-fanam ,

final-dar01 ,

final-dat01 .

endloop.