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

help me in Optimising the NESTED SELECT STMTs.

Former Member
0 Likes
500

SELECT PARAMETER OPTIONAL INTO

( BAPIPARA-PARAMETERS , BAPIPARA-OPTIONAL )

FROM FUPARAREF

WHERE FUNCNAME = FUNCNAME

AND PARAMTYPE = 'I'.

SELECT STEXT INTO (BAPIPARA-SHORTTEXT)

FROM FUNCT

WHERE FUNCNAME = FUNCNAME

AND PARAMETER = BAPIPARA-PARAMETERS

AND SPRAS = 'EN'.

SELECT STRUCTURE INTO DBFIELD

FROM FUPARAREF

WHERE FUNCNAME = FUNCNAME

AND PARAMETER = BAPIPARA-PARAMETERS.

ENDSELECT.

APPEND BAPIPARA.

ENDSELECT.

ENDSELECT.

ENDSELECT.

thx,

simraan

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
484

Hi,

Avoid using SELECT-ENDSELECT.

Instead declare internal table and select records into it.

If u need to select data into a single variable, use SELECT SINGLE.

Reward if helpful.

Regards,

Ramya

SELECT PARAMETER OPTIONAL INTO

( BAPIPARA-PARAMETERS , BAPIPARA-OPTIONAL )

FROM FUPARAREF

WHERE FUNCNAME = FUNCNAME

AND PARAMTYPE = 'I'.

SELECT STEXT INTO (BAPIPARA-SHORTTEXT)

FROM FUNCT

WHERE FUNCNAME = FUNCNAME

AND PARAMETER = BAPIPARA-PARAMETERS

AND SPRAS = 'EN'.

SELECT STRUCTURE INTO DBFIELD

FROM FUPARAREF

WHERE FUNCNAME = FUNCNAME

AND PARAMETER = BAPIPARA-PARAMETERS.

ENDSELECT.

APPEND BAPIPARA.

ENDSELECT.

ENDSELECT.

ENDSELECT.

thx,

simraan

3 REPLIES 3
Read only

Former Member
0 Likes
485

Hi,

Avoid using SELECT-ENDSELECT.

Instead declare internal table and select records into it.

If u need to select data into a single variable, use SELECT SINGLE.

Reward if helpful.

Regards,

Ramya

Read only

Former Member
0 Likes
484

hi,

Remove Nested select ... endselect statement and make use of select...into table statement in combination with select ... for all entries ... statement ...

Regards,

Santosh

Read only

Former Member
0 Likes
484

hi ,

check this example for the nested selecets with for all entries..........it is better to use for all entries rather than joins or select endselect..

report ztest.

tables:pa0002.

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.

regards,

venkat.