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

Problem With Code

Former Member
0 Likes
578

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_

sd_sel-matnr.

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 ??

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
543

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

4 REPLIES 4
Read only

Former Member
0 Likes
544

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

Read only

Former Member
0 Likes
543

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

Read only

0 Likes
543

This is correct. But the restriction is nessary to get the right result.

Is ok, is solveld it.

Thanks for your help !!

Read only

Former Member
0 Likes
543

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