OPALE - 10.0 - Exploitation
Résoudre les incidents de production du robot
Cette procédure destinée à l'équipe d'exploitation répertorie les principales actions à mener afin de résoudre les incidents de production du robot MAPSROBOT.
Pré-requis : Connaître les notions System i de JOBD, JOBQ, SBS et CLASS.
Sommaire
- 1 Comment connaître le nom du sous-système utilisé par OPALE Server ?
- 2 Comment obtenir des informations sur la jobd MAPDROBOT ?
- 3 Comment obtenir des informations sur le user batch MAPPING ?
- 4 Le sous-système MAPSROBOT ne démarre plus
- 5 Le sous-système est démarré mais les spools ne sont pas traités
- 6 Les jobs des DTAQs ne tournent pas dans MAPSROBOT
- 7 Les jobs démarrent bien dans MAPSROBOT mais les fichiers ne sont pas traités
- 8 Les jobs des DTAQs dans MAPSROBOT démarrent, mais s'arrêtent instantanément
- 9 Un job est en MSGW, mais il n'y a pas d'informations dans la log du job
Comment connaître le nom du sous-système utilisé par OPALE Server ?
Entrez dans le « menu d'exploitation MAPPING » puis dans l'option 1 « Paramètres d'environnement MAPPING », le nom du sous-système est précisé en bas à droite :
SBS : MAPSROBOT
Comment obtenir des informations sur la jobd MAPDROBOT ?
DSPJOBD MAP400/MAPDROBOT (DSPJOBD JOBD(MAP400/MAPDROBOT)
Profil utilisateur : MAPPING
File d'attente de travaux : MAP400/MAPQROBOT
Données de la demande : CALL MAP_C812 '*YES'
Liste bibliothèques : MAP400, QTEMP, QGPL
Comment obtenir des informations sur le user batch MAPPING ?
DSPUSRPRF MAPPING
File d'attente de messages : QUSRSYS/MAPPING
File d'attente de sortie : MAP400/MAPPING
Le sous-système MAPSROBOT ne démarre plus
Vérifiez que l'utilisateur MAPPING existe : WRKUSRPRF MAPPING
Vérifiez que le message queue de l'utilisateur existe : WRKMSGQ MAPPING
Vérifiez que la file d'attente de l'utilisateur MAPPING existe : WRKOUTQ MAPPING
Vérifiez que MAP400 n'est pas dans la syslib : DSPSYSVAL QSYSLIBL
Vérifiez que les jobqs existent et ne sont pas holdées : WRKJOBQ MAP400/MAPQ*
Vérifiez que les classes existent : WRKCLS MAP400/MAP_*
Si cela ne fonctionne toujours pas, tapez la commande :
CHGJOBD MAP400/MAPDROBOT LOG(4 00 *SECLVL)
Puis :
STRSBS MAP400/MAPSROBOT
Recherchez le spool de log du démarrage. Le message doit être explicite.
Faire les changements nécessaires, puis revenir à la configuration par défaut.
CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)
Le sous-système est démarré mais les spools ne sont pas traités
Vérifiez les jobs des DTAQs dans MAPSROBOT. Pour cela tapez la commande :
WRKACTJOB SBS(MAPSROBOT)
Vous devez visualiser des jobs portant les mêmes noms que les DTAQs qui ont été définies dans le menu Mapping.
Les jobs des DTAQs ne tournent pas dans MAPSROBOT
Vérifiez l'existence des DTAQs dans les bibliothèques.
Pour cela, regarder dans l'option 4 du menu d'exploitation le nom des DTAQs et leurs bibliothèques (appuyer sur F11) puis vérifiez que l'objet existe :
WRKOBJ « LIBNAME »/ « DTANAME »
Les jobs démarrent bien dans MAPSROBOT mais les fichiers ne sont pas traités
Vérifiez que les OUTQs d'entrée sont bien attachées aux DTAQs.
Pour cela, regarder dans l'option 4 du menu d'exploitation le nom des OUTQs d'entrée et leurs bibliothèques (appuyer sur F11) puis vérifiez que le paramètre file d'attente de données est bien égal au nom de la DTAQ :
CHGOUTQ « LIBNAME » / « OUTQNAME »
Les jobs des DTAQs dans MAPSROBOT démarrent, mais s'arrêtent instantanément
Étape 1 : Arrêter le robot par un ENDSBS MAPSROBOT *IMMED
Étape 2 : Faire un STRSBS MAPSOROBOT
Étape 3 : Faire un DSPDTAQ « LIBNAME »/ « DTANAME »
S'il y a encore une des datas de type ENDRBTENDRBT
, reprendre à l'étape 1.
Remarque:
Le problème provient en général d'une nouvelle DTAQ créée dans le robot sans avoir au préalable stoppé MAPSROBOT. Vous pouvez en effet créer des nouvelles relations à chaud uniquement si les OUTQs d'entrée utilisent des DTAQ déjà existantes. Dans les autres cas, il faut arrêter et redémarrer le robot.
L'autre cause possible, une demande d'arrêt par un ENDRBT
interrompu par un appel système + 2
Un job est en MSGW, mais il n'y a pas d'informations dans la log du job
Dans les options du job, regarder le nom de la JOBD utilisée pour soumettre le job. Par exemple MAPDSPEED puis faire : CHGJOBD MAP400/MAPDSPEED LOG(4 00 *SECLVL)
Relancer le job.
Contrôler la log du job et effectuer les modifications.
DSPJOBLOG
(nom du job, utilisateur, numéro du job)
Puis faire : CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)
Remarque :
Bien souvent l'erreur se situe sur l'utilisation du paramètre &CLSPLNUMS dans le robot. Si vous souhaitez le passer à un programme par un CALL d'un CL, il ne faut pas oublier de protéger ce paramètre par des simples cotes avant et après. Dans le cas contraire, l'iSeries va considérer ce paramètre comme une valeur numérique.
CALL MAP400/MONPGM PARM('&CLSPLNUMS')