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

select statement

Former Member
0 Likes
1,039

Hi,

i need to fetch data using select statement.

SELECT VBELN INTO CORRESPONDING FIELDS OF TABLE IT_LIPS FROM LIPS FOR ALL ENTRIES IN IT_VBRK_VBRP

WHERE VBELN = IT_VBRK_VBRP-VGBEL AND MATNR = IT_VBRK_VBRP-MATNR

AND WERKS = IT_VBRK_VBRP-WERKS AND PSTYV = 'NLN'.

SELECT BELNR BUDAT XBLNR MATNR BWART INTO CORRESPONDING FIELDS OF TABLE IT_EKBE FROM EKBE

FOR ALL ENTRIES IN IT_LIPS WHERE MATNR = IT_LIPS-MATNR

AND XBLNR = IT_LIPS-VBELN AND BWART = '101'.

wat's the issue is XBLNR and VBELN contains the same data but the data element length is different

XBLNR is character with length 10 and

VBELN is character with length 16 .

so its giving a error..

please help me with this..

Regards,

Dippy

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,004

HI,

take on field XBELNR_VBELN of type EKBE-XBLNR at the end of the table IT_LIPS.

then do below

loop at IT_LIPS into WA_LIPS.
WA_LIPS-XBELNR_VBELN = WA_LIPS-VBELN.
MODIFY IT_LIPS FROM WA_LIPS index sy-tabix tranporting XBELNR_VBELN.
enloop.

SELECT BELNR BUDAT XBLNR MATNR BWART INTO CORRESPONDING FIELDS OF TABLE IT_EKBE FROM EKBE
FOR ALL ENTRIES IN IT_LIPS WHERE MATNR = IT_LIPS-MATNR
AND XBLNR = IT_LIPS-XBELNR_VBELN  AND BWART = '101'.

It works.

Thanks!!

Edited by: Prasanth Maddela on May 8, 2009 2:54 PM

9 REPLIES 9
Read only

Former Member
0 Likes
1,004
SELECT BELNR BUDAT XBLNR MATNR BWART INTO CORRESPONDING FIELDS OF TABLE IT_EKBE FROM EKBE
FOR ALL ENTRIES IN IT_LIPS WHERE MATNR = IT_LIPS-MATNR
AND XBLNR = IT_LIPS-VBELN+0(10) AND BWART = '101'.
Read only

Former Member
0 Likes
1,004

hi:

you have to use offset in where condition like

XBLNR = IT_LIPS-VBELN+0(10)

Regards

Shashi

Read only

0 Likes
1,004

Hi Shashi,

Iam getting error by using offset n 1 more thing

XBLNR length is 16 and vbeln length is 10.

but i interchanged then also its giving error.

Regards,

Dippy

Read only

0 Likes
1,004

HI,

Try this way..

Declare the VBELN with refrence to XBLNR in IT_LIPS


BEGIN OF IT_LIPS OCCURS 0.
 VBELN TYPE EKBE-XBLNR.           " Check this declaration
.....
END OF IT_LIPS.

SELECT VBELN INTO CORRESPONDING FIELDS OF TABLE IT_LIPS FROM LIPS FOR ALL ENTRIES IN IT_VBRK_VBRP
WHERE VBELN = IT_VBRK_VBRP-VGBEL AND MATNR = IT_VBRK_VBRP-MATNR
AND WERKS = IT_VBRK_VBRP-WERKS AND PSTYV = 'NLN'.


SELECT BELNR BUDAT XBLNR MATNR BWART INTO CORRESPONDING FIELDS OF TABLE IT_EKBE FROM EKBE
FOR ALL ENTRIES IN IT_LIPS WHERE MATNR = IT_LIPS-MATNR
AND XBLNR = IT_LIPS-VBELN AND BWART = '101'.

Read only

0 Likes
1,004

check my reply which i have given it works 100%.

Read only

0 Likes
1,004

Thanks guys...

Read only

Former Member
0 Likes
1,005

HI,

take on field XBELNR_VBELN of type EKBE-XBLNR at the end of the table IT_LIPS.

then do below

loop at IT_LIPS into WA_LIPS.
WA_LIPS-XBELNR_VBELN = WA_LIPS-VBELN.
MODIFY IT_LIPS FROM WA_LIPS index sy-tabix tranporting XBELNR_VBELN.
enloop.

SELECT BELNR BUDAT XBLNR MATNR BWART INTO CORRESPONDING FIELDS OF TABLE IT_EKBE FROM EKBE
FOR ALL ENTRIES IN IT_LIPS WHERE MATNR = IT_LIPS-MATNR
AND XBLNR = IT_LIPS-XBELNR_VBELN  AND BWART = '101'.

It works.

Thanks!!

Edited by: Prasanth Maddela on May 8, 2009 2:54 PM

Read only

Former Member
0 Likes
1,004

in declaration of IT_LIPS

change VBELN type as following

VBELN TYPE EKBE-XBLNR.

Read only

Former Member
0 Likes
1,004

You can use FM to convert VBELN into XBLNR format before second select statement

FM : 'CONVERSION_EXIT_ALPHA_INPUT'

Hope this Help ful