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

selection screen table join

0 Likes
1,047

hi guru,

My prob is that in my selection screen data come from more then 2 tables i write a select query for 2 table using join statement but for one table i used for all entries but data display wrong.

SELECT-OPTIONS S_MATNR FOR EKPO-MATNR ."NO INTERVALS NO-EXTENSION.
  SELECT-OPTIONS S_MATKL FOR EKPO-MATKL ."NO INTERVALS NO-EXTENSION.
  SELECT-OPTIONS S_LIFNR FOR EKKO-LIFNR ."NO INTERVALS NO-EXTENSION.
  SELECT-OPTIONS S_PSPNR FOR PROJ-PSPNR ."NO INTERVALS NO-EXTENSION.
  SELECT-OPTIONS S_PSTYP FOR EKPO-PSTYP ."NO INTERVALS NO-EXTENSION.
  SELECT-OPTIONS S_KNTTP FOR EKPO-KNTTP ."NO INTERVALS NO-EXTENSION. 

     SELECT A~BUKRS  A~LIFNR A~ZTERM 
            A~WAERS A~WKURS A~BEDAT A~EBELN

            B~EBELP B~LOEKZ B~MATNR B~WERKS
            B~LGORT B~BEDNR B~MATKL B~MENGE
  
            FROM EKKO AS A
           INNER JOIN EKPO AS B ON A~EBELN = B~EBELN
           INTO CORRESPONDING FIELDS OF TABLE IT_EKKO WHERE  A~LIFNR IN S_LIFNR
                                                      AND B~WERKS IN S_WERKS AND B~BANFN IN S_BANFN
                                                      AND B~MATNR IN S_MATNR AND B~MATKL IN S_MATKL
                                                      AND B~PSTYP IN S_PSTYP AND B~KNTTP IN S_KNTTP
                                                      AND B~LOEKZ IN S_LOEKZ .
        SELECT a~EBELN
               a~PS_PSP_PNR
               a~NPLNR
               b~PSPHI
               B~PSPNR
               C~PSPNR
              INTO CORRESPONDING FIELDS OF table IT_EKKN
              FROM EKKN AS A
              INNER JOIN PRPS AS B ON A~PS_PSP_PNR = B~PSPNR
              INNER JOIN PROJ AS C ON B~PSPHI = C~PSPNR
               For all entries in it_ekko WHERE A~EBELN = IT_EKKO-EBELN.
                                            AND C~PSPNR IN S_PSPNR.

so in second query s_pspnr condition not fulfill so all the data display.

Moderator Message: Debug and investigate further. Basic Question.

Edited by: kishan P on Dec 24, 2010 6:33 PM

1 REPLY 1
Read only

anjan_paul
Active Contributor
0 Likes
465

Hi,

tables: ekpo, proj, ekko.

data : it_ekko type table of ekko,

it_ekkn type table of ekkn.

SELECT-OPTIONS S_MATNR FOR EKPO-MATNR ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_werks FOR EKPO-werks ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_MATKL FOR EKPO-MATKL ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_banfn FOR EKPO-banfn ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_LIFNR FOR EKKO-LIFNR ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_PSPNR FOR PROJ-PSPNR ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_PSTYP FOR EKPO-PSTYP ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_KNTTP FOR EKPO-KNTTP ."NO INTERVALS NO-EXTENSION.

SELECT-OPTIONS S_loekz FOR EKPO-loekz ."NO INTERVALS NO-EXTENSION.

SELECT ABUKRS ALIFNR A~ZTERM

AWAERS AWKURS ABEDAT AEBELN

BEBELP BLOEKZ BMATNR BWERKS

BLGORT BBEDNR BMATKL BMENGE

FROM EKKO AS A

INNER JOIN EKPO AS B ON AEBELN = BEBELN

INTO CORRESPONDING FIELDS OF TABLE IT_EKKO WHERE A~LIFNR IN S_LIFNR

AND BWERKS IN S_WERKS AND BBANFN IN S_BANFN

AND BMATNR IN S_MATNR AND BMATKL IN S_MATKL

AND BPSTYP IN S_PSTYP AND BKNTTP IN S_KNTTP

AND B~LOEKZ IN S_LOEKZ .

SELECT a~EBELN

a~PS_PSP_PNR

a~NPLNR

b~PSPHI

B~PSPNR

C~PSPNR

INTO CORRESPONDING FIELDS OF table IT_EKKN

FROM EKKN AS A

INNER JOIN PRPS AS B ON APS_PSP_PNR = BPSPNR

INNER JOIN PROJ AS C ON BPSPHI = CPSPNR

For all entries in it_ekko WHERE A~EBELN = IT_EKKO-EBELN

AND C~PSPNR IN S_PSPNR.

-


Please check there is any value in it_ekko or not.

I think there is no value in it_ekko so all value selected.