‎2006 Aug 25 3:09 PM
Hi all
The second selection doesn't work.
SELECT * "Ermitteln der Selectiontabelle
INTO TABLE lt_sd_sel
FROM zinno_sd_sel
WHERE datefr <= sy-datum. "DATEFR <= SY-DATUM
LOOP AT lt_sd_sel INTO wa_sd_sel. "Loop über Selektionstabell
*
SELECT * "lesen der Verkaufsbelegdaten
FROM vbak
INTO CORRESPONDING FIELDS OF wa_vbak
WHERE vbeln BETWEEN wa_sd_sel-vbelnfr
AND wa_sd_sel-vbelnto
AND submi BETWEEN wa_sd_sel-submifr
AND wa_sd_sel-submito
AND erdat GE i_erdat.
IF wa_vbak-erdat > i_erdat OR
( wa_vbak-erdat = i_erdat AND wa_vbak-erzet >= i_erzet ).
IF wa_vbak-erdat >= i_erdat. "*Abfrage ohne Zeiteinschränkung
IF wa_sd_sel-matnr IS NOT INITIAL.
CLEAR i_vbap_vorh.
SELECT *
FROM vbap
WHERE vbeln BETWEEN wa_sd_sel-vbelnfr
AND wa_sd_sel-vbelnto
and vbeln = wa_vbak-vbeln
AND matnr = wa_
MOVE 1 TO i_vbap_vorh. "Flag
ENDSELECT.
ENDIF.
ENDIF.
ENDIF.
IF wa_sd_sel-matnr IS INITIAL OR i_vbap_vorh = 1 .
MOVE wa_vbak TO lt_vbak.
APPEND lt_vbak.
CLEAR wa_vbak.
ENDIF.
ENDSELECT.
Any Idea ??
‎2006 Aug 25 3:16 PM
Hi,
Use
SELECT *
FROM vbap
WHERE vbeln GE wa_sd_sel-vbelnfr
AND vbeln LE wa_sd_sel-vbelnto
and vbeln = wa_vbak-vbeln
AND matnr = wa_sd_sel-matnr.
Best regards,
Prashant
‎2006 Aug 25 3:16 PM
Hi,
Use
SELECT *
FROM vbap
WHERE vbeln GE wa_sd_sel-vbelnfr
AND vbeln LE wa_sd_sel-vbelnto
and vbeln = wa_vbak-vbeln
AND matnr = wa_sd_sel-matnr.
Best regards,
Prashant
‎2006 Aug 25 3:17 PM
Hi Christian,
Why are you restricting the vbeln range again in the second select? You already restricted in the first select.
modify your second select as this:
SELECT *
FROM vbap
WHERE vbeln = wa_vbak-vbeln
AND matnr = wa_sd_sel-matnr.
Regards,
ravi
‎2006 Aug 25 3:23 PM
This is correct. But the restriction is nessary to get the right result.
Is ok, is solveld it.
Thanks for your help !!
‎2006 Aug 25 3:20 PM
hi,
in your where condition u are using the vbeln two times . so the select statement will fail.
in oreder to avoid this remove one vbeln condition.
regards
Ashok