‎2009 May 08 10:09 AM
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
‎2009 May 08 10:14 AM
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
‎2009 May 08 10:11 AM
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'.
‎2009 May 08 10:13 AM
hi:
you have to use offset in where condition like
XBLNR = IT_LIPS-VBELN+0(10)
Regards
Shashi
‎2009 May 08 10:41 AM
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
‎2009 May 08 11:07 AM
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'.
‎2009 May 08 11:09 AM
‎2009 May 08 11:37 AM
‎2009 May 08 10:14 AM
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
‎2009 May 08 10:21 AM
in declaration of IT_LIPS
change VBELN type as following
VBELN TYPE EKBE-XBLNR.
‎2009 May 08 10:28 AM
You can use FM to convert VBELN into XBLNR format before second select statement
FM : 'CONVERSION_EXIT_ALPHA_INPUT'
Hope this Help ful