Hi,
ich muss anhand der Selektionsfelder:
WERK
ZELLE
LINIE
ARBEITSPLATZ
AUFTRAGSART
FERTIGUNGSSTEUERER
DISPONENT
SEGMENT
Vorgänge von Fertigungsaufträgen selektieren. Über folgenden JOIN erhalte ich alle Vorgänge von Fertigungsaufträgen zu bestimmten Arbeitsplätzen:
SELECT
a~zelle a~linie b~arbpl b~ktext d~aufnr d~auart c~vornr c~steus c~ltxa1d~fevor
INTO CORRESPONDING FIELDS OF TABLE gt_auftraege
FROM zpp_wc_zuordnung AS a
INNER JOIN crhd_v1 AS b ON a~werks = b~werks
AND a~arbpl = b~arbpl
INNER JOIN afvc AS c ON b~objid = c~arbid
INNER JOIN caufv AS d ON c~aufpl = d~aufpl
WHERE a~zelle IN s_zelle
AND a~linie IN s_linie
AND b~werks IN s_werks
AND b~arbpl IN s_arbpl
AND b~objty = 'A' "Arbeitsplatz
AND b~spras = sy-langu
AND d~auart IN s_auart
AND d~fevor IN s_fevor
AND d~dispo IN s_dispo.
Ist dieser JOIN so richtig?
Im nächsten Schritt muss ich alle Vorgänge selektierten die noch nicht Endrückgemeldet (!= Status RÜCK) und einschließlich Teilrückgemeldet (= Status TRÜC) worden sind. Dies mache ich über den FuBa 'STATUS_CHECK'.
CALL FUNCTION 'STATUS_CHECK'
EXPORTING
* BYPASS_BUFFER = ' '
* CLIENT = SY-MANDT
objnr = lf_objnr
status = 'RÜCK'
EXCEPTIONS
object_not_found = 1
status_not_active = 2
OTHERS = 3
.
IF sy-subrc <> 0.
CALL FUNCTION 'STATUS_CHECK'
EXPORTING
* BYPASS_BUFFER = ' '
* CLIENT = SY-MANDT
objnr = lf_objnr
status = 'TRÜC'
EXCEPTIONS
object_not_found = 1
status_not_active = 2
OTHERS = 3
.
IF sy-subrc = 0 AND sy-subrc <> 2.
Alle Fertigungsaufträge die diese Bedingung erfüllen, filtere ich in eine neue Tabelle:
ASSIGN TO .APPEND TO gt_auftraege_final.Ich habe den Report im Batch laufen gelassen und habe nach ca. 80 min. einen Fehler bekommen.
Was mache ich falsch?? Sry, dass die Frage so lang geworden ist aber ich bin echt am verzweifeln 🤬