Code: Alles auswählen.
...
PERFORM einzelfertigung_pruefen CHANGING da_subrc
da_msgv1
da_msgv2
da_msgv3.
...
Code: Alles auswählen.
* prüfen Fertigungsaufträge (keine statische Montage)
PERFORM T459K_LESEN(SAPMV45A).
IF T459K-MNTGA IS INITIAL OR
T459K-MNTGA CA ATODYN.
...
* Gibt es Fertigungsaufträge zur Position?
CALL FUNCTION 'CO_61_CHECK_ORD_TO_SDOC'
EXPORTING
VBELN_IMP = XVBAP-VBELV
VBELP_IMP = XVBAP-POSNV
TABLES
ORINF_TAB = ORDERS
EXCEPTIONS
ORDER_COMP = 02
ORDER_EXISTS = 02
ORDER_INWORK = 02.
* Einzelfertigung (nicht Montage): Erst Fertigungsaufträge löschen
IF SY-SUBRC > 0 AND T459K-MNTGA IS INITIAL.
CH_SUBRC = 2.
* Montage muß initialisiert werden
RV45A-MONTAGE_INIT = CHARX.
EXIT.
ENDIF.
* Dynamische Montage: Kann Löschvormerkung gesetzt werden?
IF T459K-MNTGA CA ATODYN.
CLEAR DA_FLAG.
LOOP AT ORDERS.
PERFORM FAUF_LOESCHEN_PRUEFEN(SAPFV45E) USING ORDERS-AUFNR
DA_FLAG.
IF DA_FLAG = CHARX.
EXIT.
ENDIF.
ENDLOOP.
IF DA_FLAG = CHARX.
WRITE ORDERS-AUFNR TO CH_MSGV1 NO-ZERO LEFT-JUSTIFIED.
CH_SUBRC = 6.
EXIT.
ENDIF.
ENDIF.
ENDIF.
...