batchdruck_control_isWorking.p 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  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-getIsWorkingFlag) = 0 &THEN
  36. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getIsWorkingFlag Procedure
  37. FUNCTION getIsWorkingFlag 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-setIsWorkingFlag) = 0 &THEN
  50. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD setIsWorkingFlag Procedure
  51. FUNCTION setIsWorkingFlag 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 ('setIsWorkingFlag':U).
  102. DO WHILE TRUE:
  103. PAUSE 5 NO-MESSAGE.
  104. lRetVal = DYNAMIC-FUNCTION ('getIsWorkingFlag':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 15 NO-MESSAGE.
  110. OS-COMMAND '..\BatchTasks\start_taskjob_batchdruck-control.cmd'.
  111. cMessage = SUBSTITUTE('Programm nach einer Laufzeit von &1 Sekunden beendet', ETIME / 1000 ).
  112. RUN writeLogfile.p ( ProgName, cLogName, cMessage ) NO-ERROR.
  113. LEAVE.
  114. END.
  115. /* _UIB-CODE-BLOCK-END */
  116. &ANALYZE-RESUME
  117. /* ************************ Function Implementations ***************** */
  118. &IF DEFINED(EXCLUDE-getIsWorkingFlag) = 0 &THEN
  119. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getIsWorkingFlag Procedure
  120. FUNCTION getIsWorkingFlag RETURNS LOGICAL
  121. ( ):
  122. /*------------------------------------------------------------------------------*/
  123. /* Purpose: */
  124. /* Parameters: <none> */
  125. /* Notes: */
  126. /*------------------------------------------------------------------------------*/
  127. DEFINE BUFFER bTabel FOR Tabel.
  128. FIND Tabel NO-LOCK
  129. WHERE Tabel.Firma = Firma
  130. AND Tabel.Recart = 'BATCHDRUCK'
  131. AND Tabel.CodeC = 'LAGER'
  132. AND Tabel.CodeI = 0
  133. AND Tabel.Sprcd = 0 NO-ERROR.
  134. IF NOT AVAILABLE Tabel THEN RETURN FALSE.
  135. RETURN (IF Tabel.Flag_1 = FALSE THEN FALSE ELSE TRUE).
  136. END FUNCTION.
  137. /* _UIB-CODE-BLOCK-END */
  138. &ANALYZE-RESUME
  139. &ENDIF
  140. &IF DEFINED(EXCLUDE-getLogfileName) = 0 &THEN
  141. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLogfileName Procedure
  142. FUNCTION getLogfileName RETURNS CHARACTER
  143. ( /* parameter-definitions */ ) :
  144. /*------------------------------------------------------------------------------*/
  145. /* Purpose: */
  146. /* Parameters: <none> */
  147. /* Notes: */
  148. /*------------------------------------------------------------------------------*/
  149. DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
  150. cPath = DYNAMIC-FUNCTION ('getLogFilePfad':U) NO-ERROR.
  151. cPath = cPath
  152. + Progname
  153. + '_'
  154. + REPLACE(STRING(TODAY,'99.99.9999'), '.', '')
  155. + '.Log'.
  156. RETURN cPath.
  157. END FUNCTION.
  158. /* _UIB-CODE-BLOCK-END */
  159. &ANALYZE-RESUME
  160. &ENDIF
  161. &IF DEFINED(EXCLUDE-setIsWorkingFlag) = 0 &THEN
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION setIsWorkingFlag Procedure
  163. FUNCTION setIsWorkingFlag RETURNS LOGICAL
  164. ( ):
  165. /*------------------------------------------------------------------------------*/
  166. /* Purpose: */
  167. /* Parameters: <none> */
  168. /* Notes: */
  169. /*------------------------------------------------------------------------------*/
  170. DEFINE BUFFER bTabel FOR Tabel.
  171. FIND Tabel NO-LOCK
  172. WHERE Tabel.Firma = Firma
  173. AND Tabel.Recart = 'BATCHDRUCK'
  174. AND Tabel.CodeC = 'LAGER'
  175. AND Tabel.CodeI = 0
  176. AND Tabel.Sprcd = 0 NO-ERROR.
  177. IF NOT AVAILABLE Tabel THEN
  178. DO:
  179. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  180. CREATE Tabel.
  181. ASSIGN
  182. Tabel.Firma = Firma
  183. Tabel.Recart = 'BATCHDRUCK'
  184. Tabel.CodeC = 'LAGER'
  185. Tabel.CodeI = 0
  186. Tabel.Sprcd = 0
  187. Tabel.Flag_1 = TRUE
  188. Tabel.Flag_2 = FALSE.
  189. RELEASE Tabel.
  190. LEAVE.
  191. END.
  192. RETURN TRUE.
  193. END.
  194. REPEAT TRANSACTION ON ERROR UNDO, LEAVE:
  195. FIND bTabel WHERE RECID(bTabel) = RECID(Tabel).
  196. ASSIGN
  197. bTabel.Flag_1 = TRUE .
  198. RELEASE bTabel.
  199. LEAVE.
  200. END.
  201. RETURN TRUE.
  202. END FUNCTION.
  203. /* _UIB-CODE-BLOCK-END */
  204. &ANALYZE-RESUME
  205. &ENDIF
  206. /* ********************** Internal Procedures *********************** */
  207. &IF DEFINED(EXCLUDE-ANMELDEN) = 0 &THEN
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANMELDEN Procedure
  209. PROCEDURE ANMELDEN:
  210. /*------------------------------------------------------------------------------*/
  211. /* Purpose: */
  212. /* Parameters: <none> */
  213. /* Notes: */
  214. /*------------------------------------------------------------------------------*/
  215. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  216. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  217. cLogName = SUBSTITUTE('&1&2', SESSION:TEMP-DIRECTORY, Progname + '.log').
  218. DO WHILE TRUE:
  219. IF ENTRY(1, SESSION:PARAMETER, ';') <> 'batch' THEN LEAVE.
  220. ASSIGN
  221. cBenutzer = ''
  222. cPasswort = ''
  223. cMandant = ''.
  224. DO ix = 1 TO NUM-ENTRIES(SESSION:PARAMETER, ';'):
  225. CASE ix:
  226. WHEN 2 THEN
  227. cBenutzer = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  228. WHEN 3 THEN
  229. cPasswort = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  230. WHEN 4 THEN
  231. cMandant = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
  232. WHEN 5 THEN
  233. lBatch = FALSE NO-ERROR.
  234. END CASE.
  235. END.
  236. DYNAMIC-FUNCTION('setBatch':U, lBatch) NO-ERROR.
  237. FIND FIRST Benutzer NO-LOCK USE-INDEX Benutzer-k1
  238. WHERE Benutzer.Benutzer = cBenutzer
  239. AND Benutzer.Kennwort = cPasswort NO-ERROR.
  240. IF NOT AVAILABLE Benutzer THEN
  241. DO:
  242. cString = SUBSTITUTE('Benutzer &1 mit Kennwort &2 ungültig', cBenutzer, cPasswort).
  243. RUN writeLogFile.p (Progname, cLogName, cString) NO-ERROR.
  244. LEAVE.
  245. END.
  246. FIND Mandant NO-LOCK USE-INDEX Mandant-k1
  247. WHERE Mandant.Firma = cMandant NO-ERROR.
  248. IF NOT AVAILABLE Mandant THEN
  249. DO:
  250. cString = SUBSTITUTE('Mandat &1 ungültig', cMandant).
  251. RUN writeLogFile.p (Progname, cLogName, cString) NO-ERROR.
  252. LEAVE.
  253. END.
  254. cString = cBenutzer + CHR(01) + cPasswort + CHR(01) + cMandant.
  255. RUN ANMELDUNG ( INPUT cString ).
  256. RUN AUFTRAGFUNKTIONENINIT.
  257. lAnmeldung = TRUE.
  258. LEAVE.
  259. END.
  260. END PROCEDURE.
  261. /* _UIB-CODE-BLOCK-END */
  262. &ANALYZE-RESUME
  263. &ENDIF