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

Issue regarding internal tables

Former Member
0 Likes
621

Dear all,

My issue is that , I need to enter data into a single internal table by fetching data from two sap tables using two different selct quries. I should not use joins or for all entries. And display the internal table data in the list.

Problem am facing is only one select query is geeting fetched and the other table data in not in the list.

Pleas provide the possible solutions.

Thanks & Regards,

Madhavi.M

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
600

hi

if there is any common fields b/w two table then

do like this .

as u said u have data of i select statement in ITAB_FINAL then

make another internal table ITAB_2 select data from select query with that common field also into this .

then write .

LOOP at ITAB_FINAL.

LOOP at ITAB_2 where <common field> = ITAB_FINAL-common field.

ITAB_FINAL-F3 = ITAB_2-F3.

ITAB_FINAL-F4 = ITAB_2-F4.

ITAB_FINAL-F5 = ITAB_2-F5.

MODIFY ITAB_FINAL TRANSPORTING F3 F4 F5.

ENDLOOP.

ENDLOOP.

rewaed if helpful.

Dear all,

My issue is that , I need to enter data into a single internal table by fetching data from two sap tables using two different selct quries. I should not use joins or for all entries. And display the internal table data in the list.

Problem am facing is only one select query is geeting fetched and the other table data in not in the list.

Pleas provide the possible solutions.

Thanks & Regards,

Madhavi.M

3 REPLIES 3
Read only

Former Member
0 Likes
601

hi

if there is any common fields b/w two table then

do like this .

as u said u have data of i select statement in ITAB_FINAL then

make another internal table ITAB_2 select data from select query with that common field also into this .

then write .

LOOP at ITAB_FINAL.

LOOP at ITAB_2 where <common field> = ITAB_FINAL-common field.

ITAB_FINAL-F3 = ITAB_2-F3.

ITAB_FINAL-F4 = ITAB_2-F4.

ITAB_FINAL-F5 = ITAB_2-F5.

MODIFY ITAB_FINAL TRANSPORTING F3 F4 F5.

ENDLOOP.

ENDLOOP.

rewaed if helpful.

Read only

0 Likes
600

DATA: BEGIN OF itab1 OCCURS 0,

qmnum LIKE qmel-qmnum,

qmtxt LIKE qmel-qmtxt,

indtx LIKE qmel-indtx,

qmdat LIKE qmel-qmdat,

ltrmn LIKE qmel-ltrmn,

priok LIKE qmel-priok,

aufnr LIKE qmel-aufnr,

bezdt LIKE qmel-bezdt,

qmnam LIKE qmel-qmnam,

qmart LIKE qmel-qmart,

END OF itab1.

DATA: BEGIN OF itab2 OCCURS 0,

qmnum LIKE qmih-qmnum,

btpln LIKE qmih-btpln,

ingrp LIKE qmih-ingrp,

END OF itab2.

DATA : itab3 TYPE TABLE OF z_notif WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.

SELECT-OPTIONS : notnum FOR qmel-qmnum OBLIGATORY,

notype FOR qmel-qmart,

floc FOR qmih-btpln,

name FOR qmel-qmnam.

SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

                          • To fetch the values in the internal table ****************

                        • from ztable corresponding to the entries made *************

                                  • by the user in the selection screen ******************

SELECT qmnum qmtxt indtx qmdat ltrmn priok aufnr bezdt qmnam qmart INTO

TABLE itab1 FROM qmel WHERE qmnum IN notnum

AND qmart IN notype AND qmnam IN name.

SELECT qmnum btpln ingrp INTO TABLE itab2 FROM qmih FOR ALL ENTRIES IN

itab1 WHERE qmnum = itab1-qmnum AND btpln IN floc.

                                  • To move the contents of ITAB1 to ITAB3 ***************

LOOP AT itab1.

itab3-qmnum = itab1-qmnum.

itab3-qmtxt = itab1-qmtxt.

itab3-indtx = itab1-indtx.

itab3-qmdat = itab1-qmdat.

itab3-ltrmn = itab1-ltrmn.

itab3-priok = itab1-priok.

itab3-aufnr = itab1-aufnr.

itab3-bezdt = itab1-bezdt.

itab3-qmnam = itab1-qmnam.

itab3-qmart = itab1-qmart.

READ TABLE itab2 WITH KEY qmnum = itab1-qmnum.

                                  • To move the contents of ITAB2 to ITAB3 ***************

itab3-btpln = itab2-btpln.

itab3-ingrp = itab2-ingrp.

APPEND itab3.

ENDLOOP.

have a look at this example this may help you.....

reward if helpful.....

Read only

Former Member
0 Likes
600

have a look http://www.sapbrainsonline.com/ARTICLES/TECHNICAL/optimization/optimization.html

also use field group

demo given below

Field-Groups Sample Code

&----


*& Report ZSPFLI *

*& *

&----


REPORT ZSPFLI LINE-SIZE 132 LINE-COUNT 65(3)

NO STANDARD PAGE HEADING.

TABLES:SPFLI,SCARR, SFLIGHT, SBOOK.

SELECT-OPTIONS: MYCARRID FOR SPFLI-CARRID.

FIELD-GROUPS: HEADER, SPFLI_FG, SFLIGHT_FG, SBOOK_FG.

INSERT:

SPFLI-CARRID

SPFLI-CONNID

SFLIGHT-FLDATE

SBOOK-BOOKID

INTO HEADER,

SPFLI-CARRID

SPFLI-CONNID

SPFLI-CITYFROM

SPFLI-AIRPFROM

SPFLI-CITYTO

SPFLI-AIRPTO

SPFLI-DEPTIME

SCARR-CARRNAME

INTO SPFLI_FG,

SFLIGHT-FLDATE

SFLIGHT-SEATSMAX

SFLIGHT-SEATSOCC

SFLIGHT-PRICE

INTO SFLIGHT_FG,

SBOOK-BOOKID

SBOOK-CUSTOMID

SBOOK-CUSTTYPE

SBOOK-SMOKER

INTO SBOOK_FG.

SELECT * FROM SPFLI WHERE CARRID IN MYCARRID.

SELECT SINGLE * FROM SCARR WHERE CARRID = SPFLI-CARRID.

EXTRACT SPFLI_FG.

SELECT * FROM SFLIGHT

WHERE CARRID = SPFLI-CARRID AND CONNID = SPFLI-CONNID.

EXTRACT SFLIGHT_FG.

SELECT * FROM SBOOK

WHERE CARRID = SFLIGHT-CARRID AND

CONNID = SFLIGHT-CONNID AND FLDATE = SFLIGHT-FLDATE.

EXTRACT SBOOK_FG.

CLEAR SBOOK.

ENDSELECT.

CLEAR SFLIGHT.

ENDSELECT.

CLEAR SPFLI.

ENDSELECT.

SORT.

LOOP.

AT SPFLI_FG.

FORMAT COLOR COL_HEADING.

WRITE: / SCARR-CARRNAME,

SPFLI-CONNID, SPFLI-CITYFROM,

SPFLI-AIRPFROM, SPFLI-CITYTO, SPFLI-AIRPTO, SPFLI-DEPTIME.

FORMAT COLOR OFF.

ENDAT.

AT SFLIGHT_FG.

WRITE: /15 SFLIGHT-FLDATE, SFLIGHT-PRICE, SFLIGHT-SEATSMAX,

SFLIGHT-SEATSOCC.

ENDAT.

AT SBOOK_FG.

WRITE: /30 SBOOK-BOOKID, SBOOK-CUSTOMID,

SBOOK-CUSTTYPE, SBOOK-SMOKER.

ENDAT.

ENDLOOP.

&----


*& END OF REPORT

give points if it helping thxxxx