batchdruck_control_ende.p 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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. DEFINE VARIABLE cUser AS CHARACTER NO-UNDO.
  17. DEFINE VARIABLE lBatch AS LOG NO-UNDO INIT TRUE .
  18. DEFINE VARIABLE cLogName AS CHARACTER NO-UNDO.
  19. DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
  20. DEFINE VARIABLE lAnmeldung AS LOGICAL NO-UNDO INIT FALSE.
  21. DEFINE VARIABLE cPasswort AS CHARACTER NO-UNDO.
  22. DEFINE VARIABLE cMandant AS CHARACTER NO-UNDO.
  23. DEFINE STREAM LogStream.
  24. { super/funktionen.i }
  25. { incl/windefinition.i }
  26. /* _UIB-CODE-BLOCK-END */
  27. &ANALYZE-RESUME
  28. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  29. /* ******************** Preprocessor Definitions ******************** */
  30. &Scoped-define PROCEDURE-TYPE Procedure
  31. &Scoped-define DB-AWARE no
  32. /* _UIB-PREPROCESSOR-BLOCK-END */
  33. &ANALYZE-RESUME
  34. /* ************************ Function Prototypes ********************** */
  35. &IF DEFINED(EXCLUDE-getEndeFlag) = 0 &THEN
  36. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getEndeFlag Procedure
  37. FUNCTION getEndeFlag RETURNS LOGICAL
  38. ( ) FORWARD.
  39. /* _UIB-CODE-BLOCK-END */
  40. &ANALYZE-RESUME
  41. &ENDIF
  42. &IF DEFINED(EXCLUDE-getLogfileName) = 0 &THEN
  43. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLogfileName Procedure
  44. FUNCTION getLogfileName RETURNS CHARACTER
  45. ( /* parameter-definitions */ ) FORWARD.
  46. /* _UIB-CODE-BLOCK-END */
  47. &ANALYZE-RESUME
  48. &ENDIF
  49. &IF DEFINED(EXCLUDE-setEndeFlag) = 0 &THEN
  50. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setEndeFlag Procedure
  51. FUNCTION setEndeFlag RETURNS LOGICAL
  52. ( ) FORWARD.
  53. /* _UIB-CODE-BLOCK-END */
  54. &ANALYZE-RESUME
  55. &ENDIF
  56. /* *********************** Procedure Settings ************************ */
  57. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  58. /* Settings for THIS-PROCEDURE
  59. Type: Procedure
  60. Allow:
  61. Frames: 0
  62. Add Fields to: Neither
  63. Other Settings: CODE-ONLY COMPILE
  64. */
  65. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  66. /* ************************* Create Window ************************** */
  67. &ANALYZE-SUSPEND _CREATE-WINDOW
  68. /* DESIGN Window definition (used by the UIB)
  69. CREATE WINDOW Procedure ASSIGN
  70. HEIGHT = 15
  71. WIDTH = 60.
  72. /* END WINDOW DEFINITION */
  73. */
  74. &ANALYZE-RESUME
  75. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
  76. /* *************************** Main Block *************************** */
  77. DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
  78. DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
  79. DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
  80. DEFINE VARIABLE lRetVal AS LOGICAL NO-UNDO.
  81. Progname = ENTRY(1, THIS-PROCEDURE:NAME, '.').
  82. ETIME(TRUE).
  83. RUN ANMELDEN.
  84. IF NOT lAnmeldung THEN QUIT.
  85. cLogName = DYNAMIC-FUNCTION('getLogfileName':U) NO-ERROR.
  86. SAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
  87. IF SAktiv = ? THEN SAktiv = FALSE.
  88. IF NOT sAktiv THEN
  89. DO:
  90. cMessage = 'Anmeldung nicht möglich / nicht geklappt '.
  91. RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
  92. QUIT.
  93. END.
  94. AdFirma = DYNAMIC-FUNCTION('getAdMandant':U) NO-ERROR.
  95. FBFirma = DYNAMIC-FUNCTION('getFBMandant':U) NO-ERROR.
  96. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR.
  97. cUser = DYNAMIC-FUNCTION('getBenutzer') NO-ERROR.
  98. lBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR.
  99. cMessage = SUBSTITUTE('Programm &1 gestartet', ProgName).
  100. RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
  101. lRetVal = DYNAMIC-FUNCTION ('setEndeFlag':U).
  102. DO WHILE TRUE:
  103. PAUSE 5 NO-MESSAGE.
  104. lRetVal = DYNAMIC-FUNCTION ('getEndeFlag':U).
  105. IF NOT lRetVal THEN LEAVE.
  106. iAnz = iAnz + 1.
  107. IF iAnz MOD 5 > 0 THEN NEXT.
  108. OS-COMMAND '..\BatchTasks\kill_taskjob_batchdruck-control.cmd'.
  109. PAUSE 5 NO-MESSAGE.
  110. IF iAnz >= 10 THEN
  111. DO:
  112. cMessage = SUBSTITUTE('Programm konnte nach einer Laufzeit von &1 Sekunden nicht beendet werden beendet', ETIME / 1000 ).
  113. RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
  114. LEAVE.
  115. END.
  116. OS-COMMAND '..\BatchTasks\start_taskjob_batchdruck-control.cmd'.
  117. cMessage = SUBSTITUTE('Programm nach einer Laufzeit von &1 Sekunden beendet', ETIME / 1000 ).
  118. RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
  119. LEAVE.
  120. END.
  121. /* _UIB-CODE-BLOCK-END */
  122. &ANALYZE-RESUME
  123. /* ************************ Function Implementations ***************** */
  124. &IF DEFINED(EXCLUDE-getEndeFlag) = 0 &THEN
  125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getEndeFlag Procedure
  126. FUNCTION getEndeFlag RETURNS LOGICAL
  127. ( ):
  128. /*------------------------------------------------------------------------------*/
  129. /* Purpose: */
  130. /* Parameters: <none> */
  131. /* Notes: */
  132. /*------------------------------------------------------------------------------*/
  133. DEFINE BUFFER bTabel FOR Tabel.
  134. FIND Tabel NO-LOCK
  135. WHERE Tabel.Firma = Firma
  136. AND Tabel.Recart = 'BATCHDRUCK'
  137. AND Tabel.CodeC = 'LAGER'
  138. AND Tabel.CodeI = 0
  139. AND Tabel.Sprcd = 0 NO-ERROR.
  140. IF NOT AVAILABLE Tabel THEN RETURN FALSE.
  141. RETURN (IF Tabel.Flag_2 = FALSE THEN FALSE ELSE TRUE).
  142. END FUNCTION.
  143. /* _UIB-CODE-BLOCK-END */
  144. &ANALYZE-RESUME
  145. &ENDIF
  146. &IF DEFINED(EXCLUDE-getLogfileName) = 0 &THEN
  147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLogfileName Procedure
  148. FUNCTION getLogfileName RETURNS CHARACTER
  149. ( /* parameter-definitions */ ) :
  150. /*------------------------------------------------------------------------------*/
  151. /* Purpose: */
  152. /* Parameters: <none> */
  153. /* Notes: */
  154. /*------------------------------------------------------------------------------*/
  155. DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
  156. cPath = DYNAMIC-FUNCTION ('getLogFilePfad':U) NO-ERROR.
  157. cPath = cPath
  158. + Progname
  159. + '_'
  160. + REPLACE(STRING(TODAY,'99.99.9999'), '.', '')
  161. + '.Log'.
  162. RETURN cPath.
  163. END FUNCTION.
  164. /* _UIB-CODE-BLOCK-END */
  165. &ANALYZE-RESUME
  166. &ENDIF
  167. &IF DEFINED(EXCLUDE-setEndeFlag) = 0 &THEN
  168. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setEndeFlag Procedure
  169. FUNCTION setEndeFlag RETURNS LOGICAL
  170. ( ):
  171. /*------------------------------------------------------------------------------*/
  172. /* Purpose: */
  173. /* Parameters: <none> */
  174. /* Notes: */
  175. /*------------------------------------------------------------------------------*/
  176. DEFINE BUFFER bTabel FOR Tabel.
  177. FIND Tabel NO-LOCK
  178. WHERE Tabel.Firma = Firma
  179. AND Tabel.Recart = 'BATCHDRUCK'
  180. AND Tabel.CodeC = 'LAGER'
  181. AND Tabel.CodeI = 0
  182. AND Tabel.Sprcd = 0 NO-ERROR.
  183. IF NOT AVAILABLE Tabel THEN
  184. DO:
  185. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  186. CREATE Tabel.
  187. ASSIGN
  188. Tabel.Firma = Firma
  189. Tabel.Recart = 'BATCHDRUCK'
  190. Tabel.CodeC = 'LAGER'
  191. Tabel.CodeI = 0
  192. Tabel.Sprcd = 0
  193. Tabel.Flag_1 = FALSE
  194. Tabel.Flag_2 = TRUE .
  195. RELEASE Tabel.
  196. LEAVE.
  197. END.
  198. RETURN TRUE.
  199. END.
  200. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  201. FIND bTabel WHERE RECID(bTabel) = RECID(Tabel).
  202. ASSIGN
  203. bTabel.Flag_2 = TRUE .
  204. RELEASE bTabel.
  205. LEAVE.
  206. END.
  207. RETURN TRUE.
  208. END FUNCTION.
  209. /* _UIB-CODE-BLOCK-END */
  210. &ANALYZE-RESUME
  211. &ENDIF
  212. /* ********************** Internal Procedures *********************** */
  213. &IF DEFINED(EXCLUDE-ANMELDEN) = 0 &THEN
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANMELDEN Procedure
  215. PROCEDURE ANMELDEN:
  216. /*------------------------------------------------------------------------------*/
  217. /* Purpose: */
  218. /* Parameters: <none> */
  219. /* Notes: */
  220. /*------------------------------------------------------------------------------*/
  221. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  222. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  223. cLogName = SUBSTITUTE('&1&2', SESSION:TEMP-DIRECTORY, Progname + '.log').
  224. DO WHILE TRUE:
  225. IF ENTRY(1, SESSION:PARAMETER, ';') <> 'batch' THEN LEAVE.
  226. ASSIGN
  227. cBenutzer = ''
  228. cPasswort = ''
  229. cMandant = ''.
  230. DO ix = 1 TO NUM-ENTRIES(SESSION:PARAMETER, ';'):
  231. CASE ix:
  232. WHEN 2 THEN
  233. cBenutzer = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  234. WHEN 3 THEN
  235. cPasswort = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  236. WHEN 4 THEN
  237. cMandant = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  238. WHEN 5 THEN
  239. lBatch = FALSE NO-ERROR.
  240. END CASE.
  241. END.
  242. DYNAMIC-FUNCTION('setBatch':U, lBatch) NO-ERROR.
  243. FIND FIRST Benutzer NO-LOCK USE-INDEX Benutzer-k1
  244. WHERE Benutzer.Benutzer = cBenutzer
  245. AND Benutzer.Kennwort = cPasswort NO-ERROR.
  246. IF NOT AVAILABLE Benutzer THEN
  247. DO:
  248. cString = SUBSTITUTE('Benutzer &1 mit Kennwort &2 ungültig', cBenutzer, cPasswort).
  249. RUN writeLogFile.p (Progname, cLogName, cString) NO-ERROR.
  250. LEAVE.
  251. END.
  252. FIND Mandant NO-LOCK USE-INDEX Mandant-k1
  253. WHERE Mandant.Firma = cMandant NO-ERROR.
  254. IF NOT AVAILABLE Mandant THEN
  255. DO:
  256. cString = SUBSTITUTE('Mandat &1 ungültig', cMandant).
  257. RUN writeLogFile.p (Progname, cLogName, cString) NO-ERROR.
  258. LEAVE.
  259. END.
  260. cString = cBenutzer + CHR(01) + cPasswort + CHR(01) + cMandant.
  261. RUN ANMELDUNG ( INPUT cString ).
  262. RUN AUFTRAGFUNKTIONENINIT.
  263. lAnmeldung = TRUE.
  264. LEAVE.
  265. END.
  266. END PROCEDURE.
  267. /* _UIB-CODE-BLOCK-END */
  268. &ANALYZE-RESUME
  269. &ENDIF