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

Join Condition

Former Member
0 Likes
461

Hi,

I have one code , in that i used many JOIN Conditions.It degrades the performance. Can u plz send me a new code by splitting bellow code.

  • select vapma~matnr

  • vapma~werks

    • vbep~wmeng

  • vbep~cmeng "rounded quantity

  • vbep~vrkme

  • vbep~meins

  • vbep~vbeln

  • vbep~posnr

  • vbep~etenr

  • vapma~audat

  • vbap~kzwi2

  • kna1~name1

  • into table it_orders

  • from vapma

  • join vbak

  • on vbakvbeln = vapmavbeln

  • join vbuk

  • on vbukvbeln = vapmavbeln

  • join vbup

  • on vbupvbeln = vapmavbeln

  • and vbupposnr = vapmaposnr

  • join vbep

  • on vbepvbeln = vapmavbeln

  • and vbepposnr = vapmaposnr

  • join vbap

  • on vbapvbeln = vapmavbeln

  • and vbapposnr = vapmaposnr

  • join kna1

  • on kna1kunnr = vapmakunnr

  • for all entries in i_marc

  • where vapma~matnr = i_marc-matnr

  • and vapma~werks = i_marc-werks

  • and vapma~auart in s_auart

  • and vbep~wmeng <> 0

  • and vbep~edatu < sy-datum

  • and vbup~lfgsa <> 'C'

  • and vbup~absta <> 'C'

  • and vbup~rfgsa <> 'C'

  • and vbup~gbsta <> 'C'

  • and ( vbak~lifsk = ' ' and

  • vbep~lifsp = ' ' and

  • vbuk~cmgst not in ('B', 'C') ).

3 REPLIES 3
Read only

Former Member
0 Likes
413

Hello,

Try using the 'FOR ALL ENTRIES'

Regards,

Shehryar Dahar

Read only

Former Member
0 Likes
413

Hi Nagaraju

U can use the statment

FOR ALL ENTRIES

or else you can also use <b>View</b> to join all these conditions dynamically

Reward all helpfull answers

Regards

Pavan

Read only

Former Member
0 Likes
413

Hi

What for you are using the VAPMA table?

remove it and take MATNR and WERKS from VBAP table and AUDAT from VBAK table

and see the sequence of the table fields

and tables like VBAK, VBAP,VBEP, VBUK,VBUP, KNA1

  • select

  • vbak~audat

  • vbap~matnr

  • vbap~werks

  • vbap~kzwi2

    • vbep~wmeng

  • vbep~cmeng "rounded quantity

  • vbep~vrkme

  • vbep~meins

  • vbep~vbeln

  • vbep~posnr

  • vbep~etenr

  • kna1~name1

  • into table it_orders

  • from vbak join vbap

  • on vbakvbeln = vbapvbeln

  • join vbep

  • on vbepvbeln = vapmavbeln

  • and vbepposnr = vapmaposnr

  • join vbuk

  • on vbukvbeln = vbakvbeln

  • join vbup

  • on vbupvbeln = vbapvbeln

  • and vbupposnr = vbapposnr

  • join kna1

  • on kna1kunnr = vbakkunnr

  • for all entries in i_marc

  • where vbap~matnr = i_marc-matnr

  • and vbap~werks = i_marc-werks

  • and vbak~auart in s_auart

  • and ( vbak~lifsk = ' ' and

  • vbep~lifsp = ' ' and

  • and vbep~wmeng <> 0

  • and vbep~edatu < sy-datum

  • and vbup~lfgsa <> 'C'

  • and vbup~absta <> 'C'

  • and vbup~rfgsa <> 'C'

  • and vbup~gbsta <> 'C'

  • vbuk~cmgst not in ('B', 'C') ).

Reward points for useful Answers

Regards

Anji