Application Development 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: 

Problem with select query

suresh_goud
Discoverer
0 Kudos

Hi Experts,

I have a problem with below select query where it is excluding lower orders of collective order, where these orders are released but not confirmed.

I got a requirement where I have to show the lower orders along with header order (collective orders ) in report which are released but not confirmed.

Please help me ....... rewarded....

SELECT aauart awerks akdauf akdpos

bftrmi baufnr bstlbez baufpl

blead_aufnr bprodnet " crueck crmzhl

cvornr carbid clmnga cxmnga

crmnga cism04 cism05 cbudat

d~kunnr

e~arbpl

FROM aufk AS a

INNER JOIN afko AS b

ON baufnr EQ aaufnr

INNER JOIN afru AS c

ON caufnr EQ aaufnr

LEFT JOIN vbak AS d

ON dvbeln EQ akdauf

INNER JOIN crhd AS e

ON eobjid EQ carbid AND ewerks EQ awerks

INTO CORRESPONDING FIELDS OF TABLE i_data

WHERE a~auart IN s_auart

AND a~kdauf IN s_vbeln

AND a~werks EQ p_werks

AND b~aufnr IN s_aufnr

AND b~ftrmi IN s_ftrmi

AND c~stokz EQ ''

AND c~stzhl EQ '00000000'.

Regards,

Suresh goud

4 REPLIES 4

Former Member
0 Kudos

HI

use INNER JOIN not LEFT JOIN

and one more thing if you use this joins in ur report that will make a performance issue

if you use joins in ur program then the join for that tables will exist up to the program execution result in load on data base

so all ways better to use FOR ALL ENTRIES

reward if usefull

Former Member
0 Kudos

hi,

use dis code:-

SELECT aauart awerks akdauf akdpos

bftrmi baufnr bstlbez baufpl

blead_aufnr bprodnet " crueck crmzhl

cvornr carbid clmnga cxmnga

crmnga cism04 cism05 cbudat

d~kunnr

e~arbpl

FROM aufk AS a

INNER JOIN afko AS b

ON baufnr EQ aaufnr

INNER JOIN afru AS c

ON caufnr EQ aaufnr

INNER JOIN vbak AS d

ON dvbeln EQ akdauf

INNER JOIN crhd AS e

ON eobjid EQ carbid AND ewerks EQ awerks

INTO CORRESPONDING FIELDS OF TABLE i_data

WHERE a~auart IN s_auart

AND a~kdauf IN s_vbeln

AND a~werks EQ p_werks

AND b~aufnr IN s_aufnr

AND b~ftrmi IN s_ftrmi

AND c~stokz EQ ''

AND c~stzhl EQ '00000000'.

Dis will solve ur problem,if u find it useful,plzzz do rewards too.

regads,

ric.s

Former Member
0 Kudos

it is better to use into table ....itab.

dont go for joins if u r joining four tables .......

it is better to for all entries.

SELECT aauart awerks akdauf akdpos

bftrmi baufnr bstlbez baufpl

blead_aufnr bprodnet

FROM aufk AS a

INNER JOIN afko AS b

ON baufnr EQ aaufnr

INTO TABLE i_data1

WHERE a~auart IN s_auart

AND a~kdauf IN s_vbeln

AND a~werks EQ p_werks

AND b~aufnr IN s_aufnr

AND b~ftrmi IN s_ftrmi.

if i_data1[] is not initial .

if any sorting criteria is required based on primary keys write the sort statement here.

select crueck crmzhl

cvornr carbid clmnga cxmnga

crmnga cism04 cism05 cbudat

d~kunnr

e~arbpl

FROM afru AS c inner join vbak AS d

ON caufnr EQ aaufnr innerjoin crhd AS e

like this u need to do...........................

u have joined around five tables ...definetly that wont work

endif.

0 Kudos

hi,

actually suguna is right if use 5 tables in inner joins den it will reduce its efficiency and i had by mistaken given u poor code. appologies for dat,

regrads,

ric.s