GebindeRuecknahmeTabelle.p 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12
  2. &ANALYZE-RESUME
  3. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure
  4. /*------------------------------------------------------------------------
  5. File :
  6. Purpose :
  7. Syntax :
  8. Description :
  9. Author(s) :
  10. Created :
  11. Notes :
  12. ----------------------------------------------------------------------*/
  13. /* This .W file was created with the Progress AppBuilder. */
  14. /*----------------------------------------------------------------------*/
  15. /* *************************** Definitions ************************** */
  16. DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
  17. DEF VAR iAufnr AS INT NO-UNDO.
  18. DEF TEMP-TABLE tGebRueck LIKE GebRueck
  19. FIELD iId AS INT
  20. FIELD lFound AS LOG
  21. .
  22. DEF VAR htGebRueck AS HANDLE NO-UNDO.
  23. htGebRueck = TEMP-TABLE tGebRueck:DEFAULT-BUFFER-HANDLE.
  24. /* _UIB-CODE-BLOCK-END */
  25. &ANALYZE-RESUME
  26. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  27. /* ******************** Preprocessor Definitions ******************** */
  28. &Scoped-define PROCEDURE-TYPE Procedure
  29. &Scoped-define DB-AWARE no
  30. /* _UIB-PREPROCESSOR-BLOCK-END */
  31. &ANALYZE-RESUME
  32. /* *********************** Procedure Settings ************************ */
  33. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  34. /* Settings for THIS-PROCEDURE
  35. Type: Procedure
  36. Allow:
  37. Frames: 0
  38. Add Fields to: Neither
  39. Other Settings: CODE-ONLY COMPILE
  40. */
  41. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  42. /* ************************* Create Window ************************** */
  43. &ANALYZE-SUSPEND _CREATE-WINDOW
  44. /* DESIGN Window definition (used by the UIB)
  45. CREATE WINDOW Procedure ASSIGN
  46. HEIGHT = 15
  47. WIDTH = 60.
  48. /* END WINDOW DEFINITION */
  49. */
  50. &ANALYZE-RESUME
  51. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
  52. /* *************************** Main Block *************************** */
  53. /* _UIB-CODE-BLOCK-END */
  54. &ANALYZE-RESUME
  55. /* ********************** Internal Procedures *********************** */
  56. &IF DEFINED(EXCLUDE-GEBINDE_BEZOGEN) = 0 &THEN
  57. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_BEZOGEN Procedure
  58. PROCEDURE GEBINDE_BEZOGEN :
  59. /*------------------------------------------------------------------------------
  60. Purpose:
  61. Notes:
  62. ------------------------------------------------------------------------------*/
  63. DEF VAR MW AS INT NO-UNDO.
  64. DEF VAR cString AS CHAR NO-UNDO.
  65. DEF BUFFER bAufko FOR Aufko.
  66. DEF BUFFER bAufze FOR Aufze.
  67. DEF BUFFER bSavko FOR Savko.
  68. DEF BUFFER bSavze FOR Savze.
  69. EMPTY TEMP-TABLE tGebRueck.
  70. FOR EACH GebRueck NO-LOCK
  71. WHERE GebRueck.Firma = Firma:
  72. CREATE tGebRueck.
  73. BUFFER-COPY GebRueck TO tGebRueck
  74. ASSIGN tGebRueck.lFound = FALSE.
  75. END.
  76. FOR EACH bAufko NO-LOCK
  77. WHERE bAufko.Firma = Firma
  78. AND bAufko.Aufnr = iAufnr, /* Aktuelle Auftragsnummer */
  79. EACH Aufze
  80. WHERE Aufze.Firma = bAufko.Firma
  81. AND Aufze.Aufnr = bAufko.Aufnr
  82. AND Aufze.Artnr > 0:
  83. DO WHILE TRUE:
  84. FIND KGebinde NO-LOCK
  85. WHERE KGebinde.Firma = Aufze.Firma
  86. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-ERROR.
  87. IF NOT AVAILABLE KGebinde THEN LEAVE.
  88. IF KGebinde.Depot = 0 THEN LEAVE.
  89. FOR EACH tGebRueck NO-LOCK
  90. WHERE (tGebRueck.Kto_Cd1 = Aufze.KGebKto
  91. OR tGebRueck.Kto_Cd2 = Aufze.KGebKto
  92. OR tGebRueck.Kto_Cd3 = Aufze.KGebKto)
  93. AND tGebRueck.lFound = FALSE:
  94. tGebRueck.lFound = TRUE.
  95. END.
  96. LEAVE.
  97. END.
  98. DO WHILE TRUE:
  99. FIND VGebinde NO-LOCK
  100. WHERE VGebinde.Firma = Aufze.Firma
  101. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-ERROR.
  102. IF NOT AVAILABLE VGebinde THEN LEAVE.
  103. IF VGebinde.Depot = 0 THEN LEAVE.
  104. FOR EACH tGebRueck NO-LOCK
  105. WHERE (tGebRueck.Kto_Cd1 = Aufze.VGebKto
  106. OR tGebRueck.Kto_Cd2 = Aufze.VGebKto
  107. OR tGebRueck.Kto_Cd3 = Aufze.VGebKto)
  108. AND tGebRueck.lFound = FALSE:
  109. tGebRueck.lFound = TRUE.
  110. END.
  111. LEAVE.
  112. END.
  113. DO WHILE TRUE:
  114. FIND GGebinde NO-LOCK
  115. WHERE GGebinde.Firma = Aufze.Firma
  116. AND GGebinde.Geb_Cd = Aufze.VGeb_Cd NO-ERROR.
  117. IF NOT AVAILABLE GGebinde THEN LEAVE.
  118. IF GGebinde.Depot = 0 THEN LEAVE.
  119. FOR EACH tGebRueck NO-LOCK
  120. WHERE (tGebRueck.Kto_Cd1 = Aufze.GGebKto
  121. OR tGebRueck.Kto_Cd2 = Aufze.GGebKto
  122. OR tGebRueck.Kto_Cd3 = Aufze.GGebKto)
  123. AND tGebRueck.lFound = FALSE:
  124. tGebRueck.lFound = TRUE.
  125. END.
  126. LEAVE.
  127. END.
  128. END.
  129. FOR EACH bSavko NO-LOCK USE-INDEX Savko-k10
  130. WHERE bSavko.Firma = Firma
  131. AND bSavko.Fak_Datum >= (TODAY - 180),
  132. EACH bSavze
  133. WHERE bSavze.Firma = bSavko.Firma
  134. AND bSavze.Aufnr = bSavko.Aufnr
  135. AND bSavze.Artnr > 0:
  136. DO WHILE TRUE:
  137. FIND KGebinde NO-LOCK
  138. WHERE KGebinde.Firma = bSavze.Firma
  139. AND KGebinde.Geb_Cd = bSavze.KGeb_Cd NO-ERROR.
  140. IF NOT AVAILABLE KGebinde THEN LEAVE.
  141. IF KGebinde.Depot = 0 THEN LEAVE.
  142. FOR EACH tGebRueck NO-LOCK
  143. WHERE (tGebRueck.Kto_Cd1 = bSavze.KGebKto
  144. OR tGebRueck.Kto_Cd2 = bSavze.KGebKto
  145. OR tGebRueck.Kto_Cd3 = bSavze.KGebKto)
  146. AND tGebRueck.lFound = FALSE:
  147. tGebRueck.lFound = TRUE.
  148. END.
  149. LEAVE.
  150. END.
  151. DO WHILE TRUE:
  152. FIND VGebinde NO-LOCK
  153. WHERE VGebinde.Firma = bSavze.Firma
  154. AND VGebinde.Geb_Cd = bSavze.VGeb_Cd NO-ERROR.
  155. IF NOT AVAILABLE VGebinde THEN LEAVE.
  156. IF VGebinde.Depot = 0 THEN LEAVE.
  157. FOR EACH tGebRueck NO-LOCK
  158. WHERE (tGebRueck.Kto_Cd1 = bSavze.VGebKto
  159. OR tGebRueck.Kto_Cd2 = bSavze.VGebKto
  160. OR tGebRueck.Kto_Cd3 = bSavze.VGebKto)
  161. AND tGebRueck.lFound = FALSE:
  162. tGebRueck.lFound = TRUE.
  163. END.
  164. LEAVE.
  165. END.
  166. DO WHILE TRUE:
  167. FIND GGebinde NO-LOCK
  168. WHERE GGebinde.Firma = bSavze.Firma
  169. AND GGebinde.Geb_Cd = bSavze.VGeb_Cd NO-ERROR.
  170. IF NOT AVAILABLE GGebinde THEN LEAVE.
  171. IF GGebinde.Depot = 0 THEN LEAVE.
  172. FOR EACH tGebRueck NO-LOCK
  173. WHERE (tGebRueck.Kto_Cd1 = bSavze.GGebKto
  174. OR tGebRueck.Kto_Cd2 = bSavze.GGebKto
  175. OR tGebRueck.Kto_Cd3 = bSavze.GGebKto)
  176. AND tGebRueck.lFound = FALSE:
  177. tGebRueck.lFound = TRUE.
  178. END.
  179. LEAVE.
  180. END.
  181. END.
  182. iId = 0.
  183. FOR EACH tGebRueck WHERE tGebRueck.lFound = TRUE
  184. BY tGebRueck.Sort_Cd
  185. BY tGebRueck.Geb_Cd:
  186. iId = iId + 1.
  187. tGebRueck.Sort = STRING(iId ,'99')
  188. + tGebRueck.Geb_Cd.
  189. END.
  190. END.
  191. /* _UIB-CODE-BLOCK-END */
  192. &ANALYZE-RESUME
  193. &ENDIF