DEF VAR iRecid AS RECID NO-UNDO. DEF BUFFER bASMutation FOR ASMutation. FOR EACH ASMutation NO-LOCK WHERE ASMutation.cStatus = 'A': iRecid = RECID(ASMutation). CASE ASMutation.MutArt: WHEN 'RUESTDRUCK' THEN RUN BEREINIGEN_RUESTDRUCK ( iRecid ). WHEN 'wsLADEPAPIER' THEN RUN BEREINIGEN_LADEPAPIER ( iRecid ). WHEN 'wsPALETT' THEN RUN BEREINIGEN_PALETTENDOKUMENT ( iRecid ). WHEN 'wsLIEFERSCHEIN' THEN RUN BEREINIGEN_LIEFERSCHEIN ( iRecid ). END. REPEAT TRANSACTION: FIND bASMutation EXCLUSIVE-LOCK WHERE RECID(bASMutation) = iRecid NO-WAIT NO-ERROR. IF LOCKED bASMutation THEN DO: MESSAGE 'ASMutation ist locked' VIEW-AS ALERT-BOX. NEXT. END. IF NOT AVAILABLE bASMutation THEN LEAVE. DELETE bASMutation. LEAVE. END. END. PROCEDURE BEREINIGEN_RUESTDRUCK: DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR cBenutzer AS CHAR NO-UNDO. DEF VAR iRuestArt AS INT NO-UNDO. DEF VAR cFirma AS CHAR NO-UNDO. DEF BUFFER bAS FOR ASMutation. DEF BUFFER bTabel FOR Tabel. FIND bAS NO-LOCK WHERE RECID(bAS) = ipRecid NO-ERROR. IF NOT AVAILABLE bAS THEN RETURN. IF bAS.cStatus = 'E' THEN RETURN. ASSIGN cBenutzer = bAS.cFeld_2 iAufnr = bAS.iKey_1 iRuestArt = bAS.iKey_2 cFirma = bAS.Firma. FIND FIRST bTabel WHERE bTabel.Firma = cFirma AND bTabel.RecArt = 'AUFDRUCK' AND bTabel.Sprcd = 1 AND bTabel.Int_1 = iAufnr AND bTabel.Int_3 = iRuestArt NO-ERROR. IF NOT AVAILABLE bTabel THEN RETURN. DELETE bTabel. RETURN. END. PROCEDURE BEREINIGEN_LADEPAPIER: DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR cBenutzer AS CHAR NO-UNDO. DEF VAR iRuestArt AS INT NO-UNDO. DEF VAR cFirma AS CHAR NO-UNDO. DEF BUFFER bAS FOR ASMutation. DEF BUFFER bTabel FOR Tabel. FIND bAS NO-LOCK WHERE RECID(bAS) = ipRecid NO-ERROR. IF NOT AVAILABLE bAS THEN RETURN. IF bAS.cStatus = 'E' THEN RETURN. ASSIGN cBenutzer = bAS.cFeld_2 iAufnr = bAS.iKey_1 iRuestArt = bAS.iKey_2 cFirma = bAS.Firma. FIND FIRST bTabel WHERE bTabel.Firma = cFirma AND bTabel.RecArt = 'wsLADEPAPIER' AND bTabel.Sprcd = 1 AND bTabel.Int_1 = iAufnr AND bTabel.Int_3 = iRuestArt NO-ERROR. IF NOT AVAILABLE bTabel THEN RETURN. DELETE bTabel. RETURN. END. PROCEDURE BEREINIGEN_LIEFERSCHEIN: DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR cBenutzer AS CHAR NO-UNDO. DEF VAR iRuestArt AS INT NO-UNDO. DEF VAR cFirma AS CHAR NO-UNDO. DEF BUFFER bAS FOR ASMutation. DEF BUFFER bTabel FOR Tabel. FIND bAS NO-LOCK WHERE RECID(bAS) = ipRecid NO-ERROR. IF NOT AVAILABLE bAS THEN RETURN. IF bAS.cStatus = 'E' THEN RETURN. ASSIGN cBenutzer = bAS.cFeld_2 iAufnr = bAS.iKey_1 iRuestArt = bAS.iKey_2 cFirma = bAS.Firma. FIND FIRST bTabel WHERE bTabel.Firma = cFirma AND bTabel.RecArt = 'wsLIEFERSCHEIN' AND bTabel.Sprcd = 1 AND bTabel.Int_1 = iAufnr AND bTabel.Int_3 = iRuestArt NO-ERROR. IF NOT AVAILABLE bTabel THEN RETURN. DELETE bTabel. RETURN. END. PROCEDURE BEREINIGEN_PALETTENDOKUMENT: DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR cBenutzer AS CHAR NO-UNDO. DEF VAR iRuestArt AS INT NO-UNDO. DEF VAR cFirma AS CHAR NO-UNDO. DEF BUFFER bAS FOR ASMutation. DEF BUFFER bTabel FOR Tabel. FIND bAS NO-LOCK WHERE RECID(bAS) = ipRecid NO-ERROR. IF NOT AVAILABLE bAS THEN RETURN. IF bAS.cStatus = 'E' THEN RETURN. ASSIGN cBenutzer = bAS.cFeld_2 iAufnr = bAS.iKey_1 iRuestArt = bAS.iKey_2 cFirma = bAS.Firma. FIND FIRST bTabel WHERE bTabel.Firma = cFirma AND bTabel.RecArt = 'wsPALETT' AND bTabel.Sprcd = 1 AND bTabel.Int_1 = iAufnr AND bTabel.Int_3 = iRuestArt NO-ERROR. IF NOT AVAILABLE bTabel THEN RETURN. DELETE bTabel. RETURN. END.