[RESOLU] Afficher imprimante en erreur (Writer en MSGW)

IBM i, configuration, commandes, ...
Répondre
Diggi
Messages : 12
Enregistré le : mer. 27 mars 2013, 15:55:03

[RESOLU] Afficher imprimante en erreur (Writer en MSGW)

Message par Diggi »

Bonjour,

Comme dans la plupart des parcs informatiques, j'ai souvent des imprimantes en erreur (plus de papier, plus d'encre, câble déconnecté, éteinte...).
Lorsqu'on essaye d'imprimer depuis l'IBM i, et que l'imprimante ne répond pas correctement, le système passe l'imprimante en MSGW.

J'utilise donc la commande WRKWTRpour gérer tous les Writers et voir ceux qui sont en MSGW. Mais cela m'oblige à faire défiler la liste en vérifiant la colonne "Etat".

Il me semble qu'il n'existe pas de commande pour n'afficher que les Writers dans l'état MSGW et pas ceux en STR. On peut aussi passer par la commande WRKACTJOB SBS(QSPL) avec F16 sur la colonne "Etat" mais cela affiche un état TIMW tout en fin de liste (il faut donc tout faire défiler). Ce n’est donc pas l’idéal..

Est-ce que vous auriez un CL (ou une idée de CL) qui permettrait par une simple commande de n'afficher que les WTR dans l'état MSGW ?
Modifié en dernier par Diggi le mar. 10 mars 2015, 16:33:02, modifié 1 fois.
Diggi
Administrator Sistema e Ret
Occitania

cmasse
Site Admin
Messages : 759
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

API

Message par cmasse »

Bonjour,

hélas pas d'idée géniale, même System i Navigator en permet pas de filtrer sur l'état de l'éditeur. Reste la programmation par API (QUSLJOB) qui permet de filtrer sur le type de job (W The job is a spooled writer job.).


http://www-01.ibm.com/support/knowledge ... usljob.htm

Mais c'est cher payé :cry:
Christian Massé (Volubis.fr)

Diggi
Messages : 12
Enregistré le : mer. 27 mars 2013, 15:55:03

(sujet non précisé)

Message par Diggi »

Bonjour,

J'ai finalement trouvé la solution en utilisant l'API QSPRWTRI dans un CL.

Code : Tout sélectionner

             PGM
/* ----------------------------------*/
/*                                   */
/* AFFICHER LES WRITERS EN ERREUR    */
/* (UTILISATION API QSPRWTRI)        */
/*                                   */
/* ----------------------------------*/

             DCLF       FILE(QADSPOBJ)
             
             DCL        VAR(&RCVR) TYPE(*CHAR) LEN(320)
             DCL        VAR(&RCVRLEN) TYPE(*CHAR) LEN(4)
             DCL        VAR(&ERRCDE) TYPE(*CHAR) LEN(8)
             DCL        VAR(&RCVRLENN) TYPE(*DEC) LEN(4 0)
             DCL        VAR(&RCVRLENC) TYPE(*CHAR) LEN(4)
             DCL        VAR(&STATUS) TYPE(*CHAR) LEN(1)
             
             CHGVAR     VAR(&RCVRLENN) VALUE(320)
             CHGVAR     VAR(&RCVRLENC) VALUE(&RCVRLENN)
             CHGVAR     VAR(&ERRCDE) VALUE(X'0000000000000000')

            DSPOBJD    OBJ(*ALL) OBJTYPE(*DEVD) OUTPUT(*OUTFILE) +
                         OUTFILE(QTEMP/QADSPOBJ)
            OVRDBF     FILE(QADSPOBJ) TOFILE(QTEMP/QADSPOBJ)

            SNDUSRMSG  MSG('**************** AFFICHAGE DES IMPRIMANTES EN +
            *MSGW ***************************') MSGTYPE(*INFO)
                        
 LECTURE:   RCVF
              MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN)) /* EOF */
              
             IF         COND(&ODOBAT *EQ 'PRTLAN') THEN(DO)
             
               CALL       PGM(QSPRWTRI) PARM(&RCVR &RCVRLEN 'WTRI0100' +
                                             &ODOBNM &ERRCDE)
               MONMSG     MSGID(CPF33C8 CPF9801) EXEC(GOTO +
                            CMDLBL(LECTURE)) /* NOT FOUND OR NOT STARTED*/
             
               CHGVAR     VAR(&STATUS) VALUE(%SST(&RCVR 20 1))
               IF         COND(&STATUS = 'Y') THEN(DO)
 /*             SNDPGMMSG  MSG(&ODOBNM *BCAT 'EST EN *MSGW')       */
                SNDUSRMSG  MSG(&ODOBNM *BCAT 'EST EN *MSGW') MSGTYPE(*INFO)
               ENDDO

             ENDDO

             GOTO       CMDLBL(LECTURE)
 FIN:
             DLTOVR     FILE(QADSPOBJ)
             
             SNDUSRMSG  MSG('**************** FIN DE LA LISTE DES IMPRIMANTES +
              ***************************') MSGTYPE(*INFO)
                           
             WRKWTR
             ENDPGM
Diggi
Administrator Sistema e Ret
Occitania

Répondre