DEF VAR iRecid AS RECID NO-UNDO. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO. DEF VAR iAufnr AS INT NO-UNDO. DEF VAR iPlatz AS INT NO-UNDO. DEF VAR iAnzPal AS INT INIT 1 NO-UNDO. DEF VAR xRuester AS CHAR INIT 'automat' NO-UNDO. DEF BUFFER bRuestAuf FOR RuestAuf. DEF BUFFER bAufze FOR Aufze. FOR EACH RuestAuf WHERE RuestAuf.Firma = Firma AND RuestAuf.lGeruestet = FALSE, FIRST Aufko OF RuestAuf NO-LOCK WHERE Aufko.Lief_Datum >= TODAY BREAK BY RuestAuf.Aufnr BY RuestAuf.Platz: ASSIGN RuestAuf.MGeli = RuestAuf.MBest RuestAuf.GGeb_Geli = RuestAuf.GGeb_Be RuestAuf.VGeb_Geli = RuestAuf.VGeb_Be RuestAuf.KGeb_Geli = RuestAuf.KGeb_Be RuestAuf.lGeruestet = TRUE RuestAuf.Ruester = xRuester. IF LAST-OF ( RuestAuf.Platz ) THEN DO: ASSIGN iAufnr = RuestAuf.Aufnr iPlatz = RuestAuf.Platz. FOR EACH bRuestAuf USE-INDEX RuestAuf-Ruest WHERE bRuestAuf.Firma = RuestAuf.Firma AND bRuestAuf.Aufnr = RuestAuf.Aufnr AND bRuestAuf.Platz = RuestAuf.Platz: FIND bAufze NO-LOCK WHERE bAufze.Firma = bRuestAuf.Firma AND bAufze.Aufnr = bRuestAuf.Aufnr AND bAufze.Pos = bRuestAuf.Pos NO-ERROR. IF NOT AVAILABLE bAufze THEN NEXT. iRecid = RECID(bAufze). FIND Aufze NO-LOCK WHERE RECID(Aufze) = RECID(bAufze) NO-ERROR. FIND Artbw EXCLUSIVE-LOCK WHERE Artbw.Firma = Aufze.Firma AND Artbw.Trnr = Aufze.Trnr NO-WAIT NO-ERROR. ASSIGN Artbw.Menge = Aufze.MGeli Artbw.KGeb_Me = Aufze.KGeb_Me Artbw.VGeb_Me = Aufze.VGeb_Me Artbw.GGeb_Me = Aufze.GGeb_Me. ASSIGN bRuestAuf.lPAGedruckt = TRUE bRuestAuf.AnzPaletten = iAnzPal. RELEASE Aufze . RELEASE bAufze . RELEASE Artbw . RELEASE RuestAuf . RELEASE bRuestAuf. END. RUN DRUCKEN_PALETTENPAPIER ( iAnzPal ). END. IF LAST-OF ( RuestAuf.Aufnr ) THEN DO: RUN DRUCKEN_LADEPAPIER. FOR EACH bRuestAuf WHERE bRuestAuf.Firma = Firma AND bRuestAuf.Aufnr = iAufnr: bRuestAuf.lLAGedruckt = TRUE. RELEASE bRuestAuf. END. END. END. PROCEDURE DRUCKEN_PALETTENPAPIER: /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipAnzPal AS INT NO-UNDO. FIND Steuer NO-LOCK WHERE Steuer.Firma = Firma. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: CREATE ASMutation. ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id) ASMutation.MutArt = 'wsPALETT' ASMutation.Firma = Firma ASMutation.AdFirma = '' ASMutation.Datum = TODAY ASMutation.cStatus = '' ASMutation.Aktiv = TRUE ASMutation.iKey_1 = iAufnr ASMutation.iKey_2 = Steuer.RuestArt ASMutation.iFeld_1 = iPlatz ASMutation.iFeld_2 = ipAnzPal ASMutation.iFeld_3 = 0 ASMutation.cFeld_2 = xRuester . RELEASE ASMutation. FIND Tabel WHERE Tabel.Firma = Firma AND Tabel.RecArt = 'GERUESTET' AND Tabel.CodeI = iAufnr AND Tabel.CodeC = '' AND Tabel.Sprcd = iPlatz NO-ERROR. IF NOT AVAILABLE Tabel THEN DO: CREATE Tabel. ASSIGN Tabel.Firma = Firma Tabel.RecArt = 'GERUESTET' Tabel.CodeI = iAufnr Tabel.CodeC = '' Tabel.Sprcd = iPlatz. END. ASSIGN Tabel.Bez1 = xRuester Tabel.Bez2 = STRING(TODAY,'99.99.9999') + ' / ' + STRING(TIME ,'HH:MM:SS'). RELEASE Tabel. LEAVE. END. RETURN ''. END PROCEDURE. PROCEDURE DRUCKEN_LADEPAPIER: /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FIND Steuer NO-LOCK WHERE Steuer.Firma = Firma. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: CREATE ASMutation. ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id) ASMutation.MutArt = 'wsLADEPAPIER' ASMutation.Firma = Firma ASMutation.AdFirma = '' ASMutation.Datum = TODAY ASMutation.cStatus = '' ASMutation.Aktiv = TRUE ASMutation.iKey_1 = iAufnr ASMutation.iKey_2 = Steuer.RuestArt ASMutation.iFeld_1 = 0 ASMutation.iFeld_2 = 0 ASMutation.iFeld_3 = 0 ASMutation.cFeld_2 = xRuester . RELEASE ASMutation. LEAVE. END. RETURN ''. END PROCEDURE.