‎2010 Dec 24 12:12 PM
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
‎2010 Dec 24 12:39 PM
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.