Accueil du site > Les articles > Transférer une log dans un fichier.
Version à imprimer Enregistrer au format PDF

Transférer une log dans un fichier.

mercredi 11 août 2004, par Christian Kraemer Visites  2429 Première mise en ligne le mardi 28 octobre 2003.

  • La commande LOGBDD permet de transformer un spoule issu de la commande DSPLOG OUTPUT(*PRINT) en fichier base de données.
  • Après avoir lancé cette commande, il faut faire un WRKSPLF et chercher le dernier spoule nommé QPDSPLOG.
  • On fait deux fois F11 et on récupère les informations Fichier, Utilisateur, Travail, Numéro et No fich.
  • On lance la commande LOGBDD et on renseigne les paramètres récupérés auparavant.
  • On fait un DSPPFM de LOGBDDPF et on peut voir que les deux lignes d’un "LOG" sont transformées en une seule ligne.
  • On peut alors faire un QUERY sur LOGBDDPF ou après un transfert sur plateforme micro, utiliser EXCEL.


DDS du fichier LOGBDDPF servant à la récupération des logs :

     *************************************************************
     * FICHIER DES LOG'S TRANSFORMES EN BASE DE DONNEES
     *************************************************************
    A          R LOGBDD
    A            JOBA          11A         COLHDG('NOM' 'TRAVAIL')
    A            USER          11A         COLHDG('UTILISATEUR')
    A            NUMJOB         7A         COLHDG('NUM' 'TRAVAIL')
    A            ZDATE          9A         COLHDG('DATE')
    A            ZHEURE         9A         COLHDG('HEURE')
    A            IDMSG          8A         COLHDG('NUM' 'MESSAGE')
    A            GRV            3A         COLHDG('GRAVITE')
    A            TYPE          13A         COLHDG('TYPE' 'MESSAGE')
    A            MSG          105A         COLHDG('MESSAGE')

 

Source de la Commande LOGBDD rattachée au programme LOGBDDCL :

            CMD        PROMPT('Conversion QPDSPLOG vers BdD')

            PARM       KWD(JOB) TYPE(JOB1) MIN(1) PROMPT('Travail')

JOB1:       QUAL       TYPE(*NAME) LEN(10)

            QUAL       TYPE(*NAME) LEN(10) DFT(*CURRENT) +
                         SPCVAL((*CURRENT)) PROMPT('Utilisateur')

            QUAL       TYPE(*CHAR) LEN(6) MIN(1) +
                         CHOICE('000000-999999') PROMPT('Numero')

            PARM       KWD(SPLNBR) TYPE(*CHAR) LEN(5) RTNVAL(*NO) +
                         DFT(*LAST) MIN(0) CHOICE('1-9999, *LAST') +
                         PROMPT('Numero de fichier spoule')       

Source du programme CL LOGBDDCL :

/*****************************************************************/
/*                                                               */
/*    PROCEDURE POUR TESTER LOGBDD                               */
/*                                                               */
/*     AUTEUR : KRAEMER   LE 22/07/02                            */
/*                                                               */
/*****************************************************************/

            PGM        PARM(&JOBU &SPLNBR)

            DCL        VAR(&USER) TYPE(*CHAR) LEN(10)
            DCL        VAR(&USERA) TYPE(*CHAR) LEN(10)
            DCL        VAR(&TRAV) TYPE(*CHAR) LEN(10)
            DCL        VAR(&NUM) TYPE(*CHAR) LEN(6)
            DCL        VAR(&JOBU) TYPE(*CHAR) LEN(26)
            DCL        VAR(&SPLNBR) TYPE(*CHAR) LEN(5)

/*   EXTRACTION DES PARAMETRES DE TRAVAIL                       */
/*                                                              */
            CHGVAR     VAR(&USER) VALUE(%SST(&JOBU 11 8))

            IF         COND(&USER *EQ '*CURRENT') THEN(DO)
            RTVJOBA    USER(&USERA)
            CHGVAR     VAR(&USER) VALUE(&USERA)
            ENDDO

            CHGVAR     VAR(&TRAV) VALUE(%SST(&JOBU 1 10))

            CHGVAR     VAR(&NUM)  VALUE(%SST(&JOBU 21 6))


/*   COPIE DU SPOULE SELECTIONNE VERS DSPLOGPF                   */

            CPYSPLF    FILE(QPDSPLOG) TOFILE(QGPL/DSPLOGPF) +
                         JOB(&NUM/&USER/&TRAV) SPLNBR(&SPLNBR) +
                         TOMBR(*FIRST) MBROPT(*REPLACE)

/*   REMISE · BLANC DE DSPLOGPF                                 */

            CLRPFM     FILE(QGPL/LOGBDDPF)

/*   APPEL DU PROGRAMME LOGBDD                                   */

            CALL       PGM(QGPL/LOGBDD)
FIN:
            ENDPGM

Source du programme RPG LOGBDD :

    H*****************************************************************
    FDSPLOGPFIPE F     135            DISK
    FLOGBDDPFO   E                    DISK
     ******************************************************
    IDSPLOGPFNS  11  11 C0  12 C
    I                                        1   7 WIDMSG
    I                                       10  11 WGRV
    I                                       14  24 WTYPE
    I                                       27 131 WMSG
    IDSPLOGPFNS  12  10 C   11 C
    I                                       23  32 WJOBA
    I                                       34  43 WUSER
    I                                       45  50 WNMJOB
    I                                       70  77 WDATE
    I                                       79  86 WHEURE
    IDSPLOGPFNS  13
    C******************************************************
    C* DEBUT DU PROGRAMME
    C******************************************************
    C           DEBUT     TAG
    C******************************************************
    C   13                GOTO FIN
    C           *IN11     IFEQ *ON
    C                     MOVELWIDMSG    IDMSG
    C                     MOVELWGRV      GRV
    C                     MOVELWTYPE     TYPE
    C                     MOVELWMSG      MSG
    C                     ENDIF
    C           *IN12     IFEQ *ON
    C                     MOVELWJOBA     JOBA
    C                     MOVELWUSER     USER
    C                     MOVELWNMJOB    NUMJOB
    C                     MOVELWDATE     ZDATE
    C                     MOVELWHEURE    ZHEURE
    C                     WRITELOGBDD
    C                     ENDIF
    C******************************************************
    C* FIN DU PROGRAMME
    C******************************************************
    C           FIN       TAG
    C******************************************************