Skip to Content
0
Dec 01, 2009 at 08:00 AM

data fetching in select statement

86 Views

Hello experts,

I have written a query like this,

PARAMETERS: P_VBELN LIKE LIKP-VBELN.

DATA: T_LIPS LIKE STANDARD TABLE OF LIPS.

DATA: T_KNA1 TYPE TABLE OF KNA1 WITH HEADER LINE.

DATA: ITAB_VBPA LIKE STANDARD TABLE OF VBPA WITH HEADER LINE.

DATA: T_ADRC LIKE STANDARD TABLE OF ADRC.

DATA: FS_LIKP TYPE LIKP.

DATA: FS_ADRC TYPE ADRC.

SELECT SINGLE * FROM LIKP INTO FS_LIKP WHERE VBELN EQ P_VBELN.

SELECT * FROM VBPA INTO TABLE ITAB_VBPA WHERE VBELN EQ FS_LIKP-VBELN

AND PARVW EQ 'WE' .

SELECT * FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE T_KNA1 WHERE KUNNR EQ ITAB_VBPA-KUNNR.

IF SY-SUBRC EQ 0.

SELECT * FROM ADRC INTO CORRESPONDING FIELDS OF TABLE T_ADRC

WHERE addrnumber = T_KNA1-adrnr.

ENDIF.

SELECT * FROM LIPS INTO CORRESPONDING FIELDS OF TABLE T_LIPS

WHERE VBELN EQ FS_LIKP-VBELN .

for vbeln= 0080003371 i am getting kunnr= 0000001175 in itab_vbpa .

but i checked in ddict that for kunnr= 0000001175 there is a entry in kna1 table in ddict.

but here in this query i am not getting any value? i.e. the if statement is no being executed.

plz helpn why dis is so?

and one more doubt if i had to select parvw = 'SH' as well, then will the following query get executed?

SELECT * FROM VBPA INTO TABLE ITAB_VBPA WHERE VBELN EQ FS_LIKP-VBELN

AND PARVW EQ 'WE' or PARVW EQ 'SH'.becoz