Es geht um einen Batchlauf der täglich ausgeführt wird und sämtliche Kundenaufträge mit einer Position für CO-Kosten füllt. Das Problem liegt darin, dass auch unfertige Aufträge vom Batchlauf erfasst werden und das soll nicht sein. Es gibt im Kundenauftrag einen Anwenderstatus. Wenn dieser nicht 1 ist, dann werden nur vollständig bearbeitete Aufträge erfasst.
Dieses Statusfeld heißt ASTTX und ist in der Struktur RV45A vorhanden aber lässt sich keiner DB-Tabelle zuordnen.
Bisher sieht der relevante Abschnitt im Programm so aus:
SELECT * FROM vbak
INTO CORRESPONDING FIELDS OF wa_itab_vbak
WHERE auart = wa_itab_auart-auart
AND vbeln > wa_itab_auart-vbeln
AND vkorg = wa_itab_auart-vkorg.
Ich hätte nun an folgende Lösung gedacht:
SELECT * FROM vbak
INTO CORRESPONDING FIELDS OF wa_itab_vbak
WHERE auart = wa_itab_auart-auart
AND vbeln > wa_itab_auart-vbeln
AND vkorg = wa_itab_auart-vkorg
AND RV45A-ASTTX <> '1'.
Damit würden doch nur die Aufträge aus der Tabelle gelesen, die nicht den Status 1 haben, oder?
Lässt sich das so einfach lösen oder habt ihr andere Vorschläge wie man das machen könnte?