AutomatischesRuesten.p 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. DEF VAR iRecid AS RECID NO-UNDO.
  2. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
  3. DEF VAR iAufnr AS INT NO-UNDO.
  4. DEF VAR iPlatz AS INT NO-UNDO.
  5. DEF VAR iAnzPal AS INT INIT 1 NO-UNDO.
  6. DEF VAR xRuester AS CHAR INIT 'automat' NO-UNDO.
  7. DEF BUFFER bRuestAuf FOR RuestAuf.
  8. DEF BUFFER bAufze FOR Aufze.
  9. FOR EACH RuestAuf
  10. WHERE RuestAuf.Firma = Firma
  11. AND RuestAuf.lGeruestet = FALSE,
  12. FIRST Aufko OF RuestAuf NO-LOCK
  13. WHERE Aufko.Lief_Datum >= TODAY
  14. BREAK BY RuestAuf.Aufnr
  15. BY RuestAuf.Platz:
  16. ASSIGN RuestAuf.MGeli = RuestAuf.MBest
  17. RuestAuf.GGeb_Geli = RuestAuf.GGeb_Be
  18. RuestAuf.VGeb_Geli = RuestAuf.VGeb_Be
  19. RuestAuf.KGeb_Geli = RuestAuf.KGeb_Be
  20. RuestAuf.lGeruestet = TRUE
  21. RuestAuf.Ruester = xRuester.
  22. IF LAST-OF ( RuestAuf.Platz ) THEN DO:
  23. ASSIGN iAufnr = RuestAuf.Aufnr
  24. iPlatz = RuestAuf.Platz.
  25. FOR EACH bRuestAuf USE-INDEX RuestAuf-Ruest
  26. WHERE bRuestAuf.Firma = RuestAuf.Firma
  27. AND bRuestAuf.Aufnr = RuestAuf.Aufnr
  28. AND bRuestAuf.Platz = RuestAuf.Platz:
  29. FIND bAufze NO-LOCK
  30. WHERE bAufze.Firma = bRuestAuf.Firma
  31. AND bAufze.Aufnr = bRuestAuf.Aufnr
  32. AND bAufze.Pos = bRuestAuf.Pos NO-ERROR.
  33. IF NOT AVAILABLE bAufze THEN NEXT.
  34. iRecid = RECID(bAufze).
  35. FIND Aufze NO-LOCK
  36. WHERE RECID(Aufze) = RECID(bAufze) NO-ERROR.
  37. FIND Artbw EXCLUSIVE-LOCK
  38. WHERE Artbw.Firma = Aufze.Firma
  39. AND Artbw.Trnr = Aufze.Trnr NO-WAIT NO-ERROR.
  40. ASSIGN Artbw.Menge = Aufze.MGeli
  41. Artbw.KGeb_Me = Aufze.KGeb_Me
  42. Artbw.VGeb_Me = Aufze.VGeb_Me
  43. Artbw.GGeb_Me = Aufze.GGeb_Me.
  44. ASSIGN bRuestAuf.lPAGedruckt = TRUE
  45. bRuestAuf.AnzPaletten = iAnzPal.
  46. RELEASE Aufze .
  47. RELEASE bAufze .
  48. RELEASE Artbw .
  49. RELEASE RuestAuf .
  50. RELEASE bRuestAuf.
  51. END.
  52. RUN DRUCKEN_PALETTENPAPIER ( iAnzPal ).
  53. END.
  54. IF LAST-OF ( RuestAuf.Aufnr ) THEN DO:
  55. RUN DRUCKEN_LADEPAPIER.
  56. FOR EACH bRuestAuf
  57. WHERE bRuestAuf.Firma = Firma
  58. AND bRuestAuf.Aufnr = iAufnr:
  59. bRuestAuf.lLAGedruckt = TRUE.
  60. RELEASE bRuestAuf.
  61. END.
  62. END.
  63. END.
  64. PROCEDURE DRUCKEN_PALETTENPAPIER:
  65. /*------------------------------------------------------------------------------
  66. Purpose:
  67. Parameters: <none>
  68. Notes:
  69. ------------------------------------------------------------------------------*/
  70. DEF INPUT PARAMETER ipAnzPal AS INT NO-UNDO.
  71. FIND Steuer NO-LOCK
  72. WHERE Steuer.Firma = Firma.
  73. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  74. CREATE ASMutation.
  75. ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id)
  76. ASMutation.MutArt = 'wsPALETT'
  77. ASMutation.Firma = Firma
  78. ASMutation.AdFirma = ''
  79. ASMutation.Datum = TODAY
  80. ASMutation.cStatus = ''
  81. ASMutation.Aktiv = TRUE
  82. ASMutation.iKey_1 = iAufnr
  83. ASMutation.iKey_2 = Steuer.RuestArt
  84. ASMutation.iFeld_1 = iPlatz
  85. ASMutation.iFeld_2 = ipAnzPal
  86. ASMutation.iFeld_3 = 0
  87. ASMutation.cFeld_2 = xRuester
  88. .
  89. RELEASE ASMutation.
  90. FIND Tabel
  91. WHERE Tabel.Firma = Firma
  92. AND Tabel.RecArt = 'GERUESTET'
  93. AND Tabel.CodeI = iAufnr
  94. AND Tabel.CodeC = ''
  95. AND Tabel.Sprcd = iPlatz NO-ERROR.
  96. IF NOT AVAILABLE Tabel THEN DO:
  97. CREATE Tabel.
  98. ASSIGN Tabel.Firma = Firma
  99. Tabel.RecArt = 'GERUESTET'
  100. Tabel.CodeI = iAufnr
  101. Tabel.CodeC = ''
  102. Tabel.Sprcd = iPlatz.
  103. END.
  104. ASSIGN Tabel.Bez1 = xRuester
  105. Tabel.Bez2 = STRING(TODAY,'99.99.9999')
  106. + ' / '
  107. + STRING(TIME ,'HH:MM:SS').
  108. RELEASE Tabel.
  109. LEAVE.
  110. END.
  111. RETURN ''.
  112. END PROCEDURE.
  113. PROCEDURE DRUCKEN_LADEPAPIER:
  114. /*------------------------------------------------------------------------------
  115. Purpose:
  116. Parameters: <none>
  117. Notes:
  118. ------------------------------------------------------------------------------*/
  119. FIND Steuer NO-LOCK
  120. WHERE Steuer.Firma = Firma.
  121. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  122. CREATE ASMutation.
  123. ASSIGN ASMutation.ASMutation_id = NEXT-VALUE(ASMutation_id)
  124. ASMutation.MutArt = 'wsLADEPAPIER'
  125. ASMutation.Firma = Firma
  126. ASMutation.AdFirma = ''
  127. ASMutation.Datum = TODAY
  128. ASMutation.cStatus = ''
  129. ASMutation.Aktiv = TRUE
  130. ASMutation.iKey_1 = iAufnr
  131. ASMutation.iKey_2 = Steuer.RuestArt
  132. ASMutation.iFeld_1 = 0
  133. ASMutation.iFeld_2 = 0
  134. ASMutation.iFeld_3 = 0
  135. ASMutation.cFeld_2 = xRuester
  136. .
  137. RELEASE ASMutation.
  138. LEAVE.
  139. END.
  140. RETURN ''.
  141. END PROCEDURE.