&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