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