OPALE - 10.0 - Exploitation - Résoudre les incidents de production du robot/en

Différence entre versions

De MappingDoc
(Page créée avec « Check that user message queue exists: <code>WRKMSGQ MAPPING</code> »)
 
(65 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
This process is described for the operations team to know what main actions to carry out in order to solve MAPSROBOT robot production incidents.
+
<languages />
 +
This page is intended for operation and supervision staff. It lists the main actions you can carry out to solve production incidents involving the Mapping robot called MAPSROBOT.
  
Requirements: Know about System i, JOBD, JOBQ, SBS and CLASS.
+
Requirements: Knowledge of JOBD, JOBQ, SBS and CLASS is required.
  
=== How to know the name of the sub-system OPALE Server uses? ===
+
=== How do I know the name of the sub-system used by OPALE Server? ===
  
Select «MAPPING Operations menu» then in option 1 «MAPPING environment parameters», the name of the sub-system is displayed at the bottom right of the screen: <code>SBS : MAPSROBOT</code>
+
In the "MAPPING Operations menu" choose Option 1 "MAPPING environment parameters". The name of the sub-system is displayed at the bottom right of the screen: <code>SBS: MAPSROBOT</code>
  
=== How to get information on jobd MAPDROBOT? ===
+
=== How to get information about the jobd called MAPDROBOT? ===
  
 
  DSPJOBD MAP400/MAPDROBOT  (DSPJOBD JOBD(MAP400/MAPDROBOT)
 
  DSPJOBD MAP400/MAPDROBOT  (DSPJOBD JOBD(MAP400/MAPDROBOT)
Ligne 15 : Ligne 16 :
 
Job queue: <code>MAP400/MAPQROBOT </code>
 
Job queue: <code>MAP400/MAPQROBOT </code>
  
Request's data: <code>CALL MAP_C812 '*YES' </code>
+
Request data: <code>CALL MAP_C812 '*YES' </code>
  
 
Libraries: <code>MAP400, QTEMP, QGPL</code>
 
Libraries: <code>MAP400, QTEMP, QGPL</code>
  
=== How to get information on MAPPING user batch? ===
+
=== How to get information about the batch user called MAPPING? ===
  
 
  DSPUSRPRF MAPPING
 
  DSPUSRPRF MAPPING
Ligne 25 : Ligne 26 :
 
Messages queue: <code>QUSRSYS/MAPPING</code>
 
Messages queue: <code>QUSRSYS/MAPPING</code>
  
output queue: <code>MAP400/MAPPING</code>
+
Output queue: <code>MAP400/MAPPING</code>
  
=== Sub-system MAPSROBOT does not start anymore ===
+
=== MAPSROBOT Sub-system does not start anymore ===
  
Check that the MAPPING user is registered: <code>WRKUSRPRF MAPPING</code>
+
Check that the MAPPING user is created: <code>WRKUSRPRF MAPPING</code>
  
Check that user message queue exists: <code>WRKMSGQ MAPPING</code>
+
Check that the user's message queue exists: <code>WRKMSGQ MAPPING</code>
  
Vérifier que la file d'attente de l'utilisateur MAPPING existe : <code>WRKOUTQ MAPPING</code>
+
Check that the user's queue exists: <code>WRKOUTQ MAPPING</code>
  
Vérifier que MAP400 n'est pas dans la syslib : <code>DSPSYSVAL QSYSLIBL</code>
+
Check that MAP400 is not in the syslib: <code>DSPSYSVAL QSYSLIBL</code>
  
Vérifier que les jobqs existent et ne sont pas holdées : <code>WRKJOBQ MAP400/MAPQ*</code>
+
Check that the jobqs exist and are not being held: <code>WRKJOBQ MAP400/MAPQ*</code>
  
Vérifier que les classes existent : <code>WRKCLS MAP400/MAP_*</code>
+
Check that the classes exist: <code>WRKCLS MAP400/MAP_*</code>
  
Si cela ne fonctionne toujours pas, taper la commande :<code>CHGJOBD MAP400/MAPDROBOT LOG(4 00 *SECLVL)</code>
+
If it still does not work, run command:<code>CHGJOBD MAP400/MAPDROBOT LOG(4 00 *SECLVL)</code>
  
Puis :
+
Then:
  
 
  STRSBS MAP400/MAPSROBOT
 
  STRSBS MAP400/MAPSROBOT
  
Rechercher le spool de log du démarrage. Le message doit être explicite.Faire les changements nécessaires, puis revenir à la configuration par défaut.<code>CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)</code>
+
Look for start-up log spool file. The message has to be clear. Apply the necessary changes, then return to default configuration.<code>CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)</code>
  
=== Le sous-système est démarré mais les spools ne sont pas traités ===
+
=== The sub-system is started but spooled files are not processed ===
  
Vérifier les jobs des DTAQs dans MAPSROBOT. Pour cela taper la commande : <code>WRKACTJOB SBS(MAPSROBOT)</code>
+
Check DTAQs jobs in MAPSROBOT. To do so, enter: <code>WRKACTJOB SBS(MAPSROBOT)</code>
  
Il faut visualiser des jobs portant les mêmes noms que les DTAQs qui ont été définies dans le menu Mapping.
+
You should see jobs with the same names as the DTAQs defined in the Mapping menu.
  
=== Les jobs des DTAQs ne tournent pas dans MAPSROBOT ===
+
=== DTAQ jobs don't run in MAPSROBOT ===
  
Vérifier l'existence des DTAQs dans les bibliothèques.
+
Check that the DTAQs exist in the libraries.
  
Pour cela, regarder dans l'option 4 du menu d'exploitation le nom des DTAQs et leurs bibliothèques (appuyer sur F11) puis vérifier que l'objet existe :<code>WRKOBJ « LIBNAME »/ « DTANAME »</code>
+
To do so, in option 4 of the Operations menu, check the name of DTAQs and their libraries (press F11) then check that the object exists:<code>WRKOBJ "LIBNAME"/ "DTANAME"</code>
  
=== Les jobs démarrent bien dans MAPSROBOT mais les fichiers ne sont pas traités ===
+
=== Jobs are started in MAPSROBOT but files are not processed ===
  
Vérifier que les OUTQs d'entrée sont bien attachées aux DTAQs.
+
Check that input OUTQs are linked to 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érifier que le paramètre file d'attente de données est bien égal au nom de la DTAQ :<code>CHGOUTQ « LIBNAME » / « OUTQNAME »</code>
+
To do so, in option 4 of the Operations menu, check the name of input OUTQs and their libraries (press F11) then check that the data queue parameter is the same as the DTAQ's name:<code>CHGOUTQ "LIBNAME" / "OUTQNAME"</code>
  
=== Les jobs des DTAQs dans MAPSROBOT démarrent, mais s'arrêtent instantanément ===
+
===The DTAQ jobs are started in MAPSROBOT but they stop immediately===
  
Étape 1 : Arrêter le robot par un <code>ENDSBS MAPSROBOT *IMMED</code>
+
Step 1: Stop the robot using <code>ENDSBS MAPSROBOT *IMMED</code>
  
Étape 2 : Faire un <code>STRSBS MAPSOROBOT</code>
+
Step 2: Enter <code>STRSBS MAPSOROBOT</code>
  
Étape 3 : Faire un <code>DSPDTAQ « LIBNAME »/ « DTANAME »</code>
+
Step 3: Enter <code>DSPDTAQ "LIBNAME"/ "DTANAME"</code>
  
S'il y a encore une des datas de type <code>ENDRBTENDRBT</code>, reprendre à l'étape 1.
+
If there is still data of type <code>ENDRBTENDRBT</code>, go back to step 1.
  
  
Remarque:
+
Note:
  
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.
+
If you have created a new DTAQ in the robot without stopping MAPSROBOT beforehand, then this is probably where the problem comes from. New relations can only be created if input OUTQs already use existing DTAQs. Otherwise, you need to stop and reboot the robot.
L'autre cause possible, une demande d'arrêt par un <code>ENDRBT</code> interrompu par un appel système + 2
+
Another possible reason would be an <code>ENDRBT</code> stop request interrupted by a call system +2
  
=== Un job est en MSGW, mais il n'y a pas d'informations dans la log du job ===
+
=== A job is in MSGW status but there is no information in the job log ===
  
Dans les options du job,
+
In the job options:
* regarder le nom de la JOBD utilisée pour soumettre le job. Par exemple MAPDSPEED puis faire : <code>CHGJOBD MAP400/MAPDSPEED LOG(4 00 *SECLVL)</code>
+
* Check the name of the JOBD used to submit the job. For instance MAPDSPEED then type: <code>CHGJOBD MAP400/MAPDSPEED LOG(4 00 *SECLVL)</code>
* Relancer le job.
+
* Restart the job.
* Contrôler la log du job et effectuer les modifications.<code>DSPJOBLOG</code> (nom du job, utilisateur, numéro du job)
+
* Check the job's log and run the following command.<code>DSPJOBLOG</code> (job name, user, job number)
* Puis faire : <code>CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)</code>
+
* Then run: <code>CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)</code>
  
  
Remarque :
+
Note:
  
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.
+
Most of the time, the problem comes from using parameter &CLSPLNUMS in the robot. If you wish to use &CLSPLNUMS in a program by doing a CALL CL, do not forget to protect this parameter using simple quotes. Otherwise, this parameter is considered as a numerical value by the IBM i.
  
 
  CALL MAP400/MONPGM PARM('&CLSPLNUMS')
 
  CALL MAP400/MONPGM PARM('&CLSPLNUMS')

Version actuelle datée du 4 juin 2019 à 09:49

Autres langues :
English • ‎français

This page is intended for operation and supervision staff. It lists the main actions you can carry out to solve production incidents involving the Mapping robot called MAPSROBOT.

Requirements: Knowledge of JOBD, JOBQ, SBS and CLASS is required.

How do I know the name of the sub-system used by OPALE Server?

In the "MAPPING Operations menu" choose Option 1 "MAPPING environment parameters". The name of the sub-system is displayed at the bottom right of the screen: SBS: MAPSROBOT

How to get information about the jobd called MAPDROBOT?

DSPJOBD MAP400/MAPDROBOT  (DSPJOBD JOBD(MAP400/MAPDROBOT)

User profile: MAPPING

Job queue: MAP400/MAPQROBOT

Request data: CALL MAP_C812 '*YES'

Libraries: MAP400, QTEMP, QGPL

How to get information about the batch user called MAPPING?

DSPUSRPRF MAPPING

Messages queue: QUSRSYS/MAPPING

Output queue: MAP400/MAPPING

MAPSROBOT Sub-system does not start anymore

Check that the MAPPING user is created: WRKUSRPRF MAPPING

Check that the user's message queue exists: WRKMSGQ MAPPING

Check that the user's queue exists: WRKOUTQ MAPPING

Check that MAP400 is not in the syslib: DSPSYSVAL QSYSLIBL

Check that the jobqs exist and are not being held: WRKJOBQ MAP400/MAPQ*

Check that the classes exist: WRKCLS MAP400/MAP_*

If it still does not work, run command:CHGJOBD MAP400/MAPDROBOT LOG(4 00 *SECLVL)

Then:

STRSBS MAP400/MAPSROBOT

Look for start-up log spool file. The message has to be clear. Apply the necessary changes, then return to default configuration.CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)

The sub-system is started but spooled files are not processed

Check DTAQs jobs in MAPSROBOT. To do so, enter: WRKACTJOB SBS(MAPSROBOT)

You should see jobs with the same names as the DTAQs defined in the Mapping menu.

DTAQ jobs don't run in MAPSROBOT

Check that the DTAQs exist in the libraries.

To do so, in option 4 of the Operations menu, check the name of DTAQs and their libraries (press F11) then check that the object exists:WRKOBJ "LIBNAME"/ "DTANAME"

Jobs are started in MAPSROBOT but files are not processed

Check that input OUTQs are linked to DTAQs.

To do so, in option 4 of the Operations menu, check the name of input OUTQs and their libraries (press F11) then check that the data queue parameter is the same as the DTAQ's name:CHGOUTQ "LIBNAME" / "OUTQNAME"

The DTAQ jobs are started in MAPSROBOT but they stop immediately

Step 1: Stop the robot using ENDSBS MAPSROBOT *IMMED

Step 2: Enter STRSBS MAPSOROBOT

Step 3: Enter DSPDTAQ "LIBNAME"/ "DTANAME"

If there is still data of type ENDRBTENDRBT, go back to step 1.


Note:

If you have created a new DTAQ in the robot without stopping MAPSROBOT beforehand, then this is probably where the problem comes from. New relations can only be created if input OUTQs already use existing DTAQs. Otherwise, you need to stop and reboot the robot. Another possible reason would be an ENDRBT stop request interrupted by a call system +2

A job is in MSGW status but there is no information in the job log

In the job options:

  • Check the name of the JOBD used to submit the job. For instance MAPDSPEED then type: CHGJOBD MAP400/MAPDSPEED LOG(4 00 *SECLVL)
  • Restart the job.
  • Check the job's log and run the following command.DSPJOBLOG (job name, user, job number)
  • Then run: CHGJOBD MAP400/MAPDROBOT LOG(0 99 *NOLIST)


Note:

Most of the time, the problem comes from using parameter &CLSPLNUMS in the robot. If you wish to use &CLSPLNUMS in a program by doing a CALL CL, do not forget to protect this parameter using simple quotes. Otherwise, this parameter is considered as a numerical value by the IBM i.

CALL MAP400/MONPGM PARM('&CLSPLNUMS')