Code: Alles auswählen.
IF chgdate-low > sy-datum OR chgdate-high > sy-datum.
MESSAGE e008 WITH 'Datum darf nicht in der Zukunft liegen !'.
ELSE.
SELECT * FROM vbak
WHERE bstzd = addition.
IF sy-subrc = 0.
SELECT * FROM cdhdr
WHERE username = changer
AND objectid = vbak-vbeln
AND objectclas = 'VERKBELEG'
AND udate >= chgdate-low
AND udate <= chgdate-high.
IF sy-subrc = 0.
SELECT * FROM cdpos
WHERE objectid = vbak-vbeln
AND objectclas = cdhdr-objectclas
AND changenr = cdhdr-changenr
AND tabname = t_name
AND fname = f_name.
WRITE: /3 chgdate-low,
16 chgdate-high,
29 cdpos-tabname,
46 cdpos-fname,
59 cdhdr-username,
71 vbak-bstzd.
counter = counter + 1.
ENDSELECT.
ENDIF.
ENDSELECT.
ENDIF.
ENDSELECT.
ENDIF. "von Datumsprüfung
IF counter = 0.
WRITE 'Kein Datensatz gefunden !'.
ENDIF.
Code: Alles auswählen.
tables: bsik.
select * from bsik where bukrs = '0001'
and lifnr = '0000011111'.
endselect.
select * from bsik where bukrs = '0001'
and lifnr = '0000000011'.
write: / 'bla'.
endselect.
zu 2.0 war das noch anders, da war SY-SUBRC nach einem SELECT mit ENDSELECT nicht unbedingt 0, sondern erst nach dem ENDSELECT.zzcpak hat geschrieben:Ähh stimmt nicht ganz. Wenn Werte gefunden und damit die Select-Schleife durchlaufen wird, so ist SY-SUBRC auf jeden Fall 0.
Musst Du nicht.Volker Neurath hat geschrieben:Mir war nicht bewusst, dass ich hier unter jeden vorschlag ein "technische Realisierbarkeit vorausgesetzt" schreiben muss :(