| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v9r12
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure
- /*------------------------------------------------------------------------
- File :
- Purpose :
- Syntax :
- Description :
- Author(s) :
- Created :
- Notes :
- ----------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- { v8/globvar.i "NEW" "GLOBAL" "SHARED" }
- { v8/debivar.i "NEW" "GLOBAL" "SHARED" }
- { v8/artivar.i "NEW" "GLOBAL" "SHARED" }
- { v8/contvar.i "NEW" "GLOBAL" "SHARED" }
- DEFINE VARIABLE lBatch AS LOG INIT TRUE NO-UNDO.
- DEFINE VARIABLE cBatch AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPasswort AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cMandant AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProgramm AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProgName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cLogName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cParam AS CHARACTER NO-UNDO EXTENT.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE i2 AS INTEGER NO-UNDO.
- DEFINE STREAM LogStream.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE Procedure
- &Scoped-define DB-AWARE no
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &IF DEFINED(EXCLUDE-getLogName) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getLogName Procedure
- FUNCTION getLogName RETURNS CHARACTER
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-writeLogFile) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD writeLogFile Procedure
- FUNCTION writeLogFile RETURNS LOGICAL
- ( ipMessage AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: Procedure
- Allow:
- Frames: 0
- Add Fields to: Neither
- Other Settings: CODE-ONLY COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW Procedure ASSIGN
- HEIGHT = 15
- WIDTH = 60.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
-
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
- /* *************************** Main Block *************************** */
- { super/funktionen.i }
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DO WHILE TRUE:
- IF ENTRY(1, SESSION:PARAMETER, ';') <> 'batch' THEN LEAVE.
-
- ASSIGN
- cBenutzer = ''
- cPasswort = ''
- cMandant = ''
- cProgramm = ''
- cProgName = 'start_batch' NO-ERROR.
-
- cLogName = DYNAMIC-FUNCTION('getLogName':U) NO-ERROR.
-
- DO ix = 1 TO NUM-ENTRIES(SESSION:PARAMETER, ';'):
- CASE ix:
- WHEN 2 THEN
- cBenutzer = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
- WHEN 3 THEN
- cPasswort = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
- WHEN 4 THEN
- cMandant = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
- WHEN 5 THEN
- cProgramm = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
- WHEN 6 THEN
- cBatch = ENTRY(ix, SESSION:PARAMETER, ';') NO-ERROR.
- WHEN 7 THEN
- LEAVE.
- END CASE.
- END.
- IF cBatch BEGINS 'n' THEN lBatch = FALSE.
- ELSE lBatch = TRUE.
- IF ix = 7 THEN
- DO:
- i1 = NUM-ENTRIES(SESSION:PARAMETER, ';') - 6.
- EXTENT(cParam) = i1.
- i1 = 0.
- DO ix = 7 TO NUM-ENTRIES(SESSION:PARAMETER, ';'):
- i1 = i1 + 1.
- cParam[i1] = ENTRY(ix, SESSION:PARAMETER, ';').
- DYNAMIC-FUNCTION('writeLogFile':U, cParam[i1]) NO-ERROR.
- END.
- END.
-
- FIND FIRST Benutzer NO-LOCK USE-INDEX Benutzer-k1
- WHERE Benutzer.Benutzer = cBenutzer
- AND Benutzer.Kennwort = cPasswort NO-ERROR.
- IF NOT AVAILABLE Benutzer THEN
- DO:
- cString = SUBSTITUTE('Benutzer &1 mit Kennwort &2 ungültig', cBenutzer, cPasswort).
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
- LEAVE.
- END.
-
- FIND Mandant NO-LOCK USE-INDEX Mandant-k1
- WHERE Mandant.Firma = cMandant NO-ERROR.
- IF NOT AVAILABLE Mandant THEN
- DO:
- cString = SUBSTITUTE('Mandat &1 ungültig', cMandant).
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
- LEAVE.
- END.
-
- IF cProgramm = '' THEN
- DO:
- DYNAMIC-FUNCTION('writeLogFile':U, 'Kein Programm als Parameter vorhanden') NO-ERROR.
- LEAVE.
- END.
-
- cString = cBenutzer + CHR(01) + cPasswort + CHR(01) + cMandant.
- RUN ANMELDUNG ( INPUT cString ).
- RUN AUFTRAGFUNKTIONENINIT.
-
- cString = SUBSTITUTE('Programm &1 wird von Benutzer &2 gestartet', cProgramm, cBenutzer).
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
-
- DYNAMIC-FUNCTION('setBatch':U, lBatch) NO-ERROR.
-
- RUN VALUE(cProgramm) (INPUT cParam) NO-ERROR.
-
- IF ERROR-STATUS:ERROR THEN
- DO:
- cString = SUBSTITUTE('Programm &1 mit Fehler &2 beendet', cProgramm, ERROR-STATUS:GET-MESSAGE(1)).
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
- LEAVE.
- END.
-
- cString = SUBSTITUTE('Programm &1 beendet', cProgramm).
- DYNAMIC-FUNCTION('writeLogFile':U, cString) NO-ERROR.
- LEAVE.
- END.
- QUIT.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &IF DEFINED(EXCLUDE-getLogName) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getLogName Procedure
- FUNCTION getLogName RETURNS CHARACTER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cPath AS CHARACTER NO-UNDO.
-
- GET-KEY-VALUE SECTION 'GrundEinstellungen'
- KEY 'Ge_MIS_TEMP'
- VALUE cPath.
- IF cPath = '' OR
- cPath = ? THEN cPath = SESSION:TEMP-DIRECTORY.
- IF SUBSTRING(cPath, LENGTH(cPath), 01) <> '/' AND
- SUBSTRING(cPath, LENGTH(cPath), 01) <> '\' THEN cPath = cPath + '\'.
- cPath = cPath
- + cProgName
- + '-'
- + REPLACE(STRING(TODAY,'99.99.9999'), '.', '')
- + '.Log'.
- RETURN cPath.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
- &IF DEFINED(EXCLUDE-writeLogFile) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION writeLogFile Procedure
- FUNCTION writeLogFile RETURNS LOGICAL
- ( ipMessage AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- cString = SUBSTITUTE('&1 &2 -> &3', STRING(TODAY,'99.99.9999'), STRING(TIME,'HH:MM:SS'), ipMessage).
- OUTPUT STREAM LogStream TO VALUE(cLogName) APPEND.
- PUT STREAM LogStream CONTROL cString CHR(10).
- OUTPUT STREAM LogStream CLOSE.
- RETURN TRUE.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
|