‎2007 Jun 21 12:36 PM
SELECT * FROM LIKP
INTO CORRESPONDING FIELDS OF TABLE IT_DATA
WHERE LFDAT IN S_LFDAT .
LOOP AT IT_DATA .
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2
WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
APPEND IT_DATA3 .
APPEND IT_DATA2 .
ENDSELECT .
ENDLOOP .
these are data
I |BT |20070602|20070621 - S_LFDAT
I |EQ |000000000101200000 - s_matnr
I |EQ |TCKJ| - s_werks
I |BT |622|623 - s_bwarto
I |EQ |621| - s_bwarti
data exist in the tables but i am not hetting nothing ...
Why?
Because of loop or ?
‎2007 Jun 21 12:48 PM
Hi ...friend here is your Qurey just cut and paste <b>it was working </b> ... i did cnahges for you ...
REPORT ZAASD.
tables : likp , lips .
data : begin of IT_DATA occurs 0 .
include structure likp .
data : end of iT_DATA .
data : begin of IT_DATA2 occurs 0.
include structure lips .
data : end of iT_DATA2 .
select-options : S_LFDAT for likp-LFDAT,
S_MATNR for LIPS-matnr ,
S_WERKS for LIPS-werks ,
S_BWARTO for LIPS-bwart ,
S_BWARTI for LIPS-bwart .
data :begin of it_data3 occurs 0 ,
VBELN like likp-VBELN ,
KUNNR like likp-KUNNR ,
LFDAT like likp-LFDAT ,
MATNR like LIPS-MATNR ,
LFIMG like LIPS-LFIMG ,
BWART like LIPS-BWART,
end of it_data3 .
SELECT * FROM LIKP INTO CORRESPONDING FIELDS OF TABLE IT_DATA
WHERE LFDAT IN S_LFDAT .
LOOP AT IT_DATA .
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2 WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
APPEND IT_DATA3 .
ENDSELECT .
ENDLOOP .
loop at it_data3 .
write : / IT_DATA3-VBELN ,
IT_DATA3-KUNNR ,
IT_DATA3-LFDAT ,
IT_DATA3-MATNR ,
IT_DATA3-LFIMG ,
IT_DATA3-BWART .
endloop.reward points if it is usefull ....
Girish
‎2007 Jun 21 12:45 PM
Hello,
Change the code like this.
if not it_data[] is initial.
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2
for all entries in it_data
WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
endif.
loop at it_data.
loop at it_data2 where vbeln = it_data-vbeln.
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
APPEND IT_DATA3 .
endloop.
endloop.
Hope this solve ur problem.
Vasanth
‎2007 Jun 21 12:48 PM
See the code and do not write the select query within loop,just use join for both likp and lips table
SELECT * FROM LIKP
INTO CORRESPONDING FIELDS OF TABLE IT_DATA
WHERE LFDAT IN S_LFDAT .
LOOP AT IT_DATA .
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2
WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
loop at it_data2.
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
APPEND IT_DATA3 .
endloop.
ENDLOOP .
‎2007 Jun 21 12:48 PM
Hi ...friend here is your Qurey just cut and paste <b>it was working </b> ... i did cnahges for you ...
REPORT ZAASD.
tables : likp , lips .
data : begin of IT_DATA occurs 0 .
include structure likp .
data : end of iT_DATA .
data : begin of IT_DATA2 occurs 0.
include structure lips .
data : end of iT_DATA2 .
select-options : S_LFDAT for likp-LFDAT,
S_MATNR for LIPS-matnr ,
S_WERKS for LIPS-werks ,
S_BWARTO for LIPS-bwart ,
S_BWARTI for LIPS-bwart .
data :begin of it_data3 occurs 0 ,
VBELN like likp-VBELN ,
KUNNR like likp-KUNNR ,
LFDAT like likp-LFDAT ,
MATNR like LIPS-MATNR ,
LFIMG like LIPS-LFIMG ,
BWART like LIPS-BWART,
end of it_data3 .
SELECT * FROM LIKP INTO CORRESPONDING FIELDS OF TABLE IT_DATA
WHERE LFDAT IN S_LFDAT .
LOOP AT IT_DATA .
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2 WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
APPEND IT_DATA3 .
ENDSELECT .
ENDLOOP .
loop at it_data3 .
write : / IT_DATA3-VBELN ,
IT_DATA3-KUNNR ,
IT_DATA3-LFDAT ,
IT_DATA3-MATNR ,
IT_DATA3-LFIMG ,
IT_DATA3-BWART .
endloop.reward points if it is usefull ....
Girish
‎2007 Jun 21 12:50 PM
Hi,
Dont use selct * into corresponding fields..
Dont use select inside loop. you can use for all entries instead..
Use work areas.
Put a break point (CTRLSHIFTF12) on the first select and check the internal tables in debug mode..
you will come to know the reason..
regards,
nazeer
‎2007 Jun 21 12:50 PM
Hi,
The error lies in
LOOP AT IT_DATA .
SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF IT_DATA2
WHERE VBELN = IT_DATA-VBELN AND
MATNR IN S_MATNR AND
WERKS IN S_WERKS AND
( BWART IN S_BWARTO OR
BWART IN S_BWARTI ) .
IT_DATA3-VBELN = IT_DATA-VBELN .
IT_DATA3-KUNNR = IT_DATA-KUNNR .
IT_DATA3-LFDAT = IT_DATA-LFDAT .
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART
You have filled the table itab2,but without looping it there is no way you can asign its values to fields.
IT_DATA3-MATNR = IT_DATA2-MATNR .
IT_DATA3-LFIMG = IT_DATA2-LFIMG .
IT_DATA3-BWART = IT_DATA2-BWART .
In order to fill these fields you have to again loop at itab2.
Hope it was useful.
Thanks,
Sandeep.
‎2007 Jun 21 1:15 PM
Hi Neno,
I'm quite convinced something's wrong with data - otherwise you should get something.
Anyway: Use join and required fields to speed up process
select LIKP~VBELN LIKP~KUNNR LIKP~LFDAT MATNR LFIMG BWART
into corresponding fields of table IT_DATA3 []
from lips join likp on likp~vbeln = lips on likp~vbeln
WHERE MATNR IN S_MATNR
AND WERKS IN S_WERKS
AND ( BWART IN S_BWARTO OR BWART IN S_BWARTI ) .Regards,
Clemens
‎2007 Jun 21 2:27 PM
It mast be some problem with data .
Wery helpfull answers . You give me many ideas .
If I forget to revard points to somebady, plese excuse me.
I will find it and do it another time .
THANK YOU ALL VERY MUCH FOR YOUR TIME