JCL pour SAP - Rackcdn.com

Transcription

JCL pour SAP - Rackcdn.com
Automation Engine 10
Base de connaisances
Version: 10.0.3
Date: 2014-09-11
Automic Software GmbH
ii Copyright
Copyright
Les logos Automic ® et Automic ® sont des marques déposées appartenant à Automic Software
GmbH (Automic). L'utilisation de toutes les marques déposées nécessite une autorisation explicite
écrite et est soumise aux conditions de la licence. Les logiciels et/ou le programme sont la propriété
protégée d'Automic Software. L'accès et l'utilisation de ces derniers sont soumis à des conditions
de licence devant être approuvées par écrit.
Les logiciels et/ou le programme sont également protégés par des droits de reproduction par des
contrats internationaux ainsi que par les lois nationales et internationales. Un accès et/ou une
utilisation non autorisés peuvent entraîner des poursuites civiles et pénales. La copie non autorisée
et d'autres formes de reproduction partielle ou totale, la décompilation, la reproduction, la
modification, ou le développement de produits dérivés du logiciel sont strictement interdits. Le nonrespect de ces conditions peut entraîner des poursuites pénales.
Sous réserve de modifications. Aucune responsabilité ne sera acceptée pour toute modification,
omission, erreur d'impression ou de production. Toute reproduction, totale ou partielle, est
strictement interdite.
© Copyright Automic Software GmbH. Tous droits réservés.
Automation Engine
iii
Contents
1 Terminologie - Machines, programmes et fichiers
1
2 Heure
6
3 Informateur de Job de l'Agent
8
4 Automation Engine et NAT
10
5 Codes d’erreur externes
11
5.1 COBOL - Codes d'erreur des fichiers
Texte d'origine de la description du compilateur
5.2 COBOL - Codes d'erreur d'exécution
Texte d'origine de la description du compilateur
11
11
14
14
5.3 Messages d'erreur de la pile TCP/IP
34
5.4 Codes d’erreur UNIX
36
5.4.1 Codes d'erreur dans les messages du log de l'Agent
36
Remarques
36
5.4.2 DEC OSF
37
Codes d'erreur Alpha - DEC-OSF/1 - Digital UNIX 4.0
5.4.3 HP-UX
37
40
Codes d'erreur HP-Workstation (9000), HP-UX 9
40
Codes d'erreur HP-Workstation (9000), HP-UX 10
42
5.4.4 IBM AIX
Codes d'erreur Power-PC - AIX 4.1
5.4.5 Sun OS (Solaris)
45
45
48
Codes d'erreur Sparc, Solaris 1 version 4,1 et supérieure
48
Codes d'erreur Sparc, Solaris 2 version 5.5 et supérieure
51
Codes d'erreur Intel, Solaris version 2.4 et supérieure
54
5.5 Codes d’erreur Windows
57
5.5.1 Win32 - Codes d'erreur (0-999)
57
5.5.2 Win32 - Codes d'erreur (1 000-1 999)
68
5.5.3 Win32 - Codes d'erreur (2 000-5 999)
96
5.5.4 Win32 - Codes d'erreur (6 000-11 999)
114
6 Prise en charge SNMP
137
6.1 Généralités sur SNMP
137
6.2 Automation Engine et SNMP
137
iv
Contents
Mode Agent maître sous UNIX
6.3 Mode Agent sous UNIX
139
139
Agent maître (conseillé)
139
Sous-agent
140
HP-UX
141
6.4 FAQ et glossaire du sous-agent SNMP
141
Termes importants :
142
Questions fréquemment posées :
142
6.5 Installation
6.5.1 Installation du sous-Agent SNMP (UNIX)
144
144
Prérequis
144
Fichiers fournis
144
Installation
145
6.5.2 Sous-Agent SNMP pour UNIX
146
Structure du fichier ucsnmp1.ini
146
Exemple de fichier INI
148
6.5.3 Installation du sous-Agent SNMP (Windows)
148
Prérequis
149
Fichiers fournis
149
Installation
149
6.5.4 Sous-Agent SNMP pour Windows
150
Structure du fichier ucsnmp1.ini
150
Exemple de fichier INI
152
6.5.5 Configuration du service SNMP de Windows
152
Prérequis
152
Déroulement
152
6.6 MIB
154
6.6.1 Structure de la MIB
154
6.6.2 Agent Data Group
155
6.6.3 Agent Control Group
156
6.6.4 Agent Work Group
156
6.6.5 System Group
158
6.6.6 Client Group
160
6.6.7 Server Group
162
Automation Engine
v
6.6.8 Executor Group
165
6.6.9 Blocking Point Group
168
6.6.10 CallOperator Group
170
6.6.11 Interruptions SNMP générées
172
Résumé des interruptions
172
Description des interruptions
173
6.7 Licence Net-SNMP
7 L'Automation Engine et les systèmes cible
177
182
7.1 L'Automation Engine et BS2000
182
7.1.1 archive de texte BS2000
182
Situation de départ
182
La solution : archive de texte BS2000
182
Intégration dans BS2-TOOLS
182
Programme BS2-TAR
183
CD AE fourni
183
7.1.2 Moteur/Agent d'automatisation AE - BCIN pour établissement de la connexion
183
7.1.3 Agent BS2000 - Prise en charge du Transfert de Fichier
184
Attributs de fichier pour la destination
Exemple
184
184
Conserver les attributs originaux
185
Eléments de bibliothèque en tant que source et cible
185
Exemples
Limitations lors du Transfert de Fichiers PAM
185
186
7.1.4 Utilitaire pour la Tâche RFC
186
7.1.5 Agent - Numéros de port définis librement
186
7.1.6 Commande de console BS2000
187
7.1.7 Commande de système d'exploitation BS2000
190
7.2 L'Automation Engine et les bases de données
194
7.2.1 Agent de base de données
194
7.2.2 Connexion aux bases de données Oracle
194
Connexion à une instance Oracle unique
194
Connexions RAC
195
7.2.3 Sybase - Procédures enregistrées
195
7.2.4 Procédures enregistrées par MS SQL Server
195
vi
Contents
RETURN
195
PRINT
196
RAISE ERROR
196
7.2.5 ILM - Partition-Key Turnaround
196
Généralités
196
Changement de partition
197
Mode Partition-Key Turnaround
197
Oracle
197
Serveur SQL
199
7.3 L'Automation Engine et GCOS 8
7.3.1 Agent GCOS8 - Prise en charge du Transfert de Fichier
Format de fichier GFRC
201
201
201
Syntaxe
201
Exemple
202
Format de fichier séquentiel UFF
202
Syntaxe
202
Exemple
202
Format de fichier relatif UFF
203
Syntaxe
203
Exemple
203
Format de fichier indexé UFF
203
Syntaxe
203
Exemple
204
7.3.2 Surveillance d'une fin anormale de l'Agent Job
Déroulement
7.4 L'Automation Engine et J2EE/JMX
204
205
207
7.4.1 Agent JMX/Java EE
207
7.4.2 Création de MBeans à partir des services web
208
Généralités
209
Installation
209
Utilisation
212
7.4.3 Agent Java EE/JMX et IBM WebSphere
214
7.4.4 Envoi de messages SOAP à l'aide de MBeans
214
7.5 L'Automation Engine et Micro Focus JES
216
Automation Engine
7.5.1 Jobs dans Micro Focus JES
vii
216
Création d'un Job
217
Architecture
218
Variables d'Agent dans Micro Focus JES
218
Exemple de fichier de trace d'exit JES
219
7.6 L'Automation Engine et MPE
7.6.1 Agent – Interaction entre l'Automation Engine et MPE
221
221
Traitement de Jobs
221
Exécution de Transferts de Fichiers
221
Traitement d'Evènements
222
7.7 L'Automation Engine et NSK
222
7.7.1 Agent - Interaction entre l'Automation Engine et NSK
222
Traitement de Jobs
222
Exécution de Transferts de Fichiers
223
CallAPI
224
7.7.2 Exécutions de Jobs sur NSK
225
7.7.3 Traitement automatisé des lignes de commande
225
Utilisation
225
Exemples
226
7.7.4 Agent AE pour HP NonStop Server - Architecture
Description des déroulements internes :
227
228
1. Démarrage du Job
228
2. Déroulement du Job
229
3. Fin du Job
229
Conseils :
229
7.7.5 Fichier modèle EMS
230
7.7.6 Configuration des paramètres spécifiques à NSK
231
7.8 L'Automation Engine et Oracle Applications
7.8.1 L'Automation Engine et Oracle Applications
232
232
Termes pour Oracle
232
Termes pour Oracle Applications
232
7.8.2 Codes retour des Jobs OA
7.9 L'Automation Engine et OS/400
7.9.1 Agent - Interaction entre l'Automation Engine et OS/400
233
234
234
viii
Contents
Traitement de Jobs
234
Exécution de Transferts de Fichiers
235
Traitement d'Evènements
235
CallAPI
236
7.9.2 Agent OS/400 - Prise en charge du Transfert de Fichier
Indication de fichiers :
Système de fichiers QSYS
Attributs
236
236
236
237
7.9.3 Agent - commandes
239
Démarrer l'Agent
239
Arrêter l'Agent
239
Générer la bibliothèque de messages
240
7.10 L'Automation Engine et PeopleSoft
7.10.1 Test de la connexion PeopleSoft
Déroulement
240
240
241
7.10.2 Utilisation de Variables de liaison
243
7.10.3 Modifications apportées aux contrôles d'exécution
243
Application
243
Exemples
244
Risques et limitations
245
7.11 L'Automation Engine et SAP
245
7.11.1 Solutions SAP et Job Scheduling avec l'Automation Engine
245
7.11.2 SAP NetWeaver
246
Automation Engine et SAP NetWeaver
Intégration dans SAP Enterprise Portal (iViews)
246
249
Introduction
249
Intégration à People
249
Démarrage de Tâches
249
Surveillance des activités
250
Intégration d’informations
251
Planification des processus de chargement des données
251
Planification des chaînes de processus
252
Planification de requêtes dans le batch
253
Intégration des processus
254
Automation Engine
Surveillance des canaux de communication SAP XI
Plate-forme d'application
ABAP
ix
254
255
255
Gestion des variantes
255
Gestion de BDC
256
Gestion de Spool
257
Gestion d'Evènements
258
Gestionnaire de critères
259
Reprise de Jobs SAP
260
Reprise des définitions de calendrier SAP
262
Gestion des Jobs
264
Exécution de Jobs dans la pile ABAP (CCMS)
264
Processus fils
266
Jobs interceptés
267
Analyse du code retour d'application des steps SAP
268
JAVA
270
Agent Java EE/JMX pour SAP NetWeaver
270
JMX dans SAP NetWeaver
270
Exécution de Jobs dans la pile Java (JXBP)
274
Gestion du cycle de vie
275
Surveillance de SAP NetWeaver
275
Surveillance des moniteurs
275
Surveillance des Evènements SAP
276
Intégration de l'Automation Engine à SAP Solution Manager
278
Inscription dans le système Landscape Directory
281
Analyse du log système et du log application
282
Commutation des modes de fonctionnement
282
7.11.3 SAP Banking
283
Gestion de processus pour SAP for Banking
283
Déroulements dans SAP Banking
283
Les processus ont un code de retour d'application
284
Démarrage de réseaux de processus et de processus
284
Exigences sur l'Automation Engine
284
Description de fonction AE
285
x
Contents
JCL pour SAP
7.11.4 SAP Financial Closing Cockpit
Intégration de l'Automation Engine dans SAP Closing Cockpit
285
286
286
Conditions
286
Fichiers fournis
286
Installation
286
Activation d'objets avec SAP Closing Cockpit
290
Configuration
290
Exécution
293
7.11.5 SAP Solution Manager
Intégration de SAP Solution Manager
293
293
Configuration et test
293
Fonctionnalité
294
SAP Solution Manager - Cas d'application
297
297
Cas d'application 1: rechercher le Job via le Solution Manager
297
Cas d'application 2 : planification des tâches à partir d'une documentation de Job298
Cas d'application 3 : planification directe des tâches
Configurer une connexion avec l'Interface Utilisateur
300
301
Fichiers fournis
302
Déroulement
302
7.11.6 Solutions personnalisées
Archivage des données dans SAP
303
303
Contrôle avec l'Automation Engine
304
Prérequis dans SAP
304
Objets
305
Déroulement
305
Récapitulatif
306
Traitements en masse
306
Définition
307
Technique
307
Copie de Client dans SAP R/3
307
Copie de Client dans SAP R/3
308
Exposé du problème
308
Automation Engine
Copie de Client dans R/3 avec l'Automation Engine
xi
308
Dialogue SAP pour l'Automation Engine
309
Automated SystemCopy for SAP
310
7.11.7 Liaison technique
310
Automation Engine et SAP
310
Plusieurs systèmes SAP
310
Agents SAP supplémentaires
310
Objets SAP Security
311
Prise en compte d'attributs de Job
316
Interfaces
317
Interfaces
317
Différences au niveau des fonctions
317
Transport de l'interface
320
Nom du fichier
7.11.8 Importation des modules fonctionnels dans SAP
320
321
Requis :
321
Déroulement:
321
Test de l'interface avec ABAP Workbench
323
Agent pour SAP BW
327
Généralités
327
Vérification du statut
328
Paramètres d'archivage avec R3_ACTIVATE_REPORT
328
ERROR/ERRORLEVEL dans R3_ACTIVATE_SESSIONS
329
ERROR
329
ERROR=IGNORE
329
ERROR=ABEND
330
ERRORLEVEL
330
Conseils sur la recherche d'erreurs
331
Résolution de problèmes
331
Rapport de Job
331
Attributs de l'objet activé
331
Utilisateur CPIC
331
Transactions utiles
331
Fichiers log
331
xii
Contents
Le log système SAP
331
Traces
332
332
Problèmes lors de l'importation des modules fonctionnels
Le programme tp ne se termine pas
332
332
Jobs SAP se terminant par ARCHIVE_INFO_NOT_FOUND
333
Problème de stabilité avec des instances SAP chez de nombreux Agents SAP
(connexion RFC) sur un serveur :
334
Problème de transmission de mot de passe à SAP
334
Après la mise à jour vers les versions 2004s et ultérieures de SAP Netweaver, la
connexion de l'Utilisateur CPIC ne fonctionne plus
334
7.11.9 Certification
Résumé
7.12 L'Automation Engine et Siebel
7.12.1 Démarrage et surveillance de Tâches
7.13 L'Automation Engine et UNIX
336
336
337
337
338
7.13.1 Authentification des données d'identification
338
7.13.2 Shell et options de shell
339
Détermination du chemin Shell
339
Détermination de l'option du Shell
340
7.13.3 ID utilisateur pour l'Agent UNIX
340
7.13.4 Agent UNIX - Prise en charge du Transfert de Fichier
340
7.13.5 Droits pour la suppression de fichiers source dans les Transferts de Fichiers
341
7.13.6 Interrogation du système de fichiers UNIX
342
7.13.7 PREP_PROCESS - Interrogation du système de fichiers UNIX
346
Remarques
347
Exemple
348
7.13.8 Interruption de processus AIX en cas de mémoire insuffisante
348
7.13.9 Agrandissement des fichiers centraux
348
7.13.10 Codes retour des Jobs UNIX
349
7.13.11 Activation de la trace de l'informateur de Job
350
7.13.12 Solaris: Déclencher les Jobs du processus des Agents
352
7.13.13 Restrictions des ressources via ulimit
353
7.14 L'Automation Engine et VMS
7.14.1 Agent VMS - Prise en charge du Transfert de Fichier
353
353
Automation Engine
7.14.2 Codes retour des Jobs VMS
7.15 L'Automation Engine et WebSphere MQ
7.15.1 Connect pour WebSphere MQ Queue Manager
xiii
356
357
357
Message XML de la demande
357
Exemple d'une demande
359
Message XML de la réponse
360
7.16 L'Automation Engine et Windows
7.16.1 Démarrage de programmes sous Windows
Attributs
360
360
360
Domaine
361
Nom d'utilisateur
361
Mot de passe
361
BATCH (type d'identification)
361
DESKTOP
361
Attention !
361
Dépendances du système
361
Stratégie pour les Jobs sous Windows
362
Objectif
7.16.2 Programmes de test pour l'Agent Windows
363
363
Fichiers
363
Contrôle des programmes de test
363
Exemple
364
7.16.3 Objet Job Windows
Exemple :
7.16.4 Rapport des Jobs Windows
364
364
365
Génération du rapport de Job par Script
365
Objet Job Windows
366
7.16.5 User Account Control dans Windows 2008 et Vista
366
7.16.6 Calcul du nombre CPU
367
7.16.7 Bibliothèques dans Windows 7
367
7.16.8 Agent Windows - Prise en charge du Transfert de Fichier
368
Attributs de fichier Windows
368
Options supplémentaires
368
7.17 L'Automation Engine et z/OS
369
xiv
Contents
7.17.1 Agent - Interaction entre l'Automation Engine et z/OS
369
Traitement de Jobs
369
Exécution de Transferts de Fichiers
369
Traitement d'Evènements
370
CallAPI
370
7.17.2 Agent z/OS - Prise en charge du Transfert de Fichier
370
Language Environment Format
370
Allocate format
371
7.17.3 Classes de messages
Utilisation d'un système de gestion des sorties
7.17.4 Moniteur d'Evènements
371
372
373
Moniteur d'Evènements comme Tâche autonome (Started Task)
373
Fermeture du moniteur d'Evènements
374
Exit SMF
374
7.17.5 Moniteur de Job externe
375
Fonctionnement du moniteur de Job externe
375
Exit SMF
377
Fichier de filtre
377
7.17.6 Exit SMF
379
Généralités
379
Configuration
380
Démarrage du moniteur d'Evènements
381
Fermeture du moniteur d'Evènements
381
Démarrage à chaud
381
Situations d'exception
381
Scénario d'exemple
382
7.17.7 Evènement de système de fichiers automatique
383
Déroulement
383
Nom de fichier comme filtre
384
Plusieurs critères de filtrage
384
7.17.8 Prise en charge de GDG
Configuration
387
387
7.17.9 Reconnaissance et analyse de la fin du Job
387
7.17.10 Codes retour des Jobs z/OS
388
Automation Engine
7.17.11 Exit JCL
Configuration
7.17.12 Include MVS.JOBMD_DEFINITIONS
Glossaire
xv
389
389
389
391
.1 A
391
.2 B
391
.3 C
392
.4 D
393
.5 E
393
.6 F
394
.7 G
394
.8 H
394
.9 I
394
.10 J
395
.11 L
395
.12 M
395
.13 O
396
.14 P
396
.15 Q
397
.16 R
397
.17 S
397
.18 T
398
.19 U
399
.20 V
400
.21 W
401
1
Chapter 1 Terminologie - Machines, programmes et fichiers
1 Terminologie - Machines,
programmes et fichiers
Conventions de nom
[Conventions de nom] [Résumé des programmes et fichiers]
Généralités
Des conventions typographiques s'appliquent dans la Documentation pour tous les noms de
fichier et de dossier.
Etant donné que Windows ne fait pas la différence entre les minuscules et les majuscules, vous
pouvez saisir les noms de fichier en minuscules.
Généralités sur la syntaxe
Pour éviter tout problème, seuls des noms de fichier courts (8.3) sont utilisés sur le CD fourni.
Ils possèdent la structure de base suivante :
UCZKxxxx
Z = objectif
K = composants de l'Automation Engine
xxxx = attribution individuelle
Objectif
Explication
D
Interface Utilisateur
S
Routine serveur (DLL)
X
Agent
Y
Utilitaire
Syntaxe d'Automation Engine
UCSRVTP
UCSRV signifie UC4-Server (= Automation Engine)
T = type - "c" pour le processus de communication, "w" pour le processus de travail
P = processus
Syntaxe pour l'Agent
Pour les Agents, l'extension suivante de la syntaxe s'applique :
UCXJSSVT
Automation Engine
SSV = ID et version du système
A = Tâche (uniquement pour programme de connexion et CallAPI)
ID et version du
système
Matériel, système d'exploitation, version
B2.
BS2000
B24
SNI, BS2000 Sockets version 1.3
B25
SNI, BS2000 Sockets version 2,1 *
B26
SNI, BS2000 Sockets version 2,3 *
*) Il faut faire intervenir l'Agent dont la version Sockets est la plus
élevée
MP.
MPE
MP6
HP 3000, MPE version 6.5 et supérieure
N..
NSK
NS1
Tandem NSK
NI6
Machine avec processeurs Itanium
OAX
Oracle Applications
M..
z/OS
M25
IBM, z/OS version V2R5 et supérieure
O..
OS/400
O41
IBM, OS/400 version V4R1M0 et supérieure
PSX
PeopleSoft
R3X
SAP
SLX
Siebel
D..
UNIX - DEC OSF
DA4
Alpha - DEC-OSF/1 - Digital UNIX - Tru64 UNIX
H..
UNIX - HP-UX
HP1
HP-Workstation (9000), HP-UX
HI6
Machine rx2600 avec Itanium, HP-UX
A..
UNIX - IBM AIX
A64
Power PC64, AIX
AP6
Power PC, AIX
L..
UNIX - Linux
LI3
Intel, Linux
LI6
Itanium, Linux
LX6
Linux (x64)
LZ3
zSeries, zLinux
LZ6
zSeries, zLinux 64 octets
C..
UNIX - SCO
CI5
Intel, SCO-UNIX ODT
2
3
Chapter 1 Terminologie - Machines, programmes et fichiers
CI7
Intel, SCO Unixware
U..
UNIX - Sun OS (Solaris)
U64
Sparc64, Solaris
US8
Sparc, Solaris
UI8
Intel, Solaris
SI6
Intel 64 octets (x64), Solaris
V..
VMS
VA7
Alpha, OpenVMS-Alpha
VI8
OpenVMS (IA64)
VV7
VAX, VAX/VMS
W..
Windows
WI3
Plates-formes à 32 bits (x86)
WI6
Plates-formes à 64 octets (IA64)
WX6,
Plates-formes à 64 octets (x64)
Tâche
Objectif
M
Programme de connexion
C
CallAPI
Résumé des programmes et fichiers
[Conventions de nom] [Résumé des programmes et fichiers]
Programmes
Programme
Objectif
ucsrvcp
Installation d'Automation Engine pour UNIX, processus de
communication
ucsrvwp
Installation d'Automation Engine pour UNIX, Processus de travail
ucsrvcp.exe
Installation d'Automation Engine pour Windows, processus de
communication
ucsrvwp.exe
Installation d'Automation Engine pour Windows, Processus de travail
UCDJ.EXE
Programme de démarrage pour l'Interface Utilisateur
UCDJ.JAR
Interface Utilisateur
UCX...
Programmes de l'Agent
UCYBARBR.EXE
Utilitaire pour la recherche dans les fichiers d'archives
UCYBCHNG.EXE
Utilitaire pour la modification des données exportées
Automation Engine
UCYBDBCC.JAR
Utilitaire pour copier et supprimer des Clients
UCYBDBAR.JAR
Utilitaire pour l'archivage de la base de données
UCYBDBLD.JAR
Utilitaire pour le chargement de la base de données
UCYBDBRE.JAR
Utilitaire pour la réorganisation de la base de données
UCYBDBUN.JAR
Utilitaire pour le déchargement de la base de données
UCYBDBRR.EXE
Utilitaire pour la création d'objets audit
UCYBCRYP.EXE
Programme pour l'encryptage des mots de passe
UCYBSMGR.EXE
Service-Manager - Service
UCYBSMDI.EXE
Service-Manager - Programme de dialogue
UCYBSMCL.EXE
Service-Manager - Interface de ligne de commande
UCS...DLL
Routines serveur
Fichiers
Fichier
Objectif
UC.MSL
Bibliothèque de messages
UCX.MSL
Bibliothèque de messages pour les Agents hors Windows
UC_INI.TXT
Contenu de base de données initial pour l'Automation Engine DB.Load
UC_DEF.TXT
Contenu de base de données par défaut pour une nouvelle installation
UC_DDL.SQL
DDL pour la création de DB (MS SQL Server)
CBLRTSS.DLL
Système d'exécution Micro Focus Cobol (version 4.0)
ZU*.DLL,
UC*.DLL
Bibliothèques de fonction UC4
*.OCX
Système d'exécution Microsoft Visual Basic (version 6.0)
TRANSPRT.TXT,
K*.*, R*.*, E*.TXT
Modules fonctionnels pour les systèmes SAP :
Résumé des ordres de transport, des modules fonctionnels et du protocole
d'exportation valides
UCYBABR.VBP,
BROWSE*.*,
TOOBIG.*
Microsoft Visual Basic - Code source d'Archive Browser
*.JAR
Bibliothèques de fonction Java
Objets de développement SAP de l'interface
L'interface pour SAP Basis Job Scheduling est développée dans ABAP. Elle se compose des
objets de développement SAP énumérés dans le tableau.
R3X sur SAP Basis
version 3.x
R3X sur SAP Basis versions 4.0x, 4.5x,
4.6x et 6.10
Classe de
développement
J2U0
/SBB/UC4
Structures DDIC
J_2U*
/SBB/UC4*
4
5
Chapter 1 Terminologie - Machines, programmes et fichiers
Groupe de fonction
J2U3
/SBB/UC4*
Modules
fonctionnels
J_2U_30_*
/SBB/UC4*
Code retour des Agents sur Windows
Les Agents s'exécutant sur la plate-forme Windows fournissent les codes retour suivants :
l
l
l
l
l
62 (FATAL_ERROR_SOCKETS) - erreur de socket
63 (FATAL_ERROR_NOINIFILE) - fichier INI non disponible
64 (FATAL_ERROR_NOMEMORY) - la demande de mémoire a échoué
65 (FATAL_ERROR_CONFIG) - nom d'Agent ou numéro de port TCP/IP non défini
66 - impossible d'ouvrir le fichier log
Automation Engine
6
2 Heure
Dans le présent document sont décrites les notions de base qui jouent un rôle important pour
l'heure en général.
Notions de temps de base
L'heure se compose toujours d'une date et d'une heure. L'heure indiquée se rapporte à l'heure
locale. Elle est donc dépendante du Fuseau horaire de référence et de la prise en compte éventuelle
du passage à l'heure d'été.
Los Angeles
(PST)
New York (EST)
UTC
Francfort (CEST)
Tokyo (TYST)
vendredi 3 Mai
2002
04:13:02
vendredi 3 Mai
2002
07:13:02
vendredi 3 Mai
2002
12:13:02
vendredi 3 Mai
2002
13:13:02
vendredi 3 Mai
2002
21:13:02
Date
La date désigne la date locale. Elle est donc dépendante du Fuseau horaire de référence et de la
prise en compte éventuelle du passage à l'heure d'été.
Heure
L'heure est l'heure locale. Elle est donc dépendante du Fuseau horaire de référence et de la prise en
compte éventuelle du passage à l'heure d'été.
UTC - Coordinated Universal Time
UTC est la norme horaire internationale et la base de tous les calculs horaires dans l'Automation
Engine. UTC se base sur une division de la journée en 24 heures. C'est pourquoi les heures de
l'après-midi sont, par exemple, indiquées 16:00 UTC (seize heures, zéro minute). En UTC, il n'y a
pas d'heure d'été. C'est pourquoi les indications horaires en UTC sont toujours uniques.
GMT - Greenwich Mean Time
L'heure du méridien de Greenwich, placé sur la longitude 0, est la base des Fuseaux horaires. Il sert
de référence lors de la détermination des décalages par rapport aux autres Fuseaux horaires.
TZ - Time Zone/Fuseau horaire
Les domaines présentant un décalage horaire par rapport à GMT sont les Fuseaux horaires. La
différence ne doit pas forcément être d'une heure entière (60 minutes). En principe, les limites des
Fuseaux horaires suivent la longitude. Les Fuseaux horaires peuvent cependant s'écarter de la
détermination générale à l'aide de la longitude au sein des frontières politiques de certains pays.
7
Chapter 2 Heure
Ligne de changement de date/Date Line
La ligne de changement de date s'établit sur la 180e méridien de longitude.
Heure normale (heure d'hiver)
L'heure normale est l'heure locale attribuée au Fuseau horaire. L'heure normale est parfois appelée
"heure d'hiver".
DST - Daylight Saving Time/Heure d'été
Pour l'heure d'été, l'heure normale est avancée d'un certain nombre d'heures. L'utilisation de l'heure
d'été, la date du changement horaire et la différence par rapport à l'heure normale dépendent de
chaque pays. De même, l'année est éventuellement décisive quant à l'existence d'un changement
à l'heure d'été et la date à laquelle il a lieu. Certains pays sont encore en cours de décision pour
prendre en compte ou changer la règle de l'heure d'été.
Le passage à l'heure normale ou à l'heure d'été en décalant d'une heure (60 minutes) est le plus
répandu. Toutefois, il existe également des pays au sein desquels la différence par rapport à l'heure
normale est supérieure ou inférieure à une heure. Le changement à l'heure normale ou à l'heure d'été
est inversé entre l'hémisphère nord et l'hémisphère sud. Durant la période où l'heure normale passe
à l'heure d'été dans l'hémisphère nord, l'heure d'été passe à l'heure normale dans l'hémisphère sud.
Dans l'hémisphère nord, on passe à l'heure d'été au printemps, dans l'hémisphère sud à l'automne.
Rubriques connexes : Utilisation des Fuseaux horaires dans l'Automation Engine
Automation Engine
3 Informateur de Job de l'Agent
Tous les Agents de système d'exploitation possèdent un Agent Job grâce auquel vous pouvez
exécuter et surveiller les Jobs. Il est notamment exécuté dans les objets Include HEADER et
TRAILER. Ces Includes de Job spéciaux se trouvent dans le Client système 0000.
Extrait de l'objet Include HEADER.MVS :
//JMLDS EXEC PGM=&UC_JOBMD,
// PARM='JNR=&UC_REALNR MNR=&UC_CLIENT PNR=&UC_IP_PORT IPA=&UC_IP_ADR
//
TYP=S TXT="
Job started" 2>&1'
Extrait de l'objet Include TRAILER.MVS :
//JMLDE EXEC PGM=&UC_JOBMD,COND=EVEN,
// PARM='JNR=&UC_REALNR MNR=&UC_CLIENT PNR=&UC_IP_PORT IPA=&UC_IP_ADR
//
TYP=E STP=&UC_REPORT_STEPS RET=&RETCODE 2>&1'
Attention : pour l'Agent Job z/OS, l'instruction PARM ne doit pas contenir plus de
100 caractères !
Paramètres de démarrage généraux
L'Agent Job possède une série de paramètres de démarrage pouvant lui être transmis. Le tableau
suivant contient ceux qui s'appliquent à tous les informateurs de Job.
Paramètres Description
IPA
Adresse IP
JNR
RunID du Job
MNR
Client
PNR
Numéro de port
RET
Code retour
TYP
Type ("S" pour Agent Job de début, "E" pour Agent Job de fin)
Pour l'Agent Job GCOS8, les types suivants s'appliquent également "R" :
redémarrage, "A" : fin anormale, "X" : arrêt de l'Agent Job et "J" : rapport de Job du
système RSM.
TXT
Texte affiché au début du rapport de Job et dans la fenêtre de détails à côté du
texte de statut.
Attention : le paramètre TXT= ne doit pas dépasser 32 caractères. En outre,
l'Automation Engine a besoin des 8 premiers caractères. C'est pourquoi vous
devez toujours entrer des espaces pour les 8 premiers caractères. Les autres
caractères sont à votre disposition pour votre texte.
De plus, plusieurs informateurs de Job possèdent des paramètres de démarrage spéciaux :
Système
Paramètres Description
d'exploitation
GCOS8
RFN
Nom de fichier du rapport de Job
8
9
Chapter 3 Informateur de Job de l'Agent
z/OS
SNM
Numéro de séquence du Job
SW
Statut de l'Agent Job
TIMEOUT
Intervalle en secondes après lequel un dépassement de délai se
produit pour la connexion entre l'Agent et l'Agent Job (valeur par
défaut : 60).
STP
Journalisation des codes retour des steps
"0" - Pas de journalisation (valeur par défaut)
"1" - L'Agent Job enregistre les codes retour.
OS/400
RETRY
Nombre de tentatives de connexion (valeur par défaut : 4)
WAIT
Durée entre les tentatives de connexion (valeur par défaut : 30
secondes)
OUT
Journalisation des messages de l'Agent Job
"0" - Pas de journalisation (valeur par défaut)
"1" - Le rapport de Job contient également les messages de
l'Agent Job.
UNIX et VMS
RETRY
Nombre de tentatives de connexion
Valeur par défaut : Pour UNIX et VMS 3
TIMEOUT
Intervalle en secondes après lequel un dépassement de délai se
produit pour la connexion entre l'Agent et l'Agent Job (valeur par
défaut : 60).
WAIT
Durée entre les tentatives de connexion
Valeur par défaut : Pour UNIX et VMS 120 secondes
UNIX et
Windows
CMD
Commande devant être exécutée sur l'ordinateur de l'Agent.
La commande peut également contenir des mots de passe ayant
été cryptés via un objet PromptSet. En outre, la variable
PromptSet contenant la valeur de la zone de texte PromptSet
cryptée doit être indiquée. Les mots de passe sont
automatiquement identifiés et décryptés en conséquence par
l'Agent Job.
Les mots de passe ayant été cryptés via UCYBCRYP.EXE
ne sont PAS décryptés par l'Agent Job !
La commande exécutée par l'Agent doit être utilisée dans l'onglet
"Script" des Jobs. Exemple pour Windows :
&UC_JOBMD CMD="ping localhost"
Rubriques connexes :
Job - Includes
Automation Engine
10
4 Automation Engine et NAT
Le NAT (Network Adress Translation) désigne un dispositif (par exemple un routeur) qui convertit
une adresse IP en une autre adresse IP.
Il existe également le NPT et le NAPT qui permettent de modifier le port ou l'adresse et le port. Pour
une connexion d'un Agent ou d'autres clients Automic à l'Automation Engine, les éléments suivants
s'appliquent :
1. Il est possible de tout saisir pour l'adresse d'ancrage. Voilà pourquoi elle ne comporte aucun
problème de NAP, NPT ou NAPT.
2. Le problème se pose pour le choix de CP puisque les adresses IP et numéros de port des
autres CP sont fournis par défaut dans le premier CP.
3. Mais, dans la section TCP/IP du fichier INI de l'Automation Engine, il est possible d'indiquer
le paramètre "hostname" avec un nom d'hôte quelconque. Bien entendu, ce nom d'hôte
devra alors être correctement résolu par tous les Clients. Ainsi, le NAT ne pose aucun
problème. NPT et NAPT ne sont ici pas pris en charge.
Pour la connexion d'un Agent à un autre Agent :
1. Le Automation Engine communique à l'Agent l'adresse IP et le numéro de port de l'autre
Agent (de Ex1 à Ex2). Si la connexion ne s'établit pas, l'Automation Engine tente d'établir la
connexion dans l'autre sens (de Ex2 à Ex1).
2. La section HOST du fichier INI peut permettre la résolution de problèmes de NAT. Ici, le
paramètre est le nom AE de l'Agent. Pour la valeur, vous pouvez saisir n'importe quelle
adresse IP ou n'importe quel nom DNS.
3. NPT et NAPT avec les modifications de numéro de port ne sont ici pas pris en charge.
11
Chapter 5 Codes d’erreur externes
5 Codes d’erreur externes
5.1 COBOL - Codes d'erreur des fichiers
Texte d'origine de la description du compilateur
00 Successful completion
02 Indexed files only. One of two possibilities:
- For a READ statement, the key value for the current key is equal to the value of that
same key in the next record in the current key of reference.
- For a WRITE or REWRITE statement, the record just written created a duplicate key
value for at least one alternate record key for which duplicates are allowed.
04 The length of the record being processed does not conform to the fixed file attributes for
that file.
05 The referenced optional file is not present at the time the OPEN statement is executed.
07 Sequential files only. For an OPEN or CLOSE statement with the REEL/UNIT phrase
the referenced file is a non-reel/unit medium.
10 No next logical record exists. You have reached the end of the file.
14 Relative files only. The number of significant digits in the relative record number is larger
than the size of the relative key data item described for that file.
21 Sequentially accessed files only. Indicates a sequence error. The ascending key
requirements of successive record key values has been violated, or, the prime record
key value has been changed by a COBOL program between successful execution of a
READ statement and execution of the next REWRITE statement for that file.
22 Indexed and relative files only. Indicates a duplicate key condition. Attempt has been
made to store a record that would create a duplicate key in the indexed or relative file OR
a duplicate alternate record key that does not allow duplicates.
23 Indicates no record found. An attempt has been made to access a record, identified by a
key, and that record does not exist in the file. Alternatively a START or READ operation
has been tried on an optional input file that is not present.
24 Relative and indexed files only. Indicates a boundary violation arising from one of the
following conditions: An attempt is made to write beyond the externally defined
boundaries of a file. A sequential WRITE operation has been tried on a relative file, but
the number of significant digits in the relative record number is larger than the size of the
relative key data item described for the file.
30 The I/O statement was unsuccessfully executed as the result of a boundary violation for
a sequential file or as the result of an I/O error, such as a data check parity error, or a
transmission error.
34 The I/O statement failed because of a boundary violation. This condition indicates that
an attempt has been made to write beyond the externally defined boundaries of a
sequential file.
35 An OPEN operation with the I-O, INPUT, or EXTEND phrases has been tried on a nonOPTIONAL file that is not present.
37 An OPEN operation has been tried on a file which does not support the open mode
specified in the OPEN statement.
Automation Engine
12
38 An OPEN operation has been tried on a file previously closed with a lock.
39 A conflict has been detected between the fixed file attributes and the attributes specified
for that file in the program.
41 An OPEN operation has been tried on file already opened.
42 A CLOSE operation has been tried on file already closed.
43 Files in sequential access mode. The last I/O statement executed for the file, before the
execution of a DELETE or REWRITE statement, was not a READ statement.
44 A boundary violation exists.
46 A sequential READ operation has been tried on a file open in the INPUT or I-O mode but
no valid next record has been established.
47 A READ or START operation has been tried on a file not opened INPUT or I-O.
48 A WRITE operation has been tried on a file not opened in the OUTPUT, I-O, or EXTEND
mode, or on a file open I-O in the sequential access mode.
49 A DELETE or REWRITE operation has been tried on a file that is not opened I-O.
9/nnnExtended file status code as shown below.
RT001 Insufficient buffer space. On OS/2, could indicate that the SWAPPATH has not been
set correctly or the SWAPPATH drive is full. Could also indicate an out of memory
situation.
RT002 File not open when access tried.
RT003 Serial mode error.
RT004 Illegal file name.
RT005 Illegal device specification.
RT006 Attempt to write to a file opened for input.
RT007 Disk space exhausted.
RT008 Attempt to input from a file opened for output.
RT009 No room in directory (also, directory does not exist).
RT010 File name not supplied.
RT012 Attempt to open a file which is already open.
RT013 File not found.
RT014 Too many files open simultaneously.
RT015 Too many indexed files open.
RT016 Too many device files open.
RT017 Record error: probably zero length.
RT018 Read part record error: EOF before EOR or file open in wrong mode.
RT019 Rewrite error: open mode or access mode wrong.
RT020 Device or resource busy.
RT021 File is a directory.
RT022 Illegal or impossible access mode for OPEN.
RT023 Illegal or impossible access mode for CLOSE.
RT024 Disk I/O error.
13
Chapter 5 Codes d’erreur externes
RT025 Operating system data error.
RT026 Block I/O error.
RT027 Device not available.
RT028 No space on device.
RT029 Attempt to delete open file.
RT030 File system is read only.
RT031 Not owner of file.
RT032 Too many indexed files, or no such process.
RT033 Physical I/O error.
RT034 Incorrect mode or file descriptor.
RT035 Attempt to access a file with incorrect permission.
RT036 File already exists.
RT037 File access denied.
RT038 Disk not compatible.
RT039 File not compatible.
RT040 Language initialization not set up correctly.
RT041 Corrupt index file.
RT042 Attempt to write on broken pipe.
RT043 File information missing for indexed file.
RT045 Attempt to open an NLS file using an incompatible program.
RT047 Indexed structure overflow. (Could indicate that you have reached the maximum number
of duplicate keys.)
RT065 File locked.
RT066 Attempt to add duplicate record key to indexed file.
RT067 Indexed file not open.
RT068 Record locked.
RT069 Illegal argument to ISAM module.
RT070 Too many indexed files open.
RT071 Bad indexed file format.
RT072 End of indexed file.
RT073 No record found in indexed file.
RT074 No current record in indexed file.
RT075 Indexed data file name too long.
RT077 Internal ISAM module failure.
RT078 Illegal key description in indexed file.
RT081 Key already exists in indexed file.
RT100 Invalid file operation.
RT101 Illegal operation on an indexed file.
Automation Engine
RT102 Sequential file with non-integral number of records.
RT104 Null file name used in a file operation.
RT105 Memory allocation error.
RT129 Attempt to access record zero of relative file.
RT135 File must not exist.
RT138 File closed with lock - cannot be opened.
RT139 Record length or key data inconsistency.
RT141 File already open - cannot be opened.
RT142 File not open - cannot be closed.
RT143 REWRITE/DELETE in sequential mode not preceded by successful READ.
RT146 No current record defined for sequential read.
RT147 Wrong open mode or access mode for READ/START.
RT148 Wrong open mode or access mode for WRITE.
RT149 Wrong open mode or access mode for REWRITE/ DELETE.
RT150 Program abandoned at user request.
RT151 Random read on sequential file.
RT152 REWRITE on file not opened I-O.
RT158 Attempt to REWRITE to a line-sequential file.
RT159 Malformed line sequential-file.
RT161 File header not found.
RT173 Called program not found.
RT180 End-of-file marker error.
RT182 Console input or console output open in wrong direction.
RT183 Attempt to open line sequential file for I-O.
RT188 File name too large.
RT193 Error in variable length count.
RT194 File size too large.
RT195 DELETE/REWRITE not preceded by a READ.
RT196 Record number too large in relative or indexed file.
RT210 File is closed with lock.
RT213 Too many locks.
RT218 Malformed MULTIPLE REEL/UNIT file.
RT219 Operating system shared file limit exceeded.
5.2 COBOL - Codes d'erreur d'exécution
Texte d'origine de la description du compilateur
Code
Description
d'erreur
14
15
Chapter 5 Codes d’erreur externes
001
Insufficient buffer space (Recoverable) -You have tried to open a file directly or
indirectly and, although you have not exceeded your system's file limit, something in
your system is unable to allocate enough memory space for this operation. -Although
you can trap this error you must do STOP RUN as soon as it is reported.
002
File not open when access attempted (Recoverable) -You have tried to access a file
without opening it first. -Open the file with the open mode that you need and try the
operation again. As this error implies that your program logic contains a mistake, you
might want to terminate the run and recode your program.
003
Serial mode error (Recoverable) -You have tried to open a device as a relative or
indexed file. You are trying to execute a device, not a program. -Open the device in the
correct mode or close any open files, do STOP RUN and recode your program. The
name of your program is recognized by the operating system as a valid device.
Rename your program.
004
Illegal file name (Recoverable) -A filename contains an illegal character. This could be
any character that is not part of the permitted character set or it could be the systemdependent delimiter, which on most systems is the space. -Try the file operation again
using the correct filename.
005
Illegal device specification (Recoverable) -Devices to which your COBOL program can
write are defined by the operating system. You have tried to write to a device that is not
defined by your system. -Try the operation again using a device name that your system
recognizes.
006
Attempt to write to a file opened for INPUT (Recoverable) -You have tried to WRITE to
a file that is open for input only. -Close the file and open it with a mode such as I-O,
which allows you to write to the file. As this error implies that your program logic
contains a mistake, you might want to terminate the run and recode your program.
007
Disk space exhausted (Fatal) -The disk is full. -This error can be trapped, but once it
has been reported you must do a STOP RUN immediately to terminate your program's
run. When your program has terminated, delete any files that you no longer need.
Alternatively, if your operating system supports this, put a new disk in a floppy disk
drive and redirect your program's file operations to this.
008
Attempt to input from a file opened for OUTPUT (Recoverable) -You have tried to read
from a file that is open for output only. -Close the file and open it with a mode such as IO, which allows you to read from the file. As this error implies that your program logic
contains a mistake, you might want to terminate the run and recode your program.
009
No room in directory (Recoverable) -The system cannot write to the specified directory
for one of the following reasons: -The directory does not exist -The directory is full Your program cannot find the directory -Create the directory if it doesn't exist. If the
directory is full, either delete any files that you no longer need or, if your operating
system supports this, put a new disk in a floppy disk drive and redirect your program's
file operations to it. Alternatively, specify a different drive or directory for your file
operations.
010
File name not supplied (Recoverable) -You have tried to open a file that you have
declared as an external file, but have not named. -Specify the external filename.
012
Attempt to open a file which is already open (Recoverable) -You have tried to open a
file which is already open and so cannot be opened again. -Cancel your second
attempt to open the file. If the fact that the file is already open is acceptable to you,
continue to run your program.
Automation Engine
16
013
File not found (Recoverable) -The operating system has been unable to find a file which
you have tried to access in your program. -Ensure that you are in the correct directory
or that a path to the file concerned exists. You can then try the file operation again. If
the error is the result of a spelling mistake then ask for the correct file and try the file
operation again.
014
Too many files open simultaneously (Recoverable) -You have tried to exceed the
maximum number of files which you can have open at any one time. This can be a
software or an operating system constraint, but you must not violate it. -Close some of
the open files which you are not currently accessing, and then try to open the relevant
file again. You should then be able to continue to run your program. Depending on your
operating system, you might be able to increase the maximum number of files you are
allowed to have open. For example, on DOS, add the line FILES=128 to your
config.sys file. On Novell, add the lines CACHE Buffers=0 File Handles=128 to your
shell.cfg file. See also:/F RTS switch
015
Too many indexed files open (Recoverable) -You have tried to exceed the maximum
number of indexed files which you can have open at any one time. This can be a
software or an operating system restraint, but you must not violate it. -Close some of
the open indexed files which you are not currently accessing, and then try to open the
relevant file again. You should then be able to continue to run your program. (Indexed
files count as two files, one for data and one for the index.)
016
Too many device files open (Recoverable) -You have tried to exceed the maximum
number of device files which you can have open at any one time. This can be a
software or an operating system constraint, but you must not violate it. -Close some of
the open device files which you are not currently accessing, and then try to open the
relevant file again. You should then be able to continue to run your program.
017
Record error: probably zero length (Recoverable) -You have probably tried to access a
record that has had no value moved into it. -Although this error is recoverable in the
sense that it can be trapped, once it has been reported you must execute a STOP
RUN statement immediately and then recode your program to ensure that the COBOL
record length is not zero.
018
Read part record error: EOF before EOR or file open in wrong mode (Recoverable) -A
part record has been found at the end of a file. Consequently your run-time system
treats the data file as a record, and not finding a full record, reports this error. -Ensure
that the record size you give when you read from or WRITE to a file is consistent.
019
Rewrite error: open mode or access mode wrong (Recoverable) -You are trying to do a
REWRITE to a file that has not been opened with the correct access mode for this
operation. -Close the file and reopen it in a mode such as I-O, which allows you to do
REWRITE operations on that file. As this error implies that your program logic contains
a mistake, you might want to close any open files and then execute a STOP RUN. You
can then recode your program to eliminate the logic error.
020
Device or resource busy (Recoverable) -You have tried to open a file that is assigned
to a device or resource (for example, a line printer) that is not available at this time. You can trap the error status returned by open and retry the open at regular intervals
until it succeeds.
021
File is a directory (Fatal) -You have tried to WRITE to a directory instead of to a file.
Alternatively, the attributes are not set up correctly to allow you to access a file. That
is, it is marked as read-only or you don't have sufficient rights to open it. -Recode your
program so that it writes to a file and not to a directory. You need to either change your
file access attributes or recode your program so that it does not violate the existing
attributes.
17
Chapter 5 Codes d’erreur externes
022
Illegal or impossible access mode for OPEN (Recoverable) -The mode in which you
are trying to open a file violates the General Rule of COBOL for that type of file; for
example you might have opened a line sequential file in the I-O mode. -Open the file
with a mode that is compatible with that type of file.
023
Illegal or impossible access mode for CLOSE (Recoverable) -The mode in which you
are trying to close a file is not possible for that type of file. -Close the file with a new
access mode which is compatible with that type of file, or execute a STOP RUN
statement and recode your program.
024
Disk input-output error (Recoverable) -You might have performed a read after a
WRITE, or there might be either a verification failure or a parity error. -In some
circumstances this error is fatal, but if it occurs during a read you can trap it and then
do a close on the file before executing a STOP RUN statement.
025
Operating system data error (Fatal) -You are trying to set up terminal characteristics for
a device which is not a terminal. -Recode your program.
026
Block I-O error (Fatal) -An error has occurred while you are trying to access a disk. This
could be the result of a corrupt disk. -If you have a corrupt disk try to run your program
again using your backup copy.
027
Device not available (Recoverable) -You are trying to access a device which either is
not attached to your machine or if attached is not on-line. -Attach the device to your
machine and ensure that it is on-line. Repeat the file operation.
028
No space on device (Fatal) -You have tried a file operation such as WRITE for which
insufficient space is available on your disk. -When your program has terminated you
should delete some of the files or directories on your current logged in disk. Ensure that
you delete sufficient files on your disk so that you have enough room to carry out
successful file operations.
029
Attempt to delete open file (Recoverable) -You have tried to perform a DELETE FD
operation on an open file. -Close the file before performing the DELETE FD operation.
030
File system is read-only (Recoverable) -The file system which you are using is readonly, which effectively means that it is write-protected. You have tried to change a file
in some way, for example you might have tried to WRITE to a file or to DELETE
information in it. -You should abandon your attempt to alter the file unless you can
make your own personal copy of it. You should then be able to alter the contents of
your copy, but not of the original source.
031
Not owner of file (Recoverable) -You are trying an operation on a file but the file's owner
has not given you the necessary permission for that operation. You could for example
be trying to alter the access modes for a file, which only the file's owner can do. -You
should abandon your tried file operation unless the file's owner gives you the
permission necessary to do the operation you want to carry out.
032
Too many indexed files, or no such process (Recoverable) -You have tried to open an
indexed file but the number of files that you currently have open is the system limit.
Alternatively, you could be trying to use a process id which does not exist, or which
your operating system no longer recognizes. -You should close some of the indexed
files which you are no longer accessing, and you should then be able to open the file
you require. In this case you must rewrite your code so that it uses a process id which
your system recognizes.
Automation Engine
18
033
Physical I-O error (Fatal) -You have a hardware error of some type. Perhaps you have
not put a disk in the relevant drive or you might have tried to WRITE to a disk but the
processor detected hardware interface has failed.
-You should try to correct the fault in your hardware; for example put a disk in the
necessary drive.
034
Incorrect mode or file descriptor (Recoverable) -You are either trying to write to a file
which is open for read purposes only, or read a file which is open for write purposes
only. -You should close the file and reopen using the correct access mode. As this
error implies that your program logic contains a mistake, you might want to close any
open files, execute a STOP RUN statement and then recode your program to eliminate
the logic error. Shareable files opened INPUT (read-only) by the COBOL system still
require write-permission (from the operating system) to enable temporary locking to
take place.
035
Attempt to access a file with incorrect permission (Recoverable) -You are trying a file
operation which you do not have sufficient permission to achieve. For example you
could be trying to write data to a file which has been set up with the read attribute only.
-If you are the owner of the file you can alter the attributes of the file so that you have
the permission needed to effect the particular file operation you were trying. If you are
not the owner of the file you cannot to carry out that operation successfully unless you
copy the file and make the changes to the copy only. You cannot alter the source file.
036
File already exists (Recoverable) -You are trying an inappropriate operation on an
already existing file. -As this error implies that your program logic contains a mistake,
you might like to recode your program to eliminate this mistake.
037
File access denied (Fatal) -Your attempt to access a file has been denied by the
operating system. You might have tried to write to a write-protected file or you could
have tried to read from an output device. -Alter the access permission on the relevant
file. Access can be read-only, if you just want to read the contents of the file without
making any changes, or it can be read and write in which case you can alter its
contents.
038
Disk not compatible (Fatal) -You have tried to access a disk that is incompatible with
the current version of your operating system. This could be because it was created
under a previous version of the system or it could have been created under a
completely different operating system. You would also receive this error if you tried to
load a disk with a name that clashed with a disk that was already loaded. -If the error is
a result of a clash of names you can rename one of the disks and then you can load
both disks together if this is what you want.
039
File not compatible (Fatal) -You have tried to access a file that is not compatible with
the structure of files under the current release of your software. This could be because
the file was created either under a different operating system or under a previous
version of your current system. -You should create a new copy of the file which has the
correct structure.
040
National Language initialization not set up correctly (Fatal) -You have tried to use the
additional language variants, but the environment or side file that is required to set up
the language either has not been set up correctly, or does not exist, or is invalid. This
might be because you have the LANG environment variable set for use by another
system in a format not recognized by this COBOL system. -Set up the required
environment or side file before you try to run the program again. Use the COBLANG
environment variable to set the locale information for the COBOL system. See the
chapter NLS Support in your Programmer's Guide to Writing Programs.
19
Chapter 5 Codes d’erreur externes
041
Corrupt index file (Recoverable) -Your run-time system does not recognize the control
information for an indexed file and as the index has been corrupted in some way the
data in the file is no longer accessible by your system. This error is recoverable in the
sense that it can be trapped but should you receive it, you can do little except to close
any open files and stop your program's run. -You should rerun your program using the
backup copy of that file. If you have added a great deal of information to the file since
you last took a backup you might like to rebuild the file using the Rebuild utility, which
reads the data (if this has not been corrupted) and builds a new index for it.
042
Attempt to write on broken pipe (Recoverable) -One of the following has occurred: Your program has created a process as a result of a DD_ logical filename mapping
assignment (for example, the process might be a line printer spooler). The process was
not created properly, or has ended prematurely. This error occurs when your program
tries to write to the process. -Your application has terminated abnormally or
prematurely, thus breaking the pipe. -You can trap the error status returned by the write
operation, then open the file again.
043
File information missing for indexed file (Fatal) -The system has crashed on your
program's previous run, while the file was open. Information was probably added to the
end of the file, but the directory information was not updated and so that data cannot be
accessed by your system. Alternatively, you have copied the indexed file from one
disk to another but have copied either only the data part of the file or only the index. -If
the error is the result of a crash then whether you can access the necessary data or not
is entirely system dependent. If, however, it is the result of a faulty copy you should be
able to restore the missing part of the file from the.dat or .idx file.
044
Attempt to OPEN an NLS file in a non-NLS program (Fatal)
-The logical filename is preceded by "%NLS%", but the program which OPENS the file
has been compiled without the NLS directive set: the OPEN fails.
045
Attempt to OPEN an NLS file using incompatible language definition (Fatal) -The NLS
control information for a file in your program does not match the same NLS control
information in the header of your index file. Alternatively, your index file has become
corrupted. -Rebuild your index file, or rerun your program using the backup copy of that
file. If you have added a great deal of information since you last took a backup, you
might want to rebuild the file using a utility that is able to read the data, if it is not
corrupt, and build a new index for it.
046
NLS support module not found (Fatal) -Your system could not find the National
Language Support module COBNLSMG. Alternatively, your system cannot find
cobnls.dll (OS/2), cobnls.dle (DOS), or cobnls.dlw (Windows). -Ensure that
cobnlsmg.gnt is present in either utils.lbr or in a directory on COBDIR, or, if your
program is linked, ensure that cobnlsmg.obj is linked in to it. Ensure that cobnls.dle is
present in utils.lbr , or that cobnls.dlw is present in a directory specified in COBDIR, or
that cobnls.dll is present on the LIBPATH.
047
Indexed structure overflow (Fatal) -The structure of your indexed file contains a fault.
You have probably tried to put another entry in the index when there is no room for it.
Alternatively, you have tried to access an old format indexed file, created perhaps
using CIS COBOL. -If your index has no room for further entries you should reorganize
your file. If you have tried to access an old format indexed file, you can run the Rebuild
utility to check the consistency of this indexed file, and to construct a new indexed file
if the old one was found to be corrupt. See your Programmer's Guide to File Handling
for details of the Rebuild utility.
Automation Engine
20
048
Attempt to divide by zero (Fatal) -You are executing a program that is trying to perform
a fixed-point divide by zero. Alternatively, if you have COBFSTAT environment
variable set to HOSTSTAT, this could be mainframe file status code "90". -Either
recode your program so that you can trap the error with an ON SIZE ERROR clause, or
run your program without the RTS O switch set, or recompile your program without the
CHECKDIV"OSVS" directive set.
048-057
Host file status, not an RTS message -If you have COBFSTAT environment variable
set to HOSTSTAT, this is a mainframe file status code "9x", where x is given by
subtracting 48 from the error number.
055
Routine table overflow (Fatal) -You have tried to load too many programs
simultaneously. Alternatively, if you have COBFSTAT environment variable set to
HOSTSTAT, this could be mainframe file status code "97". -Cancel any programs that
you are no longer using, or use fewer separate programs.
065
File locked (Recoverable) -You have tried to open a file which has already been locked,
or opened for output by another user. Alternatively, you have tried to lock or open for
output a file which another user already has open. -Your program can inform the
system operator (if there is one) that it is unable to access this file and should wait until
the other user has finished using the file and closes it. You should then be able to
continue to run your program.
066
Attempt to add duplicate record key to indexed file (Fatal) -You have tried to add a
duplicate key for a key which you have not defined as being able to have duplicates. As this error implies that your program logic contains a mistake, you probably should
recode.
067
Indexed file not open (Recoverable) -You are trying to access an indexed file which you
have not opened. -Open the file in the relevant access mode and then retry the
unsuccessful file operation.
068
Record locked (Recoverable) -You have tried to access a record which is currently
locked by another user. -Your program can inform the system operator (if there is one)
that the record is currently locked, and you should then wait until the other user has
released the lock on that record. You should then be able to access the relevant record.
You should not continually retry to gain access to the record without operator
intervention, as this could result in your application hanging.
069
Illegal argument to isam module (Fatal) -This is the result of an internal system error. Contact Technical Support who will help you find the cause of your error and how it can
be rectified.
070
Too many indexed files open (Recoverable) -You are trying to open an indexed file but
you have already exhausted the system limit which specifies how many of these files
can be opened at any one time. -Close some of the open indexed files which you are
not currently accessing. You should then be able to open the indexed file which you
require and to continue the program run.
071
Bad indexed file format (Fatal) -You are either using a file which has been corrupted, or
there is an internal system error. -If the disk you are using is corrupt, rerun your
program using your backup copy of the disk. If this is not the cause of the error then
you should contact Technical Support who will help you find the cause of your error and
how it can be rectified.
072
End of indexed file (Fatal) -This is the result of an internal system error. -Contact
Technical Support who will help you find the cause of your error and how it can be
rectified.
21
Chapter 5 Codes d’erreur externes
073
No record found in indexed file (Fatal) -This is the result of an internal system error. Contact Technical Support who will help you find the cause of the error and how it can
be rectified.
074
No current record in indexed file (Fatal) -This is the result of an internal system error. Contact Technical Support who will help you find the cause of the error and how it can
be rectified.
075
Indexed data file name too long (Fatal) -When creating indexed files, the extension .idx
is added to the user-defined filename, and so your filename must not exceed x-4
characters in length, where x is the maximum length of filename. See your
Programmer's Guide to File Handling for details. -Rename the file with a shorter
filename, that is, one that is less than 10 characters in length.
076
Can't create lock file in /isam directory (Fatal) -For some reason your system is unable
to create a lock file in the /isam directory. One reason for this could be that in its
previous run your program terminated abnormally (perhaps due to a power failure)
leaving some files locked. -You should manually remove all of the files that are still
locked from the /isam directory before you can successfully run your program.
077
Internal ISAM module error (Fatal) -This is the result of an internal system error. Contact Technical Support who will help you find the cause of your error and how it can
be rectified.
078
Illegal key description in indexed file (Fatal) -This is the result of an internal system
error. -Contact Technical Support who will help you find the cause of your error and
how it can be rectified.
079
COBCONFIG syntax error (Fatal) -An error exists in the run-time configuration sidefile
accessed via the environment variable COBCONFIG. -Check your syntax against
your Object COBOL User Guide. You might have used incorrect syntax, or syntax that
is not compatible with the type of RTS tuneable you are configuring (this could include
assigning an illegal value to the RTS tuneable).
081
Key already exists in indexed file (Fatal) -This is the result of an internal system error. Contact Technical Support who will help you find the cause of your error and how it can
be rectified.
082
CALL convention not supported (Fatal) -The CALL convention you have specified is
not supported. -See your Object COBOL User Guide for a list of supported CALL
conventions.
086
Remote file system failure (Fatal)
099
Illegal operation in SORT/MERGE module (Fatal) -A SORT or MERGE module has
received a RELEASE operation outside the Input procedure, or a RETURN operation
either outside the Output procedure, or before the Input procedure has terminated
correctly. -Recode your program so that RELEASE and RETURN operations are
issued by the appropriate procedures.
100
Invalid file operation (Fatal) -You have tried a file operation which violates a general rule
of COBOL in some way. The most likely cause of this error is that you have tried a
rewrite on a sequential file opened I-O, or on a relative file with access mode sequential
also opened I-O, without preceding it with a successful read NEXT. -Recode your
program to ensure that the REWRITE statement in error is preceded by a read NEXT.
101
Illegal operation on an indexed file (Fatal) -This is the result of an internal system error.
-Contact Technical Support who will help you find the cause of your error and how it
can be rectified.
Automation Engine
22
102
Sequential file with non-integral number of records (Fatal) -You have either specified an
incorrect record length for a sequential file, or the sequential file you are trying to
access is corrupt in some way, or the file which you have specified is not a sequential
file. -Recode your program so that it specifies the correct type of file, or if the error is
the result of a corrupt file, try to run the program again using a backup copy of that file.
103
Parameter cannot be passed BY VALUE (Fatal)
104
Null file name used in a file operation (Fatal) -You specified a data-name for a filename
instead of a literal, and the data item contained only spaces when you tried to open the
file. -Recode your program specifying the correct filename.
105
Memory allocation error (Fatal) -The run-time system is unable to allocate sufficient
memory space to successfully carry out the tried operation, probably because of
insufficient memory space on your system. -You should obtain more memory in which
to run your program. Refer to your operating system documentation for details of how
you can obtain more memory, if this is possible.
106
Dictionary error (Fatal) -This could be the result of a read or write error to file or disk, but
it is more likely to be the result of an internal system error. Alternatively, your
application might have called many programs without canceling them afterward, so
that memory becomes exhausted during Animation. -Contact Technical Support who
will help you to find the cause of your error and how it can be rectified. Ensure that as
much memory as possible is available during Animation by canceling any program you
do not currently need to access.
107
Operation not implemented in this run-time system (Fatal) -You are trying to perform a
file operation which your run-time system does not support. -You should recode your
program so that it does not try such operations, or you should acquire a version of your
system that does support this facility.
108
Failure to initialize data division (Fatal) -The run-time system cannot load your program
properly because the data needed to correctly initialize the Data Division has become
corrupted. -You should compile your program again to try to obtain good intermediate
code.
109
Invalid checksum in run-time system (Recoverable) -The internal information in the
run-time system has been altered. The run-time system might have become corrupted,
or you might have illegally tried to change the internal run-time system information.
110
Generated code not supported by this RTS (Fatal) -Contact Technical Support who will
help you to find the cause of the error and how it can be rectified.
111
Incompatible Class Library and Run-time Environment versions (Fatal) -The version
numbers for these components do not match. -Check that you have fully installed both
the Class Library and the Run-time Environment from the same version of Object
COBOL. If you have more than one version installed, check that your PATH,
LIBPATH, and COBDIR environment variables specify an appropriate path for the
version you are using.
112
Unable to locate/access the required security key (Recoverable) -The run-time system
cannot locate or cannot access the coded security key (dongle) that is required to
execute this application. -Connect the security key that was supplied with your
COBOL system to the parallel port of your computer, then re-run the application.
114
Attempt to access item beyond bounds of memory (Fatal) -Memory access violation
has been detected by your operating system.
115
Unexpected signal (Fatal) -A signal the run-time system was not expecting has been
caught.
23
Chapter 5 Codes d’erreur externes
116
Cannot allocate memory (Fatal) -For some reason a part of your run-time system is
unable to allocate you sufficient memory to enable you to execute your code. -You
should try to reduce memory usage by canceling programs that are not in use, then try
the operation that caused this message again.
117
Bad collating sequence (Fatal) -This is an internal system error. -Please contact
Technical Support who will help you to find the cause of the error and how it can be
rectified.
118
Symbol not found (Fatal) -You are unable to load your object file. You have tried to call
a program that has not been specified in the COBPATH environment variable. -Check
that your COBPATH has been set up correctly. If not, revise your COBPATH to
include the program being called.
119
Symbol redefined (Fatal) -The RTS has detected a symbol (for example, data item,
entry point or module name) which is already defined. -You can recode your application
to remove the naming duplication. If you are not linking with a non-COBOL function,
you can use the -e RTS switch (32-bit RTS only).
120
Symbol string table of zero size (Fatal) -You probably have a malformed object file. Once the program has terminated you must correct your object file. If this does not
work, contact Technical Support who will help you to find the specific cause of the
error.
121
Symbol is not in TEXT section (Fatal) -You have tried to call a subprogram that is not
an executable program. Alternatively, you have used the same name for a called
program as for a previously defined data item. -Check that the subprogram being called
is an executable one. If required, correct the subprogram's name in the calling program
and resubmit it to your COBOL system. Once your program has terminated, recode it
to remove the naming duplication. Resubmit your program to your COBOL system.
122
Coblongjmp() called below level of cobsavenv() (Fatal) -You might have returned
control to a higher level in the CALL/PERFORM hierarchy than the level at which
cobsetjmp was called. Coblongjmp must be called only from the same or from a lower
level in the CALL/PERFORM hierarchy as cobsavenv was. See your Object COBOL
User Guide for details of cobsavenv and coblongjmp.
123
Unknown relocation type (Fatal) -You are using incompatible versions of the object file
and the COBOL run-time library. -Once the program has terminated, resubmit your
object file to your COBOL system with the current version of your COBOL run-time
library. If this does not work, contact Technical Support who will help you to find the
specific cause of the error.
124
Communication failure during I/O request to the central file handler
125
All locks/ current transactions canceled due to exceeding time limit
126
Record size exceeds system limit (Fatal)
129
Attempt to access record zero of relative file (Recoverable) -The value specified in the
RELATIVE KEY data item contains the value zero. -You should ensure that the value
in the RELATIVE KEY data item is greater than zero, then continue to run your
program.
135
File must not exist (Recoverable) -The operating system has been unable to find a file
which you have tried to access in your program. -Ensure that you are in the correct
directory or that a path to the file concerned exists. You can then try the file operation
again. If the error is the result of a spelling mistake then ask for the correct file and try
the file operation again.
137
Illegal device specification - not mass storage
Automation Engine
24
138
File closed with lock - cannot be opened (Recoverable) -You are trying to open a file
which you previously closed with lock, which violates one of the general rules of
COBOL programming. -You cannot open the relevant file. As this error implies that
your program logic contains a mistake, you might want to close any remaining open
files, execute a STOP RUN statement and recode.
139
Record length or key data inconsistency (Recoverable) -A discrepancy exists between
the length of a record, or the keys which you have specified, in your current program
and its definition in the program in which it was first opened. -Your program has a fault,
so you probably should edit your code, then resubmit it to your COBOL system before
running it again.
141
File already open - cannot be opened (Recoverable) -You have tried to open a file which
is already open and so cannot be opened again. -Cancel your second attempt to open
the file and continue to run your program if the fact that the file is already open is
acceptable to you. However as this error implies that your program logic contains a
mistake, you might want to close any open files, execute a STOP RUN statement and
then recode.
142
File not open - cannot be closed (Recoverable) -You have tried to close a file which is
not open. -You can abandon your attempt to close the relevant file and continue to run
your program. However, as this error implies that your program logic contains a
mistake, you might want to close any open files, execute a STOP RUN statement and
then recode.
143
Rewrite/delete in sequential mode not preceded by successful read (Recoverable) You have failed to do a successful read on a sequentially accessed file trying a
REWRITE or DELETE on some of the information contained in that file. -If the
previous read was successful then perform a read on the relevant file before you retry
the unsuccessful REWRITE or DELETE operation. If the previous read was also
unsuccessful close the file, execute a STOP RUN statement and then recode your
program before you next run it.
144
Boundary violation (Recoverable) -You have tried to write a record to a variable length
record file, the length of which is not within the defined range for that file. -Recode your
program.
146
No current record defined for sequential read (Recoverable) -The file position indicator
in your file is undefined owing to a failed read/START or INVALID KEY condition. You
have tried to read another record in the file but as the current record is undefined the
system cannot find the start of the record for which you have asked. -You should try a
START operation, and continue to do so until the file position indicator is updated
successfully.
147
Wrong open mode or access mode for read/start (Recoverable) -You have tried to carry
out a read or start operation on a file which has not been opened for INPUT or I-O, or
which is not open at all. -Open the file for I-O or for INPUT and you should then be able
to continue to run your program. However, as this error implies that your program logic
contains a mistake, you might want to close any files which are open, execute a STOP
RUN statement and then recode.
148
Wrong open mode or access mode for write (Recoverable) -You have tried to write to a
file in sequential access mode that you have not opened for OUTPUT or EXTEND, or
you have tried to write to a file in random or dynamic access mode that has not been
opened INPUT or I-O, or which is not open at all. -Close the file and reopen it with the
correct open mode for the file type. However, as this error implies that your program
logic contains a mistake, you might want to close any files that are open, execute a
STOP RUN statement and then recode.
25
Chapter 5 Codes d’erreur externes
149
Wrong open mode or access mode for rewrite/delete (Recoverable) -You are trying to
do a REWRITE or a DELETE on a file that you have not opened for I-O, or which is not
open at all. -Close the file and reopen for I-O. However, as this error implies that your
program logic contains a mistake, you might want to close any open files, execute a
STOP RUN statement and then recode.
151
Random read on sequential file (Recoverable) -You are trying to do a random read on a
file which has sequential organization. -Read the file with the correct access mode. As
this error implies that your program logic contains a mistake, you might like to close
any files which are open, execute a STOP RUN statement and recode.
152
REWRITE on file not opened I-O (Recoverable) -You have tried a REWRITE on a file
that is not open I-O. -Close the relevant file and open it for I-O operations. You should
then be able to carry out the REWRITE operation successfully. However, as this error
implies that your program logic contains a mistake, you might want to close any open
files, execute a STOP RUN statement and then recode.
153
Subscript out of range (Fatal) -A subscript which you have used in your program is out
of the defined range, that is, it is either less than one or it is greater than the number of
occurrences of the item. -You should recode your program.
154
PERFORM nested too deeply (Fatal) -This error usually results if you have used GO
TO to jump out of the range of a PERFORM rather than to jump to an EXIT statement
at the end of its range. -When your program has terminated you should to recode your
program to ensure that the GO TO in question jumps to an EXIT statement at the end
of the PERFORM's range.
155
Illegal command line (Fatal) -The run-time system does not recognize as valid the
command line format you have specified. Alternatively, the generic command-line
interpreter, which must be present if your program is to be run successfully, is not
found on your system. Alternatively, you have set an invalid COBSW value. -Rerun
your application with a valid command line. Make sure that the interpreter is present to
enable your system to pick up the commands correctly and then rerun your program.
Reset COBSW to a valid value.
156
Too many parentheses in compute statement (Fatal) -You have coded a COMPUTE
statement which is too complex for your system to handle successfully. -You should
recode your program. We strongly advise you to break the relevant COMPUTE
statement into a number of simpler statements.
157
Not enough program memory: object file too large to load (Recoverable) -Either your
program is too large for the available memory space, or the stack is full. -If you have
specified the ON OVERFLOW/EXCEPTION clause in the relevant CALL statement,
the error is recoverable. Any associated imperative statement is executed before the
next instruction.
158
Attempt to REWRITE to a line-sequential file (Recoverable) -You have used the
REWRITE statement in conjunction with a file whose organization is line sequential.
The REWRITE statement cannot be used with line sequential files. -Close the file in
error before executing a STOP RUN statement to ensure that you do not lose any data
from it. Recode your program to make the organization of the file to which you want to
do a REWRITE either sequential, indexed sequential, or relative.
159
Malformed line-sequential file (Recoverable) -A line-sequential file which you are trying
to access is corrupt in some way. -Rerun your program using the backup copy of that
file.
Automation Engine
26
160
Overlay loading error (Recoverable) -An error has occurred while trying to load the
intermediate code for an independent segment. The segment is either missing or
corrupted in some way. -If the segment is missing, locate it. If you cannot find it, or if it
is present and corrupt, resubmit your program to your COBOL system.
161
Illegal intermediate code (Fatal) -The intermediate code which is currently being
processed is not valid code. You are probably trying to execute a corrupted file or one
which has not been submitted to your COBOL system successfully. -You should
resubmit your source program to your COBOL system, to try to obtain uncorrupted
intermediate code.
162
Arithmetic overflow or underflow (Fatal) -You are executing a program that is trying to
perform a floating-point divide by zero. -You should recode your program to avoid this
illegal operation.
163
Illegal character in numeric field (Fatal) -By default the value which you enter into a
numeric or numeric edited field is checked to ensure that it is numeric. You have
entered either nonnumeric characters or uninitialized numerics into numeric or numeric
edited fields: these are automatically space filled and are thus classified as
nonnumeric items. -You must adjust your code so that no invalid data is used. You can
locate the invalid numeric data in your code by setting the +F switch on, and animating
your program until you receive this error. You might need to use one of the Compiler
directives, BADSIGNS, HOST-NUMCOMPARE, SIGNCOMPARE or SPZERO, to
resolve invalid data in numeric fields. See your Object COBOL User Guide for details
of these directives.
164
Run-Time subprogram not found (Fatal) -You have tried to call a subroutine whose
entry address has not been set up in your run-time system. -Check to see that you
used a valid call number in the unsuccessful subroutine call. If not, revise your code to
contain a call number which your system recognizes. If you did use a valid call number
but still received this error you should contact Technical Support.
165
Version number incompatibility (Fatal) -One or more of the run-time support modules is
incompatible with the run-time system you are using. The name of the incompatible
support module is displayed. Alternatively, the run-time system you are using is
incompatible with the version of your COBOL system. Either "RTS" or the name of the
run-time system file is displayed: coblib.dll (OS/2), coblib.dle (DOS) or coblib.dlw
(Windows). -Reinstall the support module, using your installation disks. Reinstall the
run-time system file, using your installation disks. If no support module name is
displayed, you have done one of the following: -Used intermediate code which has
been produced on a version of your COBOL system that is incompatible with the runtime system you are using. Your RTS, therefore, cannot execute correctly any
generated code you are producing or have already produced from this intermediate
code. -Tried to execute a file which is not your COBOL system's intermediate or
generated code.
166
Recursive COBOL CALL is illegal (Fatal) -You have tried to call a COBOL module that
is already active. -You should recode your program.
167
Too many USING items (Fatal) -The list of items which you have supplied in a
CALL....USING statement is longer than the run-time system can handle. -Once your
program has terminated recode it with group items rather than elementary items before
rerunning it.
27
Chapter 5 Codes d’erreur externes
168
Stack overflow (Fatal) -You have nested a PERFORM statement or a series of CALL
statements too deeply. Alternatively, if you have specified the CHECKSTACK
directive when compiling your program, an incorrect number of parameters might have
been used on a call, and as a result the stack has been corrupted. -Edit your program to
reduce the number of levels in the nested PERFORM or CALL statement. If the
CHECKSTACK directive has been used, determine which call is at fault and edit the
source to provide the correct number and size of parameters.
169
Illegal configuration information (Fatal) -You have tried an operation for which your
machine is not configured; the most likely cause of this is that Adis is not configured
correctly. -Check that Adis is configured correctly. See your Programmer's Guide to
Creating User Interfaces for details of how you can reconfigure Adis.
170
System program not found (Fatal) -A system program, for example Adis or ExtFH, is
not present on the current logged-in drive. -Ensure that all the system programs are
available on the logged-in drive and copy those which are not currently present using
your backup system disk. Once all the necessary system programs are available you
can run your program.
171
Japanese operations illegal with this RTS (Fatal) -You are trying to perform Japanese
operations with a non-Japanese run-time system, or you have used a Japanese
version of your COBOL system to produce code which you are now trying to run using
a non-Japanese run-time system. -You should resubmit your program using a nonJapanese run-time system, or if you still want your program to perform Japanese
operations, you should acquire a Japanese run-time system.
172
Recursive non-MF PERFORM is illegal (Fatal) -You have tried full recursion of a
PERFORM statement in a program that was submitted to your COBOL system with
the OSVS parameter of the PERFORM-TYPE directive specified. That is, you have
tried to end two PERFORMs with the same return address. -You should either
resubmit your program to your COBOL system with a parameter other than OSVS
specified for the PERFORM-TYPE directive, or recode your program so that each
PERFORM has its own unique return address before you resubmit it to your COBOL
system with the MF parameter of the PERFORM-TYPE directive specified.
173
Called program file not found in drive/directory (Fatal) -You have tried to call a program
which is not present on your current logged-in drive or directory, or in a directory
pointed to by the COBDIR environment variable. -Once your program has terminated
you should copy the relevant file into your logged-in drive or directory. If insufficient
space is available, you should set the COBDIR environment variable to search the
directory or drive on which the file is present when your program calls it. Once you
have taken these steps, run your program again.
174
Imported file not found (Fatal) -You have tried to load a .dll file which contains
references to another .dll file which cannot be found by the operating system. -Locate
the missing file and ensure it is located on the default search path for your operating
system.
175
Attempt to run intermediate code program which had severe errors in it (Fatal) -You are
trying to run a program that produced severe faults when you submitted it to your
COBOL system with the run-time switch E turned off. Alternatively, you could try to
run the program with the E run-time switch set, though this might not give the desired
results. -You should edit your source code to correct all the severe faults, resubmit it to
your COBOL system, then run the intermediate code that is produced. When your
program is being animated, Animator reports this error and enables you to continue to
run the program. See also: E RTS switch
Automation Engine
28
176
Illegal intersegment reference (Fatal) -You might have a corrupted file. Alternatively,
your code contains a segment reference for the Forward Reference Table which is
illegal. -Resubmit your source code to your COBOL system. If you receive this error
again, contact Technical Support who will help you to find the specific cause of the
error.
177
Attempt to cancel program failed (Fatal) -You have tried to remove a currently
executing program or its parents or grandparents, from memory. Alternatively, you
have tried to cancel a DLL, either directly or indirectly as an imported DLL, that
contains an entry point which has been registered as an EXIT LIST function via the
OS/2 API call DosExitList. -Once your program has terminated you need to recode
your program to ensure that you do not try to cancel a program (or its parents or
grandparents) while it is still being executed. Locate the erroneous DLL and ensure that
the EXIT LIST function is removed before you cancel the DLL. If you cannot recode the
DLL, you can set the O RTS switch to force a logical cancel on the DLL. See also:D2
RTS switch O RTS switch
178
Error during save (Fatal) -You cannot save the information which your program has
generated. This can be caused by several different reasons but one of the most
common causes is that you have tried to Build a module that is too large for the
available memory space. -If the error is caused by a lack of space you can either delete
some of the files which you no longer need on your current disk, or insert a new floppy
disk to take the output from your program. You should then be able to rerun your
program and save the information given by it.
179
Error during chain (program not found) (Fatal) -You have tried to chain to another
program which your system is unable to find. -Once your program has terminated you
should copy the relevant file into your logged-in drive or directory. If insufficient space
is available, you should set the COBDIR environment variable to search the directory
or drive on which the file is present when your program calls it. Once you have taken
these steps, run your program again.
180
End-of-file marker error (Fatal) -A file-marker used to indicate that the end-of-file has
been reached is missing from one of your files. -You should resubmit your code to your
COBOL system, or use a debugger to place the end-of-file marker at the end of the file.
You can then rerun your program.
181
Invalid parameter error (Fatal) -A parameter which you have used is not one which is
recognized by your system. You have probably used a parameter for a run-time system
subprogram which is not in the first 64K of the Data Division. -Revise your code to
contain a parameter which is known by your system. That is, ensure that the
parameter is in the first 64K of the Data Division.
182
Console input or console output open in wrong direction (Fatal) -You are either trying to
read input from the screen or write to the keyboard. -You should recode your program.
183
Attempt to open line sequential file for I-O (Fatal) -You have tried to open a linesequential file in the input-output open mode, but this mode is not supported for files
with this organization. -When your program has terminated you should recode your
program to ensure that the file with organization line sequential is opened for input,
output, or extend. You can then rerun your code.
184
ACCEPT/DISPLAY I-O error (Fatal) -You have either tried to read input from the
screen or write to the keyboard, or the ADIS module has not been able to open your
terminal's channels for I-O. -Your program logic contains a mistake, so you must
recode.
185
File malformed (Recoverable)
29
Chapter 5 Codes d’erreur externes
186
Attempt to open stdin, stdout or stderr with incorrect mode (Recoverable) -You have
tried to open either a standard input file with output mode, or some other file in an
incorrect mode.
187
Run-time system not found on $COBDIR path (Fatal) -The run-time system cannot be
found on the path you have set up in the COBDIR environment variable. Alternatively,
you might not have installed your COBOL system correctly. -Ensure that the run-time
system is on the path you have set up in the COBDIR environment variable.
Alternatively, ensure that your COBOL system has been installed correctly. If it has
not, you must reinstall your COBOL system.
188
Filename too large (Fatal) -A filename which you have used has more characters than
the maximum number allowed by your operating system. -You should recode your
program to check the length of the file in error, and rename it with a shorter filename.
You can then run your program again.
189
Intermediate code load error (Fatal) -You are unable to load your intermediate code.
You might have tried to load intermediate code that either has not been successfully
produced, or has been corrupted in some way. -Try to obtain good intermediate code,
for example, by resubmitting (or submitting) your source code to your COBOL system.
You should then be able to load your code and run the program successfully.
190
Too many arguments to CALL (Fatal) -A CALL statement in your program cannot be
successfully executed because of the number of arguments which you have used with
it. -When your program has terminated you can recode it using group items rather than
elementary ones. You should then be able to run your program successfully.
191
Terminal type not defined (Fatal) -Your terminal type is undefined, so your operating
system is unable to drive your terminal. -Set up the necessary environment for your
terminal.
192
Required terminal capability description missing (Fatal) -A compulsory entry, for
example cursor movement or clear screen, is missing from your terminal configuration
database. -Add the missing entry to your terminal configuration database.
193
Error in variable length count (Fatal) -The intermediate code which is currently being
processed is not a valid operation. You are probably trying to execute a corrupt file or
one which has not been produced. -You should resubmit your source code to your
COBOL system.
194
File size too large (Fatal) -A file which your program is accessing is too large for
successful execution to continue. -When your program has terminated you should
recode your program spreading the data over more than one file to ensure that no file
becomes too large for your operating system to handle. Having recoded your program
you can then rerun it.
195
DELETE/REWRITE not preceded by a read (Fatal) -Before a DELETE or a REWRITE
statement can be successfully executed in sequential access mode the last inputoutput statement executed for the associated file must have been a successful read.
In your code no read statement precedes your tried DELETE or REWRITE. -When
your program has terminated, recode your program, making sure that the last inputoutput statement to be executed before the DELETE or REWRITE is a READ
statement.
196
Record number too large in relative or indexed file (Fatal) -The relative record key has
exceeded the system limit, that is, the file is too large for the system to handle.
Alternatively, the record key which you have specified is too large for the system to
deal with successfully, or the pointer to the record has been corrupted in some way so
that it is either too large or it is not a multiple of the record length.
Automation Engine
30
197
Screen handling system initialization error (Fatal) -This error can be caused by one of
the following: -Your display adapter is in the wrong mode. -Your screen handling
interface has not been correctly initialized because your terminal does not have the
required capabilities. -Your terminfo file is corrupted. -Memory has been incorrectly
allocated. -If you are using a DOS or OS/2 system, the monitor must be in
alphanumeric display mode rather than graphics display mode. You can set the display
mode to a valid alphanumeric mode by using the DOS MODE utility and then rerunning
your program. If you are using a UNIX-type system, you must check that your terminfo
file contains the correct entry for your terminal. If your terminfo file is corrupt, or your
screen handling interface has not been correctly initialized, you must advise your
system administrator of the problem, and he will take steps to try to correct it. If your
memory has been incorrectly allocated, you must rerun your program.
198
Load failure (Fatal) -The system cannot load a program, usually because of insufficient
memory. Alternatively your program has run out of memory during the loading or
reloading of a file. This occurs more frequently during Animation because of the extra
memory required during Animation. -Make more memory available and then rerun your
program. Ensure that as much memory as possible is available during Animation by
canceling any program you do not currently need to access.
199
Operating System error code lies outside expected range (Fatal) -A system call has
returned an unexpected error number which is not documented. -Contact Technical
Support who will help you to find the specific cause of this error.
200
Run-time system internal logic error (Fatal) -The amount of memory available on your
machine is so low that not even the run-time system can be fully loaded. Alternatively,
your run-time system has stopped as a result of an internal logic error from which you
cannot recover. -Free some memory and then you should be able to run your program
successfully. Contact Technical Support who will help you to find the cause of the
error.
201
I-O error in paging system (Fatal) -No room is available in your current directory or on
the floppy disk which you are using, for the paging file. -When your program has
terminated, delete any files which you no longer need from your directory to make room
for the paging file, or insert a new floppy disk.
202
Exported functionality error (Fatal) -You have either caused an internal run-time system
error by invalid use of an exported function, or the code produced by a preprocessor in
your COBOL system contains errors. -Ensure that all of your external assembler
applications call and use run-time system functions correctly before you try to run your
program again. If you are using a preprocessor as part of your COBOL system, you
should use the software as a standalone preprocessor to isolate the problem areas.
203
CALL parameter not supplied (Fatal) -The item you are trying to access in the Linkage
Section of the currently executing program has not been initialized. -Recode your
program to ensure that it contains all of the necessary parameters, or check that it is a
valid caller.
206
Reading unwritten data from memory (Fatal) -You are trying to read data which has not
been written, from the core file.
207
Machine does not exist (Recoverable) -You have tried to access a machine that is not
connected to your network, or which is not on-line. -Make sure the machine is
connected to the network and is on-line, then try to access it again.
31
Chapter 5 Codes d’erreur externes
208
Error in multi-user system (Fatal) -This is normally caused by an unexpected error
occurring in the network or file-sharing facilities. A corrupted network message also
causes this error to be returned. -Retry the unsuccessful operation. If the error
persists, contact Technical Support who will help you to find the specific cause of this
error.
209
Network communication error (Recoverable) -This is normally given if an incorrect
checksum has been received in a communications packet. -Your program should
continue to execute after you have received this error but results might be undefined.
210
File is closed with lock (Fatal) -You have tried to open a file which you have previously
closed with lock. -Recode your program to avoid opening a file which has previously
been closed with lock.
211
Program not executable by run-time system (Fatal) -You have tried to run a program
that is incompatible with the current version of either your run-time system, your object
file or your COBOL run-time library. For example, your run-time system does not run a
program linked using a different object file format or COBOL run-time library. -If your
object file is incompatible with the current version of either your COBOL run-time
library or your run-time system, you should relink with the current version of your
COBOL run-time library.
213
Too many locks (Recoverable) -You have either tried to exceed the maximum number
of simultaneous record locks per file you can have, or you have exhausted an operating
system or network resource, for example dynamic memory. -Execute a COMMIT or an
UNLOCK operation on the relevant file and you should then be able to continue to run
your program. You should try not to retain a record lock for longer than is necessary.
214
GO TO has not been ALTERed (Fatal) -You have violated one of the general rules of
COBOL programming. -Close any files which might be open, execute a STOP RUN
statement and then edit your program to avoid such illegal operations.
215
Cannot ANIMATE a program running COMMUNICATIONS (Fatal) -You have tried to
animate a program which makes use of the communications module. This cannot be
done as both Animator and the communications module need full use of the CRT. -You
should run your program without the aid of Animator.
216
Cannot initialize the named communications device (Fatal) -A device driver is probably
missing. -Ensure that all communications drivers are loaded before you try to run
Communications.
217
Incompatible host for native code file (Fatal) -The .gnt file is not valid for the host
processor. -You must resubmit your program to your COBOL system.
218
Malformed MULTIPLE REEL/UNIT file (Fatal) -Either your file header is not correctly
formatted, or you are not using a MULTIPLE REEL/UNIT file. -You should try to run
your program again using a backup copy of the relevant file.
219
Operating system shared file limit exceeded (Recoverable) -You have tried to exceed
your operating system's limit on the number of shared files that you can have open
simultaneously. As this figure is operating system dependent, you should consult your
Release Notes for details of how many shared files your system permits to be open at
any one time. -Close some of the open shared files you are no longer accessing and
retry the file operation.
Automation Engine
32
220
Attempt to execute more than one SORT or MERGE simultaneously (Fatal) -You have
coded your program in such a way that it is trying to execute more than one SORT or
MERGE operation at the same time. For example, you might have coded a SORT
statement in the input or output procedure of another SORT statement, an operation
that is specifically prohibited under the rules of ANSI COBOL. -You should recode your
program to ensure that it does not execute more than one SORT or MERGE at any one
time.
221
SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE
operation which has been unsuccessful for some reason. You might have had too
many files open when you tried a SORT/MERGE operation, or the file which you are
trying to access might be locked. -The action you should take depends on the situation
in which it occurs. Check the status of each file (USING/ GIVING) defined in the
SORT statement.
222
SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE
operation which has been unsuccessful for some reason. You might have had too
many files open when you tried a SORT/MERGE operation, or the file which you are
trying to access might be locked. -The action you should take depends on the situation
in which it occurs. Check the status of each file (USING/ GIVING) defined in the
SORT statement.
223
SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE
operation which has been unsuccessful for some reason. You might have had too
many files open when you tried a SORT/MERGE operation, or the file which you are
trying to access might be locked. Alternatively, you have set the TMP environment
variable to point to a directory that does not exist. -The action you should take depends
on the situation in which it occurs. Either set TMP to point to a directory that does
exist, or unset TMP.
224
External Language Initialization failure
225
Dynamic load error - program component missing (Fatal) -The run-time system cannot
locate the root or overlay of a program that is currently loaded in memory. Alternatively,
you have insufficient memory to load your program. Alternatively, the run-time system
could not find enough file handles to open and, therefore, load the code. -Either the
library that contained the program has been canceled, or the program is no longer
available on the program search path. Ensure that the program is available either on
disk or on an open library. Either free some memory, use XM, or restructure your
application so that it uses less memory. Increase your operating system file handles
limit.
226
EXTERNAL file definition inconsistent -Two or more programs define the same
external file but with different formats. For example, maximum and minimum record
lengths might be different. -Make sure that all of your programs define the external file
with the same format so that they are consistent. It is useful to have the file definition
in a COPY file.
227
EXTERNAL data definition inconsistent (Fatal) -Two or more programs are defining the
same external data item, but the first loaded program has defined the size differently
from the second or subsequent loaded program. -Make sure that both or all of your
programs define the size of the external data item as being the same.
228
Could not allocate memory for EXTERNAL item (Fatal)
33
Chapter 5 Codes d’erreur externes
229
SORT/MERGE module does not support EXTERNAL using/giving files (Recoverable)
-You have tried a SORT or MERGE operation which has USING/ GIVING files which
are defined as EXTERNAL. The SORT/ MERGE module does not support USING/
GIVING files defined as EXTERNAL. -Recompile your program to use the callable
SORT module (EXTSM).
230
Floating Point Support Module not found (Fatal)
235
Error in animator communications channel (Fatal) -Animator has encountered system
limits or conflicts resulting in communications errors. Perhaps two logins on the same
UNIX system are trying to cross-session animate the same program file. -Copy the
animated program file to a different directory and try animation.
236
Animated program has terminated unexpectedly (Fatal) -A program you are animating
has terminated without following the standard run-time system shut-down process.
The termination was probably either initiated by the user or caused by a severe runtime error. -Run your program without animation to determine if it runs successfully; if
so, animate the program without cross-session or intrasession animation.
237
Unable to initialize animated process (Fatal) -Animator has encountered system limits
in starting your program. The animated program cannot start because of either
insufficient memory or too many processes running on the UNIX system. -Animate
your program when the load on the system has reduced. Run the program without
animation to determine if it runs successfully; if so, animate the program without crosssession or intrasession animation. Ask your system administrator to expand the
number of process slots and virtual memory page maps.
238
STOP RUN encountered during GNT animation (Informational) -Animator has
encountered a STOP RUN statement while animating your .gnt code program. -Step or
Zoom the animated program, and Animator will terminate the program and its current
session.
239
Shared run-time system initialization failure (Informational) -You are calling a COBOL
module from a non-COBOL program, and have not initialized the shared run-time
system. -Ensure that your application calls the cobinit() function before executing any
COBOL modules.
240
Object reference not valid (Fatal) -You have tried to use an object reference that
contains an incorrect or non-existent object handle. -Ensure that the object reference
uses the correct object handle, and that your program has not previously destroyed the
object by sending it a Finalize message.
241
Cannot instantiate an abstract class (Fatal) -You have tried to create an instance of a
class that has been declared ABSTRACT. Such classes cannot be instantiated. Ensure that you have specified the correct class name. Check to see if there is a
subclass that you should use instead.
242
Could not resolve DoesNotUnderstand message (Fatal) -The run-time system could
not resolve the DoesNotUnderstand message. This is usually because you have
defined a class in such a way that this method cannot be found. -Check the logic in
your program to ensure that it invokes only methods that are supported by the object,
or ensure that the object supports the DoesNotUnderstand method.
243
Class could not be loaded (Fatal) -An attempt to load an object class has failed
because the class does not contain a valid Class-Control section, or because the
class is not defined correctly. -Check the definition of the class.
254
Keyboard interrupt to ANIMATOR during ACCEPT (Fatal) -While using Animator you
have terminated your program with a keyboard interrupt.
Automation Engine
34
5.3 Messages d'erreur de la pile TCP/IP
La suite est une liste de codes d'erreurs possible retournée par la fonction WSAGetLastError
accompagnés de leurs explications. Les numéros d'erreurs sont constamment répartis entre
toutes les exécutions Windows Sockets conformes.
Code Windows Sockets
Equivalent Berkeley
Erreur
Interprétation
WSAEINTR
EINTR
10004
Comme dans la norme C
WSAEBADF
EBADF
10009
Comme dans la norme C
WSAEACCES
EACCES
10013
Comme dans la norme C
WSAEDISCON
Aucun
10101
Le message s'est terminé
sans problème. Uniquement
utilisé pour les protocoles de
messages.
WSAEFAULT
EFAULT
10014
Comme dans la norme C
WSAEINVAL
EINVAL
10022
Comme dans la norme C
WSAEMFILE
EMFILE
10024
Comme dans la norme C
WSAEWOULDBLOCK
EWOULDBLOCK
10035
Comme dans BSD
WSAEINPROGRESS
EINPROGRESS
10036
Ce message d'erreur
apparait si une des
fonctions Windows Sockets
est appelée alors qu'une
fonction de blocage
s'effectue.
WSAEALREADY
EALREADY
10037
Comme dans BSD
WSAENOTSOCK
ENOTSOCK
10038
Comme dans BSD
WSAEDESTADDRREQ
EDESTADDRREQ
10039
Comme dans BSD
WSAEMSGSIZE
EMSGSIZE
10040
Comme dans BSD
WSAEPROTOTYPE
EPROTOTYPE
10041
Comme dans BSD
WSAENOPROTOOPT
ENOPROTOOPT
10042
Comme dans BSD
WSAEPROTONOSUPPORT EPROTONOSUPPORT 10043
Comme dans BSD
WSAESOCKTNOSUPPORT ESOCKTNOSUPPORT 10044
Comme dans BSD
WSAEOPNOTSUPP
EOPNOTSUPP
10045
Comme dans BSD
WSAEPFNOSUPPORT
EPFNOSUPPORT
10046
Comme dans BSD
WSAEAFNOSUPPORT
EAFNOSUPPORT
10047
Comme dans BSD
WSAEADDRINUSE
EADDRINUSE
10048
Comme dans BSD
WSAEADDRNOTAVAIL
EADDRNOTAVAIL
10049
Comme dans BSD
WSAENETDOWN
ENETDOWN
10050
Comme dans BSD. Cette
erreur peut survenir à
n'importe quel moment si
l'exécution Windows
Sockets détecte une erreur
sous-jacente.
35
Chapter 5 Codes d’erreur externes
WSAENETUNREACH
ENETUNREACH
10051
Comme dans BSD
WSAENETRESET
ENETRESET
10052
Comme dans BSD
WSAECONNABORTED
ECONNABORTED
10053
Comme dans BSD
WSAECONNRESET
ECONNRESET
10054
Comme dans BSD
WSAENOBUFS
ENOBUFS
10055
Comme dans BSD
WSAEISCONN
EISCONN
10056
Comme dans BSD
WSAENOTCONN
ENOTCONN
10057
Comme dans BSD
WSAESHUTDOWN
ESHUTDOWN
10058
Comme dans BSD
WSAETOOMANYREFS
ETOOMANYREFS
10059
Comme dans BSD
WSAETIMEDOUT
ETIMEDOUT
10060
Comme dans BSD
WSAECONNREFUSED
ECONNREFUSED
10061
Comme dans BSD
WSAELOOP
ELOOP
10062
Comme dans BSD
WSAENAMETOOLONG
ENAMETOOLONG
10063
Comme dans BSD
WSAEHOSTDOWN
EHOSTDOWN
10064
Comme dans BSD
WSAEHOSTUNREACH
EHOSTUNREACH
10065
Comme dans BSD
WSASYSNOTREADY
Aucun
10091
Retourné par WSAStartup,
indiquant que le soussystème réseau n'est pas
utilisable.
WSAVERNOTSUPPORTED
Aucun
10092
Retourné par WSAStartup,
indiquant que les Windows
Sockets DLL ne peuvent
pas prendre en charge cette
application.
WSANOTINITIALISED
Aucun
10093
Retourné par toutes les
fonctions sauf WSAStartup
indiquant qu'un démarrage
réussi n'a pas encore eu
lieu.
WSAHOST_NOT_FOUND
HOST_NOT_FOUND
11001
Comme dans BSD
WSATRY_AGAIN
TRY_AGAIN
11002
Comme dans BSD
WSANO_RECOVERY
NO_RECOVERY
11003
Comme dans BSD
WSANO_DATA
NO_DATA
11004
Comme dans BSD
La première série de définitions est présente afin de résoudre les conflits entre les codes erreurs de
la norme C qui pourraient être définis de manière incohérente entre les différents compilateurs C.
la deuxième série de définitions fournit des versions Windows Sockets pour des codes erreurs
normaux Berkeley Sockets.
La troisième série de définitions consiste en des codes erreurs étendus spécifiques de Windows
Sockets.
La quatrième série d'erreurs est retournée par les fonctions getXbyY et WSAAsyncGetXByY de
Windows Sockets et correspond aux erreurs qui seraient retournées dans la Variable h_errno au
sein du logiciel Berkeley. Elles correspondent à diverses erreurs qui peuvent être retournées par le
Automation Engine
36
Domain Name Service (DNS). Si l'implémentation Windows Sockets n'utilise pas le DNS, elle
utilise le code le plus approprié. En général, une application Windows Sockets devrait interpréter
WSAHOST_NOT_FOUND et WSANO_DATA comme indiqué que la Clef (nom, adresse, etc.) n'a
pas été trouvée alors que WSATRY_AGAIN et WSANO_RECOVERY suggèrent que le nom du
service lui-même n'est pas opérationnel.
Les nombres d'erreurs proviennent du fichier d'entête WINSOCK.H et sont basés sur le fait que les
nombres d'erreurs Windows Sockets sont calculés en ajoutant 10 000 au nombre "normal" d'erreurs
Berkeley.
Veuillez remarquer que ce tableau n'inclut pas tous les codes erreur définis dans WINSOCK.H. La
raison de cela est qu'il ne comprend que les erreurs qui peuvent être rationnellement renvoyées par
une implémentation Windows Sockets. D'un autre côté, WINSOCK.H comprend une liste complète
de définitions BSD afin d'assurer la compatibilité avec les logiciels portés.
5.4 Codes d’erreur UNIX
5.4.1 Codes d'erreur dans les messages du log de
l'Agent
Thème
Sun OS (Solaris)
Codes d'erreur Sparc, Solaris 1 version 4.1 et supérieure
Codes d'erreur Sparc, Solaris 2 version 5.5 et supérieure
Codes d'erreur Intel, Solaris version 2.4 et supérieure (correspond à SVR4)
HP-UX
Codes d'erreur HP-Workstation (9000), HP-UX 9
Codes d'erreur HP-Workstation (9000), HP-UX 10
DEC OSF
Codes d'erreur Alpha - DEC-OSF/1 - Digital UNIX 4.0
SCO
Codes d'erreur Intel, SCO-UNIX ODT 5.*
IBM AIX
Codes d'erreur Power-PC - AIX 4.1
Remarques
Les codes d'erreur des différents systèmes UNIX sont utilisés dans les messages du log de
l'Agent.
Exemple : "Erreur U2003040 dans programme 'read' (58), socket '6', code d'erreur : ('11' - No more
processes)"
37
Chapter 5 Codes d’erreur externes
Ce message de log signifie que le code d'erreur 11 est survenu sur le socket 6 (numéro interne) lors
de la fonction "read" (lecture de TCP/IP). Le programme a été répété 58 fois, jusqu'à ce que la
fonction ait pu être terminée sans erreur. Ces messages ne sont généralement pas importants et ne
nécessitent pas d'être respectés.
Nous mettons ici à votre disposition tous les codes et textes d'erreur. Pour de plus amples
informations, vous pouvez appeler la documentation relative à une fonction dans le système UNIX
à l'aide de la fonctionman. Cette dernière contient également la description des codes d'erreur
possibles.
Exemple : man read
5.4.2 DEC OSF
Codes d'erreur Alpha - DEC-OSF/1 - Digital UNIX 4.0
Code d'erreur Texte d'erreur
0
Successful
1
Not owner
2
No such file or directory
3
No such process
4
Interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
Operation would cause deadlock
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Not a typewriter
Automation Engine
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read-only file system
31
Too many links
32
Broken pipe
33
Argument too large
34
Result too large
35
Operation would block
36
Operation now in progress
37
Operation already in progress
38
Socket operation on non-socket
39
Destination address required
40
Message too long
41
Protocol wrong type for socket
42
Protocol not available
43
Protocol not supported
44
Socket type not supported
45
Operation not supported on socket
46
Protocol family not supported
47
Address family not supported by protocol family
48
Address already in use
49
Can't assign requested address
50
Network is down
51
Network is unreachable
52
Network dropped connection on reset
53
Software caused connection abort
54
Connection reset by peer
55
No buffer space available
56
Socket is already connected
57
Socket is not connected
58
Can't send after socket shutdown
59
Too many references: can't splice
60
Connection timed out
61
Connection refused
62
Too many levels of symbolic links
63
File name too long
38
39
Chapter 5 Codes d’erreur externes
64
Host is down
65
No route to host
66
Directory not empty
67
Too many processes
68
Too many users
69
Disc quota exceeded
70
Stale NFS file handle
71
Too many levels of remote in path
72
RPC struct is bad
73
RPC version wrong
74
RPC prog. not avail
75
Program version wrong
76
Bad procedure for program
77
No locks available
78
Function not implemented
79
Inappropriate file type or format
80
No msg matches receive request
81
Msg queue id has been removed
82
Out of STREAMS resources
83
System call timed out
84
Next message has wrong type
85
STREAMS protocol error
86
No message on stream head read q
87
fd not associated with a stream
88
Tells open to clone the device
89
Mounting a dirty fs w/o force
90
duplicate package name on install
91
version number mismatch
92
unresolved package name
93
unresolved symbol name
94
operation canceled
95
cannot start operation
97
operation (now) in progress
98
too many timers
99
function not implemented
100
internal AIO operation complete
101
Reserved
102
Reserved
Automation Engine
103
Value too large to be stored in data type
116
Invalid wide character
5.4.3 HP-UX
Codes d'erreur HP-Workstation (9000), HP-UX 9
Code d'erreur Texte d'erreur
1
Not super-user
2
No such file or directory
3
No such process
4
interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
No more processes
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Not a typewriter
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read only file system
31
Too many links
40
41
Chapter 5 Codes d’erreur externes
32
Broken pipe
35
No message of desired type
36
Identifier removed
37
Channel number out of range
38
Level 2 not synchronized
39
Level 3 halted
40
Level 3 reset
41
Link number out of range
42
Protocol driver not attached
43
No CSI structure available
44
Level 2 halted
45
A deadlock would occur
46
System record lock table was full
47
Illegal byte sequence
50
Machine is not on the network
51
no data (for no delay io)
52
timer expired
53
out of streams resources
54
Device not a stream
55
Package not installed
57
the link has been severed
58
advertise error
59
srmount error
60
Communication error on send
61
Protocol error
64
multihop attempted
66
Cross mount point (not really error)
67
trying to read unreadable message
68
For Sun compatibilty, will not occur.
69
Disc quota exceeded
70
Stale NFS file handle
71
Too many levels of remote in path
99
Unexpected Error
215
symbol does not exist in executable
216
Socket operation on non-socket
217
Destination address required
218
Message too long
219
Protocol wrong type for socket
Automation Engine
220
Protocol not available
221
Protocol not supported
222
Socket type not supported
223
Operation not supported
224
Protocol family not supported
225
Address family not supported by
226
Address already in use
227
Can't assign requested address
228
Network is down
229
Network is unreachable
230
Network dropped connection on
231
Software caused connection abort
232
Connection reset by peer
233
No buffer space available
234
Socket is already connected
235
Socket is not connected
236
Can't send after socket shutdown
237
Too many references: can't splice
238
Connection timed out
239
Connection refused
240
Remote peer released connection
241
Host is down
242
No route to host
244
Operation already in progress
245
Operation now in progress
246
Operation would block
247
Directory not empty
248
File name too long
249
Too many levels of symbolic links
250
No message of desired type
251
Function not implemented
Codes d'erreur HP-Workstation (9000), HP-UX 10
Code d'erreur Texte d'erreur
1
Not super-user
2
No such file or directory
3
No such process
4
interrupted system call
42
43
Chapter 5 Codes d’erreur externes
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
No more processes
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Not a typewriter
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read only file system
31
Too many links
32
Broken pipe
33
Math arg out of domain of func
34
Math result not representable
35
No message of desired type
36
Identifier removed
37
Channel number out of range
38
Level 2 not synchronized
39
Level 3 halted
40
Level 3 reset
41
Link number out of range
42
Protocol driver not attached
Automation Engine
43
No CSI structure available
44
Level 2 halted
45
A deadlock would occur
46
System record lock table was full
47
Illegal byte sequence
50
Machine is not on the network
51
no data (for no delay io)
52
timer expired
53
out of streams resources
54
Device not a stream
55
Package not installed
57
the link has been severed
58
advertise error
59
srmount error
60
Communication error on send
61
Protocol error
64
multihop attempted
66
Cross mount point (not really error)
67
trying to read unreadable message
68
For Sun compatibilty, will not occur.
69
Disc quota exceeded
70
Stale NFS file handle
71
Too many levels of remote in path
72
Value too large to be stored in data type
215
symbol does not exist in executable
216
Socket operation on non-socket
217
Destination address required
218
Message too long
219
Protocol wrong type for socket
220
Protocol not available
221
Protocol not supported
222
Socket type not supported
223
Operation not supported
224
Protocol family not supported
225
Address family not supported by
226
Address already in use
227
Can't assign requested address
228
Network is down
44
45
Chapter 5 Codes d’erreur externes
229
Network is unreachable
230
Network dropped connection on reset
231
Software caused connection abort
232
Connection reset by peer
233
No buffer space available
234
Socket is already connected
235
Socket is not connected
236
Can't send after socket shutdown
237
Too many references: can't splice
238
Connection timed out
239
Connection refused
240
Remote peer released connection
241
Host is down
242
No route to host
244
Operation already in progress
245
Operation now in progress
246
Operation would block
247
Directory not empty
248
File name too long
249
Too many levels of symbolic links
251
Function not implemented
252
Function not implemented
5.4.4 IBM AIX
Codes d'erreur Power-PC - AIX 4.1
Code d'erreur Texte d'erreur
1
Operation not permitted
2
No such file or directory
3
No such process
4
interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file descriptor
10
No child processes
11
Resource temporarily unavailable
Automation Engine
12
Not enough space
13
Permission denied
14
Bad address
15
Block device required
16
Resource busy
17
File exists
18
Improper link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
Too many open files in system
24
Too many open files
25
Inappropriate I/O control operation
26
Text file busy
27
File too large
28
No space left on device
29
Invalid seek
30
Read only file system
31
Too many links
32
Broken pipe
33
Domain error within math function
34
Result too large
35
No message of desired type
36
Identifier removed
37
Channel number out of range
38
Level 2 not synchronized
39
Level 3 halted
40
Level 3 reset
41
Link number out of range
42
Protocol driver not attached
43
No CSI structure available
44
Level 2 halted
45
Resource deadlock avoided
46
Device not ready
47
Write-protected media
48
Unformatted media
49
No locks available
46
47
Chapter 5 Codes d’erreur externes
50
no connection
52
no filesystem
53
old, currently unused AIX errno
54
Operation would block
55
Operation now in progress
56
Operation already in progress
57
Socket operation on non-socket
58
Destination address required
59
Message too long
60
Protocol wrong type for socket
61
Protocol not available
62
Protocol not supported
63
Socket type not supported
64
Operation not supported on socket
65
Protocol family not supported
66
Address family not supported by protocol family
67
Address already in use
68
Can't assign requested address
69
Network is down
70
Network is unreachable
71
Network dropped connection on reset
72
Software caused connection abort
73
Connection reset by peer
74
No buffer space available
75
Socket is already connected
76
Socket is not connected
77
Can't send after socket shutdown
78
Connection timed out
79
Connection refused
80
Host is down
81
No route to host
82
restart the system call
83
Too many processes
84
Too many users
85
Too many levels of symbolic links
86
File name too long
87
Directory not empty
88
Disc quota exceeded
Automation Engine
89 - 92
reserved for future use compatible with AIX PS/2
93
Item is not local to host
94 - 108
reserved for future use compatible with AIX PS/2
109
Function not implemented POSIX
110
media surface error
111
I/O completed, but needs relocation
112
no attribute found
113
security authentication denied
114
not a trusted program
115
Too many references: can't splice
116
Invalid wide character
117
asynchronous i/o cancelled
118
temp out of streams resources
119
I_STR ioctl timed out
120
wrong message type at stream head
121
STREAMS protocol error
122
no message ready at stream head
123
fd is not a stream
124
POSIX threads unsupported value
125
multihop is not allowed
126
the link has been severed
127
value too large to be stored in data type
5.4.5 Sun OS (Solaris)
Codes d'erreur Sparc, Solaris 1 version 4,1 et supérieure
Code d'erreur Texte d'erreur
1
Not owner
2
No such file or directory
3
No such process
4
Interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
No more processes
48
49
Chapter 5 Codes d’erreur externes
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Not a typewriter
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read-only file system
31
Too many links
32
Broken pipe
33
Argument too large
34
Result too large
35
Operation would block
36
Operation now in progress
37
Operation already in progress
38
Socket operation on non-socket
39
Destination address required
40
Message too long
41
Protocol wrong type for socket
42
Protocol not available
43
Protocol not supported
44
Socket type not supported
45
Operation not supported on socket
46
Protocol family not supported
47
Address family not supported by protocol family
48
Address already in use
49
Can't assign requested address
Automation Engine
50
Network is down
51
Network is unreachable
52
Network dropped connection on reset
53
Software caused connection abort
54
Connection reset by peer
55
No buffer space available
56
Socket is already connected
57
Socket is not connected
58
Can't send after socket shutdown
59
Too many references: can't splice
60
Connection timed out
61
Connection refused
62
Too many levels of symbolic links
63
File name too long
64
Host is down
65
No route to host
66
Directory not empty
67
Too many processes
68
Too many users
69
Disc quota exceeded
70
Stale NFS file handle
71
Too many levels of remote in path
72
Device is not a stream
73
Timer expired
74
Out of streams resources
75
No message of desired type
76
Trying to read unreadable message
77
Identifier removed
78
Deadlock condition.
79
No record locks available
80
Machine is not on the network
81
Object is remote
82
the link has been severed
83
advertise error
84
srmount error
85
Communication error on send
86
Protocol error
87
multihop attempted
50
51
Chapter 5 Codes d’erreur externes
88
Cross mount point (not an error)
89
Remote address changed
90
function not implemented
Codes d'erreur Sparc, Solaris 2 version 5.5 et supérieure
Code d'erreur Texte d'erreur
1
Not super-user
2
No such file or directory
3
No such process
4
interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
Resource temporarily unavailable
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Inappropriate ioctl for device
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read only file system
31
Too many links
32
Broken pipe
Automation Engine
33
Math arg out of domain of func
34
Math result not representable
35
No message of desired type
36
Identifier removed
37
Channel number out of range
38
Level 2 not synchronized
39
Level 3 halted
40
Level 3 reset
41
Link number out of range
42
Protocol driver not attached
43
No CSI structure available
44
Level 2 halted
45
Deadlock condition.
46
No record locks available
47
Operation canceled
48
Operation not supported
49
Disc quota exceeded
50
invalid exchange
51
invalid request descriptor
52
exchange full
53
no anode
54
invalid request code
55
invalid slot
56
file locking deadlock error
57
bad font file fmt
60
Device not a stream
61
no data (for no delay io)
62
timer expired
63
out of streams resources
64
Machine is not on the network
65
Package not installed
66
The object is remote
67
the link has been severed
68
advertise error
69
srmount error
70
Communication error on send
71
Protocol error
74
multihop attempted
52
53
Chapter 5 Codes d’erreur externes
77
trying to read unreadable message
78
path name is too long
79
value too large to be stored in data type
80
given log. name not unique
81
f.d. invalid for this operation
82
Remote address changed
83
Can't access a needed shared lib.
84
Accessing a corrupted shared lib.
85
.lib section in a.out corrupted.
86
Attempting to link in too many libs.
87
Attempting to exec a shared library.
88
Illegal byte sequence.
89
Unsupported file system operation
90
Symbolic link loop
91
Restartable system call
92
if pipe/FIFO, don't sleep in stream head
93
directory not empty
94
Too many users (for UFS)
95
Socket operation on non-socket
96
Destination address required
97
Message too long
98
Protocol wrong type for socket
99
Protocol not available
120
Protocol not supported
121
Socket type not supported
122
Operation not supported on socket
123
Protocol family not supported
124
Address family not supported by
125
Address already in use
126
Can't assign requested address
127
Network is down
128
Network is unreachable
129
Network dropped connection because
130
Software caused connection abort
131
Connection reset by peer
132
No buffer space available
133
Socket is already connected
134
Socket is not connected
Automation Engine
135 - 142
XENIX
143
Can't send after socket shutdown
144
Too many references: can't splice
145
Connection timed out
146
Connection refused
147
Host is down
148
No route to host
149
operation already in progress
150
operation now in progress
151
Stale NFS file handle
Codes d'erreur Intel, Solaris version 2.4 et supérieure
Code d'erreur Texte d'erreur
1
Not super-user
2
No such file or directory
3
No such process
4
interrupted system call
5
I/O error
6
No such device or address
7
Arg list too long
8
Exec format error
9
Bad file number
10
No children
11
Resource temporarily unavailable
12
Not enough core
13
Permission denied
14
Bad address
15
Block device required
16
Mount device busy
17
File exists
18
Cross-device link
19
No such device
20
Not a directory
21
Is a directory
22
Invalid argument
23
File table overflow
24
Too many open files
25
Inappropriate ioctl for device
54
55
Chapter 5 Codes d’erreur externes
26
Text file busy
27
File too large
28
No space left on device
29
Illegal seek
30
Read only file system
31
Too many links
32
Broken pipe
33
Math arg out of domain of func
34
Math result not representable
35
No message of desired type
36
Identifier removed
37
Channel number out of range
38
Level 2 not synchronized
39
Level 3 halted
40
Level 3 reset
41
Link number out of range
42
Protocol driver not attached
43
No CSI structure available
44
Level 2 halted
45
Deadlock condition.
46
No record locks available
47
Operation canceled
48
Operation not supported
50
invalid exchange
51
invalid request descriptor
52
exchange full
53
no anode
54
invalid request code
55
invalid slot
56
file locking deadlock error
57
bad font file fmt
60
Device not a stream
61
no data (for no delay io)
62
timer expired
63
out of streams resources
64
Machine is not on the network
65
Package not installed
66
The object is remote
Automation Engine
67
the link has been severed
68
advertise error
69
srmount error
70
Communication error on send
71
Protocol error
74
multihop attempted
77
trying to read unreadable message
78
path name is too long
79
value too large to be stored in data type
80
given log. name not unique
81
f.d. invalid for this operation
82
Remote address changed
83
Can't access a needed shared lib.
84
Accessing a corrupted shared lib.
85
.lib section in a.out corrupted.
86
Attempting to link in too many libs.
87
Attempting to exec a shared library.
88
Illegal byte sequence.
89
Unsupported file system operation
90
Symbolic link loop
91
Restartable system call
92
if pipe/FIFO, don't sleep in stream head
93
directory not empty
94
Too many users (for UFS)
95
Socket operation on non-socket
96
Destination address required
97
Message too long
98
Protocol wrong type for socket
99
Protocol not available
120
Protocol not supported
121
Socket type not supported
122
Operation not supported on socket
123
Protocol family not supported
124
Address family not supported by
125
Address already in use
126
Can't assign requested address
127
Network is down
128
Network is unreachable
56
57
Chapter 5 Codes d’erreur externes
129
Network dropped connection because of reset
130
Software caused connection abort
131
Connection reset by peer
132
No buffer space available
133
Socket is already connected
134
Socket is not connected
135 - 142
XENIX
143
Can't send after socket shutdown
144
Too many references: can't splice
145
Connection timed out
146
Connection refused
147
Host is down
148
No route to host
149
operation already in progress
150
operation now in progress
5.5 Codes d’erreur Windows
5.5.1 Win32 - Codes d'erreur (0-999)
Le tableau suivant contient les messages d'erreur Win32.
Code Description
Nom
0
The operation completed successfully.
ERROR_
SUCCESS
1
Incorrect function.
ERROR_
INVALID_
FUNCTION
2
The system cannot find the file specified.
ERROR_FILE_
NOT_FOUND
3
The system cannot find the path specified.
ERROR_PATH_
NOT_FOUND
4
The system cannot open the file.
ERROR_TOO_
MANY_OPEN_
FILES
5
Access is denied.
ERROR_
ACCESS_
DENIED
6
The handle is invalid.
ERROR_
INVALID_
HANDLE
Automation Engine
58
7
The storage control blocks were destroyed.
ERROR_
ARENA_
TRASHED
8
Not enough storage is available to process this command.
ERROR_NOT_
ENOUGH_
MEMORY
9
The storage control block address is invalid.
ERROR_
INVALID_BLOCK
10
The environment is incorrect.
ERROR_BAD_
ENVIRONMENT
11
An attempt was made to load a program with an incorrect format.
ERROR_BAD_
FORMAT
12
The access code is invalid.
ERROR_
INVALID_
ACCESS
13
The data is invalid.
ERROR_
INVALID_DATA
14
Not enough storage is available to complete this operation.
ERROR_
OUTOFMEMORY
15
The system cannot find the drive specified.
ERROR_
INVALID_DRIVE
16
The directory cannot be removed.
ERROR_
CURRENT_
DIRECTORY
17
The system cannot move the file to a different disk drive.
ERROR_NOT_
SAME_DEVICE
18
There are no more files.
ERROR_NO_
MORE_FILES
19
The media is write protected.
ERROR_WRITE_
PROTECT
20
The system cannot find the device specified.
ERROR_BAD_
UNIT
21
The device is not ready.
ERROR_NOT_
READY
22
The device does not recognize the command.
ERROR_BAD_
COMMAND
23
Data error (cyclic redundancy check).
ERROR_CRC
24
The program issued a command but the command length is incorrect. ERROR_BAD_
LENGTH
25
The drive cannot locate a specific area or track on the disk.
ERROR_SEEK
26
The specified disk or diskette cannot be accessed.
ERROR_NOT_
DOS_DISK
27
The drive cannot find the sector requested.
ERROR_
SECTOR_NOT_
FOUND
59
Chapter 5 Codes d’erreur externes
28
The printer is out of paper.
ERROR_OUT_
OF_PAPER
29
The system cannot write to the specified device.
ERROR_WRITE_
FAULT
30
The system cannot read from the specified device.
ERROR_READ_
FAULT
31
A device attached to the system is not functioning.
ERROR_GEN_
FAILURE
32
The process cannot access the file because it is being used by
another process.
ERROR_
SHARING_
VIOLATION
33
The process cannot access the file because another process has
locked a portion of the file.
ERROR_LOCK_
VIOLATION
34
The wrong diskette is in the drive. Insert %2 (Volume Serial Number:
%3) into drive %1.
ERROR_
WRONG_DISK
36
Too many files opened for sharing.
ERROR_
SHARING_
BUFFER_
EXCEEDED
38
Reached the end of the file.
ERROR_
HANDLE_EOF
39
The disk is full.
ERROR_
HANDLE_DISK_
FULL
50
The network request is not supported.
ERROR_NOT_
SUPPORTED
51
The remote computer is not available.
ERROR_REM_
NOT_LIST
52
A duplicate name exists on the network.
ERROR_DUP_
NAME
53
The network path was not found.
ERROR_BAD_
NETPATH
54
The network is busy.
ERROR_
NETWORK_
BUSY
55
The specified network resource or device is no longer available.
ERROR_DEV_
NOT_EXIST
56
The network BIOS command limit has been reached.
ERROR_TOO_
MANY_CMDS
57
A network adapter hardware error occurred.
ERROR_ADAP_
HDW_ERR
58
The specified server cannot perform the requested operation.
ERROR_BAD_
NET_RESP
59
An unexpected network error occurred.
ERROR_
UNEXP_NET_
ERR
Automation Engine
60
60
The remote adapter is not compatible.
ERROR_BAD_
REM_ADAP
61
The printer queue is full.
ERROR_
PRINTQ_FULL
62
Space to store the file waiting to be printed is not available on the
server.
ERROR_NO_
SPOOL_SPACE
63
Your file waiting to be printed was deleted.
ERROR_PRINT_
CANCELLED
64
The specified network name is no longer available.
ERROR_
NETNAME_
DELETED
65
Network access is denied.
ERROR_
NETWORK_
ACCESS_
DENIED
66
The network resource type is not correct.
ERROR_BAD_
DEV_TYPE
67
The network name cannot be found.
ERROR_BAD_
NET_NAME
68
The name limit for the local computer network adapter card was
exceeded.
ERROR_TOO_
MANY_NAMES
69
The network BIOS session limit was exceeded.
ERROR_TOO_
MANY_SESS
70
The remote server has been paused or is in the process of being
started.
ERROR_
SHARING_
PAUSED
71
No more connections can be made to this remote computer at this
ERROR_REQ_
time because there are already as many connections as the computer NOT_ACCEP
can accept.
72
The specified printer or disk device has been paused.
ERROR_REDIR_
PAUSED
80
The file exists.
ERROR_FILE_
EXISTS
82
The directory or file cannot be created.
ERROR_
CANNOT_MAKE
83
Fail on INT 24.
ERROR_FAIL_I24
84
Storage to process this request is not available.
ERROR_OUT_
OF_
STRUCTURES
85
The local device name is already in use.
ERROR_
ALREADY_
ASSIGNED
86
The specified network password is not correct.
ERROR_
INVALID_
PASSWORD
61
Chapter 5 Codes d’erreur externes
87
The parameter is incorrect.
ERROR_
INVALID_
PARAMETER
88
A write fault occurred on the network.
ERROR_NET_
WRITE_FAULT
89
The system cannot start another process at this time.
ERROR_NO_
PROC_SLOTS
100
Cannot create another system semaphore.
ERROR_TOO_
MANY_
SEMAPHORES
101
The exclusive semaphore is owned by another process.
ERROR_EXCL_
SEM_ALREADY_
OWNED
102
The semaphore is set and cannot be closed.
ERROR_SEM_
IS_SET
103
The semaphore cannot be set again.
ERROR_TOO_
MANY_SEM_
REQUESTS
104
Cannot request exclusive semaphores at interrupt time.
ERROR_
INVALID_AT_
INTERRUPT_
TIME
105
The previous ownership of this semaphore has ended.
ERROR_SEM_
OWNER_DIED
106
Insert the diskette for drive %1.
ERROR_SEM_
USER_LIMIT
107
The program stopped because an alternate diskette was not inserted. ERROR_DISK_
CHANGE
108
The disk is in use or locked by another process.
ERROR_DRIVE_
LOCKED
109
The pipe has been ended.
ERROR_
BROKEN_PIPE
110
The system cannot open the device or file specified.
ERROR_OPEN_
FAILED
111
The file name is too long.
ERROR_
BUFFER_
OVERFLOW
112
There is not enough space on the disk.
ERROR_DISK_
FULL
113
No more internal file identifiers available.
ERROR_NO_
MORE_
SEARCH_
HANDLES
Automation Engine
62
114
The target internal file identifier is incorrect.
ERROR_
INVALID_
TARGET_
HANDLE
117
The IOCTL call made by the application program is not correct.
ERROR_
INVALID_
CATEGORY
118
The verify-on-write switch parameter value is not correct.
ERROR_
INVALID_
VERIFY_
SWITCH
119
The system does not support the command requested.
ERROR_BAD_
DRIVER_LEVEL
120
This function is not supported on this system.
ERROR_CALL_
NOT_
IMPLEMENTED
121
The semaphore timeout period has expired.
ERROR_SEM_
TIMEOUT
122
The data area passed to a system call is too small.
ERROR_
INSUFFICIENT_
BUFFER
123
The filename, directory name, or volume label syntax is incorrect.
ERROR_
INVALID_NAME
124
The system call level is not correct.
ERROR_
INVALID_LEVEL
125
The disk has no volume label.
ERROR_NO_
VOLUME_LABEL
126
The specified module could not be found.
ERROR_MOD_
NOT_FOUND
127
The specified procedure could not be found.
ERROR_PROC_
NOT_FOUND
128
There are no child processes to wait for.
ERROR_WAIT_
NO_CHILDREN
129
The %1 application cannot be run in Win32 mode.
ERROR_CHILD_
NOT_COMPLETE
130
Attempt to use a file handle to an open disk partition for an operation
other than raw disk I/O.
ERROR_
DIRECT_
ACCESS_
HANDLE
131
An attempt was made to move the file pointer before the beginning of
the file.
ERROR_
NEGATIVE_
SEEK
132
The file pointer cannot be set on the specified device or file.
ERROR_SEEK_
ON_DEVICE
133
A JOIN or SUBST command cannot be used for a drive that contains ERROR_IS_
previously joined drives.
JOIN_TARGET
63
Chapter 5 Codes d’erreur externes
134
An attempt was made to use a JOIN or SUBST command on a drive
that has already been joined.
ERROR_IS_
JOINED
135
An attempt was made to use a JOIN or SUBST command on a drive
that has already been substituted.
ERROR_IS_
SUBSTED
136
The system tried to delete the JOIN of a drive that is not joined.
ERROR_NOT_
JOINED
137
The system tried to delete the substitution of a drive that is not
substituted.
ERROR_NOT_
SUBSTED
138
The system tried to join a drive to a directory on a joined drive.
ERROR_JOIN_
TO_JOIN
139
The system tried to substitute a drive to a directory on a substituted
drive.
ERROR_SUBST_
TO_SUBST
140
The system tried to join a drive to a directory on a substituted drive.
ERROR_JOIN_
TO_SUBST
141
The system tried to SUBST a drive to a directory on a joined drive.
ERROR_SUBST_
TO_JOIN
142
The system cannot perform a JOIN or SUBST at this time.
ERROR_BUSY_
DRIVE
143
The system cannot join or substitute a drive to or for a directory on the ERROR_SAME_
same drive.
DRIVE
144
The directory is not a subdirectory of the root directory.
ERROR_DIR_
NOT_ROOT
145
The directory is not empty.
ERROR_DIR_
NOT_EMPTY
146
The path specified is being used in a substitute.
ERROR_IS_
SUBST_PATH
147
Not enough resources are available to process this command.
ERROR_IS_
JOIN_PATH
148
The path specified cannot be used at this time.
ERROR_PATH_
BUSY
149
An attempt was made to join or substitute a drive for which a directory ERROR_IS_
on the drive is the target of a previous substitute.
SUBST_TARGET
150
System trace information was not specified in your CONFIG.SYS
file, or tracing is disallowed.
ERROR_
SYSTEM_TRACE
151
The number of specified semaphore events for DosMuxSemWait is
not correct.
ERROR_
INVALID_
EVENT_COUNT
152
DosMuxSemWait did not execute; too many semaphores are already ERROR_TOO_
set.
MANY_
MUXWAITERS
153
The DosMuxSemWait list is not correct.
ERROR_
INVALID_LIST_
FORMAT
154
The volume label you entered exceeds the label character limit of the
target file system.
ERROR_LABEL_
TOO_LONG
Automation Engine
64
155
Cannot create another thread.
ERROR_TOO_
MANY_TCBS
156
The recipient process has refused the signal.
ERROR_
SIGNAL_
REFUSED
157
The segment is already discarded and cannot be locked.
ERROR_
DISCARDED
158
The segment is already unlocked.
ERROR_NOT_
LOCKED
159
The address for the thread ID is not correct.
ERROR_BAD_
THREADID_
ADDR
160
The argument string passed to DosExecPgm is not correct.
ERROR_BAD_
ARGUMENTS
161
The specified path is invalid.
ERROR_BAD_
PATHNAME
162
A signal is already pending.
ERROR_
SIGNAL_
PENDING
164
No more threads can be created in the system.
ERROR_MAX_
THRDS_
REACHED
167
Unable to lock a region of a file.
ERROR_LOCK_
FAILED
170
The requested resource is in use.
ERROR_BUSY
173
A lock request was not outstanding for the supplied cancel region.
ERROR_
CANCEL_
VIOLATION
174
The file system does not support atomic changes to the lock type.
ERROR_
ATOMIC_
LOCKS_NOT_
SUPPORTED
180
The system detected a segment number that was not correct.
ERROR_
INVALID_
SEGMENT_
NUMBER
182
The operating system cannot run %1.
ERROR_
INVALID_
ORDINAL
183
Cannot create a file when that file already exists.
ERROR_
ALREADY_
EXISTS
186
The flag passed is not correct.
ERROR_
INVALID_FLAG_
NUMBER
65
Chapter 5 Codes d’erreur externes
187
The specified system semaphore name was not found.
ERROR_SEM_
NOT_FOUND
188
The operating system cannot run %1.
ERROR_
INVALID_
STARTING_
CODESEG
189
The operating system cannot run %1.
ERROR_
INVALID_
STACKSEG
190
The operating system cannot run %1.
ERROR_
INVALID_
MODULETYPE
191
Cannot run %1 in Win32 mode.
ERROR_
INVALID_EXE_
SIGNATURE
192
The operating system cannot run %1.
ERROR_EXE_
MARKED_
INVALID
193
%1 is not a valid Win32 application.
ERROR_BAD_
EXE_FORMAT
194
The operating system cannot run %1.
ERROR_
ITERATED_
DATA_
EXCEEDS_64k
195
The operating system cannot run %1.
ERROR_
INVALID_
MINALLOCSIZE
196
The operating system cannot run this application program.
ERROR_
DYNLINK_
FROM_INVALID_
RING
197
The operating system is not presently configured to run this
application.
ERROR_IOPL_
NOT_ENABLED
198
The operating system cannot run %1.
ERROR_
INVALID_
SEGDPL
199
The operating system cannot run this application program.
ERROR_
AUTODATASEG_
EXCEEDS_64k
200
The code segment cannot be greater than or equal to 64K.
ERROR_
RING2SEG_
MUST_BE_
MOVABLE
201
The operating system cannot run %1.
ERROR_RELOC_
CHAIN_XEEDS_
SEGLIM
Automation Engine
66
202
The operating system cannot run %1.
ERROR_
INFLOOP_IN_
RELOC_CHAIN
203
The system could not find the environment option that was entered.
ERROR_
ENVVAR_NOT_
FOUND
205
No process in the command subtree has a signal handler.
ERROR_NO_
SIGNAL_SENT
206
The filename or extension is too long.
ERROR_
FILENAME_
EXCED_RANGE
207
The ring 2 stack is in use.
ERROR_RING2_
STACK_IN_USE
208
The global filename characters, * or ?, are entered incorrectly or too
many global filename characters are specified.
ERROR_META_
EXPANSION_
TOO_LONG
209
The signal being posted is not correct.
ERROR_
INVALID_
SIGNAL_
NUMBER
210
The signal handler cannot be set.
ERROR_
THREAD_1_
INACTIVE
212
The segment is locked and cannot be reallocated.
ERROR_
LOCKED
214
Too many dynamic-link modules are attached to this program or
dynamic-link module.
ERROR_TOO_
MANY_
MODULES
215
Cannot nest calls to LoadModule.
ERROR_
NESTING_NOT_
ALLOWED
216
The image file %1 is valid, but is for a machine type other than the
current machine.
ERROR_EXE_
MACHINE_
TYPE_
MISMATCH
230
The pipe state is invalid.
ERROR_BAD_
PIPE
231
All pipe instances are busy.
ERROR_PIPE_
BUSY
232
The pipe is being closed.
ERROR_NO_
DATA
233
No process is on the other end of the pipe.
ERROR_PIPE_
NOT_
CONNECTED
234
More data is available.
ERROR_MORE_
DATA
67
Chapter 5 Codes d’erreur externes
240
The session was canceled.
ERROR_VC_
DISCONNECTED
254
The specified extended attribute name was invalid.
ERROR_
INVALID_EA_
NAME
255
The extended attributes are inconsistent.
ERROR_EA_
LIST_
INCONSISTENT
258
The wait operation timed out.
WAIT_TIMEOUT
259
No more data is available.
ERROR_NO_
MORE_ITEMS
266
The copy functions cannot be used.
ERROR_
CANNOT_COPY
267
The directory name is invalid.
ERROR_
DIRECTORY
275
The extended attributes did not fit in the buffer.
ERROR_EAS_
DIDNT_FIT
276
The extended attribute file on the mounted file system is corrupt.
ERROR_EA_
FILE_CORRUPT
277
The extended attribute table file is full.
ERROR_EA_
TABLE_FULL
278
The specified extended attribute handle is invalid.
ERROR_
INVALID_EA_
HANDLE
282
The mounted file system does not support extended attributes.
ERROR_EAS_
NOT_
SUPPORTED
288
Attempt to release mutex not owned by caller.
ERROR_NOT_
OWNER
298
Too many posts were made to a semaphore.
ERROR_TOO_
MANY_POSTS
299
Only part of a ReadProcessMemory or WriteProcessMemory request ERROR_
was completed.
PARTIAL_COPY
300
The oplock request is denied.
ERROR_
OPLOCK_NOT_
GRANTED
301
An invalid oplock acknowledgment was received by the system.
ERROR_
INVALID_
OPLOCK_
PROTOCOL
317
The system cannot find message text for message number 0x%1 in
the message file for %2.
ERROR_MR_
MID_NOT_
FOUND
487
Attempt to access invalid address.
ERROR_
INVALID_
ADDRESS
Automation Engine
534
Arithmetic result exceeded 32 bits.
ERROR_
ARITHMETIC_
OVERFLOW
535
There is a process on other end of the pipe.
ERROR_PIPE_
CONNECTED
536
Waiting for a process to open the other end of the pipe.
ERROR_PIPE_
LISTENING
994
Access to the extended attribute was denied.
ERROR_EA_
ACCESS_
DENIED
995
The I/O operation has been aborted because of either a thread exit or
an application request.
ERROR_
OPERATION_
ABORTED
996
Overlapped I/O event is not in a signaled state.
ERROR_IO_
INCOMPLETE
997
Overlapped I/O operation is in progress.
ERROR_IO_
PENDING
998
Invalid access to memory location.
ERROR_
NOACCESS
999
Error performing inpage operation. ERROR_
SWAPERROR 68
5.5.2 Win32 - Codes d'erreur (1 000-1 999)
Le tableau suivant contient les messages d'erreur Win32.
Code Description
Nom
1001
Recursion too deep; the stack overflowed.
ERROR_STACK_
OVERFLOW
1002
The window cannot act on the sent message.
ERROR_INVALID_
MESSAGE
1003
Cannot complete this function.
ERROR_CAN_NOT_
COMPLETE
1004
Invalid flags.
ERROR_INVALID_
FLAGS
1005
The volume does not contain a recognized file system. Please
make sure that all required file system drivers are loaded and that
the volume is not corrupted.
ERROR_
UNRECOGNIZED_
VOLUME
1006
The volume for a file has been externally altered so that the opened ERROR_FILE_
file is no longer valid.
INVALID
1007
The requested operation cannot be performed in full-screen mode.
ERROR_
FULLSCREEN_
MODE
1008
An attempt was made to reference a token that does not exist.
ERROR_NO_
TOKEN
1009
The configuration registry database is corrupt.
ERROR_BADDB
69
Chapter 5 Codes d’erreur externes
1010
The configuration registry key is invalid.
ERROR_BADKEY
1011
The configuration registry key could not be opened.
ERROR_
CANTOPEN
1012
The configuration registry key could not be read.
ERROR_
CANTREAD
1013
The configuration registry key could not be written.
ERROR_
CANTWRITE
1014
One of the files in the registry database had to be recovered by use ERROR_
of a log or alternate copy. The recovery was successful.
REGISTRY_
RECOVERED
1015
The registry is corrupted. The structure of one of the files that
ERROR_
contains registry data is corrupted, or the system's image of the file REGISTRY_
in memory is corrupted, or the file could not be recovered because CORRUPT
the alternate copy or log was absent or corrupted.
1016
An I/O operation initiated by the registry failed unrecoverably. The
registry could not read in, or write out, or flush, one of the files that
contain the system's image of the registry.
1017
The system has attempted to load or restore a file into the registry, ERROR_NOT_
but the specified file is not in a registry file format.
REGISTRY_FILE
1018
Illegal operation attempted on a registry key that has been marked
for deletion.
ERROR_KEY_
DELETED
1019
System could not allocate the required space in a registry log.
ERROR_NO_LOG_
SPACE
1020
Cannot create a symbolic link in a registry key that already has
subkeys or values.
ERROR_KEY_HAS_
CHILDREN
1021
Cannot create a stable subkey under a volatile parent key.
ERROR_CHILD_
MUST_BE_
VOLATILE
1022
A notify change request is being completed and the information is
not being returned in the caller's buffer. The caller now needs to
enumerate the files to find the changes.
ERROR_NOTIFY_
ENUM_DIR
1051
A stop control has been sent to a service that other running
services are dependent on.
ERROR_
DEPENDENT_
SERVICES_
RUNNING
1052
The requested control is not valid for this service.
ERROR_INVALID_
SERVICE_
CONTROL
1053
The service did not respond to the start or control request in a
timely fashion.
ERROR_SERVICE_
REQUEST_
TIMEOUT
1054
A thread could not be created for the service.
ERROR_SERVICE_
NO_THREAD
1055
The service database is locked.
ERROR_SERVICE_
DATABASE_
LOCKED
ERROR_
REGISTRY_IO_
FAILED
Automation Engine
70
1056
An instance of the service is already running.
ERROR_SERVICE_
ALREADY_
RUNNING
1057
The account name is invalid or does not exist.
ERROR_INVALID_
SERVICE_
ACCOUNT
1058
The service cannot be started, either because it is disabled or
because it has no enabled devices associated with it.
ERROR_SERVICE_
DISABLED
1059
Circular service dependency was specified.
ERROR_
CIRCULAR_
DEPENDENCY
1060
The specified service does not exist as an installed service.
ERROR_SERVICE_
DOES_NOT_EXIST
1061
The service cannot accept control messages at this time.
ERROR_SERVICE_
CANNOT_ACCEPT_
CTRL
1062
The service has not been started.
ERROR_SERVICE_
NOT_ACTIVE
1063
The service process could not connect to the service controller.
ERROR_FAILED_
SERVICE_
CONTROLLER_
CONNECT
1064
An exception occurred in the service when handling the control
request.
ERROR_
EXCEPTION_IN_
SERVICE
1065
The database specified does not exist.
ERROR_
DATABASE_DOES_
NOT_EXIST
1066
The service has returned a service-specific error code.
ERROR_SERVICE_
SPECIFIC_ERROR
1067
The process terminated unexpectedly.
ERROR_
PROCESS_
ABORTED
1068
The dependency service or group failed to start.
ERROR_SERVICE_
DEPENDENCY_
FAIL
1069
The service did not start due to a logon failure.
ERROR_SERVICE_
LOGON_FAILED
1070
After starting, the service hung in a start-pending state.
ERROR_SERVICE_
START_HANG
1071
The specified service database lock is invalid.
ERROR_INVALID_
SERVICE_LOCK
1072
The specified service has been marked for deletion.
ERROR_SERVICE_
MARKED_FOR_
DELETE
1073
The specified service already exists.
ERROR_SERVICE_
EXISTS
71
Chapter 5 Codes d’erreur externes
1074
The system is currently running with the last-known-good
configuration.
ERROR_ALREADY_
RUNNING_LKG
1075
The dependency service does not exist or has been marked for
deletion.
ERROR_SERVICE_
DEPENDENCY_
DELETED
1076
The current boot has already been accepted for use as the lastknown-good control set.
ERROR_BOOT_
ALREADY_
ACCEPTED
1077
No attempts to start the service have been made since the last
boot.
ERROR_SERVICE_
NEVER_STARTED
1078
The name is already in use as either a service name or a service
display name.
ERROR_
DUPLICATE_
SERVICE_NAME
1079
The account specified for this service is different from the account ERROR_
specified for other services running in the same process.
DIFFERENT_
SERVICE_
ACCOUNT
1080
Failure actions can only be set for Win32 services, not for drivers.
ERROR_CANNOT_
DETECT_DRIVER_
FAILURE
1081
This service runs in the same process as the service control
manager. Therefore, the service control manager cannot take
action if this service's process terminates unexpectedly.
ERROR_CANNOT_
DETECT_
PROCESS_ABORT
1082
No recovery program has been configured for this service.
ERROR_NO_
RECOVERY_
PROGRAM
1083
The executable program that this service is configured to run in
does not implement the service.
ERROR_SERVICE_
NOT_IN_EXE
1100
The physical end of the tape has been reached.
ERROR_END_OF_
MEDIA
1101
A tape access reached a filemark.
ERROR_
FILEMARK_
DETECTED
1102
The beginning of the tape or a partition was encountered.
ERROR_
BEGINNING_OF_
MEDIA
1103
A tape access reached the end of a set of files.
ERROR_
SETMARK_
DETECTED
1104
No more data is on the tape.
ERROR_NO_DATA_
DETECTED
1105
Tape could not be partitioned.
ERROR_
PARTITION_
FAILURE
1106
When accessing a new tape of a multivolume partition, the current ERROR_INVALID_
block size is incorrect.
BLOCK_LENGTH
Automation Engine
72
1107
Tape partition information could not be found when loading a tape.
ERROR_DEVICE_
NOT_PARTITIONED
1108
Unable to lock the media eject mechanism.
ERROR_UNABLE_
TO_LOCK_MEDIA
1109
Unable to unload the media.
ERROR_UNABLE_
TO_UNLOAD_
MEDIA
1110
The media in the drive may have changed.
ERROR_MEDIA_
CHANGED
1111
The I/O bus was reset.
ERROR_BUS_
RESET
1112
No media in drive.
ERROR_NO_
MEDIA_IN_DRIVE
1113
No mapping for the Unicode character exists in the target multibyte code page.
ERROR_NO_
UNICODE_
TRANSLATION
1114
A dynamic link library (DLL) initialization routine failed.
ERROR_DLL_INIT_
FAILED
1115
A system shutdown is in progress.
ERROR_
SHUTDOWN_IN_
PROGRESS
1116
Unable to abort the system shutdown because no shutdown was in ERROR_NO_
progress.
SHUTDOWN_IN_
PROGRESS
1117
The request could not be performed because of an I/O device error. ERROR_IO_
DEVICE
1118
No serial device was successfully initialized. The serial driver will
unload.
ERROR_SERIAL_
NO_DEVICE
1119
Unable to open a device that was sharing an interrupt request
(IRQ) with other devices. At least one other device that uses that
IRQ was already opened.
ERROR_IRQ_BUSY
1120
A serial I/O operation was completed by another write to the serial
port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
ERROR_MORE_
WRITES
1121
A serial I/O operation completed because the timeout period
expired. (The IOCTL_SERIAL_XOFF_COUNTER did not reach
zero.)
ERROR_
COUNTER_
TIMEOUT
1122
No ID address mark was found on the floppy disk.
ERROR_FLOPPY_
ID_MARK_NOT_
FOUND
1123
Mismatch between the floppy disk sector ID field and the floppy
disk controller track address.
ERROR_FLOPPY_
WRONG_
CYLINDER
1124
The floppy disk controller reported an error that is not recognized by ERROR_FLOPPY_
the floppy disk driver.
UNKNOWN_
ERROR
1125
The floppy disk controller returned inconsistent results in its
registers.
ERROR_FLOPPY_
BAD_REGISTERS
73
Chapter 5 Codes d’erreur externes
1126
While accessing the hard disk, a recalibrate operation failed, even
after retries.
ERROR_DISK_
RECALIBRATE_
FAILED
1127
While accessing the hard disk, a disk operation failed even after
retries.
ERROR_DISK_
OPERATION_
FAILED
1128
While accessing the hard disk, a disk controller reset was needed, ERROR_DISK_
but even that failed.
RESET_FAILED
1129
Physical end of tape encountered.
ERROR_EOM_
OVERFLOW
1130
Not enough server storage is available to process this command.
ERROR_NOT_
ENOUGH_
SERVER_MEMORY
1131
A potential deadlock condition has been detected.
ERROR_
POSSIBLE_
DEADLOCK
1132
The base address or the file offset specified does not have the
proper alignment.
ERROR_MAPPED_
ALIGNMENT
1140
An attempt to change the system power state was vetoed by
another application or driver.
ERROR_SET_
POWER_STATE_
VETOED
1141
The system BIOS failed an attempt to change the system power
state.
ERROR_SET_
POWER_STATE_
FAILED
1142
An attempt was made to create more links on a file than the file
system supports.
ERROR_TOO_
MANY_LINKS
1150
The specified program requires a newer version of Windows.
ERROR_OLD_WIN_
VERSION
1151
The specified program is not a Windows or MS-DOS program.
ERROR_APP_
WRONG_OS
1152
Cannot start more than one instance of the specified program.
ERROR_SINGLE_
INSTANCE_APP
1153
The specified program was written for an earlier version of
Windows.
ERROR_RMODE_
APP
1154
One of the library files needed to run this application is damaged.
ERROR_INVALID_
DLL
1155
No application is associated with the specified file for this
operation.
ERROR_NO_
ASSOCIATION
1156
An error occurred in sending the command to the application.
ERROR_DDE_FAIL
1157
One of the library files needed to run this application cannot be
found.
ERROR_DLL_NOT_
FOUND
1158
The current process has used all of its system allowance of
handles for Window Manager objects.
ERROR_NO_
MORE_USER_
HANDLES
1159
The message can be used only with synchronous operations.
ERROR_
MESSAGE_SYNC_
ONLY
Automation Engine
74
1160
The indicated source element has no media.
ERROR_SOURCE_
ELEMENT_EMPTY
1161
The indicated destination element already contains media.
ERROR_
DESTINATION_
ELEMENT_FULL
1162
The indicated element does not exist.
ERROR_ILLEGAL_
ELEMENT_
ADDRESS
1163
The indicated element is part of a magazine that is not present.
ERROR_
MAGAZINE_NOT_
PRESENT
1164
The indicated device requires reinitialization due to hardware
errors.
ERROR_DEVICE_
REINITIALIZATION_
NEEDED
1165
The device has indicated that cleaning is required before further
operations are attempted.
ERROR_DEVICE_
REQUIRES_
CLEANING
1166
The device has indicated that its door is open.
ERROR_DEVICE_
DOOR_OPEN
1167
The device is not connected.
ERROR_DEVICE_
NOT_CONNECTED
1168
Element not found.
ERROR_NOT_
FOUND
1169
There was no match for the specified key in the index.
ERROR_NO_
MATCH
1170
The property set specified does not exist on the object.
ERROR_SET_NOT_
FOUND
1171
The point passed to GetMouseMovePointsEx is not in the buffer.
ERROR_POINT_
NOT_FOUND
1172
The tracking (workstation) service is not running.
ERROR_NO_
TRACKING_
SERVICE
1173
The Volume ID could not be found.
ERROR_NO_
VOLUME_ID
1174
The specified Very Large Memory (64-bit) operation is invalid.
ERROR_INVALID_
VLM_OPERATION
1175
Unable to remove the file to be replaced.
ERROR_UNABLE_
TO_REMOVE_
REPLACED
1176
Unable to move the replacement file to the file to be replaced. The
file to be replaced has retained its original name.
ERROR_UNABLE_
TO_MOVE_
REPLACEMENT
1177
Unable to move the replacement file to the file to be replaced. The
file to be replaced has been renamed using the backup name.
ERROR_UNABLE_
TO_MOVE_
REPLACEMENT_2
75
Chapter 5 Codes d’erreur externes
1178
The volume change journal is being deleted.
ERROR_JOURNAL_
DELETE_IN_
PROGRESS
1179
The volume change journal service is not active.
ERROR_JOURNAL_
NOT_ACTIVE
1180
A file was found, but it may not be the correct file.
ERROR_
POTENTIAL_FILE_
FOUND
1181
The journal entry has been deleted from the journal.
ERROR_JOURNAL_
ENTRY_DELETED
1200
The specified device name is invalid.
ERROR_BAD_
DEVICE
1201
The device is not currently connected but it is a remembered
connection.
ERROR_
CONNECTION_
UNAVAIL
1202
An attempt was made to remember a device that had previously
been remembered.
ERROR_DEVICE_
ALREADY_
REMEMBERED
1203
No network provider accepted the given network path.
ERROR_NO_NET_
OR_BAD_PATH
1204
The specified network provider name is invalid.
ERROR_BAD_
PROVIDER
1205
Unable to open the network connection profile.
ERROR_CANNOT_
OPEN_PROFILE
1206
The network connection profile is corrupted.
ERROR_BAD_
PROFILE
1207
Cannot enumerate a noncontainer.
ERROR_NOT_
CONTAINER
1208
An extended error has occurred.
ERROR_
EXTENDED_
ERROR
1209
The format of the specified group name is invalid.
ERROR_INVALID_
GROUPNAME
1210
The format of the specified computer name is invalid.
ERROR_INVALID_
COMPUTERNAME
1211
The format of the specified event name is invalid.
ERROR_INVALID_
EVENTNAME
1212
The format of the specified domain name is invalid.
ERROR_INVALID_
DOMAINNAME
1213
The format of the specified service name is invalid.
ERROR_INVALID_
SERVICENAME
1214
The format of the specified network name is invalid.
ERROR_INVALID_
NETNAME
1215
The format of the specified share name is invalid.
ERROR_INVALID_
SHARENAME
Automation Engine
76
1216
The format of the specified password is invalid.
ERROR_INVALID_
PASSWORDNAME
1217
The format of the specified message name is invalid.
ERROR_INVALID_
MESSAGENAME
1218
The format of the specified message destination is invalid.
ERROR_INVALID_
MESSAGEDEST
1219
The credentials supplied conflict with an existing set of credentials. ERROR_SESSION_
CREDENTIAL_
CONFLICT
1220
An attempt was made to establish a session to a network server,
ERROR_REMOTE_
but there are already too many sessions established to that server. SESSION_LIMIT_
EXCEEDED
1221
The workgroup or domain name is already in use by another
computer on the network.
ERROR_DUP_
DOMAINNAME
1222
The network is not present or not started.
ERROR_NO_
NETWORK
1223
The operation was canceled by the user.
ERROR_
CANCELLED
1224
The requested operation cannot be performed on a file with a usermapped section open.
ERROR_USER_
MAPPED_FILE
1225
The remote system refused the network connection.
ERROR_
CONNECTION_
REFUSED
1226
The network connection was gracefully closed.
ERROR_
GRACEFUL_
DISCONNECT
1227
The network transport endpoint already has an address associated ERROR_
with it.
ADDRESS_
ALREADY_
ASSOCIATED
1228
An address has not yet been associated with the network endpoint. ERROR_
ADDRESS_NOT_
ASSOCIATED
1229
An operation was attempted on a nonexistent network connection. ERROR_
CONNECTION_
INVALID
1230
An invalid operation was attempted on an active network
connection.
ERROR_
CONNECTION_
ACTIVE
1231
The remote network is not reachable by the transport.
ERROR_
NETWORK_
UNREACHABLE
1232
The remote system is not reachable by the transport.
ERROR_HOST_
UNREACHABLE
1233
The remote system does not support the transport protocol.
ERROR_
PROTOCOL_
UNREACHABLE
77
Chapter 5 Codes d’erreur externes
1234
No service is operating at the destination network endpoint on the
remote system.
ERROR_PORT_
UNREACHABLE
1235
The request was aborted.
ERROR_
REQUEST_
ABORTED
1236
The network connection was aborted by the local system.
ERROR_
CONNECTION_
ABORTED
1237
The operation could not be completed. A retry should be performed. ERROR_RETRY
1238
A connection to the server could not be made because the limit on
the number of concurrent connections for this account has been
reached.
ERROR_
CONNECTION_
COUNT_LIMIT
1239
Attempting to log in during an unauthorized time of day for this
account.
ERROR_LOGIN_
TIME_
RESTRICTION
1240
The account is not authorized to log in from this station.
ERROR_LOGIN_
WKSTA_
RESTRICTION
1241
The network address could not be used for the operation
requested.
ERROR_
INCORRECT_
ADDRESS
1242
The service is already registered.
ERROR_ALREADY_
REGISTERED
1243
The specified service does not exist.
ERROR_SERVICE_
NOT_FOUND
1244
The operation being requested was not performed because the
user has not been authenticated.
ERROR_NOT_
AUTHENTICATED
1245
The operation being requested was not performed because the
user has not logged on to the network. The specified service does
not exist.
ERROR_NOT_
LOGGED_ON
1246
Continue with work in progress.
ERROR_CONTINUE
1247
An attempt was made to perform an initialization operation when
initialization has already been completed.
ERROR_ALREADY_
INITIALIZED
1248
No more local devices.
ERROR_NO_
MORE_DEVICES
1249
The specified site does not exist.
ERROR_NO_
SUCH_SITE
1250
A domain controller with the specified name already exists.
ERROR_DOMAIN_
CONTROLLER_
EXISTS
1251
This operation is supported only when you are connected to the
server.
ERROR_ONLY_IF_
CONNECTED
1300
Not all privileges referenced are assigned to the caller.
ERROR_NOT_ALL_
ASSIGNED
1301
Some mapping between account names and security IDs was not
done.
ERROR_SOME_
NOT_MAPPED
Automation Engine
78
1302
No system quota limits are specifically set for this account.
ERROR_NO_
QUOTAS_FOR_
ACCOUNT
1303
No encryption key is available. A well-known encryption key was
returned.
ERROR_LOCAL_
USER_SESSION_
KEY
1304
The Windows NT password is too complex to be converted to a
ERROR_NULL_LM_
LAN Manager password. The LAN Manager password returned is a PASSWORD
NULL string.
1305
The revision level is unknown.
ERROR_
UNKNOWN_
REVISION
1306
Indicates two revision levels are incompatible.
ERROR_
REVISION_
MISMATCH
1307
This security ID may not be assigned as the owner of this object.
ERROR_INVALID_
OWNER
1308
This security ID may not be assigned as the primary group of an
object.
ERROR_INVALID_
PRIMARY_GROUP
1309
An attempt has been made to operate on an impersonation token
by a thread that is not currently impersonating a client.
ERROR_NO_
IMPERSONATION_
TOKEN
1310
The group may not be disabled.
ERROR_CANT_
DISABLE_
MANDATORY
1311
There are currently no logon servers available to service the logon
request.
ERROR_NO_
LOGON_SERVERS
1312
A specified logon session does not exist. It may already have been ERROR_NO_
terminated.
SUCH_LOGON_
SESSION
1313
A specified privilege does not exist.
ERROR_NO_
SUCH_PRIVILEGE
1314
A required privilege is not held by the client.
ERROR_
PRIVILEGE_NOT_
HELD
1315
The name provided is not a properly formed account name.
ERROR_INVALID_
ACCOUNT_NAME
1316
The specified user already exists.
ERROR_USER_
EXISTS
1317
The specified user does not exist.
ERROR_NO_
SUCH_USER
1318
The specified group already exists.
ERROR_GROUP_
EXISTS
1319
The specified group does not exist.
ERROR_NO_
SUCH_GROUP
79
Chapter 5 Codes d’erreur externes
1320
Either the specified user account is already a member of the
specified group, or the specified group cannot be deleted because
it contains a member.
ERROR_MEMBER_
IN_GROUP
1321
The specified user account is not a member of the specified group
account.
ERROR_MEMBER_
NOT_IN_GROUP
1322
The last remaining administration account cannot be disabled or
deleted.
ERROR_LAST_
ADMIN
1323
Unable to update the password. The value provided as the current
password is incorrect.
ERROR_WRONG_
PASSWORD
1324
Unable to update the password. The value provided for the new
password contains values that are not allowed in passwords.
ERROR_ILL_
FORMED_
PASSWORD
1325
Unable to update the password because a password update rule
has been violated.
ERROR_
PASSWORD_
RESTRICTION
1326
Logon failure: unknown user name or bad password.
ERROR_LOGON_
FAILURE
1327
Logon failure: user account restriction.
ERROR_
ACCOUNT_
RESTRICTION
1328
Logon failure: account logon time restriction violation.
ERROR_INVALID_
LOGON_HOURS
1329
Logon failure: user not allowed to log on to this computer.
ERROR_INVALID_
WORKSTATION
1330
Logon failure: the specified account password has expired.
ERROR_
PASSWORD_
EXPIRED
1331
Logon failure: account currently disabled.
ERROR_
ACCOUNT_
DISABLED
1332
No mapping between account names and security IDs was done.
ERROR_NONE_
MAPPED
1333
Too many local user identifiers (LUIDs) were requested at one
time.
ERROR_TOO_
MANY_LUIDS_
REQUESTED
1334
No more local user identifiers (LUIDs) are available.
ERROR_LUIDS_
EXHAUSTED
1335
The subauthority part of a security ID is invalid for this particular
use.
ERROR_INVALID_
SUB_AUTHORITY
1336
The access control list (ACL) structure is invalid.
ERROR_INVALID_
ACL
1337
The security ID structure is invalid.
ERROR_INVALID_
SID
1338
The security descriptor structure is invalid.
ERROR_INVALID_
SECURITY_DESCR
1340
The inherited access control list (ACL) or access control entry
(ACE) could not be built.
ERROR_BAD_
INHERITANCE_ACL
Automation Engine
80
1341
The server is currently disabled.
ERROR_SERVER_
DISABLED
1342
The server is currently enabled.
ERROR_SERVER_
NOT_DISABLED
1343
The value provided was an invalid value for an identifier authority.
ERROR_INVALID_
ID_AUTHORITY
1344
No more memory is available for security information updates.
ERROR_
ALLOTTED_
SPACE_
EXCEEDED
1345
The specified attributes are invalid, or incompatible with the
attributes for the group as a whole.
ERROR_INVALID_
GROUP_
ATTRIBUTES
1346
Either a required impersonation level was not provided, or the
provided impersonation level is invalid.
ERROR_BAD_
IMPERSONATION_
LEVEL
1347
Cannot open an anonymous level security token.
ERROR_CANT_
OPEN_
ANONYMOUS
1348
The validation information class requested was invalid.
ERROR_BAD_
VALIDATION_
CLASS
1349
The type of the token is inappropriate for its attempted use.
ERROR_BAD_
TOKEN_TYPE
1350
Unable to perform a security operation on an object that has no
associated security.
ERROR_NO_
SECURITY_ON_
OBJECT
1351
Configuration information could not be read from the domain
controller, either because the machine is unavailable, or access
has been denied.
ERROR_CANT_
ACCESS_DOMAIN_
INFO
1352
The security account manager (SAM) or local security authority
(LSA) server was in the wrong state to perform the security
operation.
ERROR_INVALID_
SERVER_STATE
1353
The domain was in the wrong state to perform the security
operation.
ERROR_INVALID_
DOMAIN_STATE
1354
This operation is only allowed for the Primary Domain Controller of ERROR_INVALID_
the domain.
DOMAIN_ROLE
1355
The specified domain did not exist.
ERROR_NO_
SUCH_DOMAIN
1356
The specified domain already exists.
ERROR_DOMAIN_
EXISTS
1357
An attempt was made to exceed the limit on the number of
domains per server.
ERROR_DOMAIN_
LIMIT_EXCEEDED
1358
Unable to complete the requested operation because of either a
catastrophic media failure or a data structure corruption on the
disk.
ERROR_
INTERNAL_DB_
CORRUPTION
81
Chapter 5 Codes d’erreur externes
1359
The security account database contains an internal inconsistency. ERROR_
INTERNAL_ERROR
1360
Generic access types were contained in an access mask which
should already be mapped to nongeneric types.
ERROR_GENERIC_
NOT_MAPPED
1361
A security descriptor is not in the right format (absolute or selfrelative).
ERROR_BAD_
DESCRIPTOR_
FORMAT
1362
The requested action is restricted for use by logon processes only. ERROR_NOT_
The calling process has not registered as a logon process.
LOGON_PROCESS
1363
Cannot start a new logon session with an ID that is already in use. ERROR_LOGON_
SESSION_EXISTS
1364
A specified authentication package is unknown.
ERROR_NO_
SUCH_PACKAGE
1365
The logon session is not in a state that is consistent with the
requested operation.
ERROR_BAD_
LOGON_SESSION_
STATE
1366
The logon session ID is already in use.
ERROR_LOGON_
SESSION_
COLLISION
1367
A logon request contained an invalid logon type value.
ERROR_INVALID_
LOGON_TYPE
1368
Unable to impersonate using a named pipe until data has been read ERROR_CANNOT_
from that pipe.
IMPERSONATE
1369
The transaction state of a registry subtree is incompatible with the
requested operation.
ERROR_RXACT_
INVALID_STATE
1370
An internal security database corruption has been encountered.
ERROR_RXACT_
COMMIT_FAILURE
1371
Cannot perform this operation on built-in accounts.
ERROR_SPECIAL_
ACCOUNT
1372
Cannot perform this operation on this built-in special group.
ERROR_SPECIAL_
GROUP
1373
Cannot perform this operation on this built-in special user.
ERROR_SPECIAL_
USER
1374
The user cannot be removed from a group because the group is
currently the user's primary group.
ERROR_
MEMBERS_
PRIMARY_GROUP
1375
The token is already in use as a primary token.
ERROR_TOKEN_
ALREADY_IN_USE
1376
The specified local group does not exist.
ERROR_NO_
SUCH_ALIAS
1377
The specified account name is not a member of the local group.
ERROR_MEMBER_
NOT_IN_ALIAS
1378
The specified account name is already a member of the local
group.
ERROR_MEMBER_
IN_ALIAS
1379
The specified local group already exists.
ERROR_ALIAS_
EXISTS
Automation Engine
82
1380
Logon failure: the user has not been granted the requested logon
type at this computer.
ERROR_LOGON_
NOT_GRANTED
1381
The maximum number of secrets that may be stored in a single
system has been exceeded.
ERROR_TOO_
MANY_SECRETS
1382
The length of a secret exceeds the maximum length allowed.
ERROR_SECRET_
TOO_LONG
1383
The local security authority database contains an internal
inconsistency.
ERROR_
INTERNAL_DB_
ERROR
1384
During a logon attempt, the user's security context accumulated
too many security IDs.
ERROR_TOO_
MANY_CONTEXT_
IDS
1385
Logon failure: the user has not been granted the requested logon
type at this computer.
ERROR_LOGON_
TYPE_NOT_
GRANTED
1386
A cross-encrypted password is necessary to change a user
password.
ERROR_NT_
CROSS_
ENCRYPTION_
REQUIRED
1387
A new member could not be added to a local group because the
member does not exist.
ERROR_NO_
SUCH_MEMBER
1388
A new member could not be added to a local group because the
member has the wrong account type.
ERROR_INVALID_
MEMBER
1389
Too many security IDs have been specified.
ERROR_TOO_
MANY_SIDS
1390
A cross-encrypted password is necessary to change this user
password.
ERROR_LM_
CROSS_
ENCRYPTION_
REQUIRED
1391
Indicates an ACL contains no inheritable components.
ERROR_NO_
INHERITANCE
1392
The file or directory is corrupted and unreadable.
ERROR_FILE_
CORRUPT
1393
The disk structure is corrupted and unreadable.
ERROR_DISK_
CORRUPT
1394
There is no user session key for the specified logon session.
ERROR_NO_
USER_SESSION_
KEY
1395
The service being accessed is licensed for a particular number of
connections. No more connections can be made to the service at
this time because there are already as many connections as the
service can accept.
ERROR_LICENSE_
QUOTA_
EXCEEDED
1396
Logon Failure: The target account name is incorrect.
ERROR_WRONG_
TARGET_NAME
1397
Mutual Authentication failed. The server's password is out of date
at the domain controller.
ERROR_MUTUAL_
AUTH_FAILED
83
Chapter 5 Codes d’erreur externes
1398
There is a time difference between the client and server.
ERROR_TIME_
SKEW
1400
Invalid window handle.
ERROR_INVALID_
WINDOW_HANDLE
1401
Invalid menu handle.
ERROR_INVALID_
MENU_HANDLE
1402
Invalid cursor handle.
ERROR_INVALID_
CURSOR_HANDLE
1403
Invalid accelerator table handle.
ERROR_INVALID_
ACCEL_HANDLE
1404
Invalid hook handle.
ERROR_INVALID_
HOOK_HANDLE
1405
Invalid handle to a multiple-window position structure.
ERROR_INVALID_
DWP_HANDLE
1406
Cannot create a top-level child window.
ERROR_TLW_
WITH_WSCHILD
1407
Cannot find window class.
ERROR_CANNOT_
FIND_WND_CLASS
1408
Invalid window; it belongs to other thread.
ERROR_WINDOW_
OF_OTHER_
THREAD
1409
Hot key is already registered.
ERROR_HOTKEY_
ALREADY_
REGISTERED
1410
Class already exists.
ERROR_CLASS_
ALREADY_EXISTS
1411
Class does not exist.
ERROR_CLASS_
DOES_NOT_EXIST
1412
Class still has open windows.
ERROR_CLASS_
HAS_WINDOWS
1413
Invalid index.
ERROR_INVALID_
INDEX
1414
Invalid icon handle.
ERROR_INVALID_
ICON_HANDLE
1415
Using private DIALOG window words.
ERROR_PRIVATE_
DIALOG_INDEX
1416
The list box identifier was not found.
ERROR_LISTBOX_
ID_NOT_FOUND
1417
No wildcards were found.
ERROR_NO_
WILDCARD_
CHARACTERS
1418
Thread does not have a clipboard open.
ERROR_
CLIPBOARD_NOT_
OPEN
1419
Hot key is not registered.
ERROR_HOTKEY_
NOT_REGISTERED
Automation Engine
84
1420
The window is not a valid dialog window.
ERROR_WINDOW_
NOT_DIALOG
1421
Control ID not found.
ERROR_
CONTROL_ID_
NOT_FOUND
1422
Invalid message for a combo box because it does not have an edit
control.
ERROR_INVALID_
COMBOBOX_
MESSAGE
1423
The window is not a combo box.
ERROR_WINDOW_
NOT_COMBOBOX
1424
Height must be less than 256.
ERROR_INVALID_
EDIT_HEIGHT
1425
Invalid device context (DC) handle.
ERROR_DC_NOT_
FOUND
1426
Invalid hook procedure type.
ERROR_INVALID_
HOOK_FILTER
1427
Invalid hook procedure.
ERROR_INVALID_
FILTER_PROC
1428
Cannot set nonlocal hook without a module handle.
ERROR_HOOK_
NEEDS_HMOD
1429
This hook procedure can only be set globally.
ERROR_GLOBAL_
ONLY_HOOK
1430
The journal hook procedure is already installed.
ERROR_JOURNAL_
HOOK_SET
1431
The hook procedure is not installed.
ERROR_HOOK_
NOT_INSTALLED
1432
Invalid message for single-selection list box.
ERROR_INVALID_
LB_MESSAGE
1433
LB_SETCOUNT sent to non-lazy list box.
ERROR_
SETCOUNT_ON_
BAD_LB
1434
This list box does not support tab stops.
ERROR_LB_
WITHOUT_
TABSTOPS
1435
Cannot destroy object created by another thread.
ERROR_
DESTROY_
OBJECT_OF_
OTHER_THREAD
1436
Child windows cannot have menus.
ERROR_CHILD_
WINDOW_MENU
1437
The window does not have a system menu.
ERROR_NO_
SYSTEM_MENU
1438
Invalid message box style.
ERROR_INVALID_
MSGBOX_STYLE
1439
Invalid system-wide (SPI_*) parameter.
ERROR_INVALID_
SPI_VALUE
85
Chapter 5 Codes d’erreur externes
1440
Screen already locked.
ERROR_SCREEN_
ALREADY_LOCKED
1441
All handles to windows in a multiple-window position structure
must have the same parent.
ERROR_HWNDS_
HAVE_DIFF_
PARENT
1442
The window is not a child window.
ERROR_NOT_
CHILD_WINDOW
1443
Invalid GW_* command.
ERROR_INVALID_
GW_COMMAND
1444
Invalid thread identifier.
ERROR_INVALID_
THREAD_ID
1445
Cannot process a message from a window that is not a multiple
document interface (MDI) window.
ERROR_NON_
MDICHILD_
WINDOW
1446
Popup menu already active.
ERROR_POPUP_
ALREADY_ACTIVE
1447
The window does not have scroll bars.
ERROR_NO_
SCROLLBARS
1448
Scroll bar range cannot be greater than 0x7FFF.
ERROR_INVALID_
SCROLLBAR_
RANGE
1449
Cannot show or remove the window in the way specified.
ERROR_INVALID_
SHOWWIN_
COMMAND
1450
Insufficient system resources exist to complete the requested
service.
ERROR_NO_
SYSTEM_
RESOURCES
1451
Insufficient system resources exist to complete the requested
service.
ERROR_
NONPAGED_
SYSTEM_
RESOURCES
1452
Insufficient system resources exist to complete the requested
service.
ERROR_PAGED_
SYSTEM_
RESOURCES
1453
Insufficient quota to complete the requested service.
ERROR_
WORKING_SET_
QUOTA
1454
Insufficient quota to complete the requested service.
ERROR_
PAGEFILE_QUOTA
1455
The paging file is too small for this operation to complete.
ERROR_
COMMITMENT_
LIMIT
1456
A menu item was not found.
ERROR_MENU_
ITEM_NOT_FOUND
1457
Invalid keyboard layout handle.
ERROR_INVALID_
KEYBOARD_
HANDLE
Automation Engine
86
1458
Hook type not allowed.
ERROR_HOOK_
TYPE_NOT_
ALLOWED
1459
This operation requires an interactive window station.
ERROR_
REQUIRES_
INTERACTIVE_
WINDOWSTATION
1460
This operation returned because the timeout period expired.
ERROR_TIMEOUT
1461
Invalid monitor handle.
ERROR_INVALID_
MONITOR_HANDLE
1500
The event log file is corrupted.
ERROR_
EVENTLOG_FILE_
CORRUPT
1501
No event log file could be opened, so the event logging service did
not start.
ERROR_
EVENTLOG_CANT_
START
1502
The event log file is full.
ERROR_LOG_FILE_
FULL
1503
The event log file has changed between read operations.
ERROR_
EVENTLOG_FILE_
CHANGED
1601
Failure accessing installation service.
ERROR_INSTALL_
SERVICE_FAILURE
1602
User cancelled installation.
ERROR_INSTALL_
USEREXIT
1603
Fatal error during installation.
ERROR_INSTALL_
FAILURE
1604
Installation suspended, incomplete.
ERROR_INSTALL_
SUSPEND
1605
Product is not installed.
ERROR_
UNKNOWN_
PRODUCT
1606
Feature ID not registered.
ERROR_
UNKNOWN_
FEATURE
1607
Component ID not registered.
ERROR_
UNKNOWN_
COMPONENT
1608
Unknown property.
ERROR_
UNKNOWN_
PROPERTY
1609
Handle is in an invalid state.
ERROR_INVALID_
HANDLE_STATE
1610
Configuration data corrupt.
ERROR_BAD_
CONFIGURATION
1611
Component qualifier not present.
ERROR_INDEX_
ABSENT
87
Chapter 5 Codes d’erreur externes
1612
Install source unavailable.
ERROR_INSTALL_
SOURCE_ABSENT
1613
Database version unsupported.
ERROR_INSTALL_
PACKAGE_
VERSION
1614
Product is uninstalled.
ERROR_
PRODUCT_
UNINSTALLED
1615
SQL query syntax invalid or unsupported.
ERROR_BAD_
QUERY_SYNTAX
1616
Record field does not exist.
ERROR_INVALID_
FIELD
1617
The device has been removed.
ERROR_DEVICE_
REMOVED
1618
An installation is in progress.
ERROR_INSTALL_
ALREADY_
RUNNING
1619
Installation package could not be opened.
ERROR_INSTALL_
PACKAGE_OPEN_
FAILED
1620
Installation package invalid.
ERROR_INSTALL_
PACKAGE_INVALID
1621
Could not initialize installer user interface.
ERROR_INSTALL_
UI_FAILURE
1622
Error opening installation log file.
ERROR_INSTALL_
LOG_FAILURE
1623
Product language not supported by system.
ERROR_INSTALL_
LANGUAGE_
UNSUPPORTED
1624
Error applying transform to install package.
ERROR_INSTALL_
TRANSFORM_
FAILURE
1625
Install package signature not accepted.
ERROR_INSTALL_
PACKAGE_
REJECTED
1626
Function could not be executed.
ERROR_
FUNCTION_NOT_
CALLED
1627
Function failed during execution.
ERROR_
FUNCTION_FAILED
1628
Invalid or unknown table specified.
ERROR_INVALID_
TABLE
1629
Data supplied is of wrong type.
ERROR_
DATATYPE_
MISMATCH
Automation Engine
88
1630
Data of this type is not supported.
ERROR_
UNSUPPORTED_
TYPE
1631
Unable to create requested object.
ERROR_CREATE_
FAILED
1632
Temp folder is full or inaccessible.
ERROR_INSTALL_
TEMP_
UNWRITABLE
1633
Product platform not supported.
ERROR_INSTALL_
PLATFORM_
UNSUPPORTED
1634
Component not used on this computer.
ERROR_INSTALL_
NOTUSED
1635
Patch package could not be opened.
ERROR_PATCH_
PACKAGE_OPEN_
FAILED
1636
Patch package invalid.
ERROR_PATCH_
PACKAGE_INVALID
1637
Patch package unsupported.
ERROR_PATCH_
PACKAGE_
UNSUPPORTED.
1638
Invalid command line argument.
ERROR_INVALID_
COMMAND_LINE
1700
The string binding is invalid.
RPC_S_INVALID_
STRING_BINDING
1701
The binding handle is not the correct type.
RPC_S_WRONG_
KIND_OF_BINDING
1702
The binding handle is invalid.
RPC_S_INVALID_
BINDING
1703
The RPC protocol sequence is not supported.
RPC_S_PROTSEQ_
NOT_SUPPORTED
1704
The RPC protocol sequence is invalid.
RPC_S_INVALID_
RPC_PROTSEQ
1705
The string universal unique identifier (UUID) is invalid.
RPC_S_INVALID_
STRING_UUID
1706
The endpoint format is invalid.
RPC_S_INVALID_
ENDPOINT_
FORMAT
1707
The network address is invalid.
RPC_S_INVALID_
NET_ADDR
1708
No endpoint was found.
RPC_S_NO_
ENDPOINT_FOUND
1709
The timeout value is invalid.
RPC_S_INVALID_
TIMEOUT
1710
The object universal unique identifier (UUID) was not found.
RPC_S_OBJECT_
NOT_FOUND
89
Chapter 5 Codes d’erreur externes
1711
The object universal unique identifier (UUID) has already been
registered.
RPC_S_ALREADY_
REGISTERED
1712
The type universal unique identifier (UUID) has already been
registered.
RPC_S_TYPE_
ALREADY_
REGISTERED
1713
The RPC server is already listening.
RPC_S_ALREADY_
LISTENING
1714
No protocol sequences have been registered.
RPC_S_NO_
PROTSEQS_
REGISTERED
1715
The RPC server is not listening.
RPC_S_NOT_
LISTENING
1716
The manager type is unknown.
RPC_S_
UNKNOWN_MGR_
TYPE
1717
The interface is unknown.
RPC_S_
UNKNOWN_IF
1718
There are no bindings.
RPC_S_NO_
BINDINGS
1719
There are no protocol sequences.
RPC_S_NO_
PROTSEQS
1720
The endpoint cannot be created.
RPC_S_CANT_
CREATE_
ENDPOINT
1721
Not enough resources are available to complete this operation.
RPC_S_OUT_OF_
RESOURCES
1722
The RPC server is unavailable.
RPC_S_SERVER_
UNAVAILABLE
1723
The RPC server is too busy to complete this operation.
RPC_S_SERVER_
TOO_BUSY
1724
The network options are invalid.
RPC_S_INVALID_
NETWORK_
OPTIONS
1725
There are no remote procedure calls active on this thread.
RPC_S_NO_CALL_
ACTIVE
1726
The remote procedure call failed.
RPC_S_CALL_
FAILED
1727
The remote procedure call failed and did not execute.
RPC_S_CALL_
FAILED_DNE
1728
A remote procedure call (RPC) protocol error occurred.
RPC_S_
PROTOCOL_
ERROR
1730
The transfer syntax is not supported by the RPC server.
RPC_S_
UNSUPPORTED_
TRANS_SYN
Automation Engine
90
1732
The universal unique identifier (UUID) type is not supported.
RPC_S_
UNSUPPORTED_
TYPE
1733
The tag is invalid.
RPC_S_INVALID_
TAG
1734
The array bounds are invalid.
RPC_S_INVALID_
BOUND
1735
The binding does not contain an entry name.
RPC_S_NO_
ENTRY_NAME
1736
The name syntax is invalid.
RPC_S_INVALID_
NAME_SYNTAX
1737
The name syntax is not supported.
RPC_S_
UNSUPPORTED_
NAME_SYNTAX
1739
No network address is available to use to construct a universal
unique identifier (UUID).
RPC_S_UUID_NO_
ADDRESS
1740
The endpoint is a duplicate.
RPC_S_
DUPLICATE_
ENDPOINT
1741
The authentication type is unknown.
RPC_S_
UNKNOWN_
AUTHN_TYPE
1742
The maximum number of calls is too small.
RPC_S_MAX_
CALLS_TOO_SMALL
1743
The string is too long.
RPC_S_STRING_
TOO_LONG
1744
The RPC protocol sequence was not found.
RPC_S_PROTSEQ_
NOT_FOUND
1745
The procedure number is out of range.
RPC_S_
PROCNUM_OUT_
OF_RANGE
1746
The binding does not contain any authentication information.
RPC_S_BINDING_
HAS_NO_AUTH
1747
The authentication service is unknown.
RPC_S_
UNKNOWN_
AUTHN_SERVICE
1748
The authentication level is unknown.
RPC_S_
UNKNOWN_
AUTHN_LEVEL
1749
The security context is invalid.
RPC_S_INVALID_
AUTH_IDENTITY
1750
The authorization service is unknown.
RPC_S_
UNKNOWN_
AUTHZ_SERVICE
1751
The entry is invalid.
EPT_S_INVALID_
ENTRY
91
Chapter 5 Codes d’erreur externes
1752
The server endpoint cannot perform the operation.
EPT_S_CANT_
PERFORM_OP
1753
There are no more endpoints available from the endpoint mapper.
EPT_S_NOT_
REGISTERED
1754
No interfaces have been exported.
RPC_S_NOTHING_
TO_EXPORT
1755
The entry name is incomplete.
RPC_S_
INCOMPLETE_
NAME
1756
The version option is invalid.
RPC_S_INVALID_
VERS_OPTION
1757
There are no more members.
RPC_S_NO_MORE_
MEMBERS
1758
There is nothing to unexport.
RPC_S_NOT_ALL_
OBJS_
UNEXPORTED
1759
The interface was not found.
RPC_S_
INTERFACE_NOT_
FOUND
1760
The entry already exists.
RPC_S_ENTRY_
ALREADY_EXISTS
1761
The entry is not found.
RPC_S_ENTRY_
NOT_FOUND
1762
The name service is unavailable.
RPC_S_NAME_
SERVICE_
UNAVAILABLE
1763
The network address family is invalid.
RPC_S_INVALID_
NAF_ID
1764
The requested operation is not supported.
RPC_S_CANNOT_
SUPPORT
1765
No security context is available to allow impersonation.
RPC_S_NO_
CONTEXT_
AVAILABLE
1766
An internal error occurred in a remote procedure call (RPC).
RPC_S_INTERNAL_
ERROR
1767
The RPC server attempted an integer division by zero.
RPC_S_ZERO_
DIVIDE
1768
An addressing error occurred in the RPC server.
RPC_S_ADDRESS_
ERROR
1769
A floating-point operation at the RPC server caused a division by
zero.
RPC_S_FP_DIV_
ZERO
1770
A floating-point underflow occurred at the RPC server.
RPC_S_FP_
UNDERFLOW
1771
A floating-point overflow occurred at the RPC server.
RPC_S_FP_
OVERFLOW
Automation Engine
92
1772
The list of RPC servers available for the binding of auto handles
has been exhausted.
RPC_X_NO_MORE_
ENTRIES
1773
Unable to open the character translation table file.
RPC_X_SS_CHAR_
TRANS_OPEN_FAIL
1774
The file containing the character translation table has fewer than
512 bytes.
RPC_X_SS_CHAR_
TRANS_SHORT_
FILE
1775
A null context handle was passed from the client to the host during RPC_X_SS_IN_
a remote procedure call.
NULL_CONTEXT
1777
The context handle changed during a remote procedure call.
RPC_X_SS_
CONTEXT_
DAMAGED
1778
The binding handles passed to a remote procedure call do not
match.
RPC_X_SS_
HANDLES_
MISMATCH
1779
The stub is unable to get the remote procedure call handle.
RPC_X_SS_
CANNOT_GET_
CALL_HANDLE
1780
A null reference pointer was passed to the stub.
RPC_X_NULL_REF_
POINTER
1781
The enumeration value is out of range.
RPC_X_ENUM_
VALUE_OUT_OF_
RANGE
1782
The byte count is too small.
RPC_X_BYTE_
COUNT_TOO_
SMALL
1783
The stub received bad data.
RPC_X_BAD_
STUB_DATA
1784
The supplied user buffer is not valid for the requested operation.
ERROR_INVALID_
USER_BUFFER
1785
The disk media is not recognized. It may not be formatted.
ERROR_
UNRECOGNIZED_
MEDIA
1786
The workstation does not have a trust secret.
ERROR_NO_
TRUST_LSA_
SECRET
1787
The SAM database on the Windows NT Server does not have a
computer account for this workstation trust relationship.
ERROR_NO_
TRUST_SAM_
ACCOUNT
1788
The trust relationship between the primary domain and the trusted
domain failed.
ERROR_TRUSTED_
DOMAIN_FAILURE
1789
The trust relationship between this workstation and the primary
domain failed.
ERROR_TRUSTED_
RELATIONSHIP_
FAILURE
1790
The network logon failed.
ERROR_TRUST_
FAILURE
93
Chapter 5 Codes d’erreur externes
1791
A remote procedure call is already in progress for this thread.
RPC_S_CALL_IN_
PROGRESS
1792
An attempt was made to logon, but the network logon service was
not started.
ERROR_
NETLOGON_NOT_
STARTED
1793
The user's account has expired.
ERROR_
ACCOUNT_
EXPIRED
1794
The redirector is in use and cannot be unloaded.
ERROR_
REDIRECTOR_
HAS_OPEN_
HANDLES
1795
The specified printer driver is already installed.
ERROR_PRINTER_
DRIVER_
ALREADY_
INSTALLED
1796
The specified port is unknown.
ERROR_
UNKNOWN_PORT
1797
The printer driver is unknown.
ERROR_
UNKNOWN_
PRINTER_DRIVER
1798
The print processor is unknown.
ERROR_
UNKNOWN_
PRINTPROCESSOR
1799
The specified separator file is invalid.
ERROR_INVALID_
SEPARATOR_FILE
1800
The specified priority is invalid.
ERROR_INVALID_
PRIORITY
1801
The printer name is invalid.
ERROR_INVALID_
PRINTER_NAME
1802
The printer already exists.
ERROR_PRINTER_
ALREADY_EXISTS
1803
The printer command is invalid.
ERROR_INVALID_
PRINTER_
COMMAND
1804
The specified datatype is invalid.
ERROR_INVALID_
DATATYPE
1805
The environment specified is invalid.
ERROR_INVALID_
ENVIRONMENT
1806
There are no more bindings.
RPC_S_NO_MORE_
BINDINGS
1807
The account used is an interdomain trust account. Use your global ERROR_
user account or local user account to access this server.
NOLOGON_
INTERDOMAIN_
TRUST_ACCOUNT
Automation Engine
94
1808
The account used is a computer account. Use your global user
account or local user account to access this server.
ERROR_
NOLOGON_
WORKSTATION_
TRUST_ACCOUNT
1809
The account used is a server trust account. Use your global user
account or local user account to access this server.
ERROR_
NOLOGON_
SERVER_TRUST_
ACCOUNT
1810
The name or security ID (SID) of the domain specified is
inconsistent with the trust information for that domain.
ERROR_DOMAIN_
TRUST_
INCONSISTENT
1811
The server is in use and cannot be unloaded.
ERROR_SERVER_
HAS_OPEN_
HANDLES
1812
The specified image file did not contain a resource section.
ERROR_
RESOURCE_DATA_
NOT_FOUND
1813
The specified resource type cannot be found in the image file.
ERROR_
RESOURCE_TYPE_
NOT_FOUND
1814
The specified resource name cannot be found in the image file.
ERROR_
RESOURCE_
NAME_NOT_
FOUND
1815
The specified resource language ID cannot be found in the image
file.
ERROR_
RESOURCE_LANG_
NOT_FOUND
1816
Not enough quota is available to process this command.
ERROR_NOT_
ENOUGH_QUOTA
1817
No interfaces have been registered.
RPC_S_NO_
INTERFACES
1818
The remote procedure call was cancelled.
RPC_S_CALL_
CANCELLED
1819
The binding handle does not contain all required information.
RPC_S_BINDING_
INCOMPLETE
1820
A communications failure occurred during a remote procedure call. RPC_S_COMM_
FAILURE
1821
The requested authentication level is not supported.
RPC_S_
UNSUPPORTED_
AUTHN_LEVEL
1822
No principal name registered.
RPC_S_NO_
PRINC_NAME
1823
The error specified is not a valid Windows RPC error code.
RPC_S_NOT_RPC_
ERROR
1824
A UUID that is valid only on this computer has been allocated.
RPC_S_UUID_
LOCAL_ONLY
95
Chapter 5 Codes d’erreur externes
1825
A security package specific error occurred.
RPC_S_SEC_PKG_
ERROR
1826
Thread is not canceled.
RPC_S_NOT_
CANCELLED
1827
Invalid operation on the encoding/decoding handle.
RPC_X_INVALID_
ES_ACTION
1828
Incompatible version of the serializing package.
RPC_X_WRONG_
ES_VERSION
1829
Incompatible version of the RPC stub.
RPC_X_WRONG_
STUB_VERSION
1830
The RPC pipe object is invalid or corrupted.
RPC_X_INVALID_
PIPE_OBJECT
1831
An invalid operation was attempted on an RPC pipe object.
RPC_X_WRONG_
PIPE_ORDER
1832
Unsupported RPC pipe version.
RPC_X_WRONG_
PIPE_VERSION
1898
The group member was not found.
RPC_S_GROUP_
MEMBER_NOT_
FOUND
1899
The endpoint mapper database entry could not be created.
EPT_S_CANT_
CREATE
1900
The object universal unique identifier (UUID) is the nil UUID.
RPC_S_INVALID_
OBJECT
1901
The specified time is invalid.
ERROR_INVALID_
TIME
1902
The specified form name is invalid.
ERROR_INVALID_
FORM_NAME
1903
The specified form size is invalid.
ERROR_INVALID_
FORM_SIZE
1904
The specified printer handle is already being waited on
ERROR_ALREADY_
WAITING
1905
The specified printer has been deleted.
ERROR_PRINTER_
DELETED
1906
The state of the printer is invalid.
ERROR_INVALID_
PRINTER_STATE
1907
The user must change his password before he logs on the first
time.
ERROR_
PASSWORD_
MUST_CHANGE
1908
Could not find the domain controller for this domain.
ERROR_DOMAIN_
CONTROLLER_
NOT_FOUND
1909
The referenced account is currently locked out and may not be
logged on to.
ERROR_
ACCOUNT_
LOCKED_OUT
1910
The object exporter specified was not found.
OR_INVALID_OXID
1911
The object specified was not found.
OR_INVALID_OID
Automation Engine
96
1912
The object resolver set specified was not found.
OR_INVALID_SET
1913
Some data remains to be sent in the request buffer.
RPC_S_SEND_
INCOMPLETE
1914
Invalid asynchronous remote procedure call handle.
RPC_S_INVALID_
ASYNC_HANDLE
1915
Invalid asynchronous RPC call handle for this operation.
RPC_S_INVALID_
ASYNC_CALL
1916
The RPC pipe object has already been closed.
RPC_X_PIPE_
CLOSED
1917
The RPC call completed before all pipes were processed.
RPC_X_PIPE_
DISCIPLINE_
ERROR
1918
No more data is available from the RPC pipe.
RPC_X_PIPE_
EMPTY
1919
No site name is available for this machine.
ERROR_NO_
SITENAME
1920
The file can not be accessed by the system.
ERROR_CANT_
ACCESS_FILE
1921
The name of the file cannot be resolved by the system.
ERROR_CANT_
RESOLVE_
FILENAME
1922
The entry is not of the expected type.
RPC_S_ENTRY_
TYPE_MISMATCH
1923
Not all object UUIDs could be exported to the specified entry.
RPC_S_NOT_ALL_
OBJS_EXPORTED
1924
Interface could not be exported to the specified entry.
RPC_S_
INTERFACE_NOT_
EXPORTED
1925
The specified profile entry could not be added.
RPC_S_PROFILE_
NOT_ADDED
1926
The specified profile element could not be added.
RPC_S_PRF_ELT_
NOT_ADDED
1927
The specified profile element could not be removed.
RPC_S_PRF_ELT_
NOT_REMOVED
1928
The group element could not be added.
RPC_S_GRP_ELT_
NOT_ADDED
1929
The group element could not be removed. RPC_S_GRP_ELT_
NOT_REMOVED 5.5.3 Win32 - Codes d'erreur (2 000-5 999)
Le tableau suivant contient les messages d'erreur Win32.
Code
Description
Nom
2000
The pixel format
is invalid.
ERROR_INVALID_PIXEL_FORMAT
97
Chapter 5 Codes d’erreur externes
2001
The specified
driver is invalid.
ERROR_BAD_DRIVER
2002
The window style ERROR_INVALID_WINDOW_STYLE
or class attribute
is invalid for this
operation.
2003
The requested
ERROR_METAFILE_NOT_SUPPORTED
metafile operation
is not supported.
2004
The requested
transformation
operation is not
supported.
2005
The requested
ERROR_CLIPPING_NOT_SUPPORTED
clipping operation
is not supported.
2010
The specified
ERROR_INVALID_CMM
color
management
module is invalid.
2011
The specified
color profile is
invalid.
2012
The specified tag ERROR_TAG_NOT_FOUND
was not found.
2013
A required tag is
not present.
2014
The specified tag ERROR_DUPLICATE_TAG
is already
present.
2015
The specified
ERROR_PROFILE_NOT_ASSOCIATED_WITH_
color profile is not DEVICE
associated with
any device.
2016
The specified
color profile was
not found.
ERROR_PROFILE_NOT_FOUND
2017
The specified
color space is
invalid.
ERROR_INVALID_COLORSPACE
2018
Image Color
Management is
not enabled.
ERROR_ICM_NOT_ENABLED
2019
There was an
error while
deleting the color
transform.
ERROR_DELETING_ICM_XFORM
ERROR_TRANSFORM_NOT_SUPPORTED
ERROR_INVALID_PROFILE
ERROR_TAG_NOT_PRESENT
Automation Engine
2020
The specified
ERROR_INVALID_TRANSFORM
color transform is
invalid.
2021
The specified
transform does
not match the
bitmap's color
space.
ERROR_COLORSPACE_MISMATCH
2022
The specified
named color
index is not
present in the
profile.
ERROR_INVALID_COLORINDEX
2108
The network
ERROR_CONNECTED_OTHER_PASSWORD
connection was
made
successfully, but
the user had to be
prompted for a
password other
than the one
originally
specified.
2202
The specified
username is
invalid.
ERROR_BAD_USERNAME
2250
This network
connection does
not exist.
ERROR_NOT_CONNECTED
2401
This network
ERROR_OPEN_FILES
connection has
files open or
requests pending.
2402
Active
connections still
exist.
ERROR_ACTIVE_CONNECTIONS
2404
The device is in
use by an active
process and
cannot be
disconnected.
ERROR_DEVICE_IN_USE
3000
The specified
print monitor is
unknown.
ERROR_UNKNOWN_PRINT_MONITOR
3001
The specified
printer driver is
currently in use.
ERROR_PRINTER_DRIVER_IN_USE
3002
The spool file was ERROR_SPOOL_FILE_NOT_FOUND
not found.
98
99
Chapter 5 Codes d’erreur externes
3003
A StartDocPrinter ERROR_SPL_NO_STARTDOC
call was not
issued.
3004
An AddJob call
was not issued.
ERROR_SPL_NO_ADDJOB
3005
The specified
print processor
has already been
installed.
ERROR_PRINT_PROCESSOR_ALREADY_
INSTALLED
3006
The specified
print monitor has
already been
installed.
ERROR_PRINT_MONITOR_ALREADY_INSTALLED
3007
The specified
ERROR_INVALID_PRINT_MONITOR
print monitor does
not have the
required
functions.
3008
The specified
print monitor is
currently in use.
ERROR_PRINT_MONITOR_IN_USE
3009
The requested
operation is not
allowed when
there are jobs
queued to the
printer.
ERROR_PRINTER_HAS_JOBS_QUEUED
3010
The requested
operation is
successful.
Changes will not
be effective until
the system is
rebooted.
ERROR_SUCCESS_REBOOT_REQUIRED
3011
The requested
operation is
successful.
Changes will not
be effective until
the service is
restarted.
ERROR_SUCCESS_RESTART_REQUIRED
3012
No printers were
found.
ERROR_PRINTER_NOT_FOUND
4000
WINS
encountered an
error while
processing the
command.
ERROR_WINS_INTERNAL
Automation Engine
4001
The local WINS
can not be
deleted.
ERROR_CAN_NOT_DEL_LOCAL_WINS
4002
The importation
from the file
failed.
ERROR_STATIC_INIT
4003
The backup
failed. Was a full
backup done
before?
ERROR_INC_BACKUP
4004
The backup
ERROR_FULL_BACKUP
failed. Check the
directory to which
you are backing
the database.
4005
The name does
not exist in the
WINS database.
4006
Replication with a ERROR_RPL_NOT_ALLOWED
nonconfigured
partner is not
allowed.
4100
The DHCP client ERROR_DHCP_ADDRESS_CONFLICT
has obtained an
IP address that is
already in use on
the network. The
local interface will
be disabled until
the DHCP client
can obtain a new
address.
4200
The GUID
passed was not
recognized as
valid by a WMI
data provider.
ERROR_WMI_GUID_NOT_FOUND
4201
The instance
name passed
was not
recognized as
valid by a WMI
data provider.
ERROR_WMI_INSTANCE_NOT_FOUND
4202
The data item ID
passed was not
recognized as
valid by a WMI
data provider.
ERROR_WMI_ITEMID_NOT_FOUND
ERROR_REC_NON_EXISTENT
100
101
Chapter 5 Codes d’erreur externes
4203
The WMI request ERROR_WMI_TRY_AGAIN
could not be
completed and
should be retried.
4204
The WMI data
ERROR_WMI_DP_NOT_FOUND
provider could not
be located.
4205
The WMI data
provider
references an
instance set that
has not been
registered.
ERROR_WMI_UNRESOLVED_INSTANCE_REF
4206
The WMI data
block or event
notification has
already been
enabled.
ERROR_WMI_ALREADY_ENABLED
4207
The WMI data
ERROR_WMI_GUID_DISCONNECTED
block is no longer
available.
4208
The WMI data
service is not
available.
ERROR_WMI_SERVER_UNAVAILABLE
4209
The WMI data
provider failed to
carry out the
request.
ERROR_WMI_DP_FAILED
4210
The WMI MOF
ERROR_WMI_INVALID_MOF
information is not
valid.
4211
The WMI
ERROR_WMI_INVALID_REGINFO
registration
information is not
valid.
4212
The WMI data
block or event
notification has
already been
disabled.
4213
The WMI data
ERROR_WMI_READ_ONLY
item or data block
is read only.
4214
The WMI data
ERROR_WMI_SET_FAILURE
item or data block
could not be
changed.
ERROR_WMI_ALREADY_DISABLED
Automation Engine
4300
The media
ERROR_INVALID_MEDIA
identifier does not
represent a valid
medium.
4301
The library
ERROR_INVALID_LIBRARY
identifier does not
represent a valid
library.
4302
The media pool
ERROR_INVALID_MEDIA_POOL
identifier does not
represent a valid
media pool.
4303
The drive and
medium are not
compatible or
exist in different
libraries.
4304
The medium
ERROR_MEDIA_OFFLINE
currently exists in
an offline library
and must be
online to perform
this operation.
4305
The operation
cannot be
performed on an
offline library.
4306
The library, drive, ERROR_EMPTY
or media pool is
empty.
4307
The library, drive, ERROR_NOT_EMPTY
or media pool
must be empty to
perform this
operation.
4308
No media is
currently
available in this
media pool or
library.
ERROR_MEDIA_UNAVAILABLE
4309
A resource
required for this
operation is
disabled.
ERROR_RESOURCE_DISABLED
4310
The media
ERROR_INVALID_CLEANER
identifier does not
represent a valid
cleaner.
ERROR_DRIVE_MEDIA_MISMATCH
ERROR_LIBRARY_OFFLINE
102
103
Chapter 5 Codes d’erreur externes
4311
The drive cannot
be cleaned or
does not support
cleaning.
ERROR_UNABLE_TO_CLEAN
4312
The object
ERROR_OBJECT_NOT_FOUND
identifier does not
represent a valid
object.
4313
Unable to read
from or write to
the database.
ERROR_DATABASE_FAILURE
4314
The database is
full.
ERROR_DATABASE_FULL
4315
The medium is
ERROR_MEDIA_INCOMPATIBLE
not compatible
with the device or
media pool.
4316
The resource
required for this
operation does
not exist.
ERROR_RESOURCE_NOT_PRESENT
4317
The operation
identifier is not
valid.
ERROR_INVALID_OPERATION
4318
The media is not ERROR_MEDIA_NOT_AVAILABLE
mounted or ready
for use.
4319
The device is not
ready for use.
4320
The operator or
ERROR_REQUEST_REFUSED
administrator has
refused the
request.
4321
The drive
ERROR_INVALID_DRIVE_OBJECT
identifier does not
represent a valid
drive.
4322
Library is full. No
slot is available
for use.
ERROR_LIBRARY_FULL
4323
The transport
cannot access
the medium.
ERROR_MEDIUM_NOT_ACCESSIBLE
4324
Unable to load the ERROR_UNABLE_TO_LOAD_MEDIUM
medium into the
drive.
ERROR_DEVICE_NOT_AVAILABLE
Automation Engine
104
4325
Unable to retrieve ERROR_UNABLE_TO_INVENTORY_DRIVE
status about the
drive.
4326
Unable to retrieve ERROR_UNABLE_TO_INVENTORY_SLOT
status about the
slot.
4327
Unable to retrieve ERROR_UNABLE_TO_INVENTORY_TRANSPORT
status about the
transport.
4328
Cannot use the
ERROR_TRANSPORT_FULL
transport because
it is already in
use.
4329
Unable to open or ERROR_CONTROLLING_IEPORT
close the
inject/eject port.
4330
Unable to eject
the media
because it is in a
drive.
4331
A cleaner slot is
ERROR_CLEANER_SLOT_SET
already reserved.
4332
A cleaner slot is
not reserved.
4333
The cleaner
ERROR_CLEANER_CARTRIDGE_SPENT
cartridge has
performed the
maximum number
of drive
cleanings.
4334
Unexpected on- ERROR_UNEXPECTED_OMID
medium identifier.
4335
The last
remaining item in
this group or
resource cannot
be deleted.
4336
The message
ERROR_MESSAGE_EXCEEDS_MAX_SIZE
provided exceeds
the maximum
size allowed for
this parameter.
4337
The volume
contains system
or paging files.
ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA
ERROR_CLEANER_SLOT_NOT_SET
ERROR_CANT_DELETE_LAST_ITEM
ERROR_VOLUME_CONTAINS_SYS_FILES
105
Chapter 5 Codes d’erreur externes
4338
The media type
ERROR_INDIGENOUS_TYPE
cannot be
removed from this
library since at
least one drive in
the library reports
it can support this
media type.
4339
This offline media ERROR_NO_SUPPORTING_DRIVES
cannot be
mounted on this
system since no
enabled drives
are present which
can be used.
4350
The remote
storage service
was not able to
recall the file.
4351
The remote
ERROR_REMOTE_STORAGE_NOT_ACTIVE
storage service is
not operational at
this time.
4352
The remote
storage service
encountered a
media error.
ERROR_REMOTE_STORAGE_MEDIA_ERROR
4390
The file or
directory is not a
reparse point.
ERROR_NOT_A_REPARSE_POINT
4391
The reparse point ERROR_REPARSE_ATTRIBUTE_CONFLICT
attribute cannot
be set because it
conflicts with an
existing attribute.
4392
The data present
in the reparse
point buffer is
invalid.
4393
The tag present in ERROR_REPARSE_TAG_INVALID
the reparse point
buffer is invalid.
4394
There is a
ERROR_REPARSE_TAG_MISMATCH
mismatch
between the tag
specified in the
request and the
tag present in the
reparse point.
ERROR_FILE_OFFLINE
ERROR_INVALID_REPARSE_DATA
Automation Engine
5001
The cluster
resource cannot
be moved to
another group
because other
resources are
dependent on it.
ERROR_DEPENDENT_RESOURCE_EXISTS
5002
The cluster
resource
dependency
cannot be found.
ERROR_DEPENDENCY_NOT_FOUND
5003
The cluster
ERROR_DEPENDENCY_ALREADY_EXISTS
resource cannot
be made
dependent on the
specified
resource because
it is already
dependent.
5004
The cluster
resource is not
online.
ERROR_RESOURCE_NOT_ONLINE
5005
A cluster node is
not available for
this operation.
ERROR_HOST_NODE_NOT_AVAILABLE
5006
The cluster
resource is not
available.
ERROR_RESOURCE_NOT_AVAILABLE
5007
The cluster
resource could
not be found.
ERROR_RESOURCE_NOT_FOUND
5008
The cluster is
being shut down.
ERROR_SHUTDOWN_CLUSTER
5009
A cluster node
ERROR_CANT_EVICT_ACTIVE_NODE
cannot be evicted
from the cluster
while it is online.
5010
The object
already exists.
5011
The object is
ERROR_OBJECT_IN_LIST
already in the list.
5012
The cluster group ERROR_GROUP_NOT_AVAILABLE
is not available for
any new
requests.
5013
The cluster group ERROR_GROUP_NOT_FOUND
could not be
found.
ERROR_OBJECT_ALREADY_EXISTS
106
107
Chapter 5 Codes d’erreur externes
5014
The operation
could not be
completed
because the
cluster group is
not online.
ERROR_GROUP_NOT_ONLINE
5015
The cluster node
is not the owner
of the resource.
ERROR_HOST_NODE_NOT_RESOURCE_OWNER
5016
The cluster node
is not the owner
of the group.
ERROR_HOST_NODE_NOT_GROUP_OWNER
5017
The cluster
ERROR_RESMON_CREATE_FAILED
resource could
not be created in
the specified
resource monitor.
5018
The cluster
ERROR_RESMON_ONLINE_FAILED
resource could
not be brought
online by the
resource monitor.
5019
The operation
could not be
completed
because the
cluster resource
is online.
5020
The cluster
ERROR_QUORUM_RESOURCE
resource could
not be deleted or
brought offline
because it is the
quorum resource.
5021
The cluster could ERROR_NOT_QUORUM_CAPABLE
not make the
specified
resource a
quorum resource
because it is not
capable of being a
quorum resource.
5022
The cluster
software is
shutting down.
ERROR_RESOURCE_ONLINE
ERROR_CLUSTER_SHUTTING_DOWN
Automation Engine
108
5023
The group or
resource is not in
the correct state
to perform the
requested
operation.
ERROR_INVALID_STATE
5024
The properties
ERROR_RESOURCE_PROPERTIES_STORED
were stored but
not all changes
will take effect
until the next time
the resource is
brought online.
5025
The cluster could ERROR_NOT_QUORUM_CLASS
not make the
specified
resource a
quorum resource
because it does
not belong to a
shared storage
class.
5026
The cluster
resource could
not be deleted
since it is a core
resource.
5027
The quorum
ERROR_QUORUM_RESOURCE_ONLINE_FAILED
resource failed to
come online.
5028
The quorum log
could not be
created or
mounted
successfully.
ERROR_QUORUMLOG_OPEN_FAILED
5029
The cluster log is
corrupt.
ERROR_CLUSTERLOG_CORRUPT
5030
The record could
not be written to
the cluster log
since it exceeds
the maximum
size.
ERROR_CLUSTERLOG_RECORD_EXCEEDS_
MAXSIZE
5031
The cluster log
exceeds its
maximum size.
ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE
5032
No checkpoint
ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND
record was found
in the cluster log.
ERROR_CORE_RESOURCE
109
Chapter 5 Codes d’erreur externes
5033
The minimum
ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE
required disk
space needed for
logging is not
available.
5035
A cluster network ERROR_NETWORK_NOT_AVAILABLE
is not available for
this operation.
5036
A cluster node is
not available for
this operation.
ERROR_NODE_NOT_AVAILABLE
5037
All cluster nodes
must be running
to perform this
operation.
ERROR_ALL_NODES_NOT_AVAILABLE
5038
A cluster
resource failed.
ERROR_RESOURCE_FAILED
5039
The cluster node
is not valid.
ERROR_CLUSTER_INVALID_NODE
5040
The cluster node
already exists.
ERROR_CLUSTER_NODE_EXISTS
5041
A node is in the
ERROR_CLUSTER_JOIN_IN_PROGRESS
process of joining
the cluster.
5042
The cluster node
was not found.
ERROR_CLUSTER_NODE_NOT_FOUND
5043
The cluster local
node information
was not found.
ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND
5044
The cluster
network already
exists.
ERROR_CLUSTER_NETWORK_EXISTS
5045
The cluster
network was not
found.
ERROR_CLUSTER_NETWORK_NOT_FOUND
5046
The cluster
ERROR_CLUSTER_NETINTERFACE_EXISTS
network interface
already exists.
5047
The cluster
ERROR_CLUSTER_NETINTERFACE_NOT_
network interface FOUND
was not found.
5048
The cluster
request is not
valid for this
object.
ERROR_CLUSTER_INVALID_REQUEST
Automation Engine
110
5049
The cluster
network provider
is not valid.
ERROR_CLUSTER_INVALID_NETWORK_
PROVIDER
5050
The cluster node
is down.
ERROR_CLUSTER_NODE_DOWN
5051
The cluster node
is not reachable.
ERROR_CLUSTER_NODE_UNREACHABLE
5052
The cluster node
is not a member
of the cluster.
ERROR_CLUSTER_NODE_NOT_MEMBER
5053
A cluster join
ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS
operation is not in
progress.
5054
The cluster
network is not
valid.
ERROR_CLUSTER_INVALID_NETWORK
5056
The cluster node
is up.
ERROR_CLUSTER_NODE_UP
5057
The cluster IP
address is
already in use.
ERROR_CLUSTER_IPADDR_IN_USE
5058
The cluster node
is not paused.
ERROR_CLUSTER_NODE_NOT_PAUSED
5059
No cluster
security context
is available.
ERROR_CLUSTER_NO_SECURITY_CONTEXT
5060
The cluster
network is not
configured for
internal cluster
communication.
ERROR_CLUSTER_NETWORK_NOT_INTERNAL
5061
The cluster node
is already up.
ERROR_CLUSTER_NODE_ALREADY_UP
5062
The cluster node
is already down.
ERROR_CLUSTER_NODE_ALREADY_DOWN
5063
The cluster
network is
already online.
ERROR_CLUSTER_NETWORK_ALREADY_
ONLINE
5064
The cluster
network is
already offline.
ERROR_CLUSTER_NETWORK_ALREADY_
OFFLINE
5065
The cluster node
is already a
member of the
cluster.
ERROR_CLUSTER_NODE_ALREADY_MEMBER
111
Chapter 5 Codes d’erreur externes
5066
The cluster
network is the
only one
configured for
internal cluster
communication
between two or
more active
cluster nodes.
The internal
communication
capability cannot
be removed from
the network.
ERROR_CLUSTER_LAST_INTERNAL_NETWORK
5067
One or more
ERROR_CLUSTER_NETWORK_HAS_
cluster resources DEPENDENTS
depend on the
network to
provide service to
clients. The client
access capability
cannot be
removed from the
network.
5068
This operation
ERROR_INVALID_OPERATION_ON_QUORUM
cannot be
performed on the
cluster resource
as it the quorum
resource. You
may not bring the
quorum resource
offline or modify
its possible
owners list.
5069
The cluster
quorum resource
is not allowed to
have any
dependencies.
ERROR_DEPENDENCY_NOT_ALLOWED
5070
The cluster node
is paused.
ERROR_CLUSTER_NODE_PAUSED
5071
The cluster
ERROR_NODE_CANT_HOST_RESOURCE
resource cannot
be brought online.
The owner node
cannot run this
resource.
Automation Engine
112
5072
The cluster node
is not ready to
perform the
requested
operation.
ERROR_CLUSTER_NODE_NOT_READY
5073
The cluster node
is shutting down.
ERROR_CLUSTER_NODE_SHUTTING_DOWN
5074
The cluster join
operation was
aborted.
ERROR_CLUSTER_JOIN_ABORTED
5075
The cluster join
ERROR_CLUSTER_INCOMPATIBLE_VERSIONS
operation failed
due to
incompatible
software versions
between the
joining node and
its sponsor.
5076
This resource
ERROR_CLUSTER_MAXNUM_OF_RESOURCES_
cannot be created EXCEEDED
because the
cluster has
reached the limit
on the number of
resources it can
monitor.
5077
The system
configuration
changed during
the cluster join or
form operation.
The join or form
operation was
aborted.
ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED
5078
The specified
resource type
was not found.
ERROR_CLUSTER_RESOURCE_TYPE_NOT_
FOUND
5079
The specified
ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED
node does not
support a
resource of this
type. This may be
due to version
inconsistencies
or due to the
absence of the
resource DLL on
this node.
113
Chapter 5 Codes d’erreur externes
5080
The specified
resource name is
supported by this
resource DLL.
This may be due
to a bad (or
changed) name
supplied to the
resource DLL.
ERROR_CLUSTER_RESNAME_NOT_FOUND
5081
No authentication ERROR_CLUSTER_NO_RPC_PACKAGES_
package could be REGISTERED
registered with
the RPC server.
5082
You cannot bring ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST
the group online
because the
owner of the
group is not in the
preferred list for
the group. To
change the owner
node for the
group, move the
group.
5083
The join operation ERROR_CLUSTER_DATABASE_SEQMISMATCH
failed because
the cluster
database
sequence number
has changed or is
incompatible with
the locker node.
This may happen
during a join
operation if the
cluster database
was changing
during the join.
5084
The resource
ERROR_RESMON_INVALID_STATE
monitor will not
allow the fail
operation to be
performed while
the resource is in
its current state.
This may happen
if the resource is
in a pending
state.
Automation Engine
114
5.5.4 Win32 - Codes d'erreur (6 000-11 999)
Le tableau suivant contient les messages d'erreur Win32.
Code
Description
Nom
6000
The specified file could not be encrypted.
ERROR_ENCRYPTION_
FAILED
6001
The specified file could not be decrypted.
ERROR_DECRYPTION_
FAILED
6002
The specified file is encrypted and the user does not
have the ability to decrypt it.
ERROR_FILE_ENCRYPTED
6003
There is no encryption recovery policy configured for
this system.
ERROR_NO_RECOVERY_
POLICY
6004
The required encryption driver is not loaded for this
system.
ERROR_NO_EFS
6005
The file was encrypted with a different encryption
driver than is currently loaded.
ERROR_WRONG_EFS
6006
There are no EFS keys defined for the user.
ERROR_NO_USER_KEYS
6007
The specified file is not encrypted.
ERROR_FILE_NOT_
ENCRYPTED
6008
The specified file is not in the defined EFS export
format.
ERROR_NOT_EXPORT_
FORMAT
6009
The specified file is read only.
ERROR_FILE_READ_ONLY
6118
The list of servers for this workgroup is not currently
available
ERROR_NO_BROWSER_
SERVERS_FOUND
7001
The specified session name is invalid.
ERROR_CTX_WINSTATION_
NAME_INVALID
7002
The specified protocol driver is invalid.
ERROR_CTX_INVALID_PD
7003
The specified protocol driver was not found in the
system path.
ERROR_CTX_PD_NOT_
FOUND
7004
The specified terminal connection driver was not found ERROR_CTX_WD_NOT_
in the system path.
FOUND
7005
A registry key for event logging could not be created
for this session.
ERROR_CTX_CANNOT_
MAKE_EVENTLOG_ENTRY
7006
A service with the same name already exists on the
system.
ERROR_CTX_SERVICE_
NAME_COLLISION
7007
A close operation is pending on the session.
ERROR_CTX_CLOSE_
PENDING
7008
There are no free output buffers available.
ERROR_CTX_NO_OUTBUF
7009
The MODEM.INF file was not found.
ERROR_CTX_MODEM_INF_
NOT_FOUND
7010
The modem name was not found in MODEM.INF.
ERROR_CTX_INVALID_
MODEMNAME
115
Chapter 5 Codes d’erreur externes
7011
The modem did not accept the command sent to it.
Verify that the configured modem name matches the
attached modem.
ERROR_CTX_MODEM_
RESPONSE_ERROR
7012
The modem did not respond to the command sent to it. ERROR_CTX_MODEM_
Verify that the modem is properly cabled and powered RESPONSE_TIMEOUT
on.
7013
Carrier detect has failed or carrier has been dropped
due to disconnect.
ERROR_CTX_MODEM_
RESPONSE_NO_CARRIER
7014
Dial tone not detected within the required time. Verify
that the phone cable is properly attached and
functional.
ERROR_CTX_MODEM_
RESPONSE_NO_DIALTONE
7015
Busy signal detected at remote site on callback.
ERROR_CTX_MODEM_
RESPONSE_BUSY
7016
Voice detected at remote site on callback.
ERROR_CTX_MODEM_
RESPONSE_VOICE
7017
Transport driver error
ERROR_CTX_TD_ERROR
7022
The specified session cannot be found.
ERROR_CTX_WINSTATION_
NOT_FOUND
7023
The specified session name is already in use.
ERROR_CTX_WINSTATION_
ALREADY_EXISTS
7024
The requested operation cannot be completed
because the terminal connection is currently busy
processing a connect, disconnect, reset, or delete
operation.
ERROR_CTX_WINSTATION_
BUSY
7025
An attempt has been made to connect to a session
whose video mode is not supported by the current
client.
ERROR_CTX_BAD_VIDEO_
MODE
7035
The application attempted to enable DOS graphics
mode. DOS graphics mode is not supported.
ERROR_CTX_GRAPHICS_
INVALID
7037
Your interactive logon privilege has been disabled.
Please contact your administrator.
ERROR_CTX_LOGON_
DISABLED
7038
The requested operation can be performed only on the
system console. This is most often the result of a
driver or system DLL requiring direct console access.
ERROR_CTX_NOT_
CONSOLE
7040
The client failed to respond to the server connect
message.
ERROR_CTX_CLIENT_
QUERY_TIMEOUT
7041
Disconnecting the console session is not supported.
ERROR_CTX_CONSOLE_
DISCONNECT
7042
Reconnecting a disconnected session to the console
is not supported.
ERROR_CTX_CONSOLE_
CONNECT
7044
The request to shadow another session was denied.
ERROR_CTX_SHADOW_
DENIED
7045
The requested session access is denied.
ERROR_CTX_WINSTATION_
ACCESS_DENIED
7049
The specified terminal connection driver is invalid.
ERROR_CTX_INVALID_WD
Automation Engine
116
7050
The requested session cannot be shadowed. This
may be because the session is disconnected or does
not currently have a user logged on. Also, you cannot
shadow a session from the system console or shadow
the system console.
ERROR_CTX_SHADOW_
INVALID
7051
The requested session is not configured to allow
shadowing.
ERROR_CTX_SHADOW_
DISABLED
7052
Your request to connect to this Terminal Server has
been rejected. Your Terminal Server client license
number is currently being used by another user.
Please call your system administrator to obtain a new
copy of the Terminal Server client with a valid, unique
license number.
ERROR_CTX_CLIENT_
LICENSE_IN_USE
7053
Your request to connect to this Terminal Server has
been rejected. Your Terminal Server client license
number has not been entered for this copy of the
Terminal Server client. Please call your system
administrator for help in entering a valid, unique
license number for this Terminal Server client.
ERROR_CTX_CLIENT_
LICENSE_NOT_SET
7054
The system has reached its licensed logon limit.
Please try again later.
ERROR_CTX_LICENSE_
NOT_AVAILABLE
7055
The client you are using is not licensed to use this
system. Your logon request is denied.
ERROR_CTX_LICENSE_
CLIENT_INVALID
7056
The system license has expired. Your logon request is
denied.
ERROR_CTX_LICENSE_
EXPIRED
8001
The file replication service API was called incorrectly.
FRS_ERR_INVALID_API_
SEQUENCE
8002
The file replication service cannot be started.
FRS_ERR_STARTING_
SERVICE
8003
The file replication service cannot be stopped.
FRS_ERR_STOPPING_
SERVICE
8004
The file replication service API terminated the request. FRS_ERR_INTERNAL_API
8005
The file replication service terminated the request.
FRS_ERR_INTERNAL
8006
The file replication service cannot be contacted.
FRS_ERR_SERVICE_COMM
8007
The file replication service cannot satisfy the request
because the user is not a member of the
Administrators group.
FRS_ERR_INSUFFICIENT_
PRIV
8008
The file replication service cannot satisfy the request
because authenticated RPC is not available.
FRS_ERR_
AUTHENTICATION
8009
The file replication service cannot satisfy the request
because the user is not a member of Administrators
group on the domain controller.
FRS_ERR_PARENT_
INSUFFICIENT_PRIV
8010
The file replication service cannot satisfy the request
because authenticated RPC is not available on the
domain controller.
FRS_ERR_PARENT_
AUTHENTICATION
117
Chapter 5 Codes d’erreur externes
8011
The file replication service cannot communicate with
the file replication service on the domain controller.
FRS_ERR_CHILD_TO_
PARENT_COMM
8012
The file replication service on the domain controller
cannot communicate with the file replication service
on this computer.
FRS_ERR_PARENT_TO_
CHILD_COMM
8013
The file replication service cannot populate the system FRS_ERR_SYSVOL_
volume because of an internal error.
POPULATE
8014
The file replication service cannot populate the system FRS_ERR_SYSVOL_
volume because of an internal timeout.
POPULATE_TIMEOUT
8015
The file replication service cannot process the
request. The system volume is busy with a previous
request.
FRS_ERR_SYSVOL_IS_
BUSY
8016
The file replication service cannot stop replicating the
system volume because of an internal error.
FRS_ERR_SYSVOL_
DEMOTE
8017
The file replication service detected an invalid
parameter.
FRS_ERR_INVALID_
SERVICE_PARAMETER
8200
An error occurred while installing the Windows NT
directory service. For more information, see the event
log.
ERROR_DS_NOT_
INSTALLED
8201
The directory service evaluated group memberships
locally.
ERROR_DS_MEMBERSHIP_
EVALUATED_LOCALLY
8202
The specified directory service attribute or value does
not exist.
ERROR_DS_NO_
ATTRIBUTE_OR_VALUE
8203
The attribute syntax specified to the directory service
is invalid.
ERROR_DS_INVALID_
ATTRIBUTE_SYNTAX
8204
The attribute type specified to the directory service is
not defined.
ERROR_DS_ATTRIBUTE_
TYPE_UNDEFINED
8205
The specified directory service attribute or value
already exists.
ERROR_DS_ATTRIBUTE_
OR_VALUE_EXISTS
8206
The directory service is busy.
ERROR_DS_BUSY
8207
The directory service is unavailable.
ERROR_DS_UNAVAILABLE
8208
The directory service was unable to allocate a relative
identifier.
ERROR_DS_NO_RIDS_
ALLOCATED
8209
The directory service has exhausted the pool of
relative identifiers.
ERROR_DS_NO_MORE_
RIDS
8210
The requested operation could not be performed
ERROR_DS_INCORRECT_
because the directory service is not the master for that ROLE_OWNER
type of operation.
8211
The directory service was unable to initialize the
subsystem that allocates relative identifiers.
ERROR_DS_RIDMGR_INIT_
ERROR
8212
The requested operation did not satisfy one or more
constraints associated with the class of the object.
ERROR_DS_OBJ_CLASS_
VIOLATION
8213
The directory service can perform the requested
operation only on a leaf object.
ERROR_DS_CANT_ON_
NON_LEAF
Automation Engine
118
8214
The directory service cannot perform the requested
operation on the RDN attribute of an object.
ERROR_DS_CANT_ON_RDN
8215
The directory service detected an attempt to modify
the object class of an object.
ERROR_DS_CANT_MOD_
OBJ_CLASS
8216
The requested cross-domain move operation could not ERROR_DS_CROSS_DOM_
be performed.
MOVE_ERROR
8217
Unable to contact the global catalog server.
8218
The policy object is shared and can only be modified at ERROR_SHARED_POLICY
the root.
8219
The policy object does not exist.
ERROR_POLICY_OBJECT_
NOT_FOUND
8220
The requested policy information is only in the
directory service.
ERROR_POLICY_ONLY_IN_
DS
8221
A domain controller promotion is currently active.
ERROR_PROMOTION_
ACTIVE
8222
A domain controller promotion is not currently active
ERROR_NO_PROMOTION_
ACTIVE
8224
An operations error occurred.
ERROR_DS_OPERATIONS_
ERROR
8225
A protocol error occurred.
ERROR_DS_PROTOCOL_
ERROR
8226
The time limit for this request was exceeded.
ERROR_DS_TIMELIMIT_
EXCEEDED
8227
The size limit for this request was exceeded.
ERROR_DS_SIZELIMIT_
EXCEEDED
8228
The administrative limit for this request was
exceeded.
ERROR_DS_ADMIN_LIMIT_
EXCEEDED
8229
The compare response was false.
ERROR_DS_COMPARE_
FALSE
8230
The compare response was true.
ERROR_DS_COMPARE_
TRUE
8231
The requested authentication method is not supported
by the server.
ERROR_DS_AUTH_
METHOD_NOT_SUPPORTED
8232
A more secure authentication method is required for
this server.
ERROR_DS_STRONG_
AUTH_REQUIRED
8233
Inappropriate authentication.
ERROR_DS_
INAPPROPRIATE_AUTH
8234
The authentication mechanism is unknown.
ERROR_DS_AUTH_
UNKNOWN
8235
A referral was returned from the server.
ERROR_DS_REFERRAL
8236
The server does not support the requested critical
extension.
ERROR_DS_UNAVAILABLE_
CRIT_EXTENSION
ERROR_DS_GC_NOT_
AVAILABLE
119
Chapter 5 Codes d’erreur externes
8237
This request requires a secure connection.
ERROR_DS_
CONFIDENTIALITY_
REQUIRED
8238
Inappropriate matching.
ERROR_DS_
INAPPROPRIATE_
MATCHING
8239
A constraint violation occurred.
ERROR_DS_CONSTRAINT_
VIOLATION
8240
There is no such object on the server.
ERROR_DS_NO_SUCH_
OBJECT
8241
There is an alias problem.
ERROR_DS_ALIAS_
PROBLEM
8242
An invalid dn syntax has been specified.
ERROR_DS_INVALID_DN_
SYNTAX
8243
The object is a leaf object.
ERROR_DS_IS_LEAF
8244
There is an alias dereferencing problem.
ERROR_DS_ALIAS_DEREF_
PROBLEM
8245
The server is unwilling to process the request.
ERROR_DS_UNWILLING_
TO_PERFORM
8246
A loop has been detected.
ERROR_DS_LOOP_DETECT
8247
There is a naming violation.
ERROR_DS_NAMING_
VIOLATION
8248
The result set is too large.
ERROR_DS_OBJECT_
RESULTS_TOO_LARGE
8249
The operation affects multiple DSAs
ERROR_DS_AFFECTS_
MULTIPLE_DSAS
8250
The server is not operational.
ERROR_DS_SERVER_
DOWN
8251
A local error has occurred.
ERROR_DS_LOCAL_ERROR
8252
An encoding error has occurred.
ERROR_DS_ENCODING_
ERROR
8253
A decoding error has occurred.
ERROR_DS_DECODING_
ERROR
8254
The search filter cannot be recognized.
ERROR_DS_FILTER_
UNKNOWN
8255
One or more parameters are illegal.
ERROR_DS_PARAM_
ERROR
8256
The specified method is not supported.
ERROR_DS_NOT_
SUPPORTED
8257
No results were returned.
ERROR_DS_NO_RESULTS_
RETURNED
8258
The specified control is not supported by the server.
ERROR_DS_CONTROL_
NOT_FOUND
8259
A referral loop was detected by the client.
ERROR_DS_CLIENT_LOOP
Automation Engine
120
8260
The preset referral limit was exceeded.
ERROR_DS_REFERRAL_
LIMIT_EXCEEDED
8301
The root object must be the head of a naming context.
The root object cannot have an instantiated parent.
ERROR_DS_ROOT_MUST_
BE_NC
8302
The add replica operation cannot be performed. The
naming context must be writable in order to create the
replica.
ERROR_DS_ADD_REPLICA_
INHIBITED
8303
A reference to an attribute that is not defined in the
schema occurred.
ERROR_DS_ATT_NOT_DEF_
IN_SCHEMA
8304
The maximum size of an object has been exceeded.
ERROR_DS_MAX_OBJ_
SIZE_EXCEEDED
8305
An attempt was made to add an object to the directory
with a name that is already in use.
ERROR_DS_OBJ_STRING_
NAME_EXISTS
8306
An attempt was made to add an object of a class that
does not have an RDN defined in the schema.
ERROR_DS_NO_RDN_
DEFINED_IN_SCHEMA
8307
An attempt was made to add an object using an RDN
that is not the RDN defined in the schema.
ERROR_DS_RDN_DOESNT_
MATCH_SCHEMA
8308
None of the requested attributes were found on the
objects.
ERROR_DS_NO_
REQUESTED_ATTS_FOUND
8309
The user buffer is too small.
ERROR_DS_USER_
BUFFER_TO_SMALL
8310
The attribute specified in the operation is not present
on the object.
ERROR_DS_ATT_IS_NOT_
ON_OBJ
8311
Illegal modify operation. Some aspect of the
modification is not permitted.
ERROR_DS_ILLEGAL_MOD_
OPERATION
8312
The specified object is too large.
ERROR_DS_OBJ_TOO_
LARGE
8313
The specified instance type is not valid.
ERROR_DS_BAD_
INSTANCE_TYPE
8314
The operation must be performed at the master DSA.
The DNS root attribute is missing on the crossreference object.
ERROR_DS_MASTERDSA_
REQUIRED
8315
The object class attribute must be specified.
ERROR_DS_OBJECT_
CLASS_REQUIRED
8316
A required attribute is missing.
ERROR_DS_MISSING_
REQUIRED_ATT
8317
An attempt was made to modify an object to include
an attribute that is not legal for its class
ERROR_DS_ATT_NOT_DEF_
FOR_CLASS
8318
The specified attribute is already present on the
object.
ERROR_DS_ATT_ALREADY_
EXISTS
8320
The specified attribute is not present, or has no
values.
ERROR_DS_CANT_ADD_
ATT_VALUES
8321
An attribute's single value constraint has been
violated.
ERROR_DS_SINGLE_
VALUE_CONSTRAINT
121
Chapter 5 Codes d’erreur externes
8322
An attribute's range constraint has been violated.
ERROR_DS_RANGE_
CONSTRAINT
8323
The specified value already exists.
ERROR_DS_ATT_VAL_
ALREADY_EXISTS
8324
The attribute cannot be removed because it is not
present on the object.
ERROR_DS_CANT_REM_
MISSING_ATT
8325
The attribute value cannot be removed because it is
not present on the object.
ERROR_DS_CANT_REM_
MISSING_ATT_VAL
8326
The specified root object cannot be a subref.
ERROR_DS_ROOT_CANT_
BE_SUBREF
8327
Chaining is not permitted.
ERROR_DS_NO_CHAINING
8328
Chained evaluation is not permitted.
ERROR_DS_NO_CHAINED_
EVAL
8329
The operation could not be performed because the
object's parent is either uninstantiated or deleted.
ERROR_DS_NO_PARENT_
OBJECT
8330
Having a parent that is an alias is not permitted.
Aliases are leaf objects.
ERROR_DS_PARENT_IS_
AN_ALIAS
8331
The object and parent must be of the same type, either ERROR_DS_CANT_MIX_
both masters or both replicas.
MASTER_AND_REPS
8332
The operation cannot be performed because child
objects exist. This operation can only be performed on
a leaf object.
ERROR_DS_CHILDREN_
EXIST
8333
Directory object not found.
ERROR_DS_OBJ_NOT_
FOUND
8334
The aliased object is missing.
ERROR_DS_ALIASED_OBJ_
MISSING
8335
The object name has bad syntax.
ERROR_DS_BAD_NAME_
SYNTAX
8336
It is not permitted for an alias to refer to another alias.
ERROR_DS_ALIAS_POINTS_
TO_ALIAS
8337
The alias cannot be dereferenced.
ERROR_DS_CANT_DEREF_
ALIAS
8338
The operation is out of scope.
ERROR_DS_OUT_OF_
SCOPE
8340
The DSA object cannot be deleted.
ERROR_DS_CANT_
DELETE_DSA_OBJ
8341
A directory service error has occurred.
ERROR_DS_GENERIC_
ERROR
8342
The operation can only be performed on an internal
master DSA object.
ERROR_DS_DSA_MUST_
BE_INT_MASTER
8343
The object must be of class DSA.
ERROR_DS_CLASS_NOT_
DSA
8344
Insufficient access rights to perform the operation.
ERROR_DS_INSUFF_
ACCESS_RIGHTS
Automation Engine
122
8345
The object cannot be added because the parent is not
on the list of possible superiors.
ERROR_DS_ILLEGAL_
SUPERIOR
8346
Access to the attribute is not permitted because the
attribute is owned by the Security Accounts Manager
(SAM).
ERROR_DS_ATTRIBUTE_
OWNED_BY_SAM
8347
The name has too many parts.
ERROR_DS_NAME_TOO_
MANY_PARTS
8348
The name is too long.
ERROR_DS_NAME_TOO_
LONG
8349
The name value is too long.
ERROR_DS_NAME_VALUE_
TOO_LONG
8350
The directory service encountered an error parsing a
name.
ERROR_DS_NAME_
UNPARSEABLE
8351
The directory service cannot get the attribute type for a ERROR_DS_NAME_TYPE_
name.
UNKNOWN
8352
The name does not identify an object; the name
identifies a phantom.
ERROR_DS_NOT_AN_
OBJECT
8353
The security descriptor is too short.
ERROR_DS_SEC_DESC_
TOO_SHORT
8354
The security descriptor is invalid.
ERROR_DS_SEC_DESC_
INVALID
8355
Failed to create name for deleted object.
ERROR_DS_NO_DELETED_
NAME
8356
The parent of a new subref must exist.
ERROR_DS_SUBREF_
MUST_HAVE_PARENT
8357
The object must be a naming context.
ERROR_DS_NCNAME_
MUST_BE_NC
8358
It is not permitted to add an attribute which is owned
by the system.
ERROR_DS_CANT_ADD_
SYSTEM_ONLY
8359
The class of the object must be structural; you cannot
instantiate an abstract class.
ERROR_DS_CLASS_MUST_
BE_CONCRETE
8360
The schema object could not be found.
ERROR_DS_INVALID_DMD
8361
A local object with this GUID (dead or alive) already
exists.
ERROR_DS_OBJ_GUID_
EXISTS
8362
The operation cannot be performed on a back link.
ERROR_DS_NOT_ON_
BACKLINK
8363
The cross reference for the specified naming context
could not be found.
ERROR_DS_NO_
CROSSREF_FOR_NC
8364
The operation could not be performed because the
directory service is shutting down.
ERROR_DS_SHUTTING_
DOWN
8365
The directory service request is invalid.
ERROR_DS_UNKNOWN_
OPERATION
8366
The role owner attribute could not be read.
ERROR_DS_INVALID_
ROLE_OWNER
123
Chapter 5 Codes d’erreur externes
8367
The requested FSMO operation failed. The current
FSMO holder could not be reached.
ERROR_DS_COULDNT_
CONTACT_FSMO
8368
Modification of a DN across a naming context is not
permitted.
ERROR_DS_CROSS_NC_
DN_RENAME
8369
The attribute cannot be modified because it is owned
by the system.
ERROR_DS_CANT_MOD_
SYSTEM_ONLY
8370
Only the replicator can perform this function.
ERROR_DS_REPLICATOR_
ONLY
8371
The specified class is not defined.
ERROR_DS_OBJ_CLASS_
NOT_DEFINED
8372
The specified class is not a subclass.
ERROR_DS_OBJ_CLASS_
NOT_SUBCLASS
8373
The name reference is invalid.
ERROR_DS_NAME_
REFERENCE_INVALID
8374
A cross reference already exists.
ERROR_DS_CROSS_REF_
EXISTS
8375
It is not permitted to delete a master cross reference.
ERROR_DS_CANT_DEL_
MASTER_CROSSREF
8376
Subtree notifications are only supported on NC heads.
ERROR_DS_SUBTREE_
NOTIFY_NOT_NC_HEAD
8377
Notification filter is too complex.
ERROR_DS_NOTIFY_
FILTER_TOO_COMPLEX
8378
Schema update failed: duplicate RDN.
ERROR_DS_DUP_RDN
8379
Schema update failed: duplicate OID
ERROR_DS_DUP_OID
8380
Schema update failed: duplicate MAPI identifier.
ERROR_DS_DUP_MAPI_ID
8381
Schema update failed: duplicate schema-id GUID.
ERROR_DS_DUP_SCHEMA_
ID_GUID
8382
Schema update failed: duplicate LDAP display name.
ERROR_DS_DUP_LDAP_
DISPLAY_NAME
8383
Schema update failed: range-lower less than range
upper
ERROR_DS_SEMANTIC_
ATT_TEST
8384
Schema update failed: syntax mismatch
ERROR_DS_SYNTAX_
MISMATCH
8385
Schema deletion failed: attribute is used in mustcontain
ERROR_DS_EXISTS_IN_
MUST_HAVE
8386
Schema deletion failed: attribute is used in maycontain
ERROR_DS_EXISTS_IN_
MAY_HAVE
8387
Schema update failed: attribute in may-contain does
not exist
ERROR_DS_
NONEXISTENT_MAY_HAVE
8388
Schema update failed: attribute in must-contain does
not exist
ERROR_DS_
NONEXISTENT_MUST_
HAVE
8389
Schema update failed: class in aux-class list does not
exist or is not an auxiliary class
ERROR_DS_AUX_CLS_
TEST_FAIL
Automation Engine
124
8390
Schema update failed: class in poss-superiors does
not exist
ERROR_DS_
NONEXISTENT_POSS_SUP
8391
Schema update failed: class in subclassof list does
not exist or does not satisfy hierarchy rules
ERROR_DS_SUB_CLS_
TEST_FAIL
8392
Schema update failed: Rdn-Att-Id has wrong syntax
ERROR_DS_BAD_RDN_
ATT_ID_SYNTAX
8393
Schema deletion failed: class is used as auxiliary
class
ERROR_DS_EXISTS_IN_
AUX_CLS
8394
Schema deletion failed: class is used as sub class
ERROR_DS_EXISTS_IN_
SUB_CLS
8395
Schema deletion failed: class is used as poss superior ERROR_DS_EXISTS_IN_
POSS_SUP
8396
Schema update failed in recalculating validation
cache.
ERROR_DS_
RECALCSCHEMA_FAILED
8397
The tree deletion is not finished.
ERROR_DS_TREE_DELETE_
NOT_FINISHED
8398
The requested delete operation could not be
performed.
ERROR_DS_CANT_DELETE
8399
Cannot read the governs class identifier for the
schema record.
ERROR_DS_ATT_SCHEMA_
REQ_ID
8400
The attribute schema has bad syntax.
ERROR_DS_BAD_ATT_
SCHEMA_SYNTAX
8401
The attribute could not be cached.
ERROR_DS_CANT_CACHE_
ATT
8402
The class could not be cached.
ERROR_DS_CANT_CACHE_
CLASS
8403
The attribute could not be removed from the cache.
ERROR_DS_CANT_
REMOVE_ATT_CACHE
8404
The class could not be removed from the cache.
ERROR_DS_CANT_
REMOVE_CLASS_CACHE
8405
The distinguished name attribute could not be read.
ERROR_DS_CANT_
RETRIEVE_DN
8406
A required subref is missing.
ERROR_DS_MISSING_
SUPREF
8407
The instance type attribute could not be retrieved.
ERROR_DS_CANT_
RETRIEVE_INSTANCE
8408
An internal error has occurred.
ERROR_DS_CODE_
INCONSISTENCY
8409
A database error has occurred.
ERROR_DS_DATABASE_
ERROR
8410
The attribute GOVERNSID is missing.
ERROR_DS_GOVERNSID_
MISSING
8411
An expected attribute is missing.
ERROR_DS_MISSING_
EXPECTED_ATT
125
Chapter 5 Codes d’erreur externes
8412
The specified naming context is missing a cross
reference.
ERROR_DS_NCNAME_
MISSING_CR_REF
8413
A security checking error has occurred.
ERROR_DS_SECURITY_
CHECKING_ERROR
8414
The schema is not loaded.
ERROR_DS_SCHEMA_NOT_
LOADED
8415
Schema allocation failed.
ERROR_DS_SCHEMA_
ALLOC_FAILED
8416
Failed to obtain the required syntax for the attribute
schema.
ERROR_DS_ATT_SCHEMA_
REQ_SYNTAX
8417
The global catalog verification failed. The global
catalog is not available or does not support the
operation. Some part of the directory is currently not
available.
ERROR_DS_GCVERIFY_
ERROR
8418
The replication operation failed because of a schema
mismatch between the servers involved.
ERROR_DS_DRA_SCHEMA_
MISMATCH
8419
The DSA object could not be found.
ERROR_DS_CANT_FIND_
DSA_OBJ
8420
The naming context could not be found.
ERROR_DS_CANT_FIND_
EXPECTED_NC
8421
The naming context could not be found in the cache.
ERROR_DS_CANT_FIND_
NC_IN_CACHE
8422
The child object could not be retrieved.
ERROR_DS_CANT_
RETRIEVE_CHILD
8423
The modification was not permitted for security
reasons.
ERROR_DS_SECURITY_
ILLEGAL_MODIFY
8424
The operation cannot replace the hidden record.
ERROR_DS_CANT_
REPLACE_HIDDEN_REC
8425
The hierarchy file is invalid.
ERROR_DS_BAD_
HIERARCHY_FILE
8426
The attempt to build the hierarchy table failed.
ERROR_DS_BUILD_
HIERARCHY_TABLE_FAILED
8427
The directory configuration parameter is missing from
the registry.
ERROR_DS_CONFIG_
PARAM_MISSING
8428
The attempt to count the address book indices failed.
ERROR_DS_COUNTING_
AB_INDICES_FAILED
8429
The allocation of the hierarchy table failed.
ERROR_DS_HIERARCHY_
TABLE_MALLOC_FAILED
8430
The directory service encountered an internal failure.
ERROR_DS_INTERNAL_
FAILURE
8431
The directory service encountered an unknown failure.
ERROR_DS_UNKNOWN_
ERROR
8432
A root object requires a class of 'top'.
ERROR_DS_ROOT_
REQUIRES_CLASS_TOP
Automation Engine
126
8433
This directory server is shutting down, and cannot
ERROR_DS_REFUSING_
take ownership of new floating single-master operation FSMO_ROLES
roles.
8434
The directory service is missing mandatory
configuration information, and is unable to determine
the ownership of floating single-master operation
roles.
ERROR_DS_MISSING_
FSMO_SETTINGS
8435
The directory service was unable to transfer
ownership of one or more floating single-master
operation roles to other servers.
ERROR_DS_UNABLE_TO_
SURRENDER_ROLES
8436
The replication operation failed.
ERROR_DS_DRA_GENERIC
8437
An invalid parameter was specified for this replication
operation.
ERROR_DS_DRA_INVALID_
PARAMETER
8438
The Windows NT directory service is too busy to
complete the replication operation at this time.
ERROR_DS_DRA_BUSY
8439
The distinguished name specified for this replication
operation is invalid.
ERROR_DS_DRA_BAD_DN
8440
The naming context specified for this replication
operation is invalid.
ERROR_DS_DRA_BAD_NC
8441
The distinguished name specified for this replication
operation already exists.
ERROR_DS_DRA_DN_
EXISTS
8442
The replication system encountered an internal error.
ERROR_DS_DRA_
INTERNAL_ERROR
8443
The replication operation encountered a database
inconsistency.
ERROR_DS_DRA_
INCONSISTENT_DIT
8444
The server specified for this replication operation could ERROR_DS_DRA_
not be contacted.
CONNECTION_FAILED
8445
The replication operation encountered an object with
an invalid instance type.
ERROR_DS_DRA_BAD_
INSTANCE_TYPE
8446
The replication operation failed to allocate memory.
ERROR_DS_DRA_OUT_OF_
MEM
8447
The replication operation encountered an error with the
mail system.
ERROR_DS_DRA_MAIL_
PROBLEM
8448
The replication reference information for the target
server already exists.
ERROR_DS_DRA_REF_
ALREADY_EXISTS
8449
The replication reference information for the target
server does not exist.
ERROR_DS_DRA_REF_
NOT_FOUND
8450
The naming context cannot be removed because it is
replicated to another server.
ERROR_DS_DRA_OBJ_IS_
REP_SOURCE
8451
The replication operation encountered a database
error.
ERROR_DS_DRA_DB_
ERROR
8452
The naming context is in the process of being removed ERROR_DS_DRA_NO_
or is not replicated from the specified server.
REPLICA
8453
Replication access was denied.
ERROR_DS_DRA_ACCESS_
DENIED
127
Chapter 5 Codes d’erreur externes
8454
The requested operation is not supported by this
version of the Windows NT directory service.
ERROR_DS_DRA_NOT_
SUPPORTED
8455
The replication remote procedure call was cancelled.
ERROR_DS_DRA_RPC_
CANCELLED
8456
The source server is currently rejecting replication
requests.
ERROR_DS_DRA_SOURCE_
DISABLED
8457
The destination server is currently rejecting replication
requests.
ERROR_DS_DRA_SINK_
DISABLED
8458
The replication operation failed due to a collision of
object names.
ERROR_DS_DRA_NAME_
COLLISION
8459
The replication source has been reinstalled.
ERROR_DS_DRA_SOURCE_
REINSTALLED
8460
The replication operation failed because a required
parent object is missing.
ERROR_DS_DRA_MISSING_
PARENT
8461
The replication operation was preempted.
ERROR_DS_DRA_
PREEMPTED
8462
The replication synchronization attempt was
abandoned because of a lack of updates.
ERROR_DS_DRA_
ABANDON_SYNC
8463
The replication operation was terminated because the
system is shutting down.
ERROR_DS_DRA_
SHUTDOWN
8464
The replication synchronization attempt failed as the
destination partial attribute set is not a subset of
source partial attribute set.
ERROR_DS_DRA_
INCOMPATIBLE_PARTIAL_
SET
8465
The replication synchronization attempt failed
because a master replica attempted to sync from a
partial replica.
ERROR_DS_DRA_SOURCE_
IS_PARTIAL_REPLICA
8466
The server specified for this replication operation was
contacted, but that server was unable to contact an
additional server needed to complete the operation.
ERROR_DS_DRA_EXTN_
CONNECTION_FAILED
8467
A schema mismatch is detected between the source
and the build used during a replica install. The replica
cannot be installed.
ERROR_DS_INSTALL_
SCHEMA_MISMATCH
8468
Schema update failed: An attribute with the same link
identifier already exists.
ERROR_DS_DUP_LINK_ID
8469
Name translation: Generic processing error.
ERROR_DS_NAME_ERROR_
RESOLVING
8470
Name translation: Could not find the name or
insufficient right to see name.
ERROR_DS_NAME_ERROR_
NOT_FOUND
8471
Name translation: Input name mapped to more than
one output name.
ERROR_DS_NAME_ERROR_
NOT_UNIQUE
8472
Name translation: Input name found, but not the
associated output format.
ERROR_DS_NAME_ERROR_
NO_MAPPING
8473
Name translation: Unable to resolve completely, only
the domain was found.
ERROR_DS_NAME_ERROR_
DOMAIN_ONLY
Automation Engine
128
8474
Name translation: Unable to perform purely
syntactical mapping at the client without going out to
the wire.
ERROR_DS_NAME_ERROR_
NO_SYNTACTICAL_
MAPPING
8475
Modification of a constructed att is not allowed.
ERROR_DS_
CONSTRUCTED_ATT_MOD
8476
The OM-Object-Class specified is incorrect for an
attribute with the specified syntax.
ERROR_DS_WRONG_OM_
OBJ_CLASS
8477
The replication request has been posted; waiting for
reply.
ERROR_DS_DRA_REPL_
PENDING
8478
The requested operation requires a directory service,
and none was available.
ERROR_DS_DS_REQUIRED
8479
The LDAP display name of the class or attribute
contains non-ASCII characters.
ERROR_DS_INVALID_LDAP_
DISPLAY_NAME
8480
The requested search operation is only supported for
base searches.
ERROR_DS_NON_BASE_
SEARCH
8481
The search failed to retrieve attributes from the
database.
ERROR_DS_CANT_
RETRIEVE_ATTS
8482
The schema update operation tried to add a backward
link attribute that has no corresponding forward link.
ERROR_DS_BACKLINK_
WITHOUT_LINK
8483
Source and destination of a cross domain move do not
agree on the object's epoch number. Either source or
destination does not have the latest version of the
object.
ERROR_DS_EPOCH_
MISMATCH
8484
Source and destination of a cross domain move do not
agree on the object's current name. Either source or
destination does not have the latest version of the
object.
ERROR_DS_SRC_NAME_
MISMATCH
8485
Source and destination of a cross domain move
operation are identical. Caller should use local move
operation instead of cross domain move operation.
ERROR_DS_SRC_AND_
DST_NC_IDENTICAL
8486
Source and destination for a cross domain move are
not in agreement on the naming contexts in the forest.
Either source or destination does not have the latest
version of the Partitions container.
ERROR_DS_DST_NC_
MISMATCH
8487
Destination of a cross domain move is not
authoritative for the destination naming context.
ERROR_DS_NOT_
AUTHORITIVE_FOR_DST_
NC
8488
Source and destination of a cross domain move do not
agree on the identity of the source object. Either
source or destination does not have the latest version
of the source object.
ERROR_DS_SRC_GUID_
MISMATCH
8489
Object being moved across domains is already known
to be deleted by the destination server. The source
server does not have the latest version of the source
object.
ERROR_DS_CANT_MOVE_
DELETED_OBJECT
8490
Another operation which requires exclusive access to
the PDC PSMO is already in progress.
ERROR_DS_PDC_
OPERATION_IN_PROGRESS
129
Chapter 5 Codes d’erreur externes
8491
A cross domain move operation failed such that the
two versions of the moved object exist - one each in
the source and destination domains. The destination
object needs to be removed to restore the system to a
consistent state.
ERROR_DS_CROSS_
DOMAIN_CLEANUP_REQD
8492
This object may not be moved across domain
boundaries either because cross domain moves for
this class are disallowed, or the object has some
special characteristics, eg: trust account or restricted
RID, which prevent its move.
ERROR_DS_ILLEGAL_
XDOM_MOVE_OPERATION
8493
Can't move objects with memberships across domain
boundaries as once moved, this would violate the
membership conditions of the account group. Remove
the object from any account group memberships and
retry.
ERROR_DS_CANT_WITH_
ACCT_GROUP_
MEMBERSHPS
8494
A naming context head must be the immediate child of
another naming context head, not of an interior node.
ERROR_DS_NC_MUST_
HAVE_NC_PARENT
8495
The directory cannot validate the proposed naming
context name because it does not hold a replica of the
naming context above the proposed naming context.
ERROR_DS_CR_
IMPOSSIBLE_TO_VALIDATE
8496
Destination of a cross domain move must be in native
mode.
ERROR_DS_DST_DOMAIN_
NOT_NATIVE
8497
The operation can not be performed because the
server does not have an infrastructure container in the
domain of interest.
ERROR_DS_MISSING_
INFRASTRUCTURE_
CONTAINER
8498
Cross domain move of account groups is not allowed.
ERROR_DS_CANT_MOVE_
ACCOUNT_GROUP
8499
Cross domain move of resource groups is not allowed. ERROR_DS_CANT_MOVE_
RESOURCE_GROUP
8500
The search flags for the attribute are invalid. The ANR
bit is valid only on attributes of Unicode or Teletex
strings.
ERROR_DS_INVALID_
SEARCH_FLAG
8501
Tree deletions starting at an object which has an NC
head as a descendant are not allowed.
ERROR_DS_NO_TREE_
DELETE_ABOVE_NC
8502
The directory service failed to lock a tree in preparation ERROR_DS_COULDNT_
for a tree deletion because the tree was in use.
LOCK_TREE_FOR_DELETE
8503
The directory service failed to identify the list of
objects to delete while attempting a tree deletion.
ERROR_DS_COULDNT_
IDENTIFY_OBJECTS_FOR_
TREE_DELETE
8504
Security Accounts Manager initialization failed
because of the following error: %1.
ERROR_DS_SAM_INIT_
FAILURE
Error Status: 0x%2. Click OK to shut down the
system, then select Safe Mode during reboot. For
more information, check the event log.
8505
Only an administrator can modify the membership list
of an administrative group.
ERROR_DS_SENSITIVE_
GROUP_VIOLATION
Automation Engine
130
8506
Cannot change the primary group ID of a domain
controller account.
ERROR_DS_CANT_MOD_
PRIMARYGROUPID
9001
DNS server unable to interpret format.
DNS_ERROR_RCODE_
FORMAT_ERROR
9002
DNS server failure.
DNS_ERROR_RCODE_
SERVER_FAILURE
9003
DNS name does not exist.
DNS_ERROR_RCODE_
NAME_ERROR
9004
DNS request not supported by name server.
DNS_ERROR_RCODE_NOT_
IMPLEMENTED
9005
DNS operation refused.
DNS_ERROR_RCODE_
REFUSED
9006
DNS name that ought not exist, does exist.
DNS_ERROR_RCODE_
YXDOMAIN
9007
DNS RR set that ought not exist, does exist.
DNS_ERROR_RCODE_
YXRRSET
9008
DNS RR set that ought to exist, does not exist.
DNS_ERROR_RCODE_
NXRRSET
9009
DNS server not authoritative for zone.
DNS_ERROR_RCODE_
NOTAUTH
9010
DNS name in update or prereq is not in zone.
DNS_ERROR_RCODE_
NOTZONE
9016
DNS signature failed to verify.
DNS_ERROR_RCODE_
BADSIG
9017
DNS bad key.
DNS_ERROR_RCODE_
BADKEY
9018
DNS signature validity expired.
DNS_ERROR_RCODE_
BADTIME
9501
No records found for given DNS query.
DNS_INFO_NO_RECORDS
9502
Bad DNS packet.
DNS_ERROR_BAD_PACKET
9503
No DNS packet.
DNS_ERROR_NO_PACKET
9504
DNS error, check rcode.
DNS_ERROR_RCODE
9505
Unsecured DNS packet.
DNS_ERROR_UNSECURE_
PACKET
9551
Invalid DNS type.
DNS_ERROR_INVALID_
TYPE
9552
Invalid IP address.
DNS_ERROR_INVALID_IP_
ADDRESS
9553
Invalid property.
DNS_ERROR_INVALID_
PROPERTY
9554
Try DNS operation again later.
DNS_ERROR_TRY_AGAIN_
LATER
9555
Record for given name and type is not unique.
DNS_ERROR_NOT_UNIQUE
131
Chapter 5 Codes d’erreur externes
9556
DNS name does not comply with RFC specifications.
DNS_ERROR_NON_RFC_
NAME
9557
DNS name is a fully-qualified DNS name.
DNS_STATUS_FQDN
9558
DNS name is dotted (multi-label).
DNS_STATUS_DOTTED_
NAME
9559
DNS name is a single-part name.
DNS_STATUS_SINGLE_
PART_NAME
9601
DNS zone does not exist.
DNS_ERROR_ZONE_DOES_
NOT_EXIST
9602
DNS zone information not available.
DNS_ERROR_NO_ZONE_
INFO
9603
Invalid operation for DNS zone.
DNS_ERROR_INVALID_
ZONE_OPERATION
9604
Invalid DNS zone configuration.
DNS_ERROR_ZONE_
CONFIGURATION_ERROR
9605
DNS zone has no start of authority (SOA) record.
DNS_ERROR_ZONE_HAS_
NO_SOA_RECORD
9606
DNS zone has no name server (NS) record.
DNS_ERROR_ZONE_HAS_
NO_NS_RECORDS
9607
DNS zone is locked.
DNS_ERROR_ZONE_
LOCKED
9608
DNS zone creation failed.
DNS_ERROR_ZONE_
CREATION_FAILED
9609
DNS zone already exists.
DNS_ERROR_ZONE_
ALREADY_EXISTS
9610
DNS automatic zone already exists.
DNS_ERROR_AUTOZONE_
ALREADY_EXISTS
9611
Invalid DNS zone type.
DNS_ERROR_INVALID_
ZONE_TYPE
9612
Secondary DNS zone requires master IP address.
DNS_ERROR_
SECONDARY_REQUIRES_
MASTER_IP
9613
DNS zone not secondary.
DNS_ERROR_ZONE_NOT_
SECONDARY
9614
Need secondary IP address.
DNS_ERROR_NEED_
SECONDARY_ADDRESSES
9615
WINS initialization failed.
DNS_ERROR_WINS_INIT_
FAILED
9616
Need WINS servers.
DNS_ERROR_NEED_WINS_
SERVERS
9617
NBTSTAT initialization call failed.
DNS_ERROR_NBSTAT_
INIT_FAILED
9618
Invalid delete of start of authority (SOA)
DNS_ERROR_SOA_
DELETE_INVALID
Automation Engine
132
9651
Primary DNS zone requires datafile.
DNS_ERROR_PRIMARY_
REQUIRES_DATAFILE
9652
Invalid datafile name for DNS zone.
DNS_ERROR_INVALID_
DATAFILE_NAME
9653
Failed to open datafile for DNS zone.
DNS_ERROR_DATAFILE_
OPEN_FAILURE
9654
Failed to write datafile for DNS zone.
DNS_ERROR_FILE_
WRITEBACK_FAILED
9655
Failure while reading datafile for DNS zone.
DNS_ERROR_DATAFILE_
PARSING
9701
DNS record does not exist.
DNS_ERROR_RECORD_
DOES_NOT_EXIST
9702
DNS record format error.
DNS_ERROR_RECORD_
FORMAT
9703
Node creation failure in DNS.
DNS_ERROR_NODE_
CREATION_FAILED
9704
Unknown DNS record type.
DNS_ERROR_UNKNOWN_
RECORD_TYPE
9705
DNS record timed out.
DNS_ERROR_RECORD_
TIMED_OUT
9706
Name not in DNS zone.
DNS_ERROR_NAME_NOT_
IN_ZONE
9707
CNAME loop detected.
DNS_ERROR_CNAME_LOOP
9708
Node is a CNAME DNS record.
DNS_ERROR_NODE_IS_
CNAME
9709
A CNAME record already exists for given name.
DNS_ERROR_CNAME_
COLLISION
9710
Record only at DNS zone root.
DNS_ERROR_RECORD_
ONLY_AT_ZONE_ROOT
9711
DNS record already exists.
DNS_ERROR_RECORD_
ALREADY_EXISTS
9712
Secondary DNS zone data error.
DNS_ERROR_
SECONDARY_DATA
9713
Could not create DNS cache data.
DNS_ERROR_NO_CREATE_
CACHE_DATA
9714
DNS name does not exist.
DNS_ERROR_NAME_DOES_
NOT_EXIST
9715
Could not create pointer (PTR) record.
DNS_WARNING_PTR_
CREATE_FAILED
9716
DNS domain was undeleted.
DNS_WARNING_DOMAIN_
UNDELETED
9717
The Windows NT directory service is unavailable.
DNS_ERROR_DS_
UNAVAILABLE
133
Chapter 5 Codes d’erreur externes
9718
DNS zone already exists in Windows NT directory
service.
DNS_ERROR_DS_ZONE_
ALREADY_EXISTS
9719
DNS server not creating or reading the boot file for the
directory service integrated DNS zone.
DNS_ERROR_NO_
BOOTFILE_IF_DS_ZONE
9751
DNS AXFR (zone transfer) complete.
DNS_INFO_AXFR_
COMPLETE
9752
DNS zone transfer failed.
DNS_ERROR_AXFR
9753
Added local WINS server.
DNS_INFO_ADDED_LOCAL_
WINS
9801
Secure update call needs to continue update request.
DNS_STATUS_CONTINUE_
NEEDED
9851
TCP/IP network protocol not installed.
DNS_ERROR_NO_TCPIP
9852
No DNS servers configured for local system.
DNS_ERROR_NO_DNS_
SERVERS
10004 A blocking operation was interrupted by a call to
WSACancelBlockingCall.
WSAEINTR
10009 The file handle supplied is not valid.
WSAEBADF
10013 An attempt was made to access a socket in a way
forbidden by its access permissions.
WSAEACCES
10014 The system detected an invalid pointer address in
attempting to use a pointer argument in a call.
WSAEFAULT
10022 An invalid argument was supplied.
WSAEINVAL
10024 Too many open sockets.
WSAEMFILE
10035 A non-blocking socket operation could not be
completed immediately.
WSAEWOULDBLOCK
10036 A blocking operation is currently executing.
WSAEINPROGRESS
10037 An operation was attempted on a non-blocking socket
that already had an operation in progress.
WSAEALREADY
10038 An operation was attempted on something that is not a WSAENOTSOCK
socket.
10039 A required address was omitted from an operation on a WSAEDESTADDRREQ
socket.
10040 A message sent on a datagram socket was larger than WSAEMSGSIZE
the internal message buffer or some other network
limit, or the buffer used to receive a datagram into was
smaller than the datagram itself.
10041 A protocol was specified in the socket function call
WSAEPROTOTYPE
that does not support the semantics of the socket type
requested.
10042 An unknown, invalid, or unsupported option or level
was specified in a getsockopt or setsockopt call.
WSAENOPROTOOPT
10043 The requested protocol has not been configured into
the system, or no implementation for it exists.
WSAEPROTONOSUPPORT
Automation Engine
134
10044 The support for the specified socket type does not
exist in this address family.
WSAESOCKTNOSUPPORT
10045 The attempted operation is not supported for the type
of object referenced.
WSAEOPNOTSUPP
10046 The protocol family has not been configured into the
system or no implementation for it exists.
WSAEPFNOSUPPORT
10047 An address incompatible with the requested protocol
was used.
WSAEAFNOSUPPORT
10048 Only one usage of each socket address
(protocol/network address/port) is normally permitted.
WSAEADDRINUSE
10049 The requested address is not valid in its context.
WSAEADDRNOTAVAIL
10050 A socket operation encountered a dead network.
WSAENETDOWN
10051 A socket operation was attempted to an unreachable
network.
WSAENETUNREACH
10052 The connection has been broken due to keep-alive
activity detecting a failure while the operation was in
progress.
WSAENETRESET
10053 An established connection was aborted by the
software in your host machine.
WSAECONNABORTED
10054 An existing connection was forcibly closed by the
remote host.
WSAECONNRESET
10055 An operation on a socket could not be performed
because the system lacked sufficient buffer space or
because a queue was full.
WSAENOBUFS
10056 A connect request was made on an already connected
socket.
WSAEISCONN
10057 A request to send or receive data was disallowed
because the socket is not connected and (when
sending on a datagram socket using a sendto call) no
address was supplied.
WSAENOTCONN
10058 A request to send or receive data was disallowed
because the socket had already been shut down in
that direction with a previous shutdown call.
WSAESHUTDOWN
10059 Too many references to some kernel object.
WSAETOOMANYREFS
10060 A connection attempt failed because the connected
WSAETIMEDOUT
party did not properly respond after a period of time, or
established connection failed because connected host
has failed to respond.
10061 No connection could be made because the target
machine actively refused it.
WSAECONNREFUSED
10062 Cannot translate name.
WSAELOOP
10063 Name component or name was too long.
WSAENAMETOOLONG
10064 A socket operation failed because the destination host
was down.
WSAEHOSTDOWN
135
Chapter 5 Codes d’erreur externes
10065 A socket operation was attempted to an unreachable
host.
WSAEHOSTUNREACH
10066 Cannot remove a directory that is not empty.
WSAENOTEMPTY
10067 A Windows Sockets implementation may have a limit
on the number of applications that may use it
simultaneously.
WSAEPROCLIM
10068 Ran out of quota.
WSAEUSERS
10069 Ran out of disk quota.
WSAEDQUOT
10070 File handle reference is no longer available.
WSAESTALE
10071 Item is not available locally.
WSAEREMOTE
10091 WSAStartup cannot function at this time because the
underlying system it uses to provide network services
is currently unavailable.
WSASYSNOTREADY
10092 The Windows Sockets version requested is not
supported.
WSAVERNOTSUPPORTED
10093 Either the application has not called WSAStartup, or
WSAStartup failed.
WSANOTINITIALISED
10101 Returned by WSARecv or WSARecvFrom to indicate
the remote party has initiated a graceful shutdown
sequence.
WSAEDISCON
10102 No more results can be returned by
WSALookupServiceNext.
WSAENOMORE
10103 A call to WSALookupServiceEnd was made while this
call was still processing. The call has been canceled.
WSAECANCELLED
10104 The procedure call table is invalid.
WSAEINVALIDPROCTABLE
10105 The requested service provider is invalid.
WSAEINVALIDPROVIDER
10106 The requested service provider could not be loaded or
initialized.
WSAEPROVIDERFAILEDINIT
10107 A system call that should never fail has failed.
WSASYSCALLFAILURE
10108 No such service is known. The service cannot be
found in the specified name space.
WSASERVICE_NOT_FOUND
10109 The specified class was not found.
WSATYPE_NOT_FOUND
10110 No more results can be returned by
WSALookupServiceNext.
WSA_E_NO_MORE
10111 A call to WSALookupServiceEnd was made while this
call was still processing. The call has been canceled.
WSA_E_CANCELLED
10112 A database query failed because it was actively
refused.
WSAEREFUSED
11001 No such host is known.
WSAHOST_NOT_FOUND
11002 This is usually a temporary error during hostname
resolution and means that the local server did not
receive a response from an authoritative server.
WSATRY_AGAIN
Automation Engine
136
11003 A non-recoverable error occurred during a database
lookup.
WSANO_RECOVERY
11004 The requested name is valid and was found in the
database, but it does not have the correct associated
data being resolved for.
WSANO_DATA
11005 At least one reserve has arrived.
WSA_QOS_RECEIVERS
11006 At least one path has arrived.
WSA_QOS_SENDERS
11007 There are no senders.
WSA_QOS_NO_SENDERS
11008 There are no receivers.
WSA_QOS_NO_RECEIVERS
11009 Reserve has been confirmed.
WSA_QOS_REQUEST_
CONFIRMED
11010 Error due to lack of resources.
WSA_QOS_ADMISSION_
FAILURE
11011 Rejected for administrative reasons - bad credentials.
WSA_QOS_POLICY_
FAILURE
11012 Unknown or conflicting style.
WSA_QOS_BAD_STYLE
11013 Problem with some part of the filterspec or
providerspecific buffer in general.
WSA_QOS_BAD_OBJECT
11014 Problem with some part of the flowspec.
WSA_QOS_TRAFFIC_CTRL_
ERROR
11015 General QOS error.
WSA_QOS_GENERIC_
ERROR
137
Chapter 6 Prise en charge SNMP
6 Prise en charge SNMP
6.1 Généralités sur SNMP
SNMP (Simple Network Management Protocol) est une norme industrielle pour la surveillance et
le contrôle de systèmes, d'appareils et de composants dans un environnement de réseau. Elle a
été définie par l'IETF (Internet Engineering Task Force). En tant que communauté d'intérêts,
l'IEFT s'occupe des problèmes de TCT/IP et d'Internet.
Lors de la surveillance et du contrôle d'unités de réseau, on fait généralement la distinction entre la
gestion SNMP et les Agents SNMP. L'Agent SNMP s'exécute sur la machine dont les systèmes,
les appareils ou les composants sont surveillés et contrôlés. Network Management Station (NMS)
est une machine qui affiche à l'aide d'une application les informations actuelles des unités de
réseau surveillées et qui peut également modifier les paramètres de ces unités de réseau.
Les Agents NMS et SNMP communiquent via le protocole de réseau TCP/IP. Deux types de
communication sont utilisés. D'une part, Network Management Station interroge l'état des unités de
réseau surveillées auprès des Agents SNMP ou définit de nouveaux paramètres. D'autre part,
l'Agent SNMP envoie des modifications d'état des unités de réseau surveillées à Network
Management Station. L'annonce d'une telle modification de statut s'appelle "interruption" ou
"interruption SNMP".
Afin de pouvoir reconnaître au niveau mondial de manière incontestable les systèmes, appareils et
composants, un espace d'adresse MIB (Management Information Base) a été convenu. Dans la
MIB, il existe pour chaque unité de réseau à surveiller une ID de MIB. L'ID de MIB se compose
d'une suite de numéros séparés par des points. La MIB mondiale représente une énorme
arborescence avec des ramifications vers chacun des composants et systèmes.
SNMP fonctionne sur la base d'UDP (User Datagram Protocol). Ce protocole simple n'utilise
aucune surveillance des erreurs ni aucune confirmation des informations transmises. SNMP utilise
par défaut le port 161 pour les interrogations des Agents SNMP et le port 162 comme destinataire
d'interruption.
6.2 Automation Engine et SNMP
Les différents statuts qui apparaissent dans le système AE peuvent être surveillés par SNMP.
C'est le cas, par exemple, pour la disponibilité d'Automation Engine et des Agents, des objets
Alerte actifs ou des Tâches bloquantes.
L'illustration suivante vous montre l'interaction entre l'Automation Engine et SNMP :
Automation Engine
138
Si vous activez la connexion SNMP dans le Automation Engine, les valeurs pertinentes pour la
surveillance du système AE sont envoyées au sous-agent SNMP. Ce dernier enregistre les
informations reçues dans sa MIB et la met à disposition de l'Agent maître SNMP. Le contenu de la
MIB est protégé en écriture, c'est-à-dire que le sous-agent SNMP n'autorise aucune modification de
valeur par la commande SNMP SET.
Il existe deux façons pour les applications telles que HP OpenView Operations d'accéder aux
informations :
l
l
Les applications demandent les informations à des intervalles périodiques par l'intermédiaire
de l'Agent maître SNMP. Ce dernier communique avec le sous-agent SNMP pour obtenir les
valeurs.
Des Evènements particulièrement importants qui se produisent dans le système AE
déclenchent des interruptions SNMP. Le sous-agent SNMP les transfère immédiatement à
l'Agent maître SNMP afin que les applications puissent être directement averties.
Dans certaines situations, le Automation Engine génère des interruptions prédéfinies. Vous pouvez
également envoyer vous-même des interruptions en utilisant l'application de Script :SEND_SNMP_
TRAP.
Dans le fichier INI du sous-agent SNMP, il est possible de configurer si la MIB est pleine et/ou si
des interruptions doivent être envoyées. Par défaut, les deux Tâches sont exécutées. Si vous ne
souhaitez utiliser que les interruptions, il est judicieux de désactiver le remplissage de la MIB.
L'utilisation inutile de performance est ainsi évitée. Le paramètre de configuration se nomme
processing= et se trouve à la section [SNMP].
139
Chapter 6 Prise en charge SNMP
Mode Agent maître sous UNIX
Sous UNIX, le sous-agent SNMP est également capable d'agir en tant qu'Agent maître SNMP.
Cela présente l'avantage de vous éviter la configuration du service SNMP.
Rubriques connexes : Structure de la MIB
Installation du sous-agent SNMP (UNIX)
Installation du sous-agent SNMP (Windows)
Glossaire et FAQ du sous-agent SNMP
Conditions préalables - check-list
6.3 Mode Agent sous UNIX
Le sous-agent SNMP peut être exécuté sous UNIX en tant que maître ou en tant que sous-agent.
Définissez le mode voulu dans le fichier INI avec le paramètre role= de la section [SNMP].
Agent maître (conseillé)
Avantages :
l
l
l
Inutile d'installer Net-SNMP
Meilleure performances
Mise en évidence plus facile des erreurs
Inconvénients :
l
l
l
Seule la surveillance de l'Automation Engine est démarrée
Aucune autre MIB disponible
La Variable SNMPCONFPATH doit être définie. Elle contient le répertoire du fichier
ucsnmp1.conf (p. ex : "export SNMPCONFPATH=./")
Automation Engine
140
Dans le fichier ucsnmp1.conf, il est possible d'indiquer le même paramètre que dans le fichier de
configuration de l'Agent net-SNMP (snmpd.conf).
Les paramètres suivants sont utilisés par le sous-agent SNMP et possèdent la fonctionnalité :
l
l
l
l
l
trapcommunity
trapsink
rocommunity
rwcommunity
master
Vous trouverez l'explication des différents paramètres dans la description de snmp.conf du netSNMP.
Exemple de fichier ucsnmp1.conf :
trapsink host1
trapsink host2
rocommunity public
master agentx
En mode Agent maître, aucun autre sous-agent ne peut établir de connexion au sous-agent
SNMP.
Sous-agent
Le sous-agent SNMP fonctionne avec un Agent maître existant :
l
Un Agent maître compatible AgentX doit être démarré.
141
Chapter 6 Prise en charge SNMP
l
l
Le moyen de communication standard est le fichier de socket local présent dans le répertoire
/var/agentx/master. Ce fichier est créé par l'Agent maître. Le sous-agent SNMP doit en
posséder les droits d'accès.
Le fichier de configuration snmpd.conf contient quelques paramètres :
Exemple de fichier ucsnmp1.conf :
trapsink
rocommunity
local
public
HP-UX
Le sous-agent SNMP doit être exécuté en mode Agent maître sous HP-UX. L'Agent maître natif
d'un système HP-UX est EMANATE. Le sous-agent SNMP utilise l'interface naaagt pour
communiquer avec lui. Elle sert de proxy SNMP. Le sous-agent SNMP redirige la requête SNMP
vers un autre port UDP via un OID enregistré. Le port par défaut utilisé par naaagt est 8161. Le
sous-agent SNMP doit donc utiliser un port autre que 161.
De plus amples informations relatives à la configuration de l'interface sont disponibles dans la
documentation sur naaagt
Rubriques connexes : L'Automation Engine et SNMP
6.4 FAQ et glossaire du sous-agent SNMP
Vous trouverez ici la foire aux questions et les termes importants concernant le sous-agent
SNMP.
Automation Engine
142
Termes importants :
l
l
l
l
SNMP : Simple Network Management Protocol
MIB : Management Information Base. Enregistre les informations dans une structure
arborescente. La MIB fait partie des sous-agents SNMP.
Agent maître : service SNMP qui communique avec des sous-agents SNMP afin de
demander des informations à la MIB et de les transférer aux applications.
Sous-agent : enregistre des informations dans la MIB et les met à disposition dans l'Agent
maître.
Questions fréquemment posées :
Qu'est-ce qu'un OID ?
Chaque élément d'information de la MIB possède un OID (Object Identifier) unique destiné à lire le
contenu. Les OID comportent une suite de nombres séparés par des points. Ils sont uniques au
niveau mondial. La MIB du sous-agent SNMP possède l'OID "1.3.6.1.4.1.2562.1.1". Chaque
contenu de la MIB dispose également d'un numéro ajouté à l'OID de la MIB. La structure
arborescente de la MIB crée des OID représentant la structure.
Exemple :
L'OID de la version de l'agent AE est : "1.3.6.1.4.1.2562.1.1.1.1.0 "
L'OID se compose des parties suivantes :
1.3.6.1.4.1.2562.1.1 : MIB
1 : Groupe Agent
1.1.0 : version de l'agent AE
Qu'est-ce qu'une interruption ?
Une interruption est un message asynchrone envoyé par l'Automation Engine au sous-agent
SNMP. Les interruptions ne sont pas enregistrées dans la MIB mais transférées directement à
l'Agent maître. Les applications reçoivent ainsi immédiatement les informations importantes.
Comment envoyer une interruption ?
Dans certaines situations, l'Automation Engine envoie des interruptions prédéfinies. Mais
l'instruction de script :SEND_SNMP_TRAP vous permet d'envoyer vos propres interruptions.
Pourquoi les interruptions n'apparaissent-elles pas dans la table MIB ?
Les interruptions sont directement transférées à l'Agent maître. Un enregistrement dans la MIB
n'est donc pas nécessaire.
Pourquoi les interruptions n'apparaissent-elles pas ?
Cela peut avoir différentes causes :
l
l
l
Vérifiez la valeur du paramètre processing= dans le fichier INI du sous-agent SNMP. La
valeur "1" signifie qu'aucune interruption ne peut être envoyée à l'Agent maître.
L'ordinateur sur lequel l'Agent maître est exécuté doit être indiqué comme destination
d'interruption. Sous Windows, il faut entrer le nom de l'ordinateur dans le service SNMP de
Windows. Sous UNIX, il doit être indiqué dans le fichier snmpd.conf ou ucsnmp1.conf.
Le community name que vous avez indiqué dans le fichier INI du sous-agent SNMP pour le
paramètre community= doit correspondre à celui de l'Agent maître.
Qu'est-ce que Net-SNMP ?
143
Chapter 6 Prise en charge SNMP
Net-SNMP est un Serveur SNMP Open source sous UNIX.
Quelle versions de SNMP sont prises en charge par le sous-agent SNMP ?
Pour UNIX : SNMP V1, SNMP V2c et SNMP V3
Pour Windows : SNMP V1 et SNMP V2c
Comment installer le sous-agent SNMP ultérieurement ?
Les instructions d'installation (UNIX et Windows) décrivent les étapes d'une installation ultérieure.
Comment savoir si le sous-agent SNMP a été correctement installé ?
Utilisez pour cela l'outil SNMP qui se trouve sur le CD, dans le fichier snmptools.zip du répertoire
Tools\no_supp. Il permet de lire la MIB, de recevoir et d'envoyer des interruptions, etc.
Attention : nous ne prenons PAS en charge l'outil SNMP !
Pourquoi le sous-agent SNMP ne réagit-il pas aux demandes de l'Agent-maître ?
Cela peut avoir différentes causes :
l
l
Le sous-agent SNMP n'est pas démarré ou le service SNMP n'est pas en cours d'exécution.
Le community name que vous avez indiqué dans le fichier INI du sous-agent SNMP pour le
paramètre community= doit correspondre à celui de l'Agent maître.
Pourquoi la table MIB n'est-elle pas complète ?
La structure arborescente de la MIB est créée dynamiquement. Si par exemple il n'y a pas de Tâche
bloquée ou d'objet Alerte actif, le sous-agent SNMP ne crée aucune structure pour ces domaines.
Si l'Automation Engine n'est pas actif, seuls l'Agent Data Group et l'Agent Work Group sont créés
et remplis avec les valeurs.
Quelles configurations dois-je effectuer sur le Serveur SNMP (Net-SNMP, Service SNMP de
Windows ou mode Agent-maître) ?
l
l
l
l
l
Entrez un community name.
Il doit posséder au moins le droit de lecture.
Indiquez la destination des interruptions (nom d'hôte ou adresse IP).
Vérifiez si le réseau autorise l'accès au port UDP 161.
Si vous souhaitez recevoir des interruptions, l'accès au port UDP 162 doit également être
autorisé.
Qu'est-ce qu'un community name ?
Un community name est un Groupe auquel vous pouvez attribuer des droits d'accès. Son nom par
défaut est "public".
Comment effectuer le suivi des Job par SNMP ?
L'Automation Engine ne prend en charge aucune connexion directe des Jobs à SNMP. Mais
l'instruction de script :SEND_SNMP_TRAP vous permet d'effectuer le suivi des Jobs.
Exemple :
:SET
:SET
:SET
:SET
:SET
&NOM# = SYS_ACT_ME_NAME()
&ID# = SYS_ACT_ME_NR()
&JPNOM# = SYS_ACT_PARENT_NAME()
&CLIENT# = SYS_ACT_CLIENT()
&STATUT# = GET_UC_OBJECT_STATUS()
Automation Engine
144
:IF &STATUT# < "1900"
: PRINT &STATUT#
: PRINT "Client : &CLIENT#, JOBNAME : &NOM#"
: PRINT &NOM#
: SEND_SNMP_TRAP 801450, "&CLIENT#", "&NOM#",, "Problèmes dans le
contrôle du déroulement !"
:ENIDF
La fonction script GET_UC_OBJECT_STATUS vous permet de savoir avec quel statut un Job
s'est terminé et de réagir ensuite de façon appropriée. La solution peut être appliquée sous forme de
script ou d'objet Include réutilisable.
Rubriques connexes :
L'Automation Engine et SNMP
6.5 Installation
6.5.1 Installation du sous-Agent SNMP (UNIX)
Le document suivant contient les instructions d'installation UNIX pour le sous-agent SNMP.
Attention : le sous-agent SNMP doit être installé sur un ordinateur contenant au moins un des
processus de travail de l'Automation Engine !
Prérequis
l
l
Le sous-agent SNMP et Net-SNMP doivent être installés et activés sur l'ordinateur sur
lequel l'Automation Engine est exécuté.
Exception faite de HP-UX : le sous-agent SNMP doit être ici utilisé comme Agent maître
SNMP si vous souhaitez utiliser EMANATE via naaagt. (Configuration de naaagt
http://docs.hp.com/en/B2355-90692/naaagt.1M.html)
Fichiers fournis
Les données du sous-agent SNMP se trouvent dans le sous-dossier correspondant de la plateforme
sur IMAGE:SNMP\UNIX.
Nom du fichier
Description
ucsnmp1
Sous-Agent SNMP.
ucsnmp1.ini
Fichier INI du sous-agent SNMP
UC4Vers2-MIB.mib
Description de la MIB
ucsnmp1.conf
Fichier de configuration pour le mode Agent maître
naaacnf
Fichier de configuration pour l'interface naaagt (seulement HP-UX)
145
Chapter 6 Prise en charge SNMP
Installation
1.
l
l
Installation des fichiers
Décompressez le fichier TAR du sous-agent SNMP.
Copiez les fichiers décompressés dans un répertoire quelconque ou dans le dossier de
l'Automation Engine.
2.
l
l
l
Configuration des fichiers INI
Activez la connexion SNMP dans le fichier INI de l'Automation Engine UCSRV.INI avec le
paramètre snmp=1 (section [GLOBAL]). Définissez également les paramètres snmp= et
snmpreconnect= (section [TCP/IP]).
Terminez et redémarrez ensuite les processus de communication et de travail de
l'Automation Engine sur tous les ordinateurs. Si le fichier INI de l'Automation Engine est déjà
adapté, un redémarrage n'est pas nécessaire.
Adaptez les paramètres du fichier INI du sous-agent SNMP.
3.
l
l
l
l
l
Le mode Agent maître doit impérativement être défini sur HP-UX. Sur toutes les autres
plateformes, vous pouvez choisir d'exécuter le sous-agent SNMP en tant qu'Agent maître ou
non.
Configurez le mode Agent maître dans le fichier INI du sous-agent SNMP avec le paramètre
role=1.
Adaptez les fichiers de configuration fournis naacnf et ucsnmp1.conf.
La Variable SNMPCONFPATH doit être définie. Elle contient le répertoire dans lequel se
trouve le fichier ucsnmp1.conf (par exemple : "export SNMPCONFPATH=./").
Les variables d'environnement MIB et MIBDIR ne doivent pas être définies.
4.
l
l
Mode Agent maître
Démarrage du sous-agent SNMP
Démarrez le sous-agent SNMP en indiquant le fichier INI.
Le sous-agent SNMP doit impérativement être démarré sous l'utilisateur racine, car sinon
l'Automation Engine ne pourra pas établir de connexion !
Exemple :
./ucsnmp1 -i /home/UC4/Server/ucsnmp1.ini &
Les paramètres de démarrage suivants s'appliquent :
Paramètres de
démarrage
Description
-i Chemin et nom
du fichier INI
Chemin et nom du fichier INI devant être utilisé
Le fichier INI est recherché par défaut dans le dossier dans
lequel se trouve le sous-agent SNMP.
-h
Affiche les paramètres disponibles et leur utilisation
-v
Affiche la version du sous-agent SNMP
Automation Engine
Paramètres de
démarrage
Description
-crtini Chemin et
nom du fichier INI
Crée un fichier INI standard
146
Le fichier INI est enregistré par défaut dans le dossier dans
lequel se trouve le sous-agent SNMP.
L'ordre dans lequel l'Automation et le sous-agent SNMP sont démarrés n'a aucune importance.
Tenez compte à ce sujet des remarques suivantes :
l
l
l
l
Si le sous-agent SNMP a été démarré en premier, l'Automation Engine pourra
immédiatement se connecter au sous-agent SNMP lors du démarrage.
Si l'Automation Engine fonctionne déjà avec une connexion SNMP active (UCSRV.INI),
cette dernière tentera d'atteindre le sous-agent SNMP à intervalles réguliers
(snmpreconnect=). Le service SNMP peut également être démarré ultérieurement lorsque
l'Automation Engine est en cours.
Attention : les interruptions et tous les Evènements SNMP ne peuvent être envoyés au
sous-agent SNMP que si la connexion SNMP est active. Si la reconnexion n'est pas encore
effectuée, les Evènements affichés jusqu'ici seront perdus !
L'intervalle de temps dans lequel la reconnexion est effectuée doit être défini dans le fichier
INI de l'Automation Engine via le paramètre snmpreconnect= (valeur par défaut : 500
secondes)
Au démarrage de l'Agent SNMP, des messages s'affichent. Il ne s'agit pas d'erreurs, mais
d'avertissements. Une restriction de la fonctionnalité n'est donc pas indiquée. Par exemple, le
message suivant apparaît toujours et peut être ignoré : "No log handling enabled - turning on stderr
logging"
6.5.2 Sous-Agent SNMP pour UNIX
Structure du fichier ucsnmp1.ini
Section/paramètre
Description
[SNMP]
community=
Community name SNMP
Valeur par défaut : "public"
La désignation est définie dans l'Agent maître. Entrez-y le même
community name. Le community name est disponible dans le fichier
snmp.conf ou dans le fichier ucsnmp1.conf si vous exploitez le sousagent SNMP en tant qu'Agent maître (voir les instructions
d'installation).
147
Chapter 6 Prise en charge SNMP
Section/paramètre
Description
medium=
Moyen de transport utilisé pour la communication entre l'Automation
Engine et le sous-agent SNMP.
Valeur possible : "tcp" (valeur par défaut), "pipe"
"tcp" - communication via socket
"pipe" - communication via pipe (compatibilité vers le bas du sousagent SNMP : paramètre uniquement pour les systèmes AE des
versions 5.00A et 6.00A)
stream_port=
Numéro de port recevant la connexion de l'Automation Engine vers le
sous-agent SNMP.
Attention, vous devez définir le même numéro de port dans le fichier
INI de l'Automation Engine sous le paramètre snmp= (section
[TCP/IP]) !
snmp_string=
Si role=0 est défini, le chemin vers l'AgentX-Socket peut être défini ici
pour Net-SNMP.
processing=
Mode du sous-agent SNMP
Valeurs autorisées : "1", "2" et "3" (valeur par défaut)
"1" : la MIB est remplie, mais les interruptions ne sont pas envoyées
"2" : la MIB n'est pas remplie, mais les interruptions sont envoyées
"3" : la MIB est remplie et les interruptions sont envoyées.
role=
Rôle du sous-agent SNMP
Valeurs autorisées : "0" (valeur par défaut) et "1"
"0" : le sous-agent SNMP est démarré en tant que sous-agent.
"1" : le sous-agent SNMP est démarré en tant qu'Agent maître. En
mode Agent maître, aucun autre sous-agent ne peut établir de
connexion au mode.
Attention : le mode Agent maître est absolument nécessaire sur HPUX pour pouvoir établir une connexion avec EMANATE via naaagent.
[LOG]
snmp=
stream=
mib=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
Automation Engine
Section/paramètre
Description
stream=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
148
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
mib=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
file=
Chemin et nom du fichier log.
Les caractères numériques servent de caractère de remplacement pour
une numérotation croissante. Au démarrage du sous-agent SNMP, les
fichiers log sont renommés de telle manière que le fichier log actuel ait
toujours le numéro "00".
Le fichier log est créé par défaut dans le dossier à partir duquel est
démarré le sous-agent SNMP.
Exemple de fichier INI
[SNMP]
community=public
medium=tcp
stream_port=2200
snmp_string=/var/agentx/master
processing=3
role=0
lib_path=.
[LOG]
snmp=1
stream=1
mib=1
file=ucsnmp_##.log
Rubriques connexes : Conseils d'adaptation des fichiers de configuration
6.5.3 Installation du sous-Agent SNMP (Windows)
Le document suivant contient les instructions d'installation Windows pour le sous-agent SNMP.
149
Chapter 6 Prise en charge SNMP
Prérequis
l
l
Le sous-agent SNMP et le service SNMP Windows doivent être installés et activés sur la
machine sur laquelle s'exécute Automation Engine.
Si le sous-agent SNMP ne peut pas démarrer sous Windows Vista ou Windows Server
2008 et que dans le log d'évènement Windows, le message d'erreur "SNMP Extension
Agent has terminated. Event 2020, EvntAgnt" est journalisé, le patch Windows KB950923
doit être installé.
Fichiers fournis
Les données du sous-agent SNMP se trouvent dans le sous-dossier correspondant de la plateforme
sur IMAGE:SNMP\WINDOWS.
Nom du fichier
Description
UCSNMP1.DLL
Sous-Agent SNMP.
UCSNMP1.INI
Fichier INI du sous-agent SNMP
UC4VERS2-MIB.MIB Description de la MIB
Installation
Le sous-agent SNMP peut être mis en place lors de l'installation d'Automation Engine ou
ultérieurement.
1.
l
l
Installation des fichiers
Exécutez le programme d'installation du sous-agent SNMP. Une autre possibilité consiste à
copier manuellement la bibliothèque UCSNMP1.DLL et le fichier INI UCSNMP1.INI dans le
répertoire %WINDIR%\System32.
Enregistrez la bibliothèque dans la base de données du registre :
[HKEY_LOCAL_MACHINE\SOFTWARE\AE\SnmpAgent\Vers1]
"Pathname"="UCSnmp1.dll"
[HKEY_LOCAL_
MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents]
"10"="SOFTWARE\\AE\\SnmpAgent\\Vers1"
2.
l
l
Configuration des fichiers INI
Activez la connexion SNMP dans le fichier INI de l'Automation Engine UCSRV.INI avec le
paramètre snmp=1 (section [GLOBAL]). Définissez également les paramètres snmp= et
snmpreconnect= (section [TCP/IP]).
Terminez et redémarrez ensuite les processus de communication et de travail de
l'Automation Engine sur tous les ordinateurs. Si le fichier INI de l'Automation Engine est déjà
adapté, un redémarrage n'est pas nécessaire.
Automation Engine
l
l
l
Configurez le service Windows SNMP.
Adaptez les paramètres du fichier INI du sous-agent SNMP.
Le sous-agent SNMP utilise le chemin des Variables d'environnement système UC_SNMP_
INI de Windows afin d'accéder aux fichiers INI. Si la Variable requise n'est pas disponible,
elle est recherchée dans le répertoire d'installation du sous-agent SNMP. Au cas où le fichier
INI ne serait pas inclus, les valeurs par défaut des paramètres sont acceptées.
3.
l
150
Démarrage du sous-agent SNMP
Redémarrez le service Windows SNMP. Le sous-agent SNMP est automatiquement
démarré par le service SNMP de Windows.
L'ordre dans lequel l'Automation Engine et le sous-agent SNMP sont démarrés n'a aucune
importance. Tenez compte à ce sujet des remarques suivantes :
l
l
l
l
Si le sous-agent SNMP a été démarré en premier, l'Automation Engine pourra
immédiatement se connecter au sous-agent SNMP lors du démarrage.
Si l'Automation Engine fonctionne déjà avec une connexion SNMP active (UCSRV.INI),
cette dernière tentera d'atteindre le sous-agent SNMP à intervalles réguliers
(snmpreconnect=). Le service SNMP peut également être démarré ultérieurement lorsque
l'Automation Engine est en cours.
Attention : les interruptions et tous les Evènements SNMP ne peuvent être envoyés au
sous-agent SNMP que si la connexion SNMP est active. Si la reconnexion n'est pas encore
effectuée, les Evènements affichés jusqu'ici seront perdus !
L'intervalle de temps dans lequel la reconnexion est effectuée doit être défini dans le fichier
INI de l'Automation Engine via le paramètre snmpreconnect= (valeur par défaut : 500
secondes)
La version des interruptions SNMP est déterminée par l'Agent maître (service Windows).
6.5.4 Sous-Agent SNMP pour Windows
Structure du fichier ucsnmp1.ini
Section/paramètre
Description
[SNMP]
community=
Community name SNMP
Valeur par défaut : "public"
La désignation est définie dans l'Agent maître. Entrez-y le même
community name. Le paramétrage du community name est disponible
dans les propriétés du services SNMP de Windows.
151
Chapter 6 Prise en charge SNMP
Section/paramètre
Description
medium=
Moyen de transport utilisé pour la communication entre l'Automation
Engine et le sous-agent SNMP.
Valeur possible : "tcp" (valeur par défaut), "pipe"
"tcp" - communication via socket
"pipe" - communication via pipe (compatibilité vers le bas du sousagent SNMP : paramètre uniquement pour les systèmes AE des
versions 5.00A et 6.00A)
stream_port=
Numéro de port recevant la connexion de l'Automation Engine vers le
sous-agent SNMP.
Attention, vous devez définir le même numéro de port dans le fichier
INI de l'Automation Engine sous le paramètre snmp= (section
[TCP/IP]) !
processing=
Mode du sous-agent SNMP
Valeurs autorisées : "1", "2" et "3" (valeur par défaut)
"1" : la MIB est remplie, mais les interruptions ne sont pas envoyées
"2" : la MIB n'est pas remplie, mais les interruptions sont envoyées
"3" : la MIB est remplie et les interruptions sont envoyées.
[LOG]
snmp=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
stream=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
mib=
Indicateur de trace pour l'édition de messages de trace à partir du
module qui lit les données de la table MIB et les envoie au réseau.
Valeurs autorisées : "0" à "9"
Valeur par défaut : "1"
Les indicateurs de trace ne doivent être définis qu'après accord
définitif du support !
Automation Engine
Section/paramètre
Description
file=
Chemin et nom du fichier log.
152
Les caractères numériques servent de caractère de remplacement pour
une numérotation croissante. Au démarrage du sous-agent SNMP, les
fichiers log sont renommés de telle manière que le fichier log actuel ait
toujours le numéro "00".
Le fichier log est créé par défaut dans le dossier à partir duquel est
démarré le sous-agent SNMP.
Exemple de fichier INI
[SNMP]
community=public
medium=tcp
stream_port=2200
processing=3
[LOG]
snmp=1
stream=1
mib=1
file=ucsnmp_##.log
Rubriques connexes : Conseils d'adaptation des fichiers de configuration
6.5.5 Configuration du service SNMP de Windows
La description suivante explique la configuration du service SNMP de Windows.
Prérequis
l
Le service SNMP de Windows doit être installé.
Déroulement
l
l
Ouvrez les propriétés du service SNMP de Windows.
Allez dans l'onglet "Interruptions". Entrez un community name et ajoutez l'ordinateur sur
lequel la gestion SNMP est installée.
153
Chapter 6 Prise en charge SNMP
l
Allez dans l'onglet "Sécurité". Ajoutez le droit de lecture du community name.
Automation Engine
154
Rubriques connexes : Installation du sous-Agent SNMP (Windows)
6.6 MIB
6.6.1 Structure de la MIB
La branche enregistrée de l'arborescence de la MIB est la suivante pour la société Automic et son
produit Automic 1.3.6.1.4.1.2562.1.1 =
iso.org.dod.internet.private.enterprises.sbb.uc4.vers1. Cette adresse est donc la racine de la
sous-arborescence de l'Automation Engine.
155
Chapter 6 Prise en charge SNMP
Les ID MIB, identifiant les informations de l'Automation Engine, sont indiqués sous une forme
"relative". L'ID MIB 3.10.0 représente l'adresse complète 1.3.6.1.4.1.2562.1.1.3.10.0.
La sous-arborescence de l'Automation Engine dans la MIB se structure en plusieurs groupes
fonctionnels.
ID MIB
Description
1
Agent Data Group
2
Agent Control Group
3
Agent Work Group
4
System Group
5
Client Group
6
Server Group
7
Executor Group
8
Blocking Point Group
9
CallOperator Group
à partir de la version 8.00A, la plupart des éléments UC4 font l'objet d'une nouvelle terminologie.
Les descriptions dans la MIB n'ont cependant pas été modifiées, pour éviter toute incompatibilité.
6.6.2 Agent Data Group
ID MIB
1
Descripteur
Agent Data Group
Durée de vie
Ce groupe est toujours disponible.
Relations
Sous-agent SNMP.
Description
Ce groupe sert à décrire le sous-agent SNMP.
ID MIB
1.1.0
Descripteur
agentVersion
Type
DisplayString (SIZE (0.0,5))
Description
Version du sous-agent SNMP.
Automation Engine
ID MIB
1.2.0
Descripteur
agentStartTime
Type
DisplayString (SIZE (0.0,30))
Description
Heure de début du sous-agent SNMP au format "AAAAMMJJ HHMMSS".
ID MIB
1.3.0
Descripteur
agentNumberOfServerTasks
Type
INTEGER
Description
Nombre actuel de processus serveur actifs.
ID MIB
1.4.0
Descripteur agentConnectCounter
Type
Counter
Description Nombre de processus serveur qui avaient déjà une connexion au sous-agent
SNMP (valeur historique).
6.6.3 Agent Control Group
ID MIB
2
Descripteur
Agent Control Group
N'est pas encore utilisé à l'heure actuelle.
6.6.4 Agent Work Group
L'Agent Work Group ne concerne pas les Agents mais le sous-agent SNMP.
ID MIB
3
Descripteur Agent Work Group
Durée de
vie
Ce groupe est toujours disponible.
Relations
système AE, désigné agentWorkSysID.
Description Ce groupe sert de domaine de travail pour la génération d'interruptions SNMP. Il
contient les valeurs de la dernière interruption générée.
156
157
Chapter 6 Prise en charge SNMP
ID MIB
3.1.0
Descripteur
agentWorkSysID
Type
DisplayString (SIZE (0.00,8))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.2.0
Descripteur
agentWorkObject
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.3.0
Descripteur
agentWorkString1
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.4.0
Descripteur
agentWorkString2
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.5.0
Descripteur
agentWorkString3
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.6.0
Descripteur
agentWorkString4
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.7.0
Descripteur
agentWorkString5
Type
DisplayString (SIZE (0.0,255))
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
Automation Engine
ID MIB
3.8.0
Descripteur
agentWorkInteger1
Type
INTEGER
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.9.0
Descripteur
agentWorkInteger2
Type
INTEGER
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.10.0
Descripteur
agentWorkInteger3
Type
INTEGER
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.11.0
Descripteur
agentWorkInteger4
Type
INTEGER
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
ID MIB
3.12.0
Descripteur
agentWorkInteger5
Type
INTEGER
Description
Variable de travail pour la génération d'interruptions (interne au sous-agent).
6.6.5 System Group
ID MIB
4
Descripteur System Group
Durée de
vie
Le système AE démarre lorsque le premier processus de service de ce système
démarre.
Même si tous les serveurs AE sont inactifs, le système AE reste dans la MIB
jusqu'au nouveau chargement du sous-agent SNMP.
Relations
Sous-agent SNMP.
Description Ce groupe contient la description des systèmes AE. Il existe une entrée dans les
tables suivantes pour chaque système AE.
158
159
Chapter 6 Prise en charge SNMP
ID MIB
4.1
Descripteur
systemTable
Type
SEQUENCE OF SystemEntry
Index
(sysSysID)
Description
Cette table contient tous les systèmes AE démarrés.
ID MIB
4.1.1
Descripteur systemEntry
Type
SystemEntry
Description Contient tous les systèmes AE connectés tant que le sous-agent SNMP est actif
sur cette machine.
ID MIB
4.1.1.1
Descripteur
sysSysID
Type
DisplayString (SIZE (0.0,8))
Description
Nom du système AE.
Valeur du paramètre "system=" lue dans le fichier INI d'Automation Engine.
ID MIB
4.1.1.2
Descripteur
sysStartTime
Type
DisplayString (SIZE (0..19))
Description
Heure de début du premier processus de serveur de ce système.
ID MIB
4.1.1.3
Descripteur
sysDbmsName
Type
DisplayString (SIZE (0.0,30))
Description
Nom de produit de la base de données (Oracle 7, Microsoft SQL Server 7, etc.).
ID MIB
4.1.1.4
Descripteur
sysDbVersion
Type
DisplayString (SIZE (0.0,30))
Description
Version de la base de données.
Automation Engine
ID MIB
4.1.1.5
Descripteur
sysDbName
Type
DisplayString (SIZE (0.0,30))
Description
Nom de la base de données qui est fournie avec le logiciel de base de données.
ID MIB
4.1.1.6
Descripteur
sysEMS
Type
INTEGER
Contenu
1 = BMC Patrol
2 = HP NNM
3 = BMC Patrol + HP NNM
4 = Tivoli
5 = BMC Patrol + Tivoli
6 = BMC Patrol + HP NNM
7 = tous
Description
Barre de bits pour l'affichage des licences disponibles.
160
6.6.6 Client Group
ID MIB
5
Descripteur Client Group
Description Ce groupe contient la description des Clients de tous les systèmes AE. Il existe
une entrée dans la table suivante pour chaque Client d'un système existant.
ID MIB
5.1
Descripteur
ClientTable
Type
SEQUENCE OF ClientEntry
Index
(cliSysID, cliClient)
Description
Cette table contient tous les Clients existants.
ID MIB
5.1.1
Descripteur ClientEntry
Type
ClientEntry
Durée de
vie
Si un processus de serveur démarre, une entrée est créée dans le tableau pour
chaque Client. Si un Client est rajouté ou supprimé, ou si le statut (cliState) d'un
Client se modifie, la table est supprimée et reconstruite avec les Clients existants.
Relations
AE System cliSysID
161
Chapter 6 Prise en charge SNMP
ID MIB
5.1.1.1
Descripteur
cliSysID
Type
DisplayString (SIZE (0.00,8))
Description
Nom du système AE auquel le Client appartient.
ID MIB
5.1.1.2
Descripteur
cliClient
Type
INTEGER (0..9999)
Description
Numéro du Client.
ID MIB
5.1.1.3
Descripteur
cliLastModifyTime
Type
DisplayString (SIZE (0.00,19))
Description
Marque horaire du dernier rafraîchissement de l'entrée de la table.
ID MIB
5.1.1.4
Descripteur cliState
Type
INTEGER {run(1), stop(2)}
Contenu
1 = acktif
2 = arrêté
Description Indique si le traitement automatique des Tâches est actif (statut système GO) ou
s'il a été arrêté (statut système STOP).
ID MIB
5.1.1.5
Descripteur cliMonitoring
Type
INTEGER {yes(1), no(2)}
Contenu
1 = surveillance des activités du Client
2 = aucune surveillance des activités du Client
Description Indique si les activités du Client sont surveillées. Dans le cas d'un Client productif,
toutes les Alertes actives et tous les Workflows bloqués sont surveillés.
ID MIB
5.1.1.6
Descripteur
cliInfo
Type
DisplayString
N'est pas encore utilisé à l'heure actuelle.
Automation Engine
162
6.6.7 Server Group
ID MIB
6
Descripteur
Server Group
Durée de vie
Il existe une entrée dans le tableau suivant pour chaque
processus de serveur d'un système AE disponible. Les
processus de serveur arrêtés restent également (statut =
STOPPED) dans la MIB jusqu'à ce que le sous-agent SNMP soit
chargé à nouveau sur la machine.
Description
Ce groupe contient la description des processus de service de
tous les systèmes AE.
ID MIB
6.1
Descripteur
serverInstanceTable
Type
SEQUENCE OF serverInstancEntry
Index
(srvSysID, srvName)
Description
Ce tableau contient tous les processus de services existants.
ID MIB
6.1.1
Descripteur serverInstanceEntry
Type
ServerInstanceEntry
Durée de
vie
Si un processus de serveur démarre, une entrée est créée dans le tableau pour
celui-ci. Cette entrée n'est plus supprimée.
Relations
système AE coSysID et Client coClient.
ID MIB
6.1.1.1
Descripteur
srvSysID
Type
DisplayString (SIZE (0.0,8))
Description
Nom du système AE auquel appartient le processus de service.
Valeur du paramètre "system=" lue dans le fichier INI d'Automation Engine.
ID MIB
6.1.1.2
Descripteur
srvName
Type
DisplayString (SIZE (0.0,8))
Description
Nom du processus de travail primaire.
163
Chapter 6 Prise en charge SNMP
ID MIB
6.1.1.3
Descripteur
srvLastModifyTime
Type
DisplayString (SIZE (0..19))
Description
Marque horaire du dernier rafraîchissement de l'entrée de la table.
ID MIB
6.1.1.4
Descripteur
srvVersion
Type
DisplayString (SIZE (0.0,5))
Description
Version du moteur d'utilisation AE.
ID MIB
6.1.1.5
Descripteur
srvStartTime
Type
DisplayString (SIZE (0..19))
Description
Point de démarrage du processus serveur.
ID MIB
6.1.1.6
Descripteur
srvState
Type
INTEGER {run(1), ended(2), abnormal(3)}
Contenu
1 = actif
2 = terminé normalement
3 = interrompu ou aucune connexion au sous-agent SNMP
Description
Statut du processus serveur.
ID MIB
6.1.1.7
Descripteur srvSrvConnect
Type
INTEGER
Description Nombre de processus serveurs connectés au processus de travail primaire (les
entrées n'existent que dans les processus de travail primaires).
ID MIB
6.1.1.8
Descripteur
srvExeConnect
Type
INTEGER
Description
Nombre d'Agents connectés au Automation Engine.
ID MIB
6.1.1.9
Automation Engine
Descripteur
srvDiaConnect
Type
INTEGER
Description
Nombre d'Interfaces Utilisateur connectées aux processus de communication.
ID MIB
164
6.1.1.10
Descripteur srvBusyMin
Type
INTEGER (0.0,100)
Description Utilisation moyenne du processus serveur en pourcentage au cours de la dernière
minute avant le rafraîchissement (valeur statistique).
ID MIB
6.1.1.11
Descripteur srvBusy10Min
Type
INTEGER (0.0,100)
Description Utilisation moyenne du processus serveur en pourcentage au cours des 10
dernières minutes avant le rafraîchissement (valeur statistique).
ID MIB
6.1.1.12
Descripteur SrvBusyHour
Type
INTEGER (0.0,100)
Description Utilisation moyenne du processus serveur en pourcentage au cours de la dernière
heure avant le rafraîchissement (valeur statistique).
ID MIB
6.1.1.13
Descripteur
SrvRunMode
Type
INTEGER {primary(1), normal(3), cp(4)}
Contenu
1 = Processus de travail primaire
3 = Processus de travail
4 = Processus de communication
Description
Indique le mode dans lequel travaille le processus serveur.
ID MIB
6.1.1.14
Descripteur
SrvDBState
Type
INTEGER {online(1), offline(2)}
Contenu
1 = le Automation Engine est connecté avec la base de données
2 = le Automation Engine n'est pas connecté à la base de données
Description
Indique si le Automation Engine est connecté à la base de données.
165
Chapter 6 Prise en charge SNMP
ID MIB
6.1.1.15
Descripteur
SrvDBState
Type
INTEGER (1)
Contenu
1 = SDB fonctionne correctement
Description
Informe sur la disponibilité de la base de données de statuts (SDB).
6.6.8 Executor Group
ID MIB
7
Descripteur Executor Group
Durée de
vie
Il existe une entrée dans la table suivante pour chaque Agent d'un système AE. S'il
existe plusieurs processus AutomationEngine au sein du système, alors des
entrées d'Agent sont faites pour chacun de ces processus AutomationEngine.
Description Ce groupe contient la description des Agents de tous les systèmes AE.
ID MIB
7.1
Descripteur
exekutorTable
Type
SEQUENCE OF exekutorEntry
Index
(exeSysID, exeSrvName, exeName, exeType)
Description
Cette table contient tous les Agents.
ID MIB
7.1.1
Descripteur exekutorEntry
Type
ExekutorEntry
Durée de
vie
Si un processus serveur démarre, une entrée est créée dans le tableau pour chaque
Agent connu du système. Si des Agents sont rajoutés ou supprimés, ou si leur
statut est modifié (exeState), alors la table est entièrement supprimée et
reconstruite pour chaque Agent existant dans le système.
Relations
système AEexeSysID et processus serveur exeSrvName.
ID MIB
7.1.1.1
Descripteur
exeSysID
Type
DisplayString (SIZE (0.0,8))
Description
Nom du système AE avec lequel l'Agent a établi la connexion AE.
Valeur du paramètre "system=" lue dans le fichier INI d'Automation Engine.
Automation Engine
ID MIB
7.1.1.2
Descripteur
exeSrvName
Type
DisplayString (SIZE (0.0,8))
Description
Nom du processus de travail primaire auquel l'Agent est connecté.
ID MIB
7.1.1.3
Descripteur
exeName
Type
DisplayString (SIZE (0.0,8))
Description
Nom de l'Agent.
Valeur du paramètre "name=" lue dans le fichier INI de l'Agent.
ID MIB
7.1.1.4
Descripteur
exeType
Type
DisplayString (SIZE (0.0,8))
Description
Type de l'Agent (EX_JOB).
ID MIB
7.1.1.5
Descripteur
exeLastModifyTime
Type
DisplayString (SIZE (0..19))
Description
Marque horaire du dernier rafraîchissement de l'entrée de la table.
ID MIB
7.1.1.6
Descripteur
exeHost
Type
DisplayString (SIZE (0.0,8))
Description
Nom de l'Agent.
Valeur du paramètre "name=" lue dans le fichier INI de l'Agent.
ID MIB
7.1.1.7
Descripteur
exeVersion
Type
DisplayString (SIZE (0.0,5))
Description
Version de l'Agent.
ID MIB
7.1.1.8
Descripteur
exeHardware
Type
DisplayString (SIZE (0.0,20))
166
167
Chapter 6 Prise en charge SNMP
Description
ID MIB
Type de CPU que l'Agent détermine à partir des variables d'environnement.
7.1.1.9
Descripteur exeSoftware
Type
DisplayString (SIZE (0.0,20))
Description Système d'exploitation que l'Agent détermine à partir des variables
d'environnement.
ID MIB
7.1.1.10
Descripteur exeSoftwareVers
Type
DisplayString (SIZE (0.0,20))
Description Version du système d'exploitation que l'Agent détermine à partir des variables
d'environnement.
ID MIB
7.1.1.11
Descripteur
exeJCLTyp
Type
DisplayString (SIZE (0.0,8))
Description
Job Control Language (JCL) utilisé pour la génération des Jobs.
Valeur du paramètre "UC_HOST_JCL_VAR" à partir du fichier INI de l'Agent.
ID MIB
7.1.1.12
Descripteur exeConnTime
Type
DisplayString (SIZE (0..19))
Description Marque horaire du dernier établissement d'une connexion de l'Agent avec le
Automation Engine.
ID MIB
7.1.1.13
Descripteur exeState
Type
INTEGER {run(1), ended(2), lost(3), timeout(4)}
Contenu
1 = actif
2 = terminé normalement ou pas encore démarré
3 = connexion au Automation Engine interrompue
4 = aucune réponse malgré la connexion existante
5 = objet Agent supprimé
Description Marque horaire du dernier établissement d'une connexion de l'Agent avec le
Automation Engine.
Automation Engine
ID MIB
7.1.1.14
Descripteur
exeLastPing
Type
DisplayString (SIZE (0..19))
Description
Marque horaire du dernier signe de vie de l'Agent.
ID MIB
168
7.1.1.15
Descripteur exeMonitoring
Type
INTEGER {yes(1), no(2)}
Contenu
1 = la disponibilité de l'Agent est surveillée.
2 = la disponibilité de l'Agent n'est pas surveillée.
Description Montre si la disponibilité de l'Agent est surveillée. Une surveillance est importante
dans un Agent de production.
ID MIB
7.1.1.16
Descripteur
exeInfo
Type
DisplayString
Description
N'est pas encore utilisé à l'heure actuelle.
6.6.9 Blocking Point Group
ID MIB
8
Descripteur Blocking Point Group Durée de
vie
Il existe une entrée dans la table suivante pour chaque tâche bloquante. L'entrée de
la table existe tant que le blocage n'est pas éliminé ou que le Workflow n'est pas
interrompu.
Description Ce groupe contient la description de toutes les tâches bloquées. La description
contient des informations sur la tâche à l'origine du blocage et sur le Workflow qui
s'en est retrouvé bloqué.
ID MIB
8.1
Descripteur
blockingPointsTable
Type
SEQUENCE OF blockingPointEntry
Index
(blkSysID, blkClient, blkJPRunNr, blkJPLNR)
Description
Cette table contient toutes les tâches bloquantes dans les systèmes AE.
ID MIB
8.1.1
169
Chapter 6 Prise en charge SNMP
Descripteur blockingPointEntry
Type
BlockingPointEntry
Durée de
vie
L'entrée est créée lorsqu'une tâche est bloquée et est conservée jusqu'à poursuite
ou interruption de la tâche.
Durée de
vie
système AE dans blkSysID
ID MIB
8.1.1.1
Descripteur
blkSysID
Type
DisplayString (SIZE (0.00,8))
Description
Nom du système AE dans lequel le blocage est survenu.
ID MIB
8.1.1.2
Descripteur
blkClient
Type
INTEGER (0..9999)
Description
Numéro du Client dans lequel le blocage est survenu.
ID MIB
8.1.1.3
Descripteur
blkJPRunNr
Type
INTEGER
Description
Numéro courant (RunID) du Workflow dans lequel le blocage est survenu.
ID MIB
8.1.1.4
Descripteur blkJPLNR
Type
INTEGER
Description
Numéro de la ligne dans laquelle se trouve la tâche bloquante au sein du Workflow.
ID MIB
8.1.1.5
Descripteur
blkLastModifyTime
Type
DisplayString (SIZE (0.00,19))
Description
Marque horaire du dernier rafraîchissement de l'entrée de la table.
ID MIB
8.1.1.6
Descripteur
blkJPName
Type
DisplayString (SIZE (0.00,200))
Automation Engine
Description
Nom du Workflow bloqué.
ID MIB
8.1.1.7
Descripteur
blkObjTyp
Type
DisplayString (SIZE (0.00,8))
Description
Type d'objet de la Tâche qui a déclenché le blocage.
ID MIB
8.1.1.8
Descripteur
blkObjName
Type
DisplayString (SIZE (0.00,200))
Description
Nom de la tâche qui a déclenché le blocage.
ID MIB
8.1.1.9
Descripteur
blkObjRunNr
Type
INTEGER
Description
Numéro courant (RunID) de la tâche qui a déclenché le blocage.
6.6.10 CallOperator Group
ID MIB
9
Descripteur
CallOperator Group
Durée de vie
L'entrée de la table reste tant que l'Alerte n'a pas été confirmée.
Description
Cette table contient tous les objets Alerte actifs.
ID MIB
9.1
Descripteur
callOperatorTable Type
SEQUENCE OF CallOperatorEntry
Index
(coSysID, coClient, coRunNr)
Description
Cette table contient tous les objets Alerte actifs.
ID MIB
9.1.1
Descripteur
callOperatorEntry Type
CallOperatorEntry
170
171
Chapter 6 Prise en charge SNMP
Durée de vie
L'envoi d'une interruption d'Alerte à l'Automation Engine génère une entrée.
La modification du statut de l'Alerte actualise l'entrée.
L'entrée est supprimée lorsque l'Alerte est confirmée.
Relations
système AE coSysID et Client coClient.
ID MIB
9.1.1.1
Descripteur
coSysID Type
DisplayString (SIZE (0.0,8))
Description
Nom du système AE dans lequel l'objet Alerte a été activé.
ID MIB
9.1.1.2
Descripteur
coClient Type
INTEGER (0..9999)
Description
Numéro du Client dans lequel l'objet Alerte a été activé.
ID MIB
9.1.1.3
Descripteur
coRunNr Type
INTEGER
Description
Numéro courant (RunID) de l'objet Alerte.
ID MIB
9.1.1.4
Descripteur
coLastModifyTime Type
DisplayString (SIZE (0..19))
Description
Marque horaire du dernier rafraîchissement de l'entrée de la table.
ID MIB
9.1.1.5
Descripteur
coName Type
DisplayString (SIZE (0.0,200))
Description
Nom de l'objet Alerte.
ID MIB
9.1.1.6
Descripteur
coTyp Type
INTEGER {question(1), message(2), alarm(3)}
Contenu
1 = Requête
2 = Alerte
3 = Alarme
Automation Engine
Description
172
Type d'Alerte
ID MIB
9.1.1.7
Descripteur
coText Type
DisplayString (SIZE (0.0,255))
Description
Texte du message d'Alerte.
ID MIB
9.1.1.8
Descripteur
coState
Type
INTEGER
Contenu
1542 = informé - exécution de l'Alerte
1556 = escaladé - Alerte escaladée
1553 = accepté - Alerte acceptée
Description
Statut actuel de l'Alerte
6.6.11 Interruptions SNMP générées
Pour notifier activement le système de gestion des changements de statut ou des statuts
particuliers de l'Automation Engine, le Automation Engine génère des interruptions SNMP
utilisant des codes d'interruptions clairement définis. Le Automation Engine pour Windows peut,
outre l'interruption, générer un Evènement qui s'affiche dans le protocole d'application de
l'affichage d'évènements de Windows. Pour ce faire, le paramètre snmp=2 doit être défini dans le
fichier INI d'Automation Engine.
Résumé des interruptions
Code d'interruption
Description
3400
Démarrage d'un processus serveur
3401
Fin d'un processus serveur
3410
Interruption d'un processus serveur
3536
Grave erreur lors de l'accès à la base de données
3538
Connexion à la base de données à nouveau établie
11603
Fermeture d'un Agent
11604
Démarrage à froid d'un Agent
11622
Démarrage à chaud d'un Agent
11650
Coupure de la connexion à un Agent
11652
L'Agent SAP n'est plus connecté au système SAP
11662
L'Agent SAP a rétabli la connexion au système SAP
11801
Erreur système d'un processus serveur.
173
Chapter 6 Prise en charge SNMP
11818
Le serveur primaire a changé
801450
Message d'une Alerte
xxxxxx
Interruptions SNMP définies par l'Utilisateur
Description des interruptions
Chacune des interruptions SNMP ainsi que les paramètres correspondants sont décrits ci-après.
Code d'interruption
3400
Description
Démarrage d'un processus serveur
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
AgentWorkInteger1
Statut du processus serveur :
1 = actif
AgentWorkInteger2
Mode actuel du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
3401
Description
Fin d'un processus de travail ou de dialogue (quelle que soit l'origine), c'est
à dire fin normale du processus de travail primaire.
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
AgentWorkInteger1 Statut du processus serveur :
2 = terminé normalement
AgentWorkInteger2 Mode actuel du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
3410
Description
Interruption du processus de travail primaire (PWP).
Remarque
En plus de l'interruption, un Evènement est toujours généré dans le
protocole d'application de l'affichage d'évènements de Windows. Cette
entrée est effectuée dans le protocole d'application, que snmp=2 ait été
défini ou non dans le fichier INI d'Automation Engine.
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
Automation Engine
AgentWorkInteger1 Statut du processus serveur :
2 = signal d'interruption reçu
3 = autre interruption
AgentWorkInteger2 Mode actuel du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
3536
Description
Grave erreur lors de l'accès à la base de données. Aucun accès n'est plus
possible.
Remarque
Cette interruption est envoyée toutes les 10 secondes jusqu'à ce que la
base de données soit à nouveau connectée.
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
AgentWorkString1 Texte d'erreur des pilotes ODBC
Code d'interruption
3538
Description
Connexion à la base de données à nouveau établie
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
Code
d'interruption
11603
Description
Fermeture d'un Agent
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1
Nom de l'Agent
AgentWorkInteger1 Mode d'exécution du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
11604
Description
Démarrage à froid d'un Agent
AgentWorkSysID
Nom du système AE
174
175
Chapter 6 Prise en charge SNMP
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1
Nom de l'Agent
AgentWorkInteger1 Mode d'exécution du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
11622
Description
Démarrage à chaud d'un Agent
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1 Nom de l'Agent
Code
d'interruption
11650
Description
Coupure de la connexion à un Agent
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1
Nom de l'Agent
AgentWorkInteger1 Mode d'exécution du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
11652
Description
L'Agent SAP n'est plus connecté au système SAP.
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1
Nom de l'Agent
AgentWorkInteger1 Mode d'exécution du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Automation Engine
Code
d'interruption
11662
Description
La connexion de l'Agent SAP au système SAP a été rétablie.
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de
l'Agent"."Type d'Agent"
AgentWorkString1
Nom de l'Agent
AgentWorkInteger1 Mode d'exécution du processus serveur :
1 = primaire
3 = normal
4 = processus de communication
Code
d'interruption
11801
Description
Erreur système du processus serveur
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"."Nom de la fonction
kernel"
AgentWorkString1
Texte du message d'erreur
AgentWorkInteger1 Numéro du message d'erreur
Code d'interruption
11818
Description
Le processus de travail primaire a changé
Remarque
A partir de la version 3.01C de l'Automation Engine
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
AgentWorkInteger1
Ancien mode
AgentWorkInteger2
Nouveau mode
Code d'interruption
801450
Description
Message d'une Alerte
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Client"."RunID"
AgentWorkString1
Nom de l'objet Alerte
AgentWorkString2
Texte du message d'Alerte.
176
177
Chapter 6 Prise en charge SNMP
AgentWorkInteger1
Statut de la Tâche Alerte (comme dans le fichier de message UC.MSL):
1542 = informé
1553 = accepté
1556 = escaladé
1800 = ENDED_NOT_OK - interrompu
1850 = ENDED_CANCEL - terminé par une interruption
1852 = rejeté
1856 = ENDED_ESCALATED - arrêt forcé par escalade
1900 = ENDED_OK - terminé avec code retour "0"
1901 = confirmé
Outre les interruptions SNMP générées par le système, l'instruction de Script :SEND_SNMP_
TRAP permet de générer des interruptions définies par l'Utilisateur. Les codes d'interruption
générés par l'Automation Engine et par Connect for HP OpenView NNM (codes d'interruption :
10000 - 10010) ne doivent pas être utilisés comme interruptions SNMP définies par l'Utilisateur !
Code d'interruption
xxxxxx
Description
Interruptions SNMP définies par l'Utilisateur
AgentWorkSysID
Nom du système AE
AgentWorkObject
"Nom du système AE"."Nom du processus serveur"
AgentWorkString1
Défini par l'Utilisateur
AgentWorkString2
Défini par l'Utilisateur
AgentWorkString3
Défini par l'Utilisateur
AgentWorkString4
Défini par l'Utilisateur
AgentWorkString5
Défini par l'Utilisateur
AgentWorkInteger1
Défini par l'Utilisateur
AgentWorkInteger2
Défini par l'Utilisateur
AgentWorkInteger3
Défini par l'Utilisateur
AgentWorkInteger4
Défini par l'Utilisateur
AgentWorkInteger5
Défini par l'Utilisateur
6.7 Licence Net-SNMP
Various copyrights apply to this package, listed in various separate parts below. Please make sure
that you read all the parts. Up until 2001, the project was based at UC Davis, and the first part
covers all code written during this time. From 2001 onwards, the project has been based at
SourceForge, and Networks Associates Technology, Inc hold the copyright on behalf of the wider
Net-SNMP community, covering all derivative work done since then. An additional copyright
section has been added as Part 3 below also under a BSD license for the work contributed by
Cambridge Broadband Ltd. to the project since 2001. An additional copyright section has been
added as Part 4 below also under a BSD license for the work contributed by Sun Microsystems, Inc.
to the project since 2003.
Code has been contributed to this project by many people over the years it has been in
development, and a full list of contributors can be found in the README file under the THANKS
section.
---- Part 1: CMU/UCD copyright notice: (BSD like) -----
Automation Engine
178
Copyright 1989, 1991, 1992 by Carnegie Mellon University
Derivative Work - 1996, 1998-2000
Copyright 1996, 1998-2000 The Regents of the University of California
All Rights Reserved
Permission to use, copy, modify and distribute this software and its documentation for any purpose
and without fee is hereby granted, provided that the above copyright notice appears in all copies and
that both that copyright notice and this permission notice appear in supporting documentation, and
that the name of CMU and The Regents of the University of California not be used in advertising or
publicity pertaining to distribution of the software without specific written permission.
CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE
REGENTS OF THE UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) ----Copyright (c) 2001-2003, Networks Associates Technology, Inc
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
Neither the name of the Networks Associates Technology, Inc nor the names of its
contributors may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- Part 3: Cambridge Broadband Ltd. copyright notice (BSD) ----Portions of this code are copyright (c) 2001-2003, Cambridge Broadband Ltd.
All rights reserved.
179
Chapter 6 Prise en charge SNMP
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
The name of Cambridge Broadband Ltd. may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
---- Part 4: Sun Microsystems, Inc. copyright notice (BSD) ----Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054,
U.S.A.
All rights reserved.
Use is subject to license terms below.
This distribution may include materials developed by third parties.
Sun, Sun Microsystems, the Sun logo and Solaris are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
Neither the name of the Sun Microsystems, Inc. nor the names of its contributors may be
used to endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
Automation Engine
180
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- Part 5: Sparta, Inc copyright notice (BSD) ----Copyright (c) 2003-2006, Sparta, Inc
All rights reserved
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
Neither the name of Sparta, Inc nor the names of its contributors may be used to endorse or
promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- Part 6: Cisco/BUPTNIC copyright notice (BSD) ----Copyright (c) 2004, Cisco, Inc and Information Network Center of Beijing University of Posts and
Telecommunications.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
Neither the name of Cisco, Inc, Beijing University of Posts and Telecommunications, nor the
names of their contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
181
Chapter 6 Prise en charge SNMP
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- Part 7: Fabasoft R&D Software GmbH & Co KG copyright notice (BSD) ----Copyright (c) Fabasoft R&D Software GmbH & Co KG, 2003
[email protected]
Author: Bernhard Penz
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
l
l
l
Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
The name of Fabasoft R&D Software GmbH & Co KG or any of its subsidiaries, brand or
product names may not be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
Automation Engine
182
7 L'Automation Engine et les
systèmes cible
7.1 L'Automation Engine et BS2000
7.1.1 archive de texte BS2000
Situation de départ
Le problème du transport des fichiers BS2000 par d'autres moyens qu'un support de données
BS2000 s'est déjà souvent posé. C'est ainsi qu'entrent en ligne de compte des moyens
d'informatique personnelle comme les disquettes, les CD et en particulier le transfert
électronique. C'est devenu entre temps chose possible avec les fichiers texte (SAM, longueur
maximale de l'enregistrement : 255), étant donné qu'on peut partir du principe que dans toute
installation BS2000, le transfert de fichiers texte entre un PC et BS2000 (au pire avec le transfert
de fichiers EDT) existe.
Les fichiers binaires (bibliothèques LMS, programmes, etc.) posent en l'occurrence un problème.
FTP permet certes le transfert de programmes en mode binaire ; ils sont cependant d'une taille
supérieure (2 pages PAM) et continuent de fonctionner. Les bibliothèques LMS ne peuvent, tout
comme les fichiers ISAM et similaires, être transférés, étant donné que le FCB n'est pas rétabli. En
outre, FTP est payant dans BS2000 (TCP/IP-AP). Dans UC4, ce thème revêt une grande
importance étant donné que les fichiers BS2000 sont fournis sur CD.
La solution : archive de texte BS2000
Intégration dans BS2-TOOLS
La reprise des fichiers dans une archive de texte et la décompression d'une archive de texte sont
mis en œuvre dans BS2-TOOLS version 2.00W et supérieure.
l
l
Acceptation d'un fichier quelconque, et en particulier d'un fichier binaire, dans une archive de
texte.
Code d'action "C+" devant le fichier binaire.
Sélection de l'archive de texte cible à l'aide de la touche K3.
"Overwrite=E" pour l'extension de l'archive de texte (plusieurs fichiers dans une archive de
texte).
Le procédé peut prendre un peu de temps dans le cas de fichiers volumineux !
Décompression d'une archive de texte :
Le code d'action "TAR" avant une archive de texte crée les fichiers dans l'ID utilisateur
personnel.
183
Chapter 7 L'Automation Engine et les systèmes cible
Programme BS2-TAR
Ce programme décompresse une archive de texte dans l'ID utilisateur personnel. Le programme est
requis pour toutes les livraisons sous forme d'archive de texte.
Le programme BS2-TAR est libre de licence (logiciel gratuit), il est donc désormais fourni dans la
MUSTERLIB avec tous les systèmes existants. Par conséquent, il peut être obtenu auprès de tous
les distributeurs.
Les fichiers .tar fournis dont le nom contient "NK4" correspondent aux pubsets NK4 et peuvent
également être décompressés à l'aide du programme BS-TAR.
Décompression d'une archive de texte :
/FILE fichier_sortie, LINK=TAR
/EXEC BS2-TAR
CD AE fourni
Le dossier IMAGE:TOOLS\BS2_TAR contient le programme BS2-TAR sous deux formes :
1) BS2-TAR.BIN
Le fichier BS2-TAR.BIN contient le programme BS2-TAR. Celui-ci a été transféré via FTP, en mode
binaire, sur le CD et peut à nouveau être transféré dans BS2000 via FTP.
FTP
OPEN Ordinateur BS2000
userid (TSOS)
mot de passe
account
BIN
PUT BS2-TAR.BIN
BYE
Dans BS2000 :
/CAT BS2-TAR.BIN,BS2-TAR,STATE=U,SHARE=YES,ACCESS=READ
2) BS2-TAR.TAR
La dernière version du programme BS2-TAR au format .tar.
BS2-TAR doit déjà être installé sur votre machine BS2000.
Le fichier est transféré, avec un Transfert de Fichier quelconque en mode texte, dans BS2000 puis y
est décompressé avec BS2-TAR.
/FILE BS2-TAR.TAR,LINK=TAR
/EXEC BS2-TAR
7.1.2 Moteur/Agent d'automatisation AE - BCIN pour
établissement de la connexion
Pour une connexion TCP/IP d'un Agent BS2000 avec d'autres composants, leur adresse IP doit
être connue dans BS2000.
Automation Engine
l
184
La communication entre un Automation Engine et un Agent BS2000 s'effectue via une
connexion TCP/IP.
Dans ce cadre, des informations et des protocoles internes sont échangés.
L'adresse IP du Serveur doit être annoncée au BS2000 à l'aide de /BCIN !
l
Si un Transfert de Fichier est initié par/vers un Agent BS2000, les Agents concernés
établissent entre eux une connexion TCP/IP.
BS2000 doit connaître le partenaire de Transfert de Fichier de l'Agent BS2000.
Définissez l'adresse IP de l'hôte (machine du partenaire de Transfert de Fichier) à l'aide de
/BCIN.
7.1.3 Agent BS2000 - Prise en charge du Transfert de
Fichier
L'Agent BS2000 prend en charge toutes les fonctions de Transfert de Fichier comme le Transfert
de Fichiers texte et binaires ou le Transfert de Fichier avec des caractères génériques.
Attributs de fichier pour la destination
Lors de la définition d'un objet Transfert de Fichier, il est possible de spécifier dans l'onglet
"Transfert de Fichier" des attributs de fichier pour la destination du transfert de fichiers. Tous les
attributs de fichier correspondant aux commandes de fichier sont possibles. Ils sont entrés dans
une zone de texte distincte et la séparation de plusieurs attributs de fichier se fait au moyen de
virgules. Les attributs suivants sont créés par défaut :
Mode texte :
FCB=SAM,LINK=UCEXSAM,SPACE=(300,300)
Mode binaire :
SPACE=(300,300),BLKSIZE=STD,BLKCTRL=NO,FCB=PAM
Les attributs explicitement indiqués remplacent les valeurs par défaut ou sont ajoutés à la
commande.
Si vous indiquez un attribut vous-même, la commande de fichier par défaut est remplacée dans
l'Agent. Si vous indiquez SPACE=, le résultat serait par exemple un fichier SAM avec
RECFORM=FIX. Dans ce cas, vous devriez également utiliser l'attribut RECFORM s'il vous faut
par exemple RECFORM=V.
Avec FT-BS2000 de Siemens, vous pouvez également créer des fichiers ISAM. En voici un
exemple dans ce qui suit :
FCB=ISAM,BLKCTRL=DATA,RECFORM=V,KEYPOS=5,KEYLEN=8
Exemple
RECSIZE=50,VOLUME=PRIVATE,SPACE=(100,100)
185
Chapter 7 L'Automation Engine et les systèmes cible
Conserver les attributs originaux
Pour reprendre les attributs des fichiers source pour les fichiers cible, utilisez l'option "Conserver
les attributs originaux" dans l'onglet Transfert de Fichier. Le système ne tient compte de ce
paramètre uniquement lorsque les Agents source et cible présentent la version 9.00A de
l'Automation Engine ou supérieure (nouveau protocole de Transfert de Fichier). De plus, la source
doit correspondre à la plateforme cible.
Pour le Transfert de fichier BS2000, les attributs de fichier suivants peuvent être conservés:
Attributs du Catalogue de
Macro
l
l
l
l
l
l
l
l
l
l
l
l
l
l
Attributs du Fichier de Macro
ACCESS
ACLPROT
BACKUP
BASACL
CCS
DESTROY
EXDATE
GROUPAR
GUARDS
LARGE
OTHERAR
OWNERAR
RETPD
SHARE
l
l
l
l
l
l
l
l
l
l
BLKCTRL
BLKSIZE
DUPEKY
FCBTYPE
KEYLEN
KEYPOS
RECFORM
RECSIZE
RETPD
SPACE
Lorsque vous utilisez ces paramètres, aucun autre attribut supplémentaire ne doit être indiqué
dans le Transfert de fichier pour le fichier cible. Sinon, une erreur se produit.
Eléments de bibliothèque en tant que source et cible
Les éléments des bibliothèques LMS (PLAM) peuvent être la source et la cible d'un Transfert de
Fichier.
l
l
l
Les éléments de bibliothèque peuvent être transférés entre deux bibliothèques LMS.
Un élément de bibliothèque peut être transféré en tant que fichier dans un système cible
quelconque.
Des fichiers texte de systèmes cible quelconques peuvent être transférés dans une
bibliothèque LMS.
Il faut spécifier l'élément sous la forme suivante :
*LIB(bibliothèque,élément(version),type)
La version de l'élément est facultative. Si la version n'a pas été spécifiée, la version la plus élevée
est lue (source) ou un élément de version "@" est écrit (cible).
Exemples
*LIB($RS.LMS.LIB,MEIN.ELEMENT,S)
*LIB($RS.LMS.LIB,MEIN.*,S)
Automation Engine
186
Limitations lors du Transfert de Fichiers PAM
Attention aux limitations suivantes :
l
l
L'Agent BS2000 est l'expéditeur de fichiers : si le fichier PAM existe au format NK et ne
présente aucune marque de fin, la dernière page est ignorée.
L'Agent BS2000 est le destinataire de fichiers : lors de l'écriture d'un fichier PAM, une
marque de fin (un bloc logique supplémentaire) est rajoutée. Ce bloc peut perturber certaines
structures de fichier, ce qui peut dans certains cas rendre le fichier inutilisable.
7.1.4 Utilitaire pour la Tâche RFC
Parmi les fichiers fournis avec l'Agent BS2000 se trouve également l'utilitaire pour la Tâche RFC
UCYBRFC?.
Le fichier INI de l'Agent contient la section "[RFC]" avec le paramètre "LOGON". Si le paramètre
est défini sur "1", dans le cas d'un Transfert de Fichier avec ID utilisateur entré, l'Agent crée un Job
batch sous l'ID utilisateur entré. Dans ce Job batch, l'utilitaire UCYBRFC? est exécuté. Il se
connecte par TCP/IP via le port qui a été défini avec le paramètre du même nom (également dans la
section [RFC]). Grâce à cette connexion, l'Agent peut alors vérifier les droits d'accès au fichier par
rapport à l'Utilisateur entré. Etant donné que cette méthode entraîne une perte de performance de
l'Agent, les Tâches RFC sont maintenues pour d'autres Transferts de Fichiers. Ce n'est que
lorsqu'une Tâche RFC ne reçoit plus de demandes pendant un certain temps (définissable avec le
paramètre TIMEOUT=), qu'elle se termine d'elle-même.
Le fichier UCYBRFC? doit être partageable lorsque le mécanisme RFC est activé.
7.1.5 Agent - Numéros de port définis librement
Les numéros de port libres sont généralement attribués dans le DCSOF avec le paramètre
"Freeport". Par défaut, le premier numéro de port libre est le 4096.
L'Agent BS2000 ne fonctionne pas avec un numéro de port fixe, qui serait par exemple enregistré
dans son fichier INI. Lors de l'établissement de la connexion de l'Agent au Automation Engine,
l'Agent demande un numéro de port libre. Le système d'exploitation lui assigne le premier numéro de
port libre.
Si l'Agent BS2000 est chargé automatiquement après des tests réussis lors du démarrage de
l'hôte, veillez à ce que sa demande de numéro de port libre n'entre pas en conflit avec d'autres
applications.
Exemple :
Lors de tests, on obtient la configuration suivante :
1. Une application qui utilise le numéro de port 4096 via la commande /BCMAP est déjà en cours
d'exécution.
2. L'Agent BS2000 est démarré manuellement et utilise le numéro de port libre suivant, par exemple
4097.
3. Résultat : l'application et l'Agent fonctionnent correctement.
187
Chapter 7 L'Automation Engine et les systèmes cible
Après les tests, l'Agent BS2000 est démarré automatiquement ; il est donc chargé avant cette
application.
1. L'Agent BS2000 utilise le premier numéro de port libre 4096.
2. L'application à laquelle ce numéro de port a été assigné via la commande /BCMAP ne peut être
démarrée.
7.1.6 Commande de console BS2000
La création, la configuration et le traitement d'une séquence de données sont un processus
complexe au cours duquel les fonctions et les instructions de script ainsi que des objets spéciaux
interagissent.
L'exemple suivant montre les définitions nécessaires dans les objets impliqués et à quoi les scripts
font référence.
L'exemple est intentionnellement succinct et facile pour clarifier le principe en dépit de sa
complexité. Il doit montrer comment poser une commande de console BS2000 avec un Job et
comment le résultat est affiché ligne par ligne dans son protocole d'activation.
Pour poser une commande de console BS2000, l'utilitaire de l'Automation Engine UCYEBXXZ
doit être installé sur l'hôte.
Job: SC.PROCESS.BS2000UCON
Dans le script de ce Job, la fonction PREP_PROCESS est appelée afin de préparer le traitement de
la séquence de données. Les paramètres suivants sont ainsi transmis :
l
l
Nom de la machine sur laquelle un Job d'Evènement doit être exécuté, ici "C70".
Type du Job Evènement devant être exécuté, ici : "BS2000UCON".
La saisie "BS2000UCON" entraîne l'exécution du Job "EVENT.BS2000UCON".
Par défaut, les Jobs Evènements "EVENT.BS2000CMD", "EVENT.BS2000UCON",
"EVENT.UNIXCMD", "EVENT.UNIXFS" et "EVENT.WINCMD" sont fournis dans le Client
"0000". Ils peuvent être utilisés directement ou en tant que modèles pour des Jobs
Evènement personnels.
Automation Engine
l
l
l
188
Le troisième paramètre de la fonction a été omis. Cela signifie qu'avec la valeur par défaut "*"
comme Filtre, toutes les lignes générées par la commande de console sont prises en
compte.
La Variable de script "&CMD" du Job d'Evènement est renseignée avec la valeur "BCDISP
DISP=O".
Le Job d'Evènement doit poser cette commande dans la console et ainsi énumérer toutes les
applications ouvertes.
Le Job "EVENT.BS2000UCON" est ensuite démarré.
Job: EVENT.BS2000UCON
Ce Job est le Job "EVENT.BS2000UCON" fourni par défaut dans le Client "0000".
Il est important que la case à cocher "Dialogue des attributs" soit sélectionnée dans l'onglet
Attributs de ce Job. Cela permet de lire l'objet Include "ATTRDIA.BS2000" qui provoque
normalement le dialogue des attributs.
Include: ATTRDIA.BS2000
189
Chapter 7 L'Automation Engine et les systèmes cible
Cela permet de renseigner tous les attributs figurant dans le script de l'Include. Le dialogue des
attributs n'est pas affiché, car la transmission des contenus de la Variable se fait en interne.
Job: EVENT.BS2000UCON
Il est désormais possible de procéder à une connexion du Job et d'exécuter la commande de
console.
l
l
L'utilitaire UC4 "UCYEBXXZ" est démarré sous l'ID "$UC4".
L'utilitaire tente d'établir une des connexions de console indiquées.
Automation Engine
l
l
190
La commande "BCDISP DISP=O" est exécutée une fois une connexion établie avec
succès.
Le message de fin de la commande de console ou la durée "Temps dépassé" définie sur 120
secondes terminent la connexion.
Pour chaque Transfert de Fichier, le fichier en sortie est transféré au Automation Engine et il est à
disposition en tant que séquence de données. Le Job "EVENT.BS2000UCON" est terminé.
Job: SC.PROCESS.BS2000UCON
La fonction PREP_PROCESS renvoie une valeur qui est une référence aux données de gestion de
la séquence de données à traiter.
Cette valeur est passée à l'instruction :PROCESS comme paramètre de démarrage. :PROCESS et
:ENDPROCESS forment une boucle de processus qui va s'exécuter ici jusqu'à ce que la fin de la
séquence de données soit atteinte. A chaque cycle de la boucle, une nouvelle ligne de cette
séquence de données est lue dans la mémoire de travail. La fonction GET_PROCESS_LINE peut
calculer, avec la valeur actuelle, le contenu des lignes de la séquence de données.
Dans l'exemple, la ligne de console respective est affichée dans le protocole d'activation.
L'instruction :STOP interrompt l'exécution du Job et affiche ce protocole d'activation.
7.1.7 Commande de système d'exploitation BS2000
La création, la configuration et le traitement d'une séquence de données sont un processus
complexe au cours duquel les fonctions et les instructions de script ainsi que des objets spéciaux
interagissent.
L'exemple suivant montre les définitions nécessaires dans les objets impliqués et à quoi les scripts
font référence.
L'exemple est intentionnellement succinct et facile pour clarifier le principe en dépit de sa
complexité. Il doit montrer comment poser une commande BS2000 avec un Job sous l'ID "UC4" et
comment le résultat est affiché ligne par ligne dans son protocole d'activation.
191
Chapter 7 L'Automation Engine et les systèmes cible
Job: SC.PROCESS.BS2000CMD
Dans le script de ce Job, la fonction PREP_PROCESS est appelée afin de préparer le traitement de
la séquence de données. Les paramètres suivants sont ainsi transmis :
l
l
l
l
l
Nom de la machine sur laquelle un Job d'Evènement doit être exécuté, ici "C70".
Type du Job Evènement devant être exécuté, ici : "BS2000CMD".
La saisie "BS2000CMD" entraîne l'exécution du Job "EVENT.BS2000CMD".
Par défaut, les Jobs Evènements "EVENT.BS2000CMD", "EVENT.BS2000UCON",
"EVENT.UNIXCMD", "EVENT.UNIXFS" et "EVENT.WINCMD" sont fournis dans le Client
"0000". Ils peuvent être utilisés directement ou en tant que modèles pour des Jobs
Evènement personnels.
Le troisième paramètre de la fonction a été omis. Cela signifie qu'avec la valeur par défaut "*"
comme Filtre, toutes les lignes générées sont prises en compte.
La Variable de script "&CMD" du Job d'Evènement est renseignée avec la valeur "/STA P".
Le Job d'Evènement doit poser cette commande avec l'objet Login "UC4ADMIN".
Le Job "EVENT.BS2000CMD" est ensuite démarré.
Job: EVENT.BS2000CMD
Automation Engine
Ce Job est le Job "EVENT.BS2000CMD" fourni par défaut dans le Client "0000".
Il est important que la case à cocher "Dialogue des attributs" soit sélectionnée dans l'onglet
Attributs de ce Job. Cela permet de lire l'objet Include "ATTRDIA.BS2000" qui provoque
normalement le dialogue des attributs.
Include: ATTRDIA.BS2000
Cela permet de renseigner tous les attributs figurant dans le script de l'Include. Le dialogue des
attributs n'est pas affiché, car la transmission des contenus de la Variable se fait en interne.
192
193
Chapter 7 L'Automation Engine et les systèmes cible
Job: EVENT.BS2000CMD
Il est désormais possible de procéder à une connexion du Job et d'exécuter la commande.
l
l
La commande "/STA P" à exécuter est lue dans la Variable de script "&CMD".
Le SYSOUT est redirigé dans un fichier en sortie et la commande est exécutée.
Pour chaque Transfert de Fichier, le fichier en sortie est transféré au Automation Engine et il est à
disposition en tant que séquence de données. Le Job "EVENT.BS2000CMD" est terminé.
Job: SC.PROCESS.BS2000CMD
La fonction PREP_PROCESS renvoie une valeur qui est une référence aux données de gestion de
la séquence de données à traiter.
Cette valeur est passée à l'instruction :PROCESS comme paramètre de démarrage. :PROCESS et
:ENDPROCESS forment une boucle de processus qui va s'exécuter ici jusqu'à ce que la fin de la
Automation Engine
194
séquence de données soit atteinte. A chaque cycle de la boucle, une nouvelle ligne de cette
séquence de données est lue dans la mémoire de travail. La fonction GET_PROCESS_LINE peut
calculer, avec la valeur actuelle, le contenu des lignes de la séquence de données.
Dans l'exemple, la ligne respective est affichée dans le protocole d'activation.
L'instruction :STOP interrompt l'exécution du Job et affiche ce protocole d'activation.
7.2 L'Automation Engine et les bases de
données
7.2.1 Agent de base de données
Un Agent pouvant établir une connexion aux bases de données fait partie des composants. Il
vous permet d'exécuter des instructions SQL dans ces bases de données sans exécuter d'outil
externe de ligne de commande. Cela améliore la sécurité et simplifie l'administration de la base
de données. Outre les instructions SQL typiques, comme SELECT ou UPDATE, l'Agent peut
également exécuter des commandes spécifiques à votre base de données et des procédures
enregistrées dans la base de données.
L'objet Job contient un éditeur convivial vous permettant de formuler les instructions. Il vous
montre, en outre, les tables de la base de données et ses colonnes.
Le résultat des instructions SQL est enregistré dans le rapport de Job et peut être lu précisément
avec le script PREP_PROCESS_REPORT. Si une erreur se produit pendant l'exécution du Job, ou
si ce dernier est interrompu, l'Agent annule alors par défaut toutes les instructions SQL jusqu'au
dernier COMMIT. L'objet Job vous offre de nombreuses possibilités de paramétrage vous
permettant de configurer l'exécution des instructions SQL.
Agent for Databases prend actuellement en charge Oracle, MSSQL, DB2 et MySQL, entre autres.
Rubriques connexes :
Onglet Forme
7.2.2 Connexion aux bases de données Oracle
L'Agent de base de données peut se connecter soit à une instance de base de données unique,
soit à des nœuds RAC.
Connexion à une instance Oracle unique
Cette connexion est celle par défaut. L'Agent de base de données ne peut se connecter qu'à une
seule instance de base de données. L'objet Job contient les données de connexion nécessaires.
Le paramètre useOraClient= du Fichier INI de l'Agent de base de données (section [SQL]) doit être
mis sur 0.
195
Chapter 7 L'Automation Engine et les systèmes cible
Connexions RAC
L'Agent de base de données peut se connecter à des nœuds RAC Oracle. Le fichier Oracle namens
tnsnames.ora contient les données de connexion correspondantes. Le champ "Serveur" de l'onglet
"SQL" de l'objet Job n'a pas besoin d'être rempli.
Effectuez les étapes suivantes après l'installation de l'Agent de base de données :
1. Définissez sur 1 le paramètre useOraClient= du fichier INI de l'Agent de base de données.
2. Installez sur l'hôte de l'Agent de base de données le Client ou Oracle Instant Client. Ce
dernier est fourni sous différentes formes. L'Agent de base de données requiert le package
"Basic".
3. Vous devez définir deux Variables d'environnement si vous utilisez Oracle Instant Client.
Entrez pour la Variable d'environnement PATH (Windows) ou LD_LIBRARY_PATH (UNIX)
le répertoire d'installation d'Oracle Instant Client. La Variable d'environnement TNS_ADMIN
doit inclure le répertoire dans lequel se trouve le fichier tnsnames.ora.
Exemple de fichier tnsnames.ora :
APPL_DB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver01)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver02)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER =
DEDICATED) (SERVICE_NAME = APPLDB.CUSTOMER.COM) ) )
Entrez "APPL_DB" dans le champ "Base de données" de l'objet Job.
7.2.3 Sybase - Procédures enregistrées
L'exécution de procédures enregistrées requiert une commande supplémentaire.
Utilisez pour cela les lignes de commande suivantes :
execute sp_procxmode 'procedure name','anymode';
execute procedure name;
Le message d'erreur suivant est affiché si vous essayez d'exécuter une telle procédure
directement.
"Stored procedure 'procedure name' may be run only in unchained transaction mode. The 'SET
CHAINED OFF' command will cause the current session to use unchained transaction mode."
La commande "SET CHAINED OFF" ne peut être exécutée à cause du pilote JDBC. Utilisez la
commande sp_procxmode.
7.2.4 Procédures enregistrées par MS SQL Server
Avec l'Agent de base de données, il est possible d'exécuter des procédures enregistrées pour
MS SQL.
RETURN
L'instruction RETURN peut renvoyer un chiffre. Ce code retour peut être repris, comme indiqué
dans l'exemple de script suivant, dans le rapport de Job. Le nom de la procédure enregistrée est
Automation Engine
196
ANGTEST.
SQL_SET_STATEMENT_TERMINATOR TERM='!';
DECLARE @result int;
EXEC @result = ANGTEST;
select @result;!
Etant donné que le point virgule se trouve au sein de l'instruction, un autre séparateur est
automatiquement sélectionné.
Le Job se termine normalement indépendamment du code retour. Si vous souhaitez modifier le
statut de fin du Job, vous pouvez lire le code retour dans le rapport de Job et y réagir avec
:MODIFY_STATE.
PRINT
L'instruction PRINT permet d'afficher des messages pour les utilisateurs. DBCC CHECKDB en
est un exemple. Ces messages sont repris dans le rapport de Job. L'exécution du Job se poursuit
normalement.
RAISE ERROR
Entraîne une interruption du Job. Le message d'erreur est repris dans le rapport d'activation.
Rubriques connexes :
Onglet "Forme"
Onglet Script
PREP_PROCESS_REPORT
7.2.5 ILM - Partition-Key Turnaround
Lorsque le partitionnement de la base de données est utilisé via IML, une situation particulière
survient lorsque le nombre maximal de RunID (tâches, enregistrements statistiques) est atteint.
Ce maximum est plus ou moins vite atteint en fonction du nombre de tâches démarrées
régulièrement.
Afin de résoudre ce problème, une procédure spéciale est exécutée dans ce cas : le Partition-Key
Turnaround.
Généralités
Les entrées statistiques (tâches exécutées) sont enregistrées dans le tableau AH et les RunID sont
indiqués dans la colonne AH_Idnr. Les valeurs de cette colonne sont techniquement des chiffres à
32 bits avec une valeur maximale de 2.147.483.647. La tranche de numéros au-dessous de
1 000 000 est réservée aux traitements spéciaux.
La plage de valeurs autorisée ou possible pour les RunID des entrées statistiques s'étend donc de
1 000 000 à 2 147 483 647.
Sur les systèmes AE avec un nombre réduit de tâches exécutées régulièrement, cette limite n'est
pratiquement jamais atteinte. Lorsque le nombre d'activités exécutées au quotidien est important
(~1 000 000), cette limite peut être atteinte après quelques années.
197
Chapter 7 L'Automation Engine et les systèmes cible
Changement de partition
Vous trouverez ici des informations générales sur ILM et le changement de partition.
Un certain nombre de partitions est conservé en ligne dans la base de données. Vous pouvez
configurer cette valeur avec le paramètre ONLINE_PARTITIONS de la variable UC_ILM_
SETTINGS.
Lors de l'utilisation d'ILM avec l'Automation Engine, chaque partition possède une valeur clé
maximale. Cependant, la partition actuelle est ouverte vers le haut et ne dispose pas de valeur
limite fixe. Pour cela, une valeur virtuelle spécifique de la partition est utilisée: NULL pour le serveur
MS SQL et MAXVALUE pour les bases de données Oracle.
Lors d'un changement de partition, une nouvelle partition est ajoutée dans la partie supérieure et
l'ancienne partition y est supprimée. La suppression directe est possible dans Oracle, le serveur MS
SQL nécessite une table de Staging.
Mode Partition-Key Turnaround
La consommation RunID maximale des anciennes partitions est calculée constamment et
automatiquement, puis enregistrée dans la variable UC_ILM_SETTINGS sous la clé MAX_
ENTRIES. Lorsqu'un changement de partition doit être exécuté, il est vérifié qu'à partir du RunID
supérieur actuel moins de 3x MAX_ENTRIES soient nécessaires pour atteindre la valeur maximale.
Si tel est le cas, le mode Partition-Key Turnaround est activé.
Si ce mode spécial est actif, les partitions suivantes sont réinsérées dans la zone inférieure (à partir
de 1 000 000) et la numérotation recommande du début. Ce mode spécial est actif jusqu'à ce que
toutes les partitions aient été supprimées de la tranche de numéros supérieure et qu'une plage de
valeurs continue jusqu'à 2 147 483 647 soit à nouveau disponible.
Le partitionnement d'Oracle est très différent des bases de données du serveur MS SQL, tout
comme le mode Partition-Key Turnaround. La procédure est ainsi décrite par type de base de
données.
Oracle
Scénario de sortie suivant :
Consommation maximale (MAX_ENTRIES): 1 000 000
RunID supérieur actuel attribué : 2.145.000.000
Partitions en ligne : 4
Partition Limite supérieure
P11
2.142.483.647
P12
2.143.483.647
P13
2.144.483.647
P14
MAXVALUE
Automation Engine
198
P11 suffit de 1 000 000 à 2 142 483 647 d'un point de vue technique, mais uniquement de
2 141 483 647 à 2 142 483 647 d'un point de vue logique, car seuls les enregistrements sont décrits
dans cette zone de l'Automation Engine.
Il est maintenant nécessaire d'effectuer un changement de partition. L'espace disponible entre le
RunID supérieur actuel (2 145 000 000) et la valeur maximale (2 147 483 647) est inférieur à 3x
MAX_ENTRIES (1 000 000). Il est donc nécessaire de basculer en mode Partition-Key Turnaround.
L'ancienne partition est alors divisée (P11) afin d'ajouter une nouvelle partition (P15) dans la tranche
de numéros inférieure (commençant à partir de 1 000 000). La triple consommation maximale est
définie comme limite supérieure de la nouvelle partition. Dans notre cas, la limite supérieure de la
nouvelle partition P15 s'élève à 4 000 000.
Après insertion de P15, l'ancienne partition P11 est supprimée et seulement 4 partitions sont à
nouveau disponibles.
Cette procédure est répétée lors du prochain changement de partition :
La triple consommation maximale est à nouveau utilisée comme limite supérieure de la nouvelle
partition et calculée à partir de la limite supérieure de P15. L'ancienne partition actuelle P12 est alors
divisée à 7 000 000 et permet de créer la nouvelle partition P16. La partition P12 est ensuite
supprimée.
Cette procédure est répétée jusqu'à ce qu'il n'y ait plus aucune partition dans la tranche de numéros
supérieure. Dans notre cas, cela nécessite un autre changement de partition (P17).
Lorsque la partition ouverte vers le haut (P14) est ensuite supprimée, aucune division de partition
n'est exécutée, mais une nouvelle partition ouverte vers le haut (P18) est ajoutée.
Le mode Partition-Key Turnaround est ensuite désactivé avant de repasser en mode normal. Les
RunID sont alors à nouveau attribués à partir de la plage inférieure.
199
Chapter 7 L'Automation Engine et les systèmes cible
Les conditions suivantes s'appliquent alors :
l
l
l
Lorsque le mode Partition-Key Turnaround est actif, un changement de partition doit encore
être effectué.
Les anciennes partitions doivent être supprimées afin de les retirer de tranche de numéros
supérieure et de pouvoir rebasculer en mode normal.
La consommation RunID doit également être surveillée afin de ne pas dépasser la limite de
triple consommation maximale. Si cette limite n'est pas suffisante, un changement de
partition préalable doit être exécuté au moment opportun.
Serveur SQL
Scénario de sortie suivant :
Consommation maximale (MAX_ENTRIES): 1 000 000
RunID supérieur actuel attribué : 2.145.000.000
Partitions en ligne : 4
Partition Limite supérieure
P1
2.142.483.647
P12
2.143.483.647
P13
2.144.483.647
P14
NULL
En définissant la limite inférieure du serveur MS SQL, la partition inférieure P1 est vide. Certes, elle
peut être utilisée d'un point de vue technique, mais elle est logiquement vide puisque non utilisée
par l'Automation Engine. Elle n'est pas non plus affichée dans la Supervision Système.
La partition inférieure logique est donc P12.
La dernière partition P14 est ouverte vers le haut.
Automation Engine
200
Il est maintenant nécessaire d'effectuer un changement de partition. Etant donné que l'espace
disponible entre le RunID supérieur attribué et la limite maximale est inférieur à 3x MAX_ENTRIES,
le mode Partition-Key Turnaround est activé.
Etant donné qu'une limite inférieure est définie pour le serveur MS SQL, la partition inférieure P1 est
divisée à 1 000 000 afin de rajouter une partition dans la plage inférieure. La plage inférieure à
1 000 000 reste attribuée à la partition P1 et donc inutilisée. La partition issue de la division (P15)
hérite de la limite supérieure de l'ancienne partition inférieure.
P15 suffit de 1 000 000 à 2 142 483 647 d'un point de vue technique. Cette valeur limite ne cessera
cependant de varier à la suite des changements de partition suivants.
L'ancienne partition P12 est ensuite supprimée et P15 devient automatiquement la limite
supérieure. P15 se situe à présent entre 1 000 000 et 2 143 483 647.
Lors du changement de partition suivant, la partition 15 est divisée : La consommation maximale
réelle (1 000 000) calculée à partir de la limite supérieure de P1 est alors attribuée comme limite
supérieure de P15. La limite supérieure de P15 s'élève alors à 2 000 000. L'ancienne partition P13
est alors supprimée.
La nouvelle partition P16 se situe entre 2 000 000 et 2 144 483 647 d'un point de vue technique, car
elle hérite de la limite supérieure de P13.
La situation actuelle se résume comme suit :
Après le dernier changement de partition, la consommation maximale réelle est attribuée à P16 et
divisée à 3 000 000. La partition P14 est supprimée et la nouvelle partition P17 est désormais
ouverte vers le haut. Le mode Partition-Key Turnaround prend fin et nous revenons au mode normal.
Les particularités suivantes s'appliquent au serveur MS SQL :
201
Chapter 7 L'Automation Engine et les systèmes cible
l
veuillez noter que des changements de partition réguliers sont exécutés lorsque vous
approchez la valeur maximale de RunId (2.147.483.647).
7.3 L'Automation Engine et GCOS 8
7.3.1 Agent GCOS8 - Prise en charge du Transfert de
Fichier
L'agent GCOS prend en charge le Transfert de fichiers pour les fichiers avec un format déterminé
et des attributs spécifiques.
Format de fichier GFRC
[GFRC] [UFF séquentiel] [UFF relatif] [UFF indexé]
l
l
l
Organisation séquentielle des fichiers
Mode d'accès séquentiel
Modes de traitement : entrée, sortie ou extension
Syntaxe
Mode d'entrée :
GFRC=code média[,RSZ=longueur de l'enregistrement]
Mode de sortie :
GFRC=code média[,RSZ=longueur de l'enregistrement][,VLREC_NO/VLREC_SEG]
Attribut de
fichier
(attributs
UFAS)
Description
GFRC=code
média
Force l'organisation des fichiers au format GFRC séquentiel.
Valeurs autorisées pour le code média :
l
l
l
l
l
"00" : aucun Media conversion Record ou aucun Printer slew controls ;
"01" : Binary card image ;
"02" : BCD card image ;
"06" : GFRC Format ASCII (format utilisé par le Time Sharing System) ;
"10" : Time Sharing System information Record.
RSZ=longueur Nombre maximal de caractères pour les enregistrements lus ou écrits.
de
Si la plate-forme de destination est GCOS8, la valeur par défaut est 80 pour les
l'enregistrement
enregistrements non-partitionnés et 84 pour les enregistrements partitionnés.
Dans tous les autres cas, les valeurs standard suivantes s'appliquent :
l
l
l
l
Code média 0 : 16384
Code média 2 : 1272
Code média 6 : 16384
Code média 10 : 1272
Automation Engine
VLREC_NO
Force l'utilisation d'enregistrements de longueur fixe.
VLREC_SEG
Longueur d'enregistrement variable, partitionnée en un ou plusieurs blocs
physiques.
202
Exemple
GFRC=06,RSZ=70
Format de fichier séquentiel UFF
[GFRC] [UFF séquentiel] [UFF relatif] [UFF indexé]
l
l
l
l
Organisation séquentielle des fichiers
Mode d'accès séquentiel
Modes de traitement : entrée, sortie ou extension
par défaut, longueur d'enregistrement variable.
Syntaxe
Mode d'entrée :
UFF_SEQ[,RSZ=longueur de l'enregistrement]
Mode de sortie :
UFF_SEQ[,RSZ=longueur de l'enregistrement][,VLREC_NO/VLREC_SEG][,CISZ=taille]
Attribut de
fichier
(attributs
UFAS)
Description
UFF_SEQ
Force l'organisation des fichiers au format UFF séquentiel.
RSZ=longueur Nombre maximal de caractères pour les enregistrements lus ou écrits. La
de
valeur influence la taille de l'intervalle de contrôle (CI) sélectionnée pour les
l'enregistrement Fichiers de sortie. Si la taille maximale de l'enregistrement est de 2000 ou
moins, une taille CI de 1K est utilisée. Les tailles d'enregistrement supérieures
à 2000 provoquent la création de CI d'une longueur de mot de 4K. La valeur par
défaut est 80.
VLREC_NO
Force l'utilisation d'enregistrements de longueur fixe.
VLREC_SEG
Longueur d'enregistrement variable, partitionnée en un ou plusieurs blocs
physiques.
CISZ=taille
Définit la taille de l'intervalle de contrôle (en octets).
Exemple
UFF_SEQ,RSZ=100
203
Chapter 7 L'Automation Engine et les systèmes cible
Format de fichier relatif UFF
[GFRC] [UFF séquentiel] [UFF relatif] [UFF indexé]
l
l
l
l
Organisation relative des fichiers
Mode d'accès séquentiel ou libre
Modes de traitement : entrée, sortie ou extension
longueur de l'enregistrement fixe.
Syntaxe
Mode d'entrée :
UFF_REL[,RSZ=longueur de l'enregistrement]
Mode de sortie :
UFF_REL[,RSZ=longueur de l'enregistrement][,CISZ=taille]
Attribut de fichier
(attributs UFAS)
Description
UFF_REL
Force l'organisation des fichiers au format UFF relatif.
RSZ=longueur de
l'enregistrement
Nombre maximal de caractères pour les enregistrements lus ou écrits.
La valeur par défaut est 80.
CISZ=taille
Définit la taille de l'intervalle de contrôle (en octets).
Exemple
UFF_REL,RSZ=120,CISZ=8192
Format de fichier indexé UFF
[GFRC] [UFF séquentiel] [UFF relatif] [UFF indexé]
l
l
l
l
Organisation indexée des fichiers
Mode d'accès séquentiel ou libre
Modes de traitement : entrée, sortie ou extension
longueur de l'enregistrement fixe.
Le nom du fichier et celui du fichier d'index doivent être spécifiés en les séparant par un pointvirgule.
Syntaxe
Mode d'entrée :
UFF_IND[,KEY=(doublons,décalage,longueur)][,KNR=numéro de clé][,RSZ=longueur de
l'enregistrement]
Mode de sortie :
UFF_IND,KEY=(doublons,décalage,longueur)[,RSZ=longueur de l'enregistrement][,CISZ=taille]
Automation Engine
Attribut de
fichier
(attributs
UFAS)
Description
UFF_IND
Force l'organisation des fichiers au format UFF indexé.
204
RSZ=longueur Nombre maximal de caractères pour les enregistrements lus ou écrits. La
de
valeur par défaut est 80.
l'enregistrement
KEY=
(
doublons
,
décalage
,longueur)
Définit une clé pour les fichiers indexés :
l
l
l
Doublons - indique si des clés doubles pour la définition des clés sont
permises.
Valeurs autorisées :
"0" - La clé ne contient pas de doublons.
"1" - La clé peut contenir des doublons.
Décalage - décalage de la clé en enregistrements (octets).
Longueur - longueur de la clé (octets).
Il est permis de définir plus d'une clé. La première entrée est la clé primaire.
Définissez le paramètre Dupliquer sur 0 pour ne permettre aucune duplication
de clé. La deuxième entrée jusqu'à la nième entrée représentent les n-1 clés
changeantes. Cet attribut est obligatoire.
KNR=numéro
de clé
Définit la clé qui est utilisée comme clé de référence lors de la recherche de
l'enregistrement à lire. Cette entrée correspond à l'élément de tableau (base 1)
de la définition des clés dans la structure KEY_DESC, qui est utilisée pour
ouvrir le fichier. La valeur par défaut est 1, c'est-à-dire la clé primaire.
CISZ=taille
Définit la taille de l'intervalle de contrôle (en octets).
Exemple
UFF_IND,KEY=(0,0,20)
Rubriques connexes : Onglet "Transfert de Fichier" :
7.3.2 Surveillance d'une fin anormale de l'Agent Job
Dans la description suivante, il faut trouver les inscriptions sur l'Agent GCOS8 et reconnaître la
fin anormale d'un Agent Job.
L'Agent GCOS8 travaille avec trois informateurs de Job qui lui communiquent le statut des Jobs :
1. Informateur de démarrage (pour le démarrage du Job)
2. Informateur de fin (pour la fin du Job)
3. Informateur de rapport (pour le rapport de Job)
L'informateur de rapport est généré par le système RSM, si un tel système est utilisé. Les Jobs de
GCOS8 ne sont terminés que lorsque la création du rapport de Job est terminée. Le système RSM
205
Chapter 7 L'Automation Engine et les systèmes cible
cherche ce dernier dans le SYSOUT. Une Alerte est ensuite envoyée à l'Agent pour que le rapport
de Job puisse être transféré dans le système AE.
Comme vous le voyez, les programmes informateurs sont de la plus haute importance pour
l'exécution du Job. L'Automation Engine vous donne la possibilité de réagir à une fermeture
anormale de l'Agent Job.
Le Program Switch Word (PSW) est utilisé pour la notification d'une fin anormale de l'Agent Job. Il
s'agit d'une zone mémoire de 36 bits de long. Les bits de 0 à 17 sont réservés au système GCOS.
Les autres bits entre 18 et 35 peuvent être utilisés à votre gré. L'Agent Job utilise exactement un bit
pour afficher son statut. Le paramètre SW=numéro de bit vous permet de déterminer le bit en
question. Auparavant, vous devez définir le bit sélectionné avec l'instruction JCL $SET. Avec cette
configuration, l'Agent Job vérifie si le bit se trouve dans le statut ON et le met sur OFF, dès qu'il se
termine normalement. S'il reste dans le statut ON, c'est que l'Agent Job s'est terminé
anormalement.
Assurez-vous que le bit sélectionné n'est pas déjà utilisé pour d'autres applications !
Déroulement
Dans les descriptions qui suivent, nous avons utilisé le bit 18. Vous pouvez, cependant, choisir à
cette fin n'importe quel bit situé entre 18 et 35 et qui n'est pas encore occupé. Pour activer la
surveillance des informateurs de Job, procédez comme suit.
Pour l'informateur de démarrage :
1. Ouvrez l'objet Include d'en-tête nommé HEADER.GCOS8.
2. Insérez l'instruction $SET ainsi que le paramètre d'Agent Job SW=. Dans l'illustration, les
emplacements décrits sont entourés en rouge pour les mettre en évidence.
3. L'emplacement où le statut du bit est vérifié est également entouré. S'il est défini comme
auparavant, l'informateur de démarrage a été terminé anormalement. Le Job est interrompu
comme réaction à cela. Vous pouvez, bien entendu, insérer d'autres instructions.
Automation Engine
Pour l'informateur de fin :
1. Ouvrez l'objet Include de queue nommé TRAILER.GCOS8.
2. La configuration est exactement la même que pour l'informateur de démarrage. Insérez
l'instruction $SET ainsi que le paramètre d'Agent Job SW=. Dans l'illustration, les
emplacements décrits sont entourés en rouge pour les mettre en évidence.
206
207
Chapter 7 L'Automation Engine et les systèmes cible
Pour l'informateur de rapport :
Reportez-vous à la documentation RSM pour savoir comment adapter l'informateur de rapport.
7.4 L'Automation Engine et J2EE/JMX
7.4.1 Agent JMX/Java EE
Java Management Extensions (JMX) est une technologie qui configure des instruments pour
contrôler et surveiller des applications, appareils et réseaux. Automation Engine offre la
possibilité d'intégrer des applications Java dans des processus métiers à l'aide d'un Agent pour
JMX. La connexion est établie via un serveur MBean grâce auquel vous pouvez accéder aux
MBeans à l'aide de fonctions.
En principe, on distingue deux méthodes d'établissement de la connexion. L'Agent JMX/Java EE
peut s'exécuter d'un côté comme application web au sein de la Java Virtual Machine et accéder au
serveur MBean de la même machine.
Automation Engine
208
D'un autre côté, il est possible de configurer un Job de manière à ce qu'il puisse atteindre les
serveurs MBean se trouvant sur d'autres machines à l'aide du JMX Remote API (JSR 160). Dans
l'objet Job, il est possible de spécifier l'URL du serveur MBean. Les machines des serveurs MBean
doivent dans ce cas-là disposer d'un serveur de connexion.
Dans l'onglet Hôte des Jobs JMX, il est possible de paramétrer la connexion au serveur MBean.
Si l'Agent JMX pour SAP est utilisé, il crée en plus un fichier log au format SAP. Il l'enregistre
automatiquement dans le répertoire d'installation de l'Agent, dans le sous-dossier "log". Vous
pouvez tout simplement poursuivre le traitement de ce fichier avec les outils SAP.
Rubriques connexes :
UC4-JCL pour JMX
7.4.2 Création de MBeans à partir des services web
Mode d'emploi pour la création de MBeans sur la base de services web.
209
Chapter 7 L'Automation Engine et les systèmes cible
Ce mode d'emploi présuppose des connaissances de Java et des services web.
Attention : L'Automation Engine n'offre aucune prise en charge des services web, ni des
MBeans !
Généralités
Automation Engine prend en charge les services Web via l'utilisation de MBeans avec l'Agent JMX.
De nombreux éditeurs offrent la plupart du temps, au lieu de MBeans, les services web qui
permettent d'accéder à leurs applications. Ce mode d'emploi vous montre, étape par étape,
comment créer un MBean à partir d'un service web existant. Nous utilisons comme exemple le
service web "CurrencyConvertor", qui met à disposition Generic Objects Technologies Ltd. Il offre
les derniers cours de conversion du change.
Il vous faut :
l
l
l
un Agent JMX
un accès au service web (WDSL, URL, paramètres)
Apache Axis (disponible gratuitement)
Attention : il n'est possible de créer des MBeans que pour les services web synchrones ! Les
services web asynchrones sont d'une utilisation bien plus complexe et nécessitent une
manipulation individuelle.
Testez exhaustivement le MBean créé !
Installation
1.
l
Téléchargez les fichiers d'Apache Axis de http://ws.apache.org/axis. Installez Apache Axis
comme indiqué dans la documentation.
2.
l
Configurer Apache Axis
Générer les classes Java pour l'exécution des services web
Démarrez l'outil "WSDL2Java" d'Apache Axis. Il s'agit d'un générateur-enveloppeur de
services web. Vous pouvez, par exemple, utiliser Eclipse comme environnement de
développement. Saisissez l'adresse WSDL
"http://www.webservicex.com/CurrencyConvertor.asmx?wsdl" comme paramètre de
saisie.
Automation Engine
l
Les classes Java suivantes sont alors créées :
3.
l
l
210
Créer un MBean pour l'utilisation des classes Java
Au cours de cette étape, vous créez un MBean qui utilise les classes Java générées pour
exécuter le service web via JMX. Quelques remarques introductives sur les directives de
programmation de MBeans :
l
Un modèle MBean standard se compose d'une interface et d'une classe qui le
mettent en œuvre.
l
L'interface possède le même nom que la classe plus le suffixe "MBean".
Dans l'exemple suivant, la classe s'appelle "Converter" et l'interface
"ConverterMBean.java". Créez les deux fichiers, par exemple dans un package nommé
"com.uc4.ws". Le code complet pour l'interface et la classe est le suivant :
ConverterMBean.java :
package com.uc4.ws;
import java.rmi.RemoteException;
211
Chapter 7 L'Automation Engine et les systèmes cible
import javax.xml.rpc.ServiceException;
public interface ConverterMBean {
double convertCurrency(String fromCurrency, String toCurrency)
throws ServiceException, RemoteException,
IllegalArgumentException;
}
Converter.java :
package com.uc4.ws;
import
import
import
import
import
java.rmi.RemoteException;
javax.xml.rpc.ServiceException;
NET.webserviceX.www.Currency;
NET.webserviceX.www.CurrencyConvertorLocator;
NET.webserviceX.www.CurrencyConvertorSoap;
public class Converter implements ConverterMBean {
public double convertCurrency(String fromCurrency, String
toCurrency)
throws ServiceException, RemoteException,
IllegalArgumentException {
CurrencyConvertorLocator locator = new CurrencyConvertorLocator
();
CurrencyConvertorSoap soap = locator.getCurrencyConvertorSoap();
return soap.conversionRate(
Currency.fromString(fromCurrency),
Currency.fromString(toCurrency));
}
}
La méthode "convertCurrency" contient l'exécution du service web et utilise les classes
Java générées. Elle crée une instance du localisateur de service et appelle la méthode
"getCurrencyConvertorSoap" pour recevoir une souche SOAP. Ce modèle (localisateursouche) est décrit dans la documentation d'Apache Axis.
La souche procède à l'appel du service web. Les paramètres sont convertis de
"java.lang.String" à des objets "NET.webserviceX.www.Currency", étant donné que seuls
des types de données simples peuvent être utilisés dans MBeans. Le résultat, c'est-à-dire le
cours du change actuel, est renvoyé.
4.
l
Créer un fichier JAR pour le MBean et les classes Java
Créez, à l'aide d'un script Ant, un fichier JAR commun pour les deux fichiers du MBean et
des classes Java générées. Dans l'exemple qui suit, un fichier nommé "exampleMBean.jar"
est généré.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="uc4" default="exampleMBean.jar">
<property name="classes_dir" value="bin" />
<target name="exampleMBean.jar" description="Web Service MBean">
<jar jarfile="exampleMBean.jar" basedir="${classes_dir}"/>
</target>
</project>
Automation Engine
212
Dans un environnement de développement comme Eclipse, il ne vous faut pas de script Ant
et vous pouvez créer le fichier JAR directement à l'aide d'une commande de menu.
5.
l
Démarrer l'Agent JMX avec le MBean
Enregistrez le fichier JAR créé ainsi que les fichiers JAR d'Apache Axis dans le chemin de
classe de l'Agent JMX. L'appel pour démarrer l'Agent JMX est le suivant sous Windows :
Java -cp axis.jar;commons-discovery-0.2.jar;commons-logging1.0.4.jar;
wsdl4j-1.5.1.jar;saaj.jar;exampleMBean.jar;ucxjjmx.jar;jaxrpc.jar
com/uc4/ex/jmx/UCXJMX
Sous UNIX, le point-virgule ";" doit être remplacé par un deux-points ":".
L'Agent JMX ne requiert aucun Serveur d'application et peut s'exécuter de manière
autonome. Une implémentation JMX est cependant nécessaire à l'exécution. Pour garantir
cela, il suffit d'installer Java version 5. Cette version contient les packages JMX
nécessaires de version 1.2.
Utilisation
1.
l
l
l
Créer le Job JMX
Identifiez-vous au système AE à l'aide de l'Interface Utilisateur.
Créez un Job JMX et sélectionnez, dans son onglet Attributs, l'Agent JMX qui contient le
MBean. N'oubliez pas non plus de sélectionner un objet Login adapté.
Allez dans l'onglet Forme. Cliquez sur le bouton
pour insérer une nouvelle ligne. Pour que
le MBean puisse être utilisé, il doit tout d'abord être enregistré auprès du Serveur MBean.
Dans la catégorie "Serveur Mbean", sélectionnez donc la fonction "Enregistrer un Mbean" à
l'aide d'un double-clic.
La fonction JMX_CREATE_MBEAN crée une instance du MBean et l'enregistre dans le
Serveur MBean local.
l
l
Dans le champ "Classe", saisissez le nom de classe complet du MBean. Dans notre
exemple, il s'agit de "com.uc4.ws.Converter".
Dans le champ "Nom d'objet", vous devez entrer la désignation devant être assignée au
MBean. Cette désignation doit être unique dans le Serveur MBean. La désignation se
compose de deux parties séparées par deux-points ":". La première partie indique le nom de
domaine et la seconde les propriétés-clés. Dans notre exemple, il s'agit de
"com.uc4:name=CurrencyConverter".
Le nom de domaine peut contenir tout caractère sauf ":", "*" et "?". Pour éviter les
collisions entre MBeans et d'autres éditeurs, il est recommandé d'utiliser l'inverse du nom
DNS de votre société pour le nom de domaine.
Les propriétés clés permettent d'assigner au MBean un nom unique dans le domaine.
Elles sont séparées par une virgule ",". Une propriété clé se compose comme suit :
propriété=valeur. La propriété ne doit correspondre à aucun attribut du MBean. Le nombre de
propriétés clés n'est pas limité et l'ordre n'a pas non plus d'importance. Une propriété clé
peut contenir tout caractère sauf des guillemets, des virgules, ":", "=", "*" et "?". Saisissez
au moins une propriété clé.
213
Chapter 7 L'Automation Engine et les systèmes cible
l
l
Activez le paramètre "Termine normalement si déjà enregistré".
Enregistrez le Job JMX et exécutez-le. Cela a pour effet d'enregistrer le MBean dans le
Serveur MBean. Il s'affiche désormais dans le navigateur MBean, comme on peut le voir à
l'étape suivante.
2.
l
Utiliser le MBean
Il est possible d'utiliser le MBean grâce aux opérations qu'il offre. Cliquez sur le bouton
dans l'onglet Forme du Job JMX pour insérer une nouvelle ligne. Dans la catégorie
"Opérations", sélectionnez la fonction "Appeler une Opération" en effectuant un double-clic.
La fonction JMX_INVOKE exécute une opération d'un MBean.
l
l
l
l
l
Cliquez sur le bouton "Afficher..." pour ouvrir le navigateur MBean.
Sélectionnez, à gauche, le MBean "CurrencyConverter". Le tableau de droite affiche les
opérations JMX qui sont à la disposition du MBean.
Mettez en surbrillance l'opération "convertCurrency" et cliquez sur OK. Les champs "Nom
Mbean" et "Opération" sont remplis automatiquement avec la valeur correcte.
Saisissez, dans le champ "Paramètres", deux codes de monnaie séparés par une virgule.
"USD,EUR" a par exemple pour effet la fourniture par le MBean du cours du change du dollar
en euro.
Exécutez le Job JMX. Le cours du change est généré dans le rapport.
Lisez le rapport avec la fonction script PREP_PROCESS_REPORT pour utiliser les
valeurs fournies par les MBeans dans d'autres traitements ultérieurs. Les Exemples
contiennent la description des étapes requises.
Automation Engine
214
7.4.3 Agent Java EE/JMX et IBM WebSphere
L'Agent Java EE/JMX peut être utilisé de plusieurs façons.
Déployé dans IBM WebSphere :
1. Avec SOAP ou
2. RMI
Rubriques connexes :
Configuration de l'Agent pour Java EE/JMX (IBM WebSphere) avec SOAP Connector
Configuration de l'Agent pour Java EE/JMX (IBM WebSphere) avec RMI Connector
7.4.4 Envoi de messages SOAP à l'aide de MBeans
Voici un exemple de message SOAP pour consulter les cours des actions.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:getQuote
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:xmethods-delayed-quotes">
<symbol xsi:type="xsd:string">IBM</symbol>
</ns1:getQuote></soapenv:Body>
</soapenv:Envelope>
Le message SOAP doit être envoyé avec l'action SOAP suivante : "urn:xmethods-delayedquotes#getQuote"
L'URL du service web est : http://services.xmethods.net/soap
Un MBean peut être utilisé pour l'envoi de ce message SOAP. Le MBean nécessite au moins Java
version 5. Ajoutez tout d'abord le MBean au chemin de classe de l'Agent :
1. Copiez le fichier soapmbean.jar dans le répertoire de l'Agent JMX.
2. Démarrez l'Agent JMX avec le fichier soapmbean.jar dans le chemin de classe.
java -cp soapmbean.jar;ucxjjmx.jar com/uc4/ex/jmx/UCXJMX
Créez un Job JMX et ajoutez la ligne suivante dans l'onglet "Script" :
JMX_CREATE_MBEAN
EXISTS=»IGNORE»,CLASSNAME=»com.automic.ex.jmx.soap.SOAP",NAME="automic
.com:name=SOAP"
Démarrez le Job. Dans le navigateur MBean, un MBean du nom de "SOAP" est affiché.
Il faut ensuite définir le JCL pour l'utilisation du MBean SOAP :
JMX_CREATE_MBEAN
EXISTS="IGNORE",CLASSNAME="com.uc4.ex.jmx.soap.SOAP",NAME="automic.com
:name=SOAP"
JMX_COMPOSITE_ADD KEY="1",VALUE='<?xml version="1.0" encoding="UTF8"?>',NAME="s"
JMX_COMPOSITE_ADD KEY="2",VALUE='<soapenv:Envelope
215
Chapter 7 L'Automation Engine et les systèmes cible
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="3",VALUE='xmlns:xsd="http://www.w3.org/2001/XMLSchema" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="4",VALUE='xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">',NAME="s"
JMX_COMPOSITE_ADD KEY="5",VALUE="<soapenv:Body><ns1:getQuote
",NAME="s"
JMX_COMPOSITE_ADD
KEY="6",VALUE='soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
encoding/" ',NAME="s"
JMX_COMPOSITE_ADD KEY="7",VALUE='xmlns:ns1="urn:xmethods-delayedquotes">',NAME="s"
JMX_COMPOSITE_ADD KEY="8",VALUE='<symbol
xsi:type="xsd:string">IBM</symbol>',NAME="s"
JMX_COMPOSITE_ADD
KEY="9",VALUE="</ns1:getQuote></soapenv:Body></soapenv:Envelope>",NAME
="s"
JMX_INVOKE
OPERATIONNAME=»sendSOAP»,MBEAN=»automic.com:name=SOAP",PARAMS='s,"urn:
xmethods-delayed-quotes#getQuote",http://services.xmethods.net/soap'
La première ligne de script charge le MBean s'il ne l'a pas encore été. Les instructions JMX_
COMPOSITE_ADD contiennent le message SOAP ligne par ligne. Le paramètre KEY= contient les
numéros de ligne. Une fois le message SOAP assemblé, il est transmis comme premier paramètre
à l'opération "sendSOAP" (JMX_INVOKE). Le deuxième paramètre contient l'action SOAP et le
troisième paramètre contient l'URL à laquelle la requête SOAP doit être envoyée.
Exécutez le Job. Le rapport de Job affiche le message réponse.
Vous pouvez utiliser l'instruction XPath pour lire une seule valeur. Pour ce faire, insérez une
nouvelle ligne de script avec l'élément de script JMX_COMPOSITE_ADD contenant pour KEY=
l'instruction "XPATH" et pour VALUE= la valeur recherchée (voir la deuxième ligne du script). Le
script ressemble alors à ce qui suit :
JMX_CREATE_MBEAN
EXISTS=»IGNORE»,CLASSNAME=»com.uc4.ex.jmx.soap.SOAP»,NAME=»automic.com
:name=SOAP"
JMX_COMPOSITE_ADD KEY="XPATH",VALUE="//Result",NAME="s"
JMX_COMPOSITE_ADD KEY="1",VALUE='<?xml version="1.0" encoding="UTF8"?>',NAME="s"
JMX_COMPOSITE_ADD KEY="2",VALUE='<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="3",VALUE='xmlns:xsd="http://www.w3.org/2001/XMLSchema" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="4",VALUE='xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">',NAME="s"
JMX_COMPOSITE_ADD KEY="5",VALUE="<soapenv:Body><ns1:getQuote
",NAME="s"
JMX_COMPOSITE_ADD
KEY="6",VALUE='soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
encoding/" ',NAME="s"
JMX_COMPOSITE_ADD KEY="7",VALUE='xmlns:ns1="urn:xmethods-delayedquotes">',NAME="s"
JMX_COMPOSITE_ADD KEY="8",VALUE='<symbol
xsi:type="xsd:string">IBM</symbol>',NAME="s"
JMX_COMPOSITE_ADD
KEY="9",VALUE="</ns1:getQuote></soapenv:Body></soapenv:Envelope>",NAME
="s"
JMX_INVOKE
Automation Engine
216
OPERATIONNAME=»sendSOAP»,MBEAN=»automic.com:name=SOAP",PARAMS='s,"urn:
xmethods-delayed-quotes#getQuote",http://services.xmethods.net/soap'
Sur la base du script d'exemple, le rapport de Job affiche maintenant une valeur.
Vous pouvez également compléter des parties du message SOAP à l'aide de Variables de script.
Dans l'exemple suivant, une valeur est lue avec un masque :READ :
Onglet Pré-script :
:READ
&SYMBOL#,"IBM,SAP,ORCL","Please choose one","IBM"
Onglet Script :
La Variable de script &SYMBOL# est utilisée à la ligne 10 :
JMX_CREATE_MBEAN
EXISTS=»IGNORE»,CLASSNAME=»com.uc4.ex.jmx.soap.SOAP»,NAME=»automic.com
:name=SOAP"
JMX_COMPOSITE_ADD KEY="XPATH",VALUE="//Result",NAME="s"
JMX_COMPOSITE_ADD KEY="1",VALUE='<?xml version="1.0" encoding="UTF8"?>',NAME="s"
JMX_COMPOSITE_ADD KEY="2",VALUE='<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="3",VALUE='xmlns:xsd="http://www.w3.org/2001/XMLSchema" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="4",VALUE='xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">',NAME="s"
JMX_COMPOSITE_ADD KEY="5",VALUE="<soapenv:Body><ns1:getQuote
",NAME="s"
JMX_COMPOSITE_ADD
KEY="6",VALUE='soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
encoding/" ',NAME="s"
JMX_COMPOSITE_ADD KEY="7",VALUE='xmlns:ns1="urn:xmethods-delayedquotes">',NAME="s"
JMX_COMPOSITE_ADD KEY="8",VALUE='<symbol
xsi:type="xsd:string">&SYMBOL#</symbol>',NAME="s"
JMX_COMPOSITE_ADD
KEY="9",VALUE="</ns1:getQuote></soapenv:Body></soapenv:Envelope>",NAME
="s"
JMX_INVOKE
OPERATIONNAME=»sendSOAP»,MBEAN=»automic.com:name=SOAP",PARAMS='s,"urn:
xmethods-delayed-quotes#getQuote",http://services.xmethods.net/soap'
7.5 L'Automation Engine et Micro Focus JES
7.5.1 Jobs dans Micro Focus JES
Un composant du Serveur Micro Focus Enterprise (MF ES) est l'option de transaction de grand
système (MTO). Ce moteur JES permet d'exécuter des Jobs z/OS (Jobs JES) de manière
inchangée sous Windows et Unix.
Automation Engine offre la possibilité de démarrer les Jobs dans Micro Focus JES et d'exécuter
ainsi les fichiers JCL. Ceux-ci sont enregistrés dans le système de fichiers du Serveur. Le
démarrage de Job se produit à l'aide du programme CLI CASSUB.
217
Chapter 7 L'Automation Engine et les systèmes cible
Un Agent pour Windows exécute les Jobs dans MF JES.
Création d'un Job
1. Cliquez sur le bouton de la barre d'outils. Une fenêtre répertoriant tous les types d'objet
disponibles s'ouvre. Les objets pour chacune des plateformes y sont également affichés.
Choisissez JOBS.WIN.
2. Donnez à l'objet Job un nom approprié et ouvrez-le. Allez dans l'onglet Attributs.
3. Un Agent Windows est responsable de l'exécution du Job. Pour "Host", sélectionnez l'Agent
qui s'exécute sur l'ordinateur sur lequel se trouve MF ES.
4. L'Agent a besoin des informations de connexion pour l'exécution du Job. Celles-ci sont
enregistrées sous la forme d'un objet Login. Pour "Login", sélectionnez le Login
correspondant.
5. Allez dans l'onglet "Windows". Le rapport de Job créé peut être enregistré dans la base de
données ou en tant que fichier distinct. Utilisez les options en haut à gauche de l'onglet pour
déterminer comment doit être traité le rapport de Job.
6. Pour le type, sélectionnez impérativement l'option COM.
7. Pour la commande, saisissez le chemin du programme CASSUB. Utilisez les paramètres de
démarrage -r et -j pour indiquer l'environnement du Serveur JCL et le chemin complet du
fichier JCL. Le nom de région du Serveur JCL est la désignation du service MF MTO. Cette
valeur est disponible dans MF Enterprise Server Administration.
8. Enregistrez et fermez l'objet Job une fois la configuration terminée. L'objet Job peut
désormais être associé à votre traitement.
Automation Engine
218
Architecture
Le démarrage de Job via CASSUB permet de démarrer le Job dans le Serveur Micro Focus
Enterprise. Lors du démarrage et pendant l'exécution, un exit destiné à l'écriture des fichiers de
synchronisation pour l'Agent (fichiers *.log-, *.inf- et *.can) est exécuté.
Variables d'Agent dans Micro Focus JES
Les Variables d'environnement suivantes sont disponibles dans l'environnement utilisateur sous
lequel le Serveur JES est démarré :
Variable
d'environnement
Description
UC4_MF_JES_
OUTPUT=
Chemin dans lequel l'exit doit écrire les fichiers de contrôle pour l'Agent
ou communique avec l'Agent (*.log, *.inf, *.can)
Attention : la Variable_MF_JES_OUTPUT ne contient qu'un seul
chemin qui est défini par un antislash "\" final. Sinon, la communication
entre l'Agent et l'exit ne fonctionne pas.
Exemples :
Configuration correcte : UC_MF_JES_OUTPUT =
c:\ae\Agent\Microfocus\temp\
Configuration incorrecte : UC_MF_JES_OUTPUT =
c:\ae\Agent\Microfocus\temp
Configuration incorrecte : UC_MF_JES_OUTPUT =
c:\ae\temp\;c:\temp
219
Chapter 7 L'Automation Engine et les systèmes cible
UC4_MF_TRACE=
Trace écrite par l'exit avec Open Extend dans le fichier de trace indiqué
dans l'Automation Engine_MF_TRACE_FILE
Valeurs possibles :
Y = l'exit écrit une trace
N = l'exit n'écrit aucune trace
UC4_MF_TRACE_
FILE=
Nom de fichier complet du fichier de trace
UC4_MF_DELAY=
Délai d'attente en secondes de l'EXIT quand le fichier *.INF est
introuvable.
Attention : la valeur par défaut est de 500 ms !
Il est important de régler ce paramètre au minimum, parce qu'il n'agit
pas seulement sur les Jobs démarrés avec l'Automation Engine, mais
sur TOUS les Jobs JES. S'il y a dans l'Automation Engine des Jobs ne
se terminant pas, l'exit est si rapide que l'Agent n'a pas le temps de créer
le fichier *.INF après le démarrage de Job. Celui-ci peut cependant être
créé après le démarrage de Job parce que seul le démarrage de Job
donne l'ID Job. Il est recommandé de définir la valeur à 100.
Exemple de fichier de trace d'exit JES
2007.12.14/13:53:58.95->MFJUXIT
????????
2007.12.14/13:53:58.95->MFJUXIT
2007.12.14/13:53:58.95->MFJUXIT
2007.12.14/13:53:58.95->MFJUXIT
2007.12.14/13:53:58.95->MFJUXIT
000005000
2007.12.14/13:53:59.11->MFJUXIT
JCLTEST
2007.12.14/13:53:59.17->MFJUXIT
JCLTEST
2007.12.14/13:53:59.20->MFJUXIT
JCLTEST
2007.12.14/13:53:59.20->MFJUXIT
JCLTEST
2007.12.14/13:53:59.23->MFJUXIT
JCLTEST
2007.12.14/13:53:59.23->MFJUXIT
JCLTEST
2007.12.14/13:53:59.25->MFJUXIT
JCLTEST
2007.12.14/13:53:59.26->MFJUXIT
JCLTEST
2007.12.14/13:53:59.26->MFJUXIT
JCLTEST
2007.12.14/13:53:59.26->MFJUXIT
JCLTEST
2007.12.14/13:53:59.30->MFJUXIT
JCLTEST
2007.12.14/13:53:59.31->MFJUXIT
EC = 01 Jobnum = 01406 Jobname =
UC4_MF_JES_OUTPUT = C:\ae\
UC4_MF_TRACE_FILE = c:\trc.txt
UC4_MF_DELAY = 5000
UC4_MF_DELAY (converted to number) =
EC = 25 Jobnum = 01406 Jobname =
EC = 03 Jobnum = 01406 Jobname =
EC = 08 Jobnum = 01406 Jobname =
EC = 09 Jobnum = 01406 Jobname =
EC = 10 Jobnum = 01406 Jobname =
EC = 08 Jobnum = 01406 Jobname =
EC = 09 Jobnum = 01406 Jobname =
EC = 10 Jobnum = 01406 Jobname =
EC = 08 Jobnum = 01406 Jobname =
EC = 09 Jobnum = 01406 Jobname =
EC = 10 Jobnum = 01406 Jobname =
EC = 08 Jobnum = 01406 Jobname =
Automation Engine
JCLTEST
2007.12.14/13:53:59.31->MFJUXIT
JCLTEST
2007.12.14/13:53:59.33->MFJUXIT
JCLTEST
2007.12.14/13:53:59.34->MFJUXIT
JCLTEST
2007.12.14/13:53:59.34->MFJUXIT
ms
2007.12.14/13:54:05.26->MFJUXIT
JCLTEST
220
EC = 09 Jobnum = 01406 Jobname =
EC = 10 Jobnum = 01406 Jobname =
EC = 05 Jobnum = 01406 Jobname =
inf-file not found waiting 000005000
EC = 02 Jobnum = 01406 Jobname =
Le Serveur Micro Focus Enterprise est destiné à la gestion, les Jobs sont gérés, démarrés et
arrêtés dans le système cible JES.
L'exemple suivant décrit le démarrage d'un Job JES en mode batch sans Agent, CASSUB est posé
manuellement :
C:\Documents and Settings\Ni\My Documents\Micro Focus\Net Express
5.0\WORKAREA>cassub -lUC4 -jC:\es-jcldemo\jclbatch.jcl
JCLCM0901I JOB01407 ???????? Event-Job-ready action is: 0 (Continue).
12:59:10
JCLCM0925I JOB01407 JCLTEST Event-job-stmt-info action is: 0
(Continue). 12:59
:10
JCLCM0187I JOB01407 JCLTEST JOB SUBMITTED
(JOBNAME=JCLTEST,JOBNUM=01407) 12:59
:10
JCLCM0180I JOB01407 JCLTEST Job ready for execution. 12:59:10
Processed "C:\es-jcldemo\jclbatch.jcl"
C:\Documents and Settings\Ni\My Documents\Micro Focus\Net Express
5.0\WORKAREA>
L'exit crée le fichier *.inf pour l'Agent, celui-ci le vérifie et l'écrit dans le fichier log. Cela ne se
produit pas lorsqu'un Job est démarré en mode batch.
221
Chapter 7 L'Automation Engine et les systèmes cible
7.6 L'Automation Engine et MPE
7.6.1 Agent – Interaction entre l'Automation Engine et
MPE
L'Agent MPE interagit avec le système AE via une interface TCP/IP.
Il dispose des fonctionnalités suivantes :
l
l
l
traitement de Jobs,
exécution de Transferts de Fichiers,
Traitement d'Evènements
Traitement de Jobs
Dans l'Automation Engine, les Jobs sont définis et gérés comme des objets à l'aide d'onglets. Le
JCL se trouve dans l'onglet Script. Il peut être muni d'une logique complexe à l'aide de scripts de
l'Automation Engine. Les caractères "!" et ":" du script AE introduisant des lignes de commentaires
et des instructions de script, le caractère "#" peut être utilisé à la place comme caractère Prompt
dans JCL. Les lignes JCL peuvent également commencer avec l'instruction de script :DATA. Les
caractères "!" et ":" peuvent ainsi être conservés comme caractères Prompt.
Rubrique connexe: Manuel Utilisateur – Job et Job – Exécution.
Un Job est démarré dans l'Automation Engine à l'aide de mécanismes de contrôle comme les
Workflows ou les Schedules, ou encore manuellement. Un Job exécutable est alors généré dans Le
Automation Engine et transféré à l'Agent MPE par Transfert de Fichier.
Rubriques connexes : Interne AE – Exécution des objets
L'Agent MPE lit le Job et le transfère à la file d'attente MPE.
Le Job annonce à l'Agent le début et la fin de l'exécution, lequel transmet à son tour ces
informations au Automation Engine.
L'Agent surveille à intervalles réguliers le statut du Job. Si un Job est perdu (par Fatal Error,
ABORTJOB), ce mécanisme permet de constater la fin. Le code retour du Job est disponible dans
l'Automation Engine.
Le rapport de Job ($STDLIST) est enregistré dans le fichier indiqué par Le Automation Engine. Si
cela est défini dans le Job, l'Agent transfère le rapport à l'Automation Engine qui l'enregistre à son
tour dans la base de données. L'Agent copie le rapport de Job à partir du spooler. Il est donc
nécessaire d'utiliser une OUTCLASS avec la priorité 1.
Exécution de Transferts de Fichiers
Dans l'Automation Engine, les Transferts de Fichiers sont définis et gérés comme des objets à
l'aide d'onglets. Ils sont exécutés avec la conversion de caractères qui y figure, par exemple "UC_
CODE".
Rubriques connexes : Manuel de l'utilisateur – Transfert de Fichier
Automation Engine
222
Traitement d'Evènements
Les Evènements sont définis et gérés dans l'Automation Engine en tant qu'objets avec différents
onglets.
Actuellement, seuls les Evènements du type "Système de fichiers" sont pris en charge.
Rubriques connexes: Manuel de l'Utilisateur – Evènement
7.7 L'Automation Engine et NSK
7.7.1 Agent - Interaction entre l'Automation Engine et
NSK
L'Agent NSK interagit avec le système AE via une interface TCP/IP.
L'Agent NSK dispose des fonctionnalités suivantes :
l
l
l
traitement de Jobs,
exécution de Transferts de Fichiers,
CallAPI
Traitement de Jobs
Dans l'Automation Engine, les Jobs sont définis et gérés comme des objets à l'aide d'onglets. Les
commandes et instructions sont définies dans l'onglet Script. Ils peuvent être munis d'une logique
complexe à l'aide de scripts de l'Automation Engine.
Rubriques connexes : Manuel Utilisateur – Job et Job – Exécution.
Les Jobs NSK s'organisent en plusieurs sous-types en fonction du type de commande
(Guardian, NetBatch et OSS).
Un Job est démarré dans l'Automation Engine à l'aide de mécanismes de contrôle comme les
Workflows ou les Schedules, ou encore manuellement. Un Job exécutable est alors généré dans Le
Automation Engine et transféré à l'Agent NSK par Transfert de Fichier.
Rubriques connexes : Interne AE – Exécution des objets
Les Jobs sont exécutés avec les informations logiques (nom de Groupe.nom Utilisateur) qui ont été
indiquées dans l'objet Login que vous avez sélectionné dans l'onglet Attributs.
Le tableau indique à quel moment il est nécessaire de définir des mots de passe dans l'objet Login.
ID Utilisateur de
l'Agent
Entrée dans l'objet Login
GROUP.USER
Mot de passe requis lorsque le Job fonctionne avec un autre nom de
Groupe.nom Utilisateur.
GROUP.255
Mot de passe requis lorsque le Job fonctionne avec un autre nom de
Groupe.
255.255 Aucun mot de passe requis.
Configuration recommandée:
223
Chapter 7 L'Automation Engine et les systèmes cible
l
l
l
l
Lancer l'Agent NSK avec l'ID Utilisateur. SUPER.SUPER n'est généralement pas requis.
L'Utilisateur approprié doit être associé aux exigences de fonctionnement.
Définir le nom de Groupe.nom Utilisateur dans les objets Login.
Définir le paramètre logon=1 dans le fichier INI de l'Agent NSK.
Définir l'Utilisateur par défaut ERP_LOGIN dans le Client 0000. Il s'agit alors de l'Utilisateur
standard. Vous devez utiliser une combinaison ID Utilisateur/mot de passe valide. Un
Utilisateur avec très peu de droits doit pourtant pouvoir accéder à l'application. Cet
Utilisateur dispose uniquement de la fonction de reprise des processus TACL planifiés avec
très peu de droits (et ainsi un risque d'erreur limité).
Le Job annonce à l'Agent le début et la fin de l'exécution, lequel transmet à son tour ces
informations au Automation Engine. Le Code Retour du Job est disponible dans l'Automation
Engine, ce qui peut être réalisé par le biais de l'en-tête et du pied de page.
Le contenu de l'en-tête et du pied de page est ajouté automatiquement au script défini pour le Job.
La Variable "RETCODE" est définie dans l'en-tête propre à NSK. Le contenu de cette Variable est
transmis au Automation Engine à la fin du Job. Cette valeur est le Code Retour du Job. Elle peut
servir à définir les dépendances entre les différents Jobs dans un Workflow.
Pour configurer le paramètre "RETCODE" sur "1" par exemple, lorsqu'une erreur de syntaxe
survient dans le script, il est possible d'utiliser les en-têtes et pieds de page suivants définis par
l'utilisateur: HEADER.NSK.USER.HEAD, TRAILER.NSK.USER.HEAD et RESTART.NSK
L'Agent crée des fichiers automatiquement sur l'ordinateur pour les rapports de Jobs (si cette option
est activée pour l'objet) et les Jobs. Leur désignation est formée comme suit :
Désignation
Fichier de Job
<UC_EX_PATH_TEMP>J<RunID>
Fichier de rapport de Job
<UC_EX_PATH_JOBREPORT>O<RunID>
Pour UC_EX_PATH_TEMP et UC_EX_PATH_JOBREPORT, il s'agit de Variables d'Agent. Le
RunID est représenté sous forme de séquence comportant 7 à 10 caractères. Vous pouvez
spécifier cette séquence lors de la recherche de statistique et également la convertir avec la
fonction de script ALPHA2RUNNR pour obtenir le chiffre correspondant.
Exécution de Transferts de Fichiers
Dans l'Automation Engine, les Transferts de Fichiers sont définis et gérés comme des objets à
l'aide d'onglets. Ils sont exécutés avec la conversion de caractères qui y figure, par exemple "UC_
CODE".
Particularités: l'Agent NSK développe chaque ordre de Transfert de Fichiers via un processus qui lui
est propre lorsque le nouveau protocole de Transfert de Fichiers est utilisé. Pour activer cette
fonctionnalité, l'Agent dispose d'un port d'écoute supplémentaire doté du numéro suivant le plus
élevé par rapport au port de l'Agent.
Il est également possible d'indiquer des attributs supplémentaires dans l'objet Transfert de Fichier
pour le fichier cible (objectifs – attributs) ou de reprendre les attributs du fichier source (option
"Conserver les attributs originaux de fichier"). Vous pouvez également remplacer les attributs
originaux par des indications supplémentaires dans l'objet Transfert de Fichier. Les attributs de
fichiers NSK suivants sont pris en charge:
Attribut
Description
Automation Engine
CREATE_
OPTS
224
Options de création de fichier, masque de bits (<15> est le bit le plus petit d'un mot
de 2 octets):
<10> Refresh EOF – Le libellé de fichier est immédiatement écrit sur le disque dur
<11> Index compression – Comprimer des entrées dans un bloc d'index à partir de
fichiers séquencés par clés. La valeur 0 doit être utilisée pour d'autres types de
fichiers
<12> Data compression – Comprimer la clé des entrées des blocs de données à
partir des fichiers séquencés par clés. Valeur 0 pour d'autres types de fichiers.
<13> Audit compression – Comprimer les données de contrôle des fichiers vérifiés
(fichiers audités).
<14> Audited – Vérification du fichier dans le sous-système Transaction
Management Facility (TMF). Cette option doit être configurée sur 0 pour les
systèmes ne disposant pas du sous-système TMF.
<15> Odd unstructured – Nombre de transferts E/S de fichiers non structurés. Si
cette option n'est pas activée, les Transferts sont arrondis à une limite d'octets
précise. Cette option doit être configurée sur 0 pour les autres types de fichiers.
File format
Cet attribut est automatiquement défini en fonction de la taille actuelle du fichier
1 – pour les fichiers inférieurs à 2Go, 2 – tous les autres fichiers
FILECODE Non pertinent lorsque les transferts ne concernent que des fichiers textes et des
fichiers binaires
FILETYPE
0 – non structuré
1 – relatif
2 – séquencé par entrée
3 – séquencé par clé
Non pertinent lorsque les transferts ne concernent que des fichiers textes et des
fichiers binaires
KEY_LEN
Non pertinent lorsque les transferts ne concernent que des fichiers textes et des
fichiers binaires
KEY_
OFFS
Non pertinent lorsque les transferts ne concernent que des fichiers textes et des
fichiers binaires
MAXEXT
Nombre maximum d'extensions pour le fichier.
PEXT
Nombre de pages 2k pour l'extension primaire
RECLEN
Non pertinent lorsque les transferts ne concernent que des fichiers textes et des
fichiers binaires
SEXT
Nombre de pages 2k pour les extensions secondaires
Voir : Manuel de l'utilisateur – Transfert de Fichier
CallAPI
Il permet d'exécuter des programmes dans l'Automation Engine à partir de programmes tiers. Le
CallAPI peut être utilisé sans programmation préalable grâce à un utilitaire appelable par exemple à
partir de la ligne de commande du système d'exploitation, d'un script ou d'un Job.
Rubriques connexes :
Manuel de l'utilisateur – CallAPI
Interne AE – Architecture de l'agent AE pour HP NonStop Server
225
Chapter 7 L'Automation Engine et les systèmes cible
7.7.2 Exécutions de Jobs sur NSK
L'Automation Engine prend entièrement en charge les systèmes HP NonStop.
Il est ainsi possible d'effectuer des traitements dans les domaines suivants :
l
l
l
Guardian - Commandes TACL
OSS - Commandes UNIX (osh Shell)
NetBatch - Scripts NBEXEC
Etant donné que les commandes sont différentes, les Jobs NSK sont organisés en 3 types. Dans
l'onglet "Guardian/NKS" de l'objet Job, il faut sélectionner le type. Il peut être lu avec la fonction
script GET_ATT.
Les lignes de Script NBEXEC commencent exactement comme le Script AE par deux-points.
Insérez donc un espace au début de chaque ligne de traitement NBEXEC.
Rubriques connexes : Onglet "Guardian/NSK"
Agent AE pour HP NonStop Server - Architecture
7.7.3 Traitement automatisé des lignes de commande
Dans de nombreux cas, des lignes de commande sont nécessaires pour poursuivre le traitement.
L'Agent NSK vous donne la possibilité de réagir de façon automatisée à ces soi-disant invites.
Pour chaque Job NSK, vous pouvez ainsi créer des saisies prédéfinies pour les invites spécifiques.
Ainsi lorsqu'une invite survient dans l'exécution du Job, l'Agent recherche une saisie prédéfinie. S'il
en trouve une, le traitement peut se poursuivre automatiquement. Si aucun traitement n'est défini
pour cette invite, la procédure à suivre dépend de l'objet Job. Si vous avez saisi un terminal virtuel
dans l'onglet "Guardian/NSK", l'invite y est redirigée et un Utilisateur doit intervenir manuellement.
Si aucun terminal n'est indiqué, alors l'Agent fournit un indicateur EOF à l'invite.
Cette fonctionnalité est uniquement prise en charge pour les environnements NonStop Agent et
TACL.
Utilisation
La fonction UC4_AUTO_ANSWER vous permet de définir la saisie pour une invite. Utilisez cette
fonction une ou plusieurs fois dans le Script d'un Job NSK. Elle n'est valide que pour ce Job. La
syntaxe est la suivante :
UC4_AUTO_ANSWER "désignation de l'invite" "saisie"
Le premier paramètre attend la désignation de l'invite. Vous pouvez soit utiliser la désignation
complète, soit la saisie avec caractères génériques en utilisant les caractères ? et *. Cette dernière
vous permet d'utiliser la même saisie pour plusieurs invites sans devoir entrer une ligne de Script
pour chacune d'elles.
Si les caractères ? ou * doivent être interprétés comme des caractères normaux, vous devez
insérer une barre oblique inversée (\) avant chacun de ces caractères.
Automation Engine
226
Le deuxième paramètre représente la saisie devant être automatiquement transmise à l'invite.
Entrez une chaîne de caractères, une Variable de Script ou une expression TACL. Vous pouvez
également indiquer "<EOF!>" pour répondre à l'invite avec un indicateur EOF (correspond à Ctrl-Y).
Attention : aucun des deux paramètres ne doit contenir de guillemets !
L'Agent utilise pour le Job les définitions de saisie qui ont été utilisées dans le Script jusqu'à ce
moment. Lors de la recherche, le système lit une ligne après l'autre et utilise la première définition
correspondant à la désignation de l'invite.
Utilisez la fonction UC4_AUTO_ANSWER_CLEAN pour désactiver toutes les définitions de
saisie qui ont été utilisées jusqu'à présent dans le Script. L'Agent recherche alors les définitions à
partir de cette ligne du Script. Utilisez la fonction de séparation de sections du Script dans
lesquelles divers traitements de l'invite doivent s'appliquer. UC4_AUTO_ANSWER_CLEAN ne
possède aucun paramètre.
S'il vous faut de plus amples informations sur la recherche de définitions de saisie pour les invites,
vous pouvez utiliser la fonction UC4_AUTO_ANSWER_TRACELEVEL. Cette fonction écrit, selon
le niveau spécifié, des messages plus précis dans le rapport de Job et dans le terminal virtuel. La
syntaxe est la suivante :
UC4_AUTO_ANSWER_TRACELEVELLevel
Pour le niveau, vous devez saisir un chiffre entre 0 et 3.
0 - la comparaison ne retourne aucun résultat (valeur par défaut).
1 - un message pour chaque comparaison correspondante.
2 - un message pour chaque comparaison sans correspondance.
3 - messages de niveaux 2 et 3.
Exemples
Exemple 1
L'instruction PURGE nécessite la saisie de "y" ou de "n". L'exemple de Script suivant montre un
traitement de la saisie automatisé :
UC4_AUTO_ANSWER "PURGE * (y/[n])?" y
PURGE *
UC4_AUTO_ANSWER_CLEAN
La première ligne définit qu'il faut répondre par "y" à l'invite de l'instruction PURGE. L'appel de
PURGE de la ligne suivante reçoit ainsi automatiquement la saisie "y". En raison de l'appel de
l'Automation Engine_AUTO_ANSWER_CLEAN, la définition de saisie ne s'applique pas aux
autres Scripts du Job.
Exemple 2
Extrait du rapport de Job d'un Script utilisant la fonction UC4_AUTO_ANSWER_TRACELEVEL.
UC4_AUTO_ANSWER
UC4_AUTO_ANSWER
UC4_AUTO_ANSWER
UC4_AUTO_ANSWER
"*is
"*is
"*is
"*is
no prompt*" "Answer 1"
a prompt*" "Answer 2"
what*" "Answer 3"
nothing*" "Answer 4"
run $data01.uc4.prompt
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
227
Chapter 7 L'Automation Engine et les systèmes cible
UC4_AUTO_ANSWER_TRACELEVEL 1
run $data01.uc4.prompt
*** Pattern checked: "*is a prompt*", matched, answer generated:
"Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
UC4_AUTO_ANSWER_TRACELEVEL 3
run $data01.uc4.prompt
*** Pattern checked: "*is no prompt*", no match
*** Pattern checked: "*is a prompt*", matched, answer generated:
"Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
7.7.4 Agent AE pour HP NonStop Server - Architecture
Cette description explique le déroulement précis du Job sur un serveur HP non-stop par
l'intermédiaire d'un agent AE NSK.
Automation Engine
228
Description des déroulements internes :
1. Démarrage du Job
Le démarrage du Job est initié par Automation Engine. Il envoie un message concernant le
démarrage à l'agent NSK L'agent AE crée ensuite une entrée dans l'Automation Engine Status File.
L'Agent NSK AE envoie un message à Output Collector (via IPC) contenant notamment les
informations suivantes :
l
l
l
l
utilisateur du Job ;
fichier de Job à utiliser ;
terminal virtuel à utiliser (éventuellement) ;
priorité du Job ;
229
Chapter 7 L'Automation Engine et les systèmes cible
l
l
nom de fichier du rapport de Job ;
nom du fichier de macros AE, etc.
Il reçoit les informations suivantes :
l
l
l
Emplacement # de l'Automation Engine Output Collector devant être utilisé comme Fichier
de sortie pour le Job à démarrer.
Output Collector écrit alors dans le fichier de rapport approprié toutes les sorties qui
l'atteignent sous cet emplacement #.
Indicateur précisant si un processus TACL peut être réutilisé, ou s'il faut en démarrer un
nouveau à partir de l'Agent.
Les informations précisant si un utilisateur par défaut, qui est accepté par les TACL après la
fin du Job, est encore valide.
Le cas échéant, l'Agent démarre un nouveau processus TACL. Celui-ci s'identifie alors auprès de
l'Automation Engine Output Collector (qui lui a été indiqué comme périphérique de sortie).
Output Collector crée le fichier de rapport. Il configure ensuite le TACL du Job (définition de
l'Utilisateur, définition de la priorité, etc). Enfin, le TACL du Job reçoit le fichier de Job sous forme
de fichier Obey et commence ainsi le traitement du Job.
2. Déroulement du Job
Pendant le déroulement du Job, toutes les sorties générées par le Job sont dirigées vers Output
Collector et sont écrites dans les rapports de Job. Si le système attend une entrée et si un terminal
est configuré pour le Job, celui-ci la récupère.
La relation Job-rapport de Job est créée au travers de l'emplacement # sous lequel les Jobs
appellent l'Output Collector.
Ainsi Output sur $UC4OC.#AAL peut aller dans le fichier de rapport $DATA.REPORTS.FFXX,
pendant que des Tâches sont écrites dans $DATA.REPORTS.FFXY sur $UC4OC.#AAM.
Les noms des emplacements # ou des fichiers de rapport sont donnés par l'Agent ou l'Output
Collector
3. Fin du Job
Output Collector reconnaît la fin du Job quand le processus TACL du Job se représente avec une
demande de saisie ou (en cas d'erreur) parce qu'il le ferme. A la fin d'un Job, l'Output Collector
complète le fichier de statut de Job et envoie à l'Agent un message correspondant via IPC. Celui-ci
annonce au Serveur que le Job est terminé.
Conseils :
1. Signification du fichier de statut
Le fichier de statut permet une restauration améliorée de l'Agent ou de l'Output Collector en cas
d'interruption. Dans ce cas-là, le contexte issu du fichier de statut de Job est restauré lors du
redémarrage du processus interrompu. De nombreux Jobs peuvent donc surmonter une telle erreur
et le fonctionnement se poursuit sans perturbation. Les Jobs éventuellement terminés pendant
l'interruption de l'Agent/l'Output Collector sont reconnus et signalés. De cette façon, Automation
Engine possède toujours une image correcte du statut sur le système de l'Agent.
2. Surveillance réciproque
Automation Engine
230
L'Agent et l'Output Collector se surveillent mutuellement. Si un de ces deux processus devait se
terminer inopinément (arrêt accidentel, défaillance du CPU, erreur logicielle, entre autres), le
processus survivant démarre automatiquement le processus arrêté. Si le CPU du processus arrêté
n'est pas (plus) disponible, un autre CPU disponible est sélectionné (de préférence un CPU
différent de celui du processus survivant). En ce sens, le système est tolérant par rapport à des
erreurs très diverses.
Rubriques connexes : Agent - Interaction entre l'Automation Engine et NSK
7.7.5 Fichier modèle EMS
Les fichiers modèle EMS permettent un format de messages conforme au système. Cela permet
une définition du SSID (ID sous-système). L'ID standard est "uc4.1.1"
Déroulement :
1.) Le fichier DLL (uca.ddl) doit être compilé en dictionnaire.
Dans ce dictionnaire, les fichiers $SYSTEM.ZSPIDEF.ZSPIDDL et
$SYSTEM.ZSPIDEF.ZEMSDDL doivent être d'abord compilés.
2.) Le fichier TMPL (uc4.tmpl) doit renvoyer au dictionnaire créé.
Contenu de uc4.ddl
CONSTANT zspi-val-uc4 VALUE IS "UC4
".
* Defines subsystem no. part of UC4 subsystem ID
CONSTANT zspi-ssn-uc4 VALUE IS 1.
* Defines version part of Pathway subsystem ID
CONSTANT zuc4-val-version VALUE IS VERSION " 1".
* Defines the structure for the Pathway subsystem ID
* and initializes its parts
DEFINITION ZUC4-VAL-SSID TACL SSID.
02 Z-FILLER TYPE CHARACTER 8 VALUE IS ZSPI-VAL-UC4.
02 Z-OWNER REDEFINES Z-FILLER TYPE ZSPI-DDL-CHAR8.
02 Z-NUMBER TYPE ZSPI-DDL-INT VALUE IS ZSPI-SSN-UC4.
02 Z-VERSION TYPE ZSPI-DDL-INT VALUE IS ZUC4-VAL-VERSION.
END
Contenu du uc4.tmpl
VERSION : "UC4 NSK Executor Version 3.02B002 0040 AAD"
DICT: $DATA01.UC4DICT
SSID: ZUC4-VAL-SSID
SSNAME: "UC4" , "UC4"
MSG: ZSPI-TKN,0
"DUMMY"
231
Chapter 7 L'Automation Engine et les systèmes cible
7.7.6 Configuration des paramètres spécifiques à NSK
L'Agent NSK offre la possibilité de définir des paramètres spécifiques à NSK. Parmi ces
paramètres, on compte par exemple le TACL à utiliser ou l'Utilisateur sous lequel le rapport de
Job doit être créé.
Indiquez le paramètre au format suivant :
== paramètre=valeur
L'Agent recherche le Script du Job après ces lignes et définit le paramètre sur la valeur que vous
avez déterminée. Les lignes sont considérées comme un commentaire par le TACL.
Les paramètres suivants sont pris en charge :
Paramètres
Description
UC4_TACL_
PROGRAM
TACL alternatif (shell)
Indiquez un autre TACL si le TACL par défaut charge un environnement non
souhaité pour les Jobs. Ce paramètre est également utile lorsque différents
Clients accèdent à un ordinateur NonStop et nécessitent différents
environnements TACL.
L'Agent utilise le TACL par défaut si le TACL indiqué n'est pas utilisable et
journalise un message d'erreur.
UC4_TACL_
Nom du processus TACL
PROCESSNAME
UC4_REPORT_
USERNAME
Utilisateur sous lequel le rapport de Job doit être créé
UC4_REPORT_
SECURITY
Chaîne de sécurité NonStop pour le rapport de Job
Vous pouvez également indiquer la valeur "DEFAULT_USER" pour que le
rapport de Job puisse être créé sous l'Utilisateur sous lequel le Job est
utilisé.
Attention : ce paramètre doit être défini avec la plus grande précaution !
Une chaîne de sécurité erronée peut empêcher l'Agent de lire ou de
supprimer le rapport de Job !
Exemples :
==
==
==
==
UC4_TACL_PROGRAM=$SYSTEM.SYS03.TACL
UC4_TACL_PROCESSNAME=$CAT2
UC4_REPORT_USERNAME=SQLCMP.DUPONT
UC4_REPORT_SECURITY=NNNN
L'utilisation de cette fonctionnalité est facultative. L'Agent utilise la valeur par défaut pour les
paramètres que vous ne définissez pas dans le Script.
Automation Engine
232
7.8 L'Automation Engine et Oracle
Applications
7.8.1 L'Automation Engine et Oracle Applications
Oracle Applications sont des solutions e-business pour entreprises. Ces solutions utilisent les
bases de données Oracle comme base. Ces solutions regroupent des programmes et rapports
spécialement développés fonctionnant la plupart du temps sous forme de traitement batch en
arrière-plan. L'Agent pour Oracle Applications permet de démarrer et de surveiller des processus
dans Oracle Applications, ainsi que de reprendre les logs vers l'Automation Engine.
Vous trouverez ci-après une liste de termes et leur description qui sont importants pour l'interaction
entre l'Automation Engine et Oracle Applications. Vous trouverez de plus amples informations dans
les manuels fournis par Oracle.
Termes pour Oracle
Termes
Description
PL/SQL
La langue d'instruction PL/SQL est la norme pour les bases de données
Oracle.
Packages PL/SQL
Des packages pour PL/SQL sont possibles dans toute base de données
Oracle. Pour Oracle Applications, des packages supplémentaires sont
fournis.
SQL*Plus Programme de ligne de commande de Oracle pour les accès à la base de
données.
Termes pour Oracle Applications
Termes
Description
Concurrent Processing Exécution de programmes et de rapports en arrière-plan.
Pour "Concurrent Processing", il existe des composants logiciels propres
à Oracle Applications.
Concurrent Manager
Composants système pour exécuter et surveiller des Tâches en arrièreplan.
Contrairement à d'autres solutions d'entreprise, plusieurs "Concurrent
Manager" peuvent être présents. Vous pouvez être responsable de
diverses applications et contrôler également la répartition des charges.
Concurrent Process
Instance unique d'un "Concurrent Program". Cela correspond à un
processus du système d'exploitation.
233
Chapter 7 L'Automation Engine et les systèmes cible
Concurrent Program
Définition de "Concurrent Process".
Comparable à la définition de Job. Cette définition contient le renvoi au
"Concurrent Program Executable" à exécuter, des définitions de
paramètres et de ce qu'on appelle incompatibilités. Les incompatibilités
sont des conditions pour l'exécution, par exemple "Le Concurrent
Program A ne peut pas s'exécuter simultanément au Concurrent Program
B".
Concurrent Program
Executable
Le programme en lui-même.
Concurrent Request
Exigence auprès du "Concurrent Manager" d'exécuter un "Concurrent
Program".
Submit
Concurrent Request
Fonction qui crée une exigence pour l'exécution d'un "Concurrent
Process".
Phase
Phase durant l'exécution d'un "Concurrent Process".
Le programme peut exister sous forme de fichier ou de procédure
enregistrée.
Phases possibles : PENDING, RUNNING, COMPLETE, INACTIVE
Statut
Dans chaque phase d'un "Concurrent Process", certains statuts
peuvent se produire.
Exemple : les statuts de la phase PENDING sont NORMAL,
SCHEDULED ou STANDBY.
7.8.2 Codes retour des Jobs OA
L'Agent journalise dans le rapport d'activation du Job toutes les erreurs qui se sont produites.
En outre, il définit en fonction de l'exécution du Job un des codes retour suivants :
Code
retour
Description
0
Aucune erreur n'est survenue.
4
La Concurrent Request s'est terminée avec Phase=COMPLETE et Status=WARNING.
10
Une erreur s'est produite lors de l'ajout de paramètres avec les fonctions OA_ADD_
PRINTER, OA_ADD_LAYOUT ou OA_ADD_NOTIFICATION.
100
Une commande JCL inconnue existe dans le script.
102
Une erreur s'est produite lors de l'exécution de l'instruction OA_SUBMIT_REQUEST.
1000
Une erreur OCI s'est produite.
Dans l'objet Job, vous pouvez décider dans l'onglet "Exécution" à partir de quel code retour le
Job doit être interrompu.
Rubriques connexes :
Généralités sur le JCL Oracle Applications
Automation Engine
234
7.9 L'Automation Engine et OS/400
7.9.1 Agent - Interaction entre l'Automation Engine et
OS/400
L'Agent OS/400 interagit avec le système AE via une interface TCP/IP.
L'Agent OS/400 dispose des fonctionnalités suivantes :
l
l
l
l
traitement de Jobs,
exécution de Transferts de Fichiers,
traitement d'Evènements,
CallAPI.
Traitement de Jobs
Dans l'Automation Engine, les Jobs sont définis et gérés comme des objets à l'aide d'onglets. Le
JCL (CMD, CL ou REXX) se trouve dans l'onglet Script. Il peut être muni d'une logique complexe à
l'aide de scripts de l'Automation Engine.
Rubriques connexes : Manuel Utilisateur – Job et Job – Exécution.
Un Job est démarré dans l'Automation Engine à l'aide de mécanismes de contrôle comme les
Workflows ou les Schedules, ou encore manuellement. Un Job exécutable est généré dans le
Automation Engine et transféré à l'Agent OS/400 par Transfert de Fichier.
Rubriques connexes : Interne AE – Exécution des objets
Le Job est lancé dans OS/400 par la commande SBMJOB dans laquelle le "shell de Job"
(programme "IRSTRJOB" dans la bibliothèque fournie) est exécuté. Le shell de Job reçoit comme
paramètre, entre autres, le nom de Job généré par le Automation Engine ou le nom du membre de
fichier sous lequel le Job est enregistré. Selon le type de Job, il exécute les Tâches suivantes :
l
l
l
CMD
Le shell de Job exécute chaque ligne du membre de fichier. Si une erreur se déclare dans une
ligne, le code de gravité est défini comme code retour du Job et l'informateur de Job n'est
appelé qu'à la fin du Job.
ILE CL
Le shell de Job convertit le membre de fichier et crée ainsi un programme CL temporaire. Si
la conversion s'est bien terminée, le shell de Job exécute le programme CL.
REXX
Le shell de Job exécute l'interpréteur REXX et transmet le nom du membre de fichier que
contient le script REXX.
Chaque Job annonce à l'Agent (informateur de Job) le début et la fin de l'exécution, ce dernier passe
à son tour ces informations au Automation Engine. Le code retour du Job est disponible dans
l'Automation Engine.
L'Agent surveille à intervalles réguliers le statut du Job. Si un Job est perdu (par ABEND ou
CANCEL), ce mécanisme permet de constater la fin anormale. Le Job est alors considéré comme
disparu dans le système AE.
Le statut des Jobs qui ont été exécutés est également déterminé lorsque l'Agent est inactif. Cela
est possible par l'affichage des informateurs de démarrage et de fin dans le rapport de Job qui est
analysé par l'Agent.
235
Chapter 7 L'Automation Engine et les systèmes cible
Attention: JCL est compilé en un programme sur OS/400 puis est exécuté. Cela peut ainsi
provoquer une interruption incontrôlée moyennant quoi le statut du Job ne peut être affiché
correctement. Grâce à la commande MONMSG, il est possible de reconnaître les interruptions de
programmes et d'y réagir. Pour l'utilisation de cette commande, le paramètre de Job "Type" "ILE CL" est nécessaire.
Dans l'exemple suivant, l'exécution de JCL est surveillée par la commande MONMSG et définie en
fonction du statut du Job:
Onglet Pré-Script :
! Activer l'affichage des informateurs de démarrage et de fin pour la
restauration du statut
:SET &UC_QPRINT = 10
! La commande OS/400 CL surveille toutes les exceptions et passe au
libellé ERROR
MONMSG CPF0000 (GOTO ERROR)
Onglet Script :
! Commande que le Job doit être exécuté. Dans ce cas, tous les
processus actifs sont affichés.
wrkactjob *print
! Définir 0 comme valeur du code retour.
CHGVAR &RETCODE '0'
! Exécution de l'informateur de fin
GOTO END
! Lorsqu'une erreur se produit, le code retour est défini en fonction.
ERROR:
CHGVAR &RETCODE '99'
Le rapport de Job (spool), se composant du contenu du spool (selon la définition du Job, uniquement
QPJOBLOG ou le contenu entier), est écrit dans le fichier indiqué par le Automation Engine. Si cela
est défini dans le Job, l'Agent transfère le rapport à l'Automation Engine qui l'enregistre à son tour
dans la base de données. Les spoolfiles peuvent être supprimés ou laissés dans le spool. Ceci peut
être réglé à l'aide d'un paramètre global dans le fichier INI de l'Agent. Attention : ne démarrez pas le
Job avec une priorité de sortie qui sollicite immédiatement le spool.
Exécution de Transferts de Fichiers
Dans l'Automation Engine, les Transferts de Fichiers sont définis et gérés comme des objets à
l'aide d'onglets. Ils sont exécutés avec la conversion de caractères qui y figure, par exemple
"EBCDIC_00273". A l'heure actuelle, seul le Library File System (QSYS.LIB) est pris en charge.
Les noms de fichier doivent être indiqués sous la forme
l
l
bibliothèque/objet ou
bibliothèque/objet (membre)
.
Rubriques connexes : Manuel de l'utilisateur – Transfert de Fichier
Traitement d'Evènements
Les Evènements sont définis et gérés comme des objets avec différents onglets dans l'Automation
Engine.
Des Evènements de système de fichiers se rapportant au Library File System (QSYS.LIB) peuvent
Automation Engine
236
être définis. L'Agent OS/400 prend également en charge les Evènements de type "console".
Rubriques connexes : Manuel de l'Utilisateur – Evènement
CallAPI
CallAPI peut être utilisé avec un utilitaire pouvant par exemple être exécuté à partir d'un script CL.
Voir : Manuel de l'utilisateur - CallAPI
7.9.2 Agent OS/400 - Prise en charge du Transfert de
Fichier
Quelques particularités sont à prendre en compte lors de l'utilisation du Transfert de Fichier avec
un Agent OS/400.
Afin que le nouveau Protocole de Transfert de Fichier soit utilisé, les Agents OS/400 de la version
9.00A ou supérieure doivent être démarrés comme étant compatibles avec un processus à
plusieurs Threads. Pour cela, il faut fixer le paramètre ALWMLTTHD dans le JOBD de l'Agent sur la
valeur *YES.
Concerne le nouveau protocole de Transfert de fichier :
les commandes du système d'exploitation CRTPF et ADDPFM sont utilisées pour le transfert de
fichiers. Les paramètres de CRTPF peuvent ainsi être indiqués directement avec les attributs dans
le Transfert de Fichier.
La commande CRTPF est utilisée lorsqu'un nouveau fichier doit être créé. Le paramètre ADDPFM
est exécuté lorsque le fichier existe déjà et qu'un seul membre doit être rajouté.
Lorsqu'une erreur survient lors du Transfert de Fichier et que sa signification n'est pas claire du point
de vue de l'Automation Engine (par exemple : "CPF0001 - Error found on ADDPFM command"), il
s'agit éventuellement d'une erreur liée à l'exécution de ces commandes. Dans ce cas, vous
trouverez plus d'informations dans le log de Job enregistré directement sur le système
d'exploitation.
Indication de fichiers :
Système de fichiers QSYS
La syntaxe pour le Transfert d'un fichier QSYS est :
Nom de la bibliothèque/nom du fichier(nom du membre)
Lorsque vous spécifiez le nom de fichier ou de membre, vous pouvez également utiliser les
caractères génériques * et ?.
* - caractère de remplacement pour un nombre quelconque de caractères (également aucun), ? exactement un caractère quelconque
Si vous utilisez des caractères génériques dans le nom de fichier, aucun nom de membre ne doit
être spécifié !
Vous trouverez des indications détaillées concernant les caractères génériques dans le chapitre
Les Transferts de Fichiers avec caractères génériques.
Exemples :
Transfert de tous les membres du fichier TEST.
237
Chapter 7 L'Automation Engine et les systèmes cible
AE/TEST(*)
ou
AE/TEST()
Transfert de tous les membres du fichier TEST dont le nom commence par la lettre "A".
AE/TEST(A*)
Transfert de tous les membres du fichier TEST dont le nom comporte 3 caractères et qui commence
par la lettre "A" et se termine par la lettre "B".
AE/TEST(A?B)
Transfert du membre ABC du fichier TEST.
AE/TEST(ABC)
Transfert de tous les fichiers dont le nom commence par TEST.
AE/TEST*
Système de fichiers IFS
Pour IFS (Integrated Filesystem), il s'agit d'un système de fichiers UNIX. Les fichiers IFS doivent
toujours être indiqués avec le chemin absolu (à partir de la racine) et les noms de fichiers
consécutifs.
Si l'entrée du fichier contient le caractère /, alors l'Agent accepte qu'il s'agisse d'un fichier IFS.
Exemple :
/home/uc4/test.txt
Afin d'exécuter des Transferts de Fichiers avec caractères génériques, les caractères génériques *
et ? sont disponibles. Ils peuvent être utilisés indifféremment au sein du chemin d'accès et/ou du
nom du ficher.
Pour un Transfert de Fichier individuel, la casse du chemin d'accès et du nom du fichier n'ont par
d'importance. Les 2 entrées suivantes sont donc identiques :
/home/AbC.txt
/HOME/ABC.txt
Pour les Transferts de fichiers avec des caractères génériques, il faut veiller à la taille de la police !
Les 2 entrées suivantes sont donc différentes :
/home/AB*
/home/ab*
Attributs
Tous les attributs pris en charge par OS/400 peuvent être indiqués indépendamment du système de
fichiers pour la cible du Transfert de Fichier. Si vous indiquez plusieurs attributs, vous devez les
séparer par des virgules. Des données qui ne seraient pas valides sont ignorées.
Système de fichiers QSYS
L'Agent OS/400 peut transmettre des fichiers de type *FILE et SAVF. D'autres types de fichier
comme *PGM, *RPG, *CLLE doivent être recueillis dans des fichiers SAVF avant leur transfert. Les
points suivants doivent être respectés lors d'un Transfert de Fichier SAVF :
Automation Engine
l
l
238
Définissez l'attribut reclen=528 dans l'objet Transfert de Fichier du fichier source.
Sélectionnez la page de code UC_CODE pour le fichier source comme pour le fichier cible.
Pour tous les autres fichiers :
l
l
Si le fichier cible n'est pas disponible, il est créé. Pour ce faire, on utilise la commande
CRTPF. Pour les attributs qui peuvent être indiqués pour la cible dans un Transfert de
Fichier, il s'agit donc du paramètre de cette commande.
Si aucun attribut n'est spécifié, le fichier est alors stocké par défaut avec une longueur
d'enregistrement de 80 octets. Pour les Transferts de Fichiers avec caractères génériques
MAXMBRS(*NOMAX) est défini par défaut (le fichier ne comprend ainsi aucune limite de
membre). Pour un Transfert de Fichier individuel, la valeur par défaut du système est utilisée
pour MAXMBRS.
Si un fichier cible existe déjà, leurs attributs peuvent alors être uniquement réécrits, lorsque
l'option "Conserver les attributs originaux de fichier" est définie dans l'objet Transferts de
Fichiers. C'est à cela que sert la commande CHGPF, dont le paramètre peut être défini
comme Attributs cible dans l'objet Transfert de Fichier.
Grâce à l'option "Conserver les attributs originaux de fichier" de l'objet Transfert de Fichier, les
attributs de fichiers de la source sont pris pour les fichiers cible. Cela n'est cependant possible que
lorsque l'Agent source et l'Agent cible indiquent le même système d'exploitation (dans ce cas
OS/400) et Automation Engine Version 9.00A (ou supérieure). Sinon, ce paramètre est ignoré.
Ainsi les attributs de fichier suivants peuvent être conservés :
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
ACCPTHSIZ - Taille du chemin d'accès
ALWUPD - Autorise la mise à jour (ALWUPD). Si l'option est activée, les enregistrements
ne sont pas autorisés à être mis à jour dans le fichier (*NO).
ALWDLT - Autorise la suppression (ALWDLT). Si l'option est activée, les enregistrements
ne sont pas autorisés à être supprimé du fichier (*NO).
CCSID - ID de jeu de caractères codés
EXPDATE - Date d'expiration pour les membres
FRCACCPTH - Chemin d'accès forcé
FRCRATIO - Enregistrements pour forcer l'écriture
LANGID - Langage ID
MAINT - Maintenance du chemin d'accès
MAXMBRS - Membres maximum
PAGESIZE - Taille de la page logique du chemin d'accès
RCDLEN - Taille de l'enregistrement, si aucun DDS, DDS contient le format
d'enregistrement complet (Clefs, Champs, Relations, etc.)
SHARE - Partager le chemin d'accès de données ouvertes
SIZE - Taille du membre, nombre initial d'enregistrements, augmentation du nombre
d'enregistrements, augmentations maximum
TEXT - 'description' du texte
De plus, il est possible d'utiliser le paramètre spécial TRIM=YES dans le champ "Attributs" de la
source de Transfert de Fichier. Cette option n'est pas un véritable attribut de fichier mais une
fonction spéciale de l'Automation Engine. Elle a pour effet de supprimer automatiquement les
espaces au début et à la fin de chaque ligne des fichiers à transférer. Cette option ne peut pas être
définie en relation avec le système de fichier IFS.
Système de fichiers IFS
Pour les fichiers IFS, les 2 attributs suivants peuvent être indiqués ou conservés :
239
Chapter 7 L'Automation Engine et les systèmes cible
l
l
ccsid - Le CCSID utilisé pour les données dans le fichier ou les attributs étendus du
répertoire
codepage - La page de code est dérivée du CCSID utilisé pour les données dans le fichier ou
les attributs étendus du répertoire.
Rubriques connexes :
Onglet Transfert de Fichier
7.9.3 Agent - commandes
Des programmes et commandes supplémentaires sont fournis avec l'Agent. Tout d'abord, ils
permettent de démarrer ou d'arrêter facilement l'Agent, sans devoir créer une routine CL au
préalable. Ensuite, un programme est mis à disposition pour la génération de la bibliothèque de
messages, et il s'avère très utile en cas d'erreur.
Cela nécessite cependant d'utiliser le dernier Agent de la version 9.00A et de reprendre la
bibliothèque contenant les fichiers de programmes dans la liste Librairie du système. Voir :
Instructions d'installation de l'Agent OS/400
Démarrer l'Agent
Objets fournis :
Programme : STRUCAGENT
Commande : STRUCAGENT
Commande permettant de démarrer un certain agent AE sans avoir besoin de créer une routine CL.
Pour cela, il est nécessaire d'indiquer la bibliothèque contenant l'Agent. En outre, le fichier INI de
l'Agent doit être spécifié pour le système de fichiers IFS ou QSYS. Remplace la routine UCEX_
RUN.
Paramètre :
LIB(Bibliothèque)
MBR(fichier INI QSYS) ou PATH(Chemin IFS et nom du fichier INI)
Exemples :
STRUCAGENT LIB(AE) FILE(AE/INI) MBR(UCXJO41)
Démarrer l'Agent à partir de la bibliothèque AE en utilisant le fichier INI AE/INI(UCXJO41).
STRUCAGENT LIB(AE) PATH('/user/ae/ucxjo41.ini')
Démarrer l'Agent de la bibliothèque en utilisant le fichier INI ucxjo41.ini disponible via le chemin de
fichier /user/ae/.
Arrêter l'Agent
Objets fournis :
Programme : ENDUCAGENT
Commande : ENDUCAGENT
Arrêter immédiatement ou de manière contrôlée l'Agent qui a été démarré à partir d'une certaine
bibliothèque. Peut être utilisée à la place de la routine UCEX_END.
Automation Engine
240
Paramètre :
LIB(Bibliothèque)
OPTION(Arrêter)
Exemples :
ENDUCAGENT LIB(AE) OPTION(*CNTRLD)
Arrêter de manière contrôlée l'Agent qui a été démarré à partir de la bibliothèque AE. Avec cette
commande, un signal d'arrêt est envoyé à l'Agent pour être prochainement traité.
ENDUCAGENT LIB(AE) OPTION(*IMMED)
Interrompre l'Agent qui a été démarré à partir de la bibliothèque AE. Correspond à la commande
ENDJOB. L'Agent indiqué est immédiatement recherché dans le système et arrêté.
Générer la bibliothèque de messages
Objets fournis :
Programme : MAKEMSL
Commande : GENUCMSL
La commande GENUCMSL permet de convertir un fichier MSL stocké dans le système de fichiers
IFS en bibliothèque de messages physique. La bibliothèque de messages générée peut ensuite être
utilisée par l'Agent. Cette procédure n'est pas nécessaire pour l'installation de l'Agent, mais
cependant utile pour mettre à jour ou réparer la bibliothèque de messages (en cas d'erreur).
Paramètre :
PATH(Chemin IFS et nom du fichier)
FILE(Fichier de destination QSYS)
Exemple :
GENUCMSL PATH('/tmp/uc.msl') FILE(AE/MSL)
Convertit le fichier uc.msl accessible via le chemin IFS '/tmp/' en fichier AE/MSL. Le nombre
d'enregistrements de messages importés est indiqué :
Processing completed.
Lines processed '34579'.
Imported '11607' english messages.
Imported '11607' french messages.
7.10 L'Automation Engine et PeopleSoft
7.10.1 Test de la connexion PeopleSoft
Le programme pscitester peut être utilisé pour tester la connexion au serveur d'applications
PeopleTools. Il s'agit d'un programme d'exemple de PeopleSoft fourni comme source Java. Il se
trouve sous %PS_HOME%/sdk/PSCOMPINTFC/src/java/samples. Cet exemple permet de
tester si l'accès à PeopleSoft est possible via Java Object Adapter.
Le déroulement suivant décrit le développement et le test du programme d'exemple.
241
Chapter 7 L'Automation Engine et les systèmes cible
Déroulement
1.
l
l
Hôte
Installez le SDK Java sur un poste de travail. Ce dernier ne doit pas forcément être le
Serveur PeopleSoft.
2.
l
Adaptation des Variables PATH
Ajoutez le répertoire bin &lt;SDK_HOME&gt;\bin à la Variable d'environnement PATH. Pour
tester si l'installation s'est bien terminée, vous pouvez saisir "javac" dans la ligne de
commande MS-DOS ou dans le terminal. Une sortie de javac s'affiche alors.
3.
l
l
Création des sources Java
Sélectionnez un Component interface dans Application Designer et cliquez sur Build ->
PeopleSoft APIs. Les classes Java à constituer peuvent alors être sélectionnées :
CompIntfc.USER_PROFILE
CompIntfc.USER_PROFILE_IDTypes
CompIntfc.USER_PROFILE_IDTypesCollection
CompIntfc.USER_PROFILE_Roles
CompIntfc.USER_PROFILE_RolesCollection
CompIntfc.USER_PROFILE_Roles_RouteControls
CompIntfc.USER_PROFILE_Roles_RouteControlsCollection
CompIntfc.USER_PROFILE_Attributes
CompIntfc.USER_PROFILE_AttributesCollection
CompIntfc.USER_PROFILE_SYNC
CompIntfc.USER_PROFILE_SYNCCollection
CompIntfc.USER_PROFILE_Collection
CompIntfc.CompIntfcPropertyInfo
CompIntfc.CompIntfcPropertyInfoCollection
Désactivez la case à cocher pour la génération de la bibliothèque de types COM et
sélectionnez dans le champ Java Classes un dossier dans lequel les fichiers doivent être
générés. Les fichiers Java sont générés dans le répertoire indiqué sous
PeopleSoft/Generated/CompIntfc.
4.
l
Installation du SDK Java
Développement des fichiers *.class
Créez un dossier dans lequel vous copierez ensuite le fichier psjoa.jar, le répertoire
pscitester et le répertoire PeopleSoft. Ce dernier a été spécifié lors de la génération des
classes Java. La structure du répertoire ressemble maintenant à ça :
./psjoa.jar
./pscitester/pscitester.java
./PeopleSoft/Generated/CompIntfc/CompIntfcPropertyInfo.java
./PeopleSoft/Generated/CompIntfc/CompIntfcPropertyInfoCollection.java
./PeopleSoft/Generated/CompIntfc/ICompIntfcPropertyInfo.java
./PeopleSoft/Generated/CompIntfc/ICompIntfcPropertyInfoCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfile.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypes.java
Automation Engine
l
l
242
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesAttributes.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesAttributesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRoles.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfile.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypes.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesAttributes.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesAttributesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileRoles.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesRoutecontrols.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesRoutecontrolsCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesRoutecontrols.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesRoutecontrolsCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileSync.java
./PeopleSoft/Generated/CompIntfc/UserProfileSyncCollection.java
Utilisez la ligne de commande MS-DOS ou le terminal pour passer à ce répertoire. Il faut
maintenant encore définir le CLASSPATH :
Pour Windows : set CLASSPATH=.;psjoa.jar
Pour Unix : export CLASSPATH=psjoa.jar:.
Traduisez l'exemple à l'aide de :
javac pscitester/pscitester.java
5.
l
l
l
Démarrage du programme pscitester
Prérequis : le serveur d'applications auquel le programme doit se connecter doit être en cours
d'exécution.
Dans le programme de test, il faut saisir le port JOLT. Vous trouverez celui-ci dans le fichier
%PS_HOME%\APPSERV\<APPSERVERNAME>\psappsrv.cfg sous [JOLT Listener].
Démarrez le programme :
java pscitester.pscitester
Le message d'erreur suivant peut être ignoré :
java.lang.NullPointerException: PSProperties not loaded from
file.
Pour éviter l'affichage de ce message, le fichier pstools.properties doit être copié de
PeopleSoft dans le répertoire actuel.
l
Si toutes les saisies étaient correctes, le message suivant s'affiche :
Application Server Connect Information...
Enter The Application Server Name: wgw2ksps2
Enter The Application Server Port Number[ 9000]:
Enter PeopleSoft UserID [PTDMO]: PS
Enter PeopleSoft UserID Password: [PTDMO]: ********
Connected to Appserver...
Get on Component Interface "USER_PROFILE" succeeded
243
Chapter 7 L'Automation Engine et les systèmes cible
Listing Component Interface property for field "UserID"
Long Label: User ID
Short Label: User
Is Collection: false
Type: 0
Format : 6
Is Key: true
Is Required: false
Is Xlat: false
Is YesNo: false
Is Prompt: false
7.10.2 Utilisation de Variables de liaison
Les processus PeopleSoft peuvent contenir des Variables appelées Variables de liaison.
L'Automation Engine vous permet de planifier ces processus et d'attribuer des valeurs
. Les deux fonctions PS_SET_BINDVAR et PS_RUN_PROCESS interagissent et peuvent être
utilisées comme suit.
l
l
PS_SET_BINDVAR remplace une valeur que vous spécifiez vous-même dans le Script AE
ou que vous obtenez à l'aide d'un Run Control ID.
Vous pouvez ensuite exécuter la fonction PS_RUN_PROCESS qui démarre un processus
et le surveille. Les valeurs des Variables de liaison sont prises en compte ici.
Pour pouvoir utiliser cette fonctionnalité, la base de données PeopleTools doit être configurée.
Chacune des étapes est expliquée dans le chapitre sur l'installation.
Testez bien les Jobs qui remplacent les valeurs des Variables de liaison avant de les mettre en
service dans le système de production. Les valeurs ont un format particulier (par ex. date) devant
être conservé. Etant donné que chaque syntaxe est différente et qu'elle n'est donc pas vérifiable, il
est impérativement recommandé de procéder à des tests exhaustifs !
7.10.3 Modifications apportées aux contrôles
d'exécution
La plupart des processus nécessitent la saisie de paramètres pour l'exécution, par exemple une
période. Ce genre d'informations peut être enregistré à une seule reprise dans de soi-disant
contrôles d'exécution (RUN_CONTROL_RECORDS) . Les processus obtiennent les
paramètres pour l'exécution à partir du contrôle d'exécution attribué.
Un contrôle d'exécution est, en règle générale, exactement un enregistrement de la base de
données PeopleSoft. Il peut également englober plusieurs enregistrements. Un contrôle d'exécution
est identifié de manière unique à l'aide des concepts clés OPRID (ID utilisateur) et RUN_CNTRL_
ID.
Application
L'Automation Engine met à disposition la fonction PS_MODIFY_RUNCONTROL qui vous permet
de modifier les contrôles d'exécution. L'adaptation se rapporte alors à un seul enregistrement. Si
plusieurs enregistrements d'un contrôle d'exécution doivent être maintenus, vous devez procéder à
Automation Engine
244
une exécution distincte de PS_MODIFY_RUNCONTROL pour chaque modification. Cette
procédure différencie l'Automation Engine de la maintenance en ligne dans PeopleSoft.
Exemples
Exemple 1
Un Utilisateur souhaite exécuter le rapport SQR "Employee Turnover Analysis". Pour ce faire, il
crée un contrôle d'exécution "myRunControl". Après avoir rajouté le contrôle d'exécution, les
champs de paramètre nécessaires pour le rapport sont renseignés et enregistrés. Il s'agit ici des
champs FROM_DATE et THRU_DATE.
La même modification peut être effectuée de manière automatique par l'Automation Engine. Cet ID
utilisateur est déterminé par l'objet Login du Job PeopleSoft.
PS_MODIFY_RUNCONTROL RUNCONTROLID=’myRunControl’,RECORDNAME=’RUN_CNTL_
HR’,FIELDNAME=’FROM_DATE’,FIELDVALUE=’20050306’
PS_MODIFY_RUNCONTROL RUNCONTROLID=’myRunControl’,RECORDNAME=’RUN_
CNTL_HR’,FIELDNAME=’THRU_DATE’,FIELDVALUE=’20060306’
Exemple 2
L'exemple suivant présente la modification d'un contrôle d'exécution pour la conversion monétaire.
Cette fois-ci, il y a non seulement des champs, mais aussi des valeurs sous forme de liste. Il s'agit
d'une liste de monnaies.
Pour pouvoir modifier les valeurs monétaires, un code doit être transmis lors de l'exécution de PS_
MODIFY_RUNCONTROL.
245
Chapter 7 L'Automation Engine et les systèmes cible
PS_MODIFY_RUNCONTROL RUNCONTROLID='myRunControl',RECORDNAME='RUN_CNTL_
CC2_EO',FIELDNAME='RATE_MULT',FIELDVALUE='100',KEYNAME(1)='CURRENCY_
CD',KEYVALUE(1)='EUR'
Les données de la liste de monnaies sont au niveau 1. C'est pourquoi il faut saisir le chiffre 1 pour
les paramètres KEYNAME(1)= et KEYVALUE(1)=.
Risques et limitations
Lors de la modification des contrôles d'exécution, tenez comptes des remarques suivantes :
l
l
l
l
l
Les valeurs transmises ne sont vérifiées que de façon rudimentaire. Ce qui veut dire que des
valeurs erronées peuvent se retrouver dans la base de données PeopleSoft et qu'ensuite un
ou plusieurs composants en ligne ne peuvent plus fonctionner ! Cette erreur n'est réparable,
dans la plupart des cas, qu'avec des commandes SQL.
Aucune incohérence du modèle de données ne peut en résulter ; néanmoins, des valeurs ne
pouvant être traitées en ligne peuvent se retrouver dans la base de données. Par exemple,
PeopleCode interdit la saisie d'une date courante de l'année précédente. Avec la fonction
PS_MODIFY_RUNCONTROL, une telle saisie est cependant possible.
PS_MODIFY_RUNCONTROL ne crée aucun nouveau contrôle d'exécution, étant donné
que les champs de la table de base de données correspondante peuvent éventuellement être
renseignés par PeopleCode et qu'ils peuvent être dépendants les uns des autres. Ni
l'Automation Engine, ni l'interface PeopleCode pour l'Automation Engine ne connaissent ces
dépendances.
Les dépendances entre les champs d'un contrôle d'exécution ne sont en principe pas prises
en compte et elles peuvent également générer des erreurs dans l'application PeopleSoft.
Le contrôle d'exécution est également capable d'écrire plus d'un enregistrement. Par
exemple, le composant RUN_CNTL_CC_EO (Currency Conversion) écrit au moins dans
les tables PS_RUN_CNTL_CC1_EO et PS_RUN_CNTL_CC2_EO. L'Utilisateur est seul
responsable de renseigner les noms qui conviennent dans les enregistrements.
Rubriques connexes : PS_MODIFY_RUNCONTROL
7.11 L'Automation Engine et SAP
7.11.1 Solutions SAP et Job Scheduling avec
l'Automation Engine
Lorsque vous utilisez des solutions SAP et qu'il vous faut un Job Scheduling efficace, Automation
Engine est une solution idéale. Elle permet une intégration rapide et transparente de toutes les
applications SAP dans le contrôle de processus d'entreprise. Automation Engine prend en charge
toutes les applications SAP, y compris SAP R/3, mySAP Business Suite et SAP NetWeaver ainsi
que les solutions sectorielles, se basant sur ces applications, pour les télécommunications,
Automation Engine
246
l'approvisionnement, la banque, etc. Résultat : les processus informatiques dans diverses
applications SAP sont gérés et surveillés centralement et sont en phase avec le reste de votre
exploitation informatique mondiale.
Développé comme un planificateur d'entreprise, l'Automation Engine ne nécessite aucun
composant intergiciel, tel qu'un serveur d'applications JAVA, et il permet une fonctionnalité de
planification très poussée sur l'ensemble de l'infrastructure informatique. Le système est
directement lié à SAP NetWeaver et accélère ainsi la création et la maintenance de Jobs pour les
applications SAP. Les rapports, variantes et tous les autres paramètres nécessaires sont
disponibles au travers de l'interface graphique intuitive et conviviale de Automation Engine. Les
problèmes relatifs aux accès manuels, aux erreurs de saisie ou aux listes de paramètres obsolètes
sont éliminés de manière efficace. Il est facile de créer les Jobs avec la fonctionnalité de glisserdéposer, de plus, ceux-ci sont affichés graphiquement à l'écran. Cela assure une excellente
visibilité et simplifie la gestion et le contrôle.
Grâce à une automatisation complète de tous les processus informatiques, Automation Engine
augmente la productivité au niveau de l'utilisation des solutions d'entreprise de SAP. Les Jobs
d'arrière-plan et les processus des applications SAP sont surveillés centralement et automatisés.
Automation Engine assure une meilleure performance grâce à un traitement d'arrière-plan optimisé
et à un nombre réduit d'interruptions et d'erreurs du système.
Rubriques connexes :
Automation Engine et SAP NetWeaver
7.11.2 SAP NetWeaver
Automation Engine et SAP NetWeaver
Cette documentation suit l'architecture SAP NetWeaver et explique les fonctions AE en fonction
de cette dernière. De plus, y sont expliquées les fonctions pour les solutions sectorielles ainsi
que les solutions personnalisées.
247
Chapter 7 L'Automation Engine et les systèmes cible
Intégration à People
Ce domaine de SAP NetWeaver sert à l'intégration d'Utilisateurs finaux. L'Automation Engine crée
des interfaces spécifiques aux rôles et rend ainsi le département concerné responsable du
démarrage des processus avec les paramètres qui conviennent. Cela permet de désactiver les
sources d'erreur potentielles et l'Automation Engine exécute les processus prédéfinis en Tâche
d'arrière-plan, sans souci d'erreur.
Fonctionnalités de l'Automation Engine
Intégration dans SAP Enterprise Portal (iViews)
Business Intelligence
Le point central de cette couche est la gestion de l'entreposage. Les processus de chargement des
données et les chaînes de processus sont contrôlés par l'Automation Engine et, avec des
processus supérieurs, ils sont également intégrés à d'autres plateformes. L'analyse et la
représentation automatiques des processus individuels d'une chaîne, jusqu'au niveau le plus bas,
vont ainsi de soi.
Fonctionnalités de l'Automation Engine
Planification des processus de chargement des données
Planification des chaînes de processus
Planification de requêtes dans le batch
Intégration des processus
Cette partie traite l'intégration des processus métier à SAP Exchange Infrastructure (SAP XI). En
tant qu'Integration Broker, les messages peuvent être validés directement dans l'Automation
Engine via les processus à adaptateur standard SAP XI et inversement.
Fonctionnalités de l'Automation Engine
Surveillance des canaux de communication SAP XI
Plateforme d'application
La plateforme d'application forme la base de toutes les applications SAP. L'Automation Engine
utilise l'ABAP ainsi que le domaine Java pour mettre à votre disposition des fonctionnalités utiles.
Fonctionnalités de l'Automation Engine
ABAP :
Exécution de Jobs dans la pile ABAP (CCMS)
Processus enfants
Jobs interceptés
Analyse du code retour d'application des steps SAP
Gestion des variantes
Automation Engine
248
Gestion de BDC
Gestion de Spool
Gestion d'Evènements
Reprise de Jobs SAP
Reprise des définitions de calendrier SAP
JAVA :
Agent Java EE/JMX pour SAP NetWeaver
JMX dans SAP NetWeaver
Exécution de Jobs dans la pile Java (JXBP)
Gestion du cycle de vie
Cette partie comprend le contrôle et la surveillance de toutes les solutions utilisées sur la base de la
technologie SAP NetWeaver. L'Automation Engine a accès à toutes les données de surveillance
d'un côté et, d'un autre côté, y fournit ses propres données.
Fonctionnalités de l'Automation Engine
Surveillance des moniteurs
Surveillance des Evènements SAP
Intégration de l'Automation Engine à SAP Solution Manager
Inscription dans le système Landscape Directory
Analyse du log système et du log application
Commutation des modes de fonctionnement
Développement d'applications
L'Automation Engine vous soutient pour le développement d'applications avec une kyrielle de
possibilités.
Fonctionnalités de l'Automation Engine
ABAB :
CallAPI pour SAP
JAVA :
Interface d'application
249
Chapter 7 L'Automation Engine et les systèmes cible
Intégration à People
Intégration dans SAP Enterprise Portal (iViews)
Introduction
Les iViews pour Job Scheduling apportent des informations actuelles sur le fonctionnement de
Job Scheduling dans les composants SAP Enterprise Portal de SAP NetWeaver et permettent
aux utilisateurs finaux de démarrer des processus commerciaux critiques.
Les Tâches peuvent être démarrées et surveillées directement à partir de SAP Enterprise Portal.
L'utilisateur final peut démarrer des processus importants, même sans connaissance de Job
Scheduling. Lorsque cela est nécessaire, les paramètres correspondants peuvent être définis.
Chaque utilisateur peut surveiller le statut actuel du traitement en arrière-plan via SAP Enterprise
Portal. Les processus démarrés à cet emplacement sont contrôlés et surveillés par Automation
Engine. L'état actuel est mis à disposition de l'Utilisateur via la technologie iView.
Rubriques connexes :
Démarrage de Tâches
Surveillance des activités
Démarrage de Tâches
L'"ActivateObject" de iView permet aux utilisateurs de démarrer les objets activables dans
l'Automation Engine. Pour cela, enregistrez le nom de l'objet et une description explicative dans
les propriétés de personnalisation. Il est important de définir l'alias du système. Il doit
correspondre à la désignation que l'administrateur a définie dans les paramètres système.
Vous pouvez avec les alias de système accéder à différents systèmes AE.
Le bouton "Start" permet désormais d'activer l'objet. iView affiche le numéro courant (RunID) de
l'exécution actuelle ou de la dernière. D'autres informations sont à votre disposition en utilisant le
Automation Engine
250
lien "Détail" qui ouvre la fenêtre de détails. De même que dans l'Interface Utilisateur, vous y
trouverez des renseignements sur l'heure de début ou le code retour.
Si l'exécution de l'objet requiert une saisie utilisateur car l'instruction de Script :READ a été utilisée,
un masque de saisie correspondant est créé dans iView. Les astérisques "*" rouges symbolisent
les champs obligatoires.
Rubriques connexes : Surveillance des activités
Surveillance des activités
Les "Activities" de iView affiche les activités du système AE qui ont été démarrées sous
l'Utilisateur. De même que dans l'Interface Utilisateur, vous y trouverez des renseignements sur
la priorité, l'heure de début ou le statut des Tâches, par exemple.
Les informations sur les activités peuvent uniquement être consultées. iView ne permet pas
d'effectuer des modifications du type interruption ou traitement de la Tâche.
Il est possible de fusionner certaines colonnes et ainsi d'adapter l'affichage à vos besoins. Utilisez
pour cela la configuration personnalisée. Il est important de définir l'alias du système. Il doit
correspondre à la désignation que l'administrateur a définie dans les paramètres système.
251
Chapter 7 L'Automation Engine et les systèmes cible
Rubriques connexes : Démarrage de Tâches
Intégration d’informations
Planification des processus de chargement des données
Un info package est un objet qui décrit dans BW les conditions de sélection pour la demande de
données d'un système source. Cet objet peut être planifié et contrôle ainsi un processus de
chargement des données à partir d'un système source. Un info package peut être contrôlé de
l'extérieur à partir d'une interface standard. Cette interface est utilisée en conséquence par
l'Automation Engine.
JCL pour SAP
Eléments de script
Description
BW_ACTIVATE_
INFOPACKAGE
Planifie un ou plusieurs Info Packages pour un démarrage immédiat.
BW_GET_
INFOPACKAGES
Lit des Info Packages à partir du système BW. Les Info Packages
disponibles sont enregistrés dans le rapport d'activation ou dans un
fichier.
Automation Engine
BW_SET_
INFOPACKAGE_
SELECTION
252
Définit les paramètres de sélection utilisés pour la lecture des Info
Packages à partir du système BW.
Planification des chaînes de processus
Dans votre système BW, vous pouvez représenter des déroulements par des chaînes de
processus. Une telle chaîne se compose d'un processus de démarrage, de processus
d'application individuels et de processus collectifs. Il est également possible d'associer des info
packages.
Avec l'Automation Engine, il vous est possible de démarrer et de surveiller des chaînes de
processus. Vous pouvez voir chacun des processus dans la Fenêtre d'Activités de l'Interface
Utilisateur. Les protocoles des processus sont, en outre, enregistrés dans l'Automation Engine
dans le rapport de l'objet Job.
253
Chapter 7 L'Automation Engine et les systèmes cible
JCL pour SAP
Eléments
de script
Description
BW_
Démarre une chaîne de processus, surveille l'exécution et enregistre ses
ACTIVATE_ protocoles dans le rapport d'activation.
CHAIN
BW_GET_
CHAINS
Lit les chaînes de processus à partir du système BW. Les chaînes de processus
disponibles sont enregistrées dans le rapport d'activation ou dans un fichier.
BW_
RESTART_
CHAIN
Continue une chaîne de processus interrompue.
Planification de requêtes dans le batch
A l'aide de la transaction RSCRM_BAPI, vous pouvez créer des interrogations dans votre
système BW avec de soi-disant requêtes. Le résultat est soit stocké dans une table, soit dans un
fichier. Utilisez l'Automation Engine pour exécuter les requêtes à intervalles réguliers ou selon les
besoins.
Identifiez-vous, tout d'abord, dans le système BW et exécutez la transaction RSCRM_BAPI.
Planifiez la requête que vous voulez automatiser avec l'Automation Engine. Chaque requête
possède son propre ID batch. Ouvrez le moniteur de batch et copiez ce numéro.
Créez maintenant un Job SAP dans le système AE. Utilisez l'onglet Forme ou écrivez directement
dans l'onglet Script la fonction suivante :
R3_ACTIVATE_REPORT REP='RSCRMREPORT_BAPI'
Automation Engine
254
Passez ensuite à l'onglet "SAP" et entrez l'ID batch copié précédemment dans le champ
"Jobname".
Il est possible d'intégrer l'objet Job dans votre traitement, par exemple dans un objet Schedule, et il
exécute la requête aux moments définis par vos soins.
En raison du comportement de SAP, vous ne voyez pas toutes les exécutions dans le moniteur
de batch, mais uniquement la dernière.
Intégration des processus
Surveillance des canaux de communication SAP XI
Les adaptateurs SAP XI servent à échanger des données avec SAP Exchange Infrastructure. Ils
transforment les messages de manière à ce qu'ils puissent être transmis via les canaux de
communication.
L'Agent SAP met à votre disposition des fonctions vous permettant de contrôler des canaux de
communication :
l
l
l
démarrage des canaux de communication
arrêt des canaux de communication
demande d'informations concernant les canaux de communication
255
Chapter 7 L'Automation Engine et les systèmes cible
Utilisez dans le Job SAP les fonctions XI_GET_CHANNEL et XI_SET_CHANNEL. Les
informations sur les canaux de communication sont enregistrées sous forme de document XML
dans le rapport de Job. Les éléments de script pour XML préparent les données.
De plus, vous pouvez surveiller les canaux de communication à l'aide des objets Evènements de
type "Console". A chaque changement de statut, un Evènement est déclenché.
Activez l'interface XI du fichier INI de l'Agent SAP avec les paramètres de la section [SAP_XI].
Pour l'accès au système XI, un objet Login avec des données d'identification valides est
nécessaire. L'Utilisateur XI doit disposer des autorisations pour contrôler les canaux de
communication XI. Utilisez différents objets Login pour les systèmes SAP et XI lorsque les deux
sont installés sur le même hôte. Sinon le Login n'est pas sans ambiguïté.
AE JCL pour XI
Elément de script
Description
XI_GET_CHANNEL
Enumère les canaux de communication.
XI_SET_CHANNEL
Démarre et arrête les canaux de communication.
Plate-forme d'application
ABAP
Gestion des variantes
Les variantes facilitent le traitement dans SAP, étant donné que les Jobs à entrées prédéfinies
peuvent être exécutés. L'Automation Engine prend bien entendu en charge l'utilisation des
variantes et offre de nombreuses fonctions à cette fin. Celles-ci permettent par exemple la
lecture, la copie ou la modification des variantes. Il est également possible de supprimer et
d'énumérer.
La vérification et la définition de variantes immédiatement avant l'exécution d'un programme
ABAP est d'une très grande importance, étant donné que cela permet d'éliminer des sources
d'erreur.
Automation Engine
256
JCL pour SAP
Eléments de script
Description
R3_ACTIVATE_REPORT
Peut exécuter un rapport après spécification d'une variante.
R3_COPY_VARIANT
Copie la variante d'un rapport.
R3_CREATE_VARIANT
Crée une nouvelle variante.
R3_DELETE_VARIANT
Supprime la variante d'un rapport.
R3_GET_VARIANT_
CONTENTS
Affiche le contenu d'une variante.
R3_GET_VARIANTS
Affiche toutes les variantes disponibles dans le protocole
d'activation.
R3_MODIFY_VARIANT
Modifie une entrée dans une variante.
Gestion de BDC
Batch input est une technique classique de reprise en masse des données à partir de systèmes
externes vers le système SAP.
Les dossiers batch input utilisés à cet effet contiennent une ou plusieurs exécutions de transaction,
y compris des données de transaction. L'Automation Engine peut lire les dossiers, mais aussi les
exécuter et les surveiller jusqu'à leur fin. Outre l'exécution de dossiers, l'Automation Engine permet
également l'exécution directe de transactions dont les données sont définies dans le Job (Call
Transaction).
JCL pour SAP
Eléments de script Description
R3_ACTIVATE_
SESSIONS
Exécution des sessions batch input.
R3_CALL_
TRANSACTION
Exécute une transaction SAP.
257
Chapter 7 L'Automation Engine et les systèmes cible
R3_GET_
SESSIONS
Sélectionne des dossiers batch input et affiche le résultat dans le rapport
d'activation ou dans un fichier.
R3_SET_
BDCDATA
Définit les données BDC.
Gestion de Spool
Dans l'Automation Engine, le traitement des Tâches peut être contrôlé par des Jobs. Les
paramètres de l'objet Job et divers scripts vous aident à y parvenir.
Vous pouvez entrer des destinataires de la liste spool dans l'onglet SAP des Jobs SAP. Toutes les
requêtes spool que le Job crée sont envoyées aux destinataires entrés ici.
JCL pour SAP
De nombreux scripts possèdent des paramètres à l'aide desquels il est possible d'influencer la
sortie du Job. En outre, les fonctions suivantes, qui traitent précisément les requêtes spool, sont à
votre disposition.
Elément de script
Description
R3_CREATE_OUTPUT_
REQUEST
Crée un nouvel ordre d'édition pour une requête spool
existante.
R3_GET_JOB_SPOOL
Lit la liste spool d'un step de type "programme ABAP".
Vous pouvez spécifier des paramètres de filtrage.
R3_GET_SPOOL_REQUESTS
Sélectionne des requêtes spool avec des Filtres prédéfinis.
R3_SEND_SPOOL_REQUEST
Envoie une requête spool existante.
Automation Engine
258
Gestion d'Evènements
La gestion de processus doit être exécutée à partir d'Evènements pour des applications
modernes. Un contrôle purement chronologique des déroulements ne suffit pas pour prendre en
compte la complexité des environnements d'applications et de systèmes, avec leurs processus
imbriqués et leurs dépendances.
Avec Event, l'Automation Engine met à votre disposition une solution complète pour une gestion de
processus orientée Evènements. Le traitement peut se faire en fonction d'un grand nombre de
statuts et d'Evènements du système. Event met à disposition cette fonctionnalité pour un grand
nombre de plateformes de système d'exploitation et d'application. La définition et le traitement
d'Evènements se font de manière centrale et pour l'Utilisateur, quelle que soit la plateforme.
Le traitement d'arrière-plan SAP possède également un contrôle d'Evènements. Les Evènements
permettent de déclencher des processus d'arrière-plan SAP. En ce qui concerne la flexibilité et
l'étendue des fonctions, les Evènements SAP sont loin des possibilités d'une mise en œuvre de
l'Automation Engine. Dans certains cas, il est cependant nécessaire de prendre en compte les
Evènements SAP dans l'Automation Engine. L'Automation Engine étend ainsi sa fonctionnalité à la
prise en charge des Evènements SAP.
Evènement SAP
Un Evènement SAP est un indicateur qui est défini à l'aide de la transaction SM62. Un Evènement
défini peut être déclenché (manuellement, à partir d'un Job du système d'exploitation ou d'un
programme ABAP) et l'exécution d'un processus d'arrière-plan peut démarrer.
Il existe deux types d'Evènements SAP :
l
l
Evènements système
Ils sont définis par SAP et sont déclenchés automatiquement lorsque des Evènements
système se produisent, comme l'activation d'un nouveau mode d'exploitation. Les
Evènements système ne peuvent être modifiés.
Evènements utilisateur
Ils sont définis par l'Utilisateur. Ces Evènements doivent être déclenchés par un ABAP ou
un programme externe. Par exemple, un programme externe peut signaler au traitement
259
Chapter 7 L'Automation Engine et les systèmes cible
d'arrière-plan SAP que des données externes sont prêtes à l'importation dans le système
SAP.
Prise en charge par l'Automation Engine
L'Automation Engine prend en charge les Evènements SAP et les intègre dans sa gestion de
processus centrale. Cette fonctionnalité peut être nécessaire lorsque le contrôle d'arrière-plan de
SAP travaille déjà avec un grand nombre d'Evènements définis et qu'un changement à une mise en
œuvre de l'Automation Engine avec des Workflows et Event paraît trop compliqué.
Dans la plupart des cas d'application, il est cependant utile de remplacer les Evènements SAP
par les mises en œuvre de l'Automation Engine correspondantes.
L'Automation Engine peut utiliser les Evènements SAP pour sa gestion de processus. L'exécution
des objets peut être soumise à la réalisation d'un Evènement SAP. Certains traitements peuvent
ainsi par exemple dépendre de la fin d'une importation.
Les Evènements définis dans SAP peuvent être déclenchés par l'Automation Engine. L'ensemble
des fonctions variées de l'Automation Engine est à votre disposition pour définir la condition et le
moment de déclenchement d'un Evènement SAP. Des processus du système SAP sont démarrés
sur la base d'un tel Evènement.
Pour la surveillance des Evènements SAP, un objet Evènement de type "Console" peut également
être utilisé. L'Agent surveille les Evènements SAP déclenchés et transmet les informations aux
Evènements de consoles. En utilisant des Filtres, vous pouvez sélectionner les Evènements SAP
dont le moment de déclenchement marque le coup d'envoi d'un traitement séquentiel ou d'une
Alerte.
JCL pour SAP
Elément de script
Description
R3_GET_EVENT
Attend un Evènement déclenché dans SAP.
R3_RAISE_EVENT
Déclenche un Evènement défini dans SAP.
Rubriques connexes :
Surveillance des Evènements SAP
Gestionnaire de critères
Le gestionnaire de critères SAP permet de définir les conditions de l'historique des Evènements,
de la réorganisation de l'historique des Evènements et de l'interception de Job dans les profils.
Vous pouvez accéder directement au gestionnaire de critères dans le Job SAP.
Fonctionnalités :
l
l
l
Création et suppression de profils
Activation et désactivation de profils
Ajout, modification et suppression de conditions
Dans l'onglet Forme, cliquez sur le bouton
pour ouvrir le gestionnaire de critères.
Automation Engine
260
Vous devez obligatoirement utiliser XBP 3.0 pour accéder au gestionnaire de critères SAP.
JCL pour SAP
Elément de script
Description
R3_ACTIVATE_CM_
PROFILE
Active un profil dans le Gestionnaire de critères SAP.
R3_DEACTIVATE_
CM_PROFILE
Désactive un profil dans le Gestionnaire de critères SAP.
Reprise de Jobs SAP
Avec l'objet Job de l'Automation Engine, il est non seulement possible de définir de nouveaux
Jobs SAP, mais il est également possible de reprendre dans l'Automation Engine des Jobs
existants. Cela présente l'avantage de ne pas devoir créer une deuxième fois les Jobs.
Pour la reprise de Jobs, l'Interface Utilisateur doit être connectée au système SAP.
Ouvrez un objet Job et passez à l'onglet "Forme". Dans coin supérieur gauche se trouvent de
nombreux boutons. Cliquez sur le symbole . Une fenêtre s'ouvre dans laquelle vous pouvez saisir
des Filtres pour les Jobs SAP, comme le nom ou le numéro de Job.
261
Chapter 7 L'Automation Engine et les systèmes cible
Cliquez ensuite sur "Chercher". Tous les Jobs SAP correspondant au Filtre que vous avez saisi
s'affichent. Sélectionnez le Job que vous souhaitez reprendre dans l'Automation Engine, puis
cliquez sur OK.
L'objet Job reprend les instructions que contient ce Job. Des paramètres, comme la variante ou le
périphérique de sortie, sont renseignés automatiquement comme vous pouvez le voir dans
l'illustration suivante.
Automation Engine
262
La reprise ne veut pas dire que le Job est supprimé du système SAP. Seuls les paramètres du
Job sont lus et copiés dans l'objet Job.
Cette méthode de reprise de Job est très pratique pour de petites quantités de Jobs. Pour un grand
nombre de Jobs, nous recommandons d'utiliser ApplicationInterface.
Attention : une reprise de Jobs en masse doit être bien réfléchie et planifiée ! Essayez tout
d'abord d'avoir une vue d'ensemble. Dans la plupart des cas, les Jobs qui se sont développés au fil
du temps peuvent être retravaillés et donc simplifiés. Il se peut même que vous souhaitiez adapter
certaines parties du traitement ou les remplacer par d'autres.
Rubriques connexes : Reprise des définitions de calendrier SAP
Reprise des définitions de calendrier SAP
SAP offre la possibilité de définir le calendrier d'entreprise à l'aide de la transaction SCAL.
L'interface contient un programme ABAP avec lequel vous pouvez exporter ces Groupes
Calendriers sous forme de fichier XML, puis les transférer dans votre système AE. Les règles
particulières du Groupe Calendrier sont également prises en compte.
Une fois l'interface importée (voir instructions d'installation pour l'Agent SAP), le programme ABAP
"/SBB/UC4_CALE_CREATE" peut être exécuté. Outre l'ID de calendrier d'entreprise, entrez
également les informations de votre système AE, comme le montre l'illustration suivante.
263
Chapter 7 L'Automation Engine et les systèmes cible
Les deux cases à cocher situées en fin de formulaire vous permettent de déterminer si la définition
de calendrier doit être créée sous forme de liste spool et/ou sous forme de fichier XML. Dans le
dernier cas, un dialogue s'ouvre dans lequel vous pouvez sélectionner le dossier où enregistrer le
fichier.
Importez ensuite le fichier XML dans votre système AE. Le calendrier d'entreprise est désormais
disponible comme objet Groupe Calendrier.
Le processus de reprise du Calendrier peut bien entendu être automatisé à l'aide d'un élément de
script.
Rubriques connexes : Automation Engine
264
Groupe Calendrier
Importation et Exportation d'objets
Reprise de Jobs SAP
Gestion des Jobs
Exécution de Jobs dans la pile ABAP (CCMS)
L'Automation Engine vous offre, avec ses fonctionnalités, de nombreuses possibilités pour
l'exécution de votre traitement dans SAP. A la base se trouve l'objet Job à l'aide duquel vous
définissez les instructions devant être exécutées dans le système SAP.
L'onglet Forme représente une interface graphique qui entretient une liaison au système SAP. La
définition des instructions de traitement est ainsi simple et rapide, car vous pouvez sélectionner
directement des données comme les variantes.
L'Automation Engine permet l'exécution de :
l
l
l
l
l
l
Jobs,
rapports ,
commandes externes ;
programmes externes,
Jobs interceptés,
et bien d'autres.
Dans la Fenêtre d'Activités de l'Interface Utilisateur, vous voyez le statut de la Tâche et vous
pouvez la redémarrer ou l'interrompre selon vos besoins. Les processus enfants sont également
représentés. Une fois la Tâche terminée dans l'Automation Engine, vous pouvez afficher le rapport
qui contient également les messages du système SAP.
Mais l'objet Job n'est pas le seul à pouvoir exécuter des traitements dans le système SAP. Le type
d'objet "RemoteTaskManager" possède la fonctionnalité permettant de surveiller des Jobs dans
265
Chapter 7 L'Automation Engine et les systèmes cible
SAP, mais aussi de les démarrer. Vous pouvez l'utiliser pour des Jobs ou en particulier pour des
Jobs interceptés.
JCL pour SAP
Elément de script
Description
R3_ACTIVATE_EXT_
COMMAND
Exécute une commande externe.
R3_ACTIVATE_EXT_
PROGRAM
Exécute un programme externe.
R3_ACTIVATE_
INTERCEPTED_JOBS
Exécute des Jobs interceptés sous le contrôle de l'Automation
Engine.
R3_ACTIVATE_JOBS
Exécute des Jobs déjà planifiés dans SAP sous le contrôle de
l'Automation Engine.
R3_ACTIVATE_REPORT
Exécute le rapport indiqué.
R3_GET_JOBS
Sélectionne des Jobs SAP et affiche le résultat dans le rapport
d'activation ou dans un fichier.
R3_MODIFY_JOB
Modifie un step ABAP.
R3_SCHEDULE_JOB_
CANCEL
Réattribue le statut "Planifié" à un Job SAP déjà lancé.
Rubriques connexes :
Processus enfant
Jobs interceptés
RemoteTaskManager
Automation Engine
266
Processus fils
Les Jobs SAP peuvent être composés d'un seul ou de plusieurs sous-Jobs (par ex. : pour les
chaînes de processus). L'Automation Engine peut représenter ce qu'on appelle les processus
fils. Ils sont affichés dans la Fenêtre d'Activités et possèdent des enregistrements statistiques
propres ainsi que des rapports.
Activez la fonctionnalité Parent-enfant dans la transaction SE38 au moyen du programme
INITXBP2.
Le type d'objet des processus fils s'appelle JOBD.
Pour qu'une réplication des processus fils puisse avoir lieu dans le système AE, il faut définir le
paramètre REPLICATE=YES pour le Script approprié.
Attention : les processus fils peuvent, à leur tour, posséder des processus fils. Ces cas-là sont
reconnaissables à la colonne "Parent" de la Fenêtre d'Activités et dans les statistiques.
L'illustration suivante montre l'exécution d'une chaîne de processus dans laquelle c'est le cas :
Dans la fenêtre de détails, le point "Texte du Statut" contient le numéro d'instance du système
SAP.
La désactivation des processus fils est contrôlée à partir du processus parent.
Les Jobs SAP possèdent un onglet spécial nommé "Post-Traitement Lié". L'exécution a lieu dès
qu'un processus fils individuel se termine. Une analyse du résultat peut alors être effectuée
immédiatement après la fin d'un processus fils.
Pour chaque processus fils, un enregistrement statistique et un rapport sont créés. Affichez-les
tous deux à partir des statistiques du processus parent.
267
Chapter 7 L'Automation Engine et les systèmes cible
Le rapport est structuré comme celui du processus parent le plus élevé ; il ne contient cependant
que les contenus de l'étape du processus en question.
Les paramètres du rapport de Job sont également repris par le processus parent (base de données,
fichier, uniquement en cas d'erreur). En outre, vous pouvez déterminer la taille du rapport avec les
paramètres JOBLOG=, PROCESSLOG= et LONGTEXT= dans les éléments de script BW_
ACTIVATE_CHAIN et BW_RESTART_CHAIN.
JCL pour SAP
Elément de script
Description
BW_ACTIVATE_CHAIN
Démarre une chaîne de processus.
BW_RESTART_CHAIN
Continue une chaîne de processus interrompue.
R3_ACTIVATE_
INTERCEPTED_JOBS
Exécute des Jobs interceptés sous le contrôle de l'Automation
Engine.
R3_ACTIVATE_JOBS
Exécute des Jobs déjà planifiés dans SAP sous le contrôle de
l'Automation Engine.
R3_ACTIVATE_REPORT
Exécute le rapport indiqué.
Rubriques connexes : Onglet Post-Traitement Lié
Jobs interceptés
Dans SAP, il est possible de définir dans la table TBCICPT1 des critères de filtrage pour les
Jobs. En font partie les indications d'un Client, d'un nom de Job et de l'Utilisateur. Si un
Utilisateur entré ici démarre un Job correspondant aux critères de filtrage, alors celui-ci est mis en
statut "Planifié" quelles que soient les conditions de démarrage (par exemple "Immédiatement").
Activez la fonctionnalité Interception dans la transaction SE38 au moyen du programme
INITXBP2.
Automation Engine
Dans l'onglet Forme des Jobs SAP, vous pouvez accéder à la table via l'icône
entrées (XBP 2.0) ou utiliser le gestionnaire de critères (XBP 3.0).
268
et gérer ses
Il est possible de modifier dynamiquement les entrées de la table avec le script R3_MODIFY_
INTERCEPTION.
Il existe plusieurs méthodes pour exécuter les Jobs interceptés :
1. Le Gestionnaire de File d'Attente permet de contrôler et de surveiller les Jobs interceptés.
2. Utilisez R3_ACTIVATE_INTERCEPTED_JOBS.
3. Utilisez R3_GET_INTERCEPTION pour lire la table. Le résultat est enregistré dans un
fichier auquel vous pouvez accéder à l'aide de PREP_PROCESS_FILE.
Si vous démarrez les Jobs interceptés individuellement, et si vous les entrez comme type de
démarrage d'un Groupe, vous pouvez définir le nombre de Jobs s'exécutant en parallèle.
JCL pour SAP
Elément de script
Description
R3_ACTIVATE_
INTERCEPTED_JOBS
Exécute des Jobs interceptés sous le contrôle de l'Automation
Engine.
R3_GET_
INTERCEPTION
Lit la table de filtre pour les Jobs interceptés et enregistre dans le
protocole d'activation ou un fichier.
R3_MODIFY_
INTERCEPTION
Modifie la table de filtre pour les Jobs interceptés.
Rubriques connexes :
Onglet Forme
Analyse du code retour d'application des steps SAP
Un step SAP peut également contenir un code retour d'application.
Vous pouvez y accéder des façons suivantes :
Avec un élément de script
R3_GET_APPLICATION_RC peut vérifier le code retour d'application d'un ou plusieurs steps de
Job et, le cas échéant, interrompre le Job.
Avec le rapport de Liste de steps
Ce type de rapport spécifique contient des informations sur les steps et également le code retour
d'application. Lisez la valeur à l'aide d'un élément de script XML.
Exemple :
:SET &xmlreport# = XML_OPEN(REPORT,,SSTP)
269
Chapter 7 L'Automation Engine et les systèmes cible
! Lire le premier élément
:SET &job# = XML_GET_FIRST_CHILD(&rapport xml#)
:SET &nom# = XML_GET_NODE_NAME(&job#)
:PRINT "Premier élément : &nom#"
! Lire le deuxième élément
:SET &enfant# = XML_GET_FIRST_CHILD(&step#)
! Lire les processus enfant du step
:WHILE &enfant# <> ""
:SET &nom# = XML_GET_NODE_NAME(&enfant#)
! Lire le code retour d'application
:IF &nom# = "RC"
: SET &applrc# = XML_GET_NODE_TEXT(&enfant#)
: PRINT "Code retour d'application : &applrc#"
:ENDIF
:SET &enfant# = XML_GET_NEXTSIBLING(&child#)
:ENDWHILE
:XML_CLOSE
Avec le rapport de Job
Les informations sur les steps de Job SAP sont journalisées dans le rapport de Job. Le code retour
d'application est également spécifié dans le rapport de Job, si vous utilisez l'interface.
Si un step ne possède pas de code retour d'application, "Appl-RC n/a" est spécifié dans le
rapport de Job.
La fonction de script PREP_PROCESS_REPORT vous permet de lire les codes retour
d'application et de les traiter.
Dans l'exemple suivant, un ABAP nommé ZZ_TEST_APPL_RC est exécuté une fois dans le Job.
Son code retour d'application doit être lu.
! Sélectionner la ligne contenant l'ABAP et le code retour
d'application
:SET &HND# = PREP_PROCESS_REPORT(,,REP,"*ZZ_TEST_APPL_RC*Appl-RC*")
:PROCESS &HND#
:
SET &LIGNE# = GET_PROCESS_LINE(&HND#)
! Trouver l'emplacement dans la ligne où commence "Appl-RC"
:
SET &POS_STR# = STR_FIND(&LIGNE#,"Appl-RC")
! Le code retour d'application se trouve 8 caractères après
:
SET &POS_ARC# = ADD(&POS_STR#,8)
! Lire le code retour d'application
:
SET &ARC# = STR_CUT(&LIGNE#,&POS_ARC#)
! Vérifier si le step fournit vraiment un code retour d'application
:
IF &ARC# <> "n/a"
! Comme la valeur lue est une séquence de caractères, elle doit être
convertie en un nombre
:
SET &ARC#= CINT(&ARC#)
! A partir d'ici se trouvent des instructions de script quelconques
qui traitent le code retour d'application
:
PRINT &ARC#
:
ENDIF
:ENDPROCESS
Attention : le code retour d'application n'est pas disponible dans l'interface XBP.
Automation Engine
270
JAVA
Agent Java EE/JMX pour SAP NetWeaver
Java Management Extensions (JMS) est une technologie qui configure des instruments pour
contrôler et surveiller des applications, appareils et réseaux.
Automation Engine offre la possibilité d'intégrer des applications Java dans des processus métiers
à l'aide d'un Agent pour JMX. La connexion est établie via un Serveur MBean grâce auquel vous
pouvez accéder aux MBeans à l'aide de fonctions.
SAP NetWeaver comprend, par exemple, plus de 1600 MBeans dans sa version standard. Ceux-ci
peuvent être contrôlés directement. Du côté JAVA, il n'est pas nécessaire de procéder à une
prédéfinition de Jobs exclusifs. Un planificateur n'est pas non plus nécessaire au sein de JAVA,
étant donné que cela est pris en charge par l'Automation Engine. En raison du standard, cette
fonctionnalité peut s'exécuter sur des sources Java d'autres éditeurs. Les serveurs d'applications
qui sont pris en charge sont énumérés dans la check-list des prérequis.
Des éléments de script sont disponibles dans l'Automation Engine pour, par exemple, enregistrer,
énumérer et supprimer les MBeans. Il est également possible d'exécuter des MBeans ainsi que de
lire et définir des attributs et des informations.
L'onglet Forme de l'objet Job offre une interface graphique dans laquelle il est aisé de
sélectionner ces fonctionnalités.
Rubriques connexes :
Onglet Forme (JMX)
Généralités sur JMX-JCL
JMX dans SAP NetWeaver
L'utilisation de MBeans dans SAP NetWeaver est possible via l'Agent JMX AE.
Surveillance du moteur J2EE
A l'aide de JMX, il est possible de consulter le statut du moteur J2EE. Ces informations sont
également affichées dans le Visual Administrator, sous Server -> Services -> Monitoring.
271
Chapter 7 L'Automation Engine et les systèmes cible
Toutes les fonctions du Visual Administrator sont à votre disposition dans MBeans et peuvent donc
également être utilisées par l'Automation Engine.
Il existe cependant une restriction : L'Automation Engine ne peut utiliser aucune opération ou
attribut JMX qui utilise des classes spécifiques à SAP (par exemple
com.sapmarkets.bam.application.User) ou des structures de données complexes (listes, cartes,
séries, etc.).
Le navigateur MBean de l'Automation Engine dans le Job JMX affiche 300 entrées MBean au
maximum. Le filtre de recherche (clic droit sur l'arborescence -> Appliquer le filtre ...) permet de
rechercher précisément certains MBeans.
Exemple : vous voulez consulter le nombre de tentatives de connexion échouées. Dans la première
illustration, cette valeur se trouve sous le nœud Security -> Aggregated Data. Il est ainsi possible
de filtrer sur "*Security/Aggregated Data/UnsuccessfulLogonAttemptsCount*" dans le navigateur
MBean. Dans notre environnement, cela renvoie exactement un MBean comme résultat.
Ici, vous pouvez sélectionner un des attributs "Value", "MaxValue" ou "MinValue". Il est possible de
planifier, dans un Job, une consultation périodique du nombre d'identifications échouées.
Démarrage et arrêt d'un service
Le Visual Administrator configure également les services, les démarre et les arrête. Etant donné
que des MBeans JMX sont également utilisés ici, cette fonctionnalité peut être exécutée à l'aide de
l'Agent.
Ces services sont énumérés dans le Visual Administrator, sous Server -> Services :
Automation Engine
272
Exemple : le service Telnet doit être démarré ou arrêté.
Pour afficher tous les services dans le navigateur MBean, il est possible de filtrer en fonction de
"*SAP_J2EEServicePerNode*". Les MBeans renvoyés correspondent aux services.
Tous les services ont une méthode "start" et "stop". Sélectionnez l'entrée "telnet" dans
l'arborescence. Dans le détail, il est possible de sélectionner ensuite la méthode "stop". Après avoir
cliqué sur OK, un Job qui arrête le service Telnet est créé :
273
Chapter 7 L'Automation Engine et les systèmes cible
La modification est immédiatement visible dans le Visual Administrator :
Automation Engine
274
Exécution de Jobs dans la pile Java (JXBP)
L'Automation Engine vous offre les possibilités suivantes pour gérer des Jobs dans le
planificateur Java de SAP :
l
l
l
l
Démarrer les Jobs avec les paramètres
Interrompre les Jobs
Reprendre le protocole dans le rapport de Job.
Surveiller les Jobs par filtre à l'aide du RemoteTaskManager
La définition du Job Java doit d'abord être déployée dans le planificateur Java. Elle est ainsi visible
par l'Agent SAP. Ce n'est qu'après que vous pouvez créer une instance à partir d'une définition de
Job existante à l'aide d'un objet Job.
Un objet Job SAP appartient toujours à une seule définition de Job Java.
Créez un objet Job SAP pour les Jobs du planificateur Java et sélectionnez l'Agent SAP ainsi qu'un
objet Login. Vous pouvez sélectionner dans l'onglet Forme la définition de Job qui doit être
exécutée. La partie inférieure de l'onglet affiche automatiquement les paramètres correspondants.
L'onglet "Protocole du Job" contient les options suivantes :
l
l
l
Supprimer après x jours - Le protocole du Job est supprimé après x jours dans le planificateur
Java.
Ne pas supprimer - Le protocole du Job n'est pas supprimé dans le planificateur Java.
Utiliser les paramètres par défaut - Le paramètre de la définition du Job permet de définir le
délai de suppression du protocole du Job dans le planificateur Java.
Le protocole du Job est toujours supprimé avec l'instance du Job.
Rapport pour les statistiques du Job Java
Un objet Job SAP exécuté peut, entre autre, comporter un rapport (SJJI) contenant des
informations relatives au Job Java. Dans l'objet Job, dans l'onglet SAP, cochez la case
correspondante dans la zone "Rapports optionnels".
Installation
Création du planificateur externe dans SAP :
1.
2.
3.
4.
Connectez-vous à l'administrateur SAP Netweaver par le biais de l'interface web.
Sélectionnez l'onglet "Job".
Cliquez sur le lien "Planificateur Java" -> "Planificateur externe".
Ajoutez une nouvelle entrée dans la liste du planificateur Java externe enregistré à l'aide du
bouton "Ajouter".
5. Renseignez les champs. Indiquez un nom et la description "Operations Manager".
6. Cliquez ensuite sur "Ajouter".
Création d'un objet Connexion dans l'Automation Engine :
1. Connectez-vous au Client système 0000.
2. Créez un nouvel objet Connexion pour SAP.
3. Ouvrez l'objet Connexion et sélectionnez le type de connexion "Internet" dans l'onglet
Attributs.
275
Chapter 7 L'Automation Engine et les systèmes cible
4. Allez dans l'onglet Internet et indiquez les données de connexion au planificateur Java SAP.
Indiquez quel Utilisateur vous avez également utilisé lorsque vous avez ajouté l'Automation
Engine comme planificateur externe.
5. Enregistrez l'objet Connexion et fermez-le.
6. Allez dans le dossier "HOST" et ouvrez l'objet de l'Agent SAP.
7. Sélectionnez l'objet Connexion dans l'onglet Agent dans le champ "Java Basis".
8. Sauvegardez l'objet Agent et fermez-le.
9. Si l'Agent SAP est en cours d'exécution, vous devez le redémarrer.
Cas exceptionnels
Dans un environnement comportant plusieurs nœuds, les Jobs du planificateur Java sont exécutés
sur le nœud sur lequel le service de planification est actif. Lorsqu'un nœud est désactivé ou
défaillant, le traitement du Job se poursuit sur un autre nœud.
Si l'Agent perd la connexion au planificateur Java pendant l'exécution du Job, il tente
périodiquement de restaurer la connexion. Le Job reste actif dans le système AE et a le statut
"Attente d'un Système distant".
Si l'appel du planificateur Java génère une erreur, le Job est alors interrompu. Dans ce cas, il
n'existe pas de rapport sur les statistiques du Job Java. L'erreur est journalisée dans le rapport "Log
d'Agent" de l'objet Log et dans le fichier log de l'Agent SAP. Le Job est interrompu avec le code
retour 403.
Une reprise est impossible. Dans la mesure où il n'y a aucun JCL AE, le Job complet est toujours
relancé dans le planificateur Java.
Codes retour
Statut SAP
Code retour du Job dans l'Automation Engine
COMPLETED
HOLD
RUNNING
SCHEDULED
STARTING
UNKNOWN
0
ERROR
501
CANCELLED
502
Gestion du cycle de vie
Surveillance de SAP NetWeaver
Surveillance des moniteurs
SAP offre une série de moniteurs avec lesquels vous pouvez surveiller l'environnement SAP
ainsi que les composants qui en font partie. La fonction R3_GET_MONITOR lit ses informations
et les prépare en vue du traitement.
Automation Engine
276
Dans l'exemple suivant, le moniteur "All Monitoring Contexts" est lu et enregistré dans un fichier
texte :
R3_GET_MONITOR MONITOR_SET="SAP CCMS Technical Expert Monitors",
MONITOR="All Monitoring Contexts", FILE="C:\AE_und_
SAP\AllMonitoringContexts.txt"
La fonction script PREP_PROCESS est très utile si vous ne souhaitez filtrer que certaines parties
des informations du moniteur. Elle fournit, sur la base d'un Filtre, une séquence de données qui peut
ensuite être traitée. L'Agent SAP prépare les informations du moniteur sous forme de colonnes.
Dans l'exemple suivant, les lignes contenant "Enqueue" sont filtrées et quatre colonnes passent
dans le traitement ultérieur :
:SET &HND# = PREP_PROCESS("SAP01","R3MONITOR","*Enqueue*","MONSET=SAP
CCMS Technical Expert Monitors","MONNAM=All Monitoring
Contexts","COL=FILE","UC_LOGIN=LOGIN.SAP")
:PROCESS &HND#
:
SET &Contexte# = GET_PROCESS_LINE(&HND#, CONTEXT)
:
SET &Nom# = GET_PROCESS_LINE(&HND#, NAME)
:
SET &Valeur# = GET_PROCESS_LINE(&HND#, VALUE)
:
SET &Statut# = GET_PROCESS_LINE(&HND#, STATUS)
:
PRINT "&Contexte# --- &Nom"
:
PRINT "Valeur : &Valeur#"
:
PRINT "Status: &Statut#"
:
PRINT ""
:ENDPROCESS
En arrière-plan, l'exemple exécute également la fonction R3_GET_MONITOR. Vous trouverez des
informations plus précises dans la description de la fonction script PREP_PROCESS.
L'objet RemoteTaskManager autorise également une surveillance dans le système SAP. Il
affiche, à partir des critères de filtrage définis, les Jobs ayant été déclenchés par SAP.
JCL pour SAP
Elément de script
Description
R3_GET_MONITOR
Lit des données d'un moniteur SAP.
Surveillance des Evènements SAP
Les Evènements ont une très grande importance dans le traitement en arrière-plan dans SAP.
L'objet Evènement du type "console" peut être utilisé pour surveiller les Evènements SAP.
L'Agent interroge périodiquement le système SAP au sujet des Evènements SAP survenus et
les signale aux Evènements de console actifs. L'administrateur peut régler l'intervalle dans la
Variable UC_HOSTCHAR_DEFAULT avec la clé JOB_CHECKINTERVAL.
Un Filtre vous permet de définir les Evènements SAP que vous souhaitez suivre. Si l'Agent
annonce un Evènement SAP, les instructions de l'onglet "!Script" sont exécutées. Vous pouvez
ainsi introduire d'autres étapes dans le traitement.
Dans !Script, utilisez la fonction GET_EVENT_INFO. Elle vous fournit des détails sur
l'Evènement SAP qui s'est produit.
277
Chapter 7 L'Automation Engine et les systèmes cible
Dans la table figurant dans la partie inférieure de l'onglet, il est possible d'entrer plusieurs lignes de
filtrage. Si l'Agent annonce un Evènement SAP correspondant à au moins une ligne de filtre, le
!Script est exécuté. S'il correspond à plusieurs filtres, le !Script n'en est pas pour autant traité
plusieurs fois.
Des filtres se recoupant peuvent également se produire si vous utilisez plusieurs Evènements de
console. En l'occurrence, l'Agent annonce l'Evènement SAP à tous les Evènements de console.
Outre l'Evènement de console, l'Automation Engine met également à votre disposition des
fonctions avec lesquelles vous pouvez traiter des Evènements SAP à partir des objets Job. R3_
GET_EVENT attend qu'un Evènement se déclenche dans SAP et avec R3_RAISE_EVENT, vous
déclenchez vous-même un Evènement défini dans SAP.
Déroulement
1. Créez un objet Evènement du type "console".
2. Ouvrez-le et passez à l'onglet "Console". Il est possible d'y spécifier l'Agent qui est lié au
système SAP et les critères de filtre pour les Evènements SAP.
3. Dans l'onglet "!Script", vous entrez les instructions de Script devant être exécutées dès
qu'un Evènement SAP correspondant aux critères de filtre est annoncé. La fonction script
GET_EVENT_INFO peut vous fournir des détails sur l'Evènement SAP.
4. Renseignez selon les besoins les autres onglets de l'Evènement de console et enregistrez
l'objet.
5. L'Evènement de console peut désormais être activé pour relier les Evènements SAP dans
votre traitement.
Automation Engine
278
Conseils
La condition requise pour la surveillance d'Evènements SAP par le type d'Evènement "Console"
est XBP 3.0. L'utilisation de l'interface XBP 3.0 doit être définie par l'administrateur dans le fichier
INI de l'Agent SAP.
Si l'Agent perd la connexion au système SAP, un certain nombre d'Evènements SAP s'accumulent
et l'Agent n'est pas capable de les transmettre aux Evènements de console. Une fois la connexion
rétablie, il vérifie cette situation et annonce également ces Evènements SAP aux Evènements de
console concernés.
En raison de l'éventuelle grande quantité de données, il ne lit pas tous les Evènements SAP en
une seule fois. L'administrateur peut configurer en conséquence le comportement à l'aide du
paramètre maxEventTimeSpan= du fichier INI de l'Agent.
Si l'Agent est terminé, il ne peut surveiller aucun Evènement SAP pendant l'arrêt. Après
redémarrage, l'Agent détermine le moment auquel il a surveillé pour la dernière fois les Evènements
SAP et annonce également les Evènements SAP qui se sont produits durant l'arrêt.
Tous les Agents reliés au système SAP demandent les Evènements SAP. Autrement dit,
chaque Agent annonce tous les Evènements SAP survenus à tous les Evènements de console.
Si l'heure du système SAP retarde par rapport à l'heure du système AE, les premiers
Evènements SAP ne peuvent pas être recueillis, s'ils tombent dans l'intervalle de temps situé entre
les différences d'heure.
Rubriques connexes : Gestion d'Evènements
Exemple - Réaction à des Evènements externes
Intégration de l'Automation Engine à SAP Solution Manager
SAP Solution Manager est fourni avec tous les systèmes SAP à partir de Web Application Server
(WAS) 6.10. Il doit devenir le logiciel central de surveillance pour les systèmes SAP, mais aussi
pour les applications externes. Cela conduit à une centralisation de tous les services dans le
cadre d'un environnement SAP.
L'Agent SAP permet à l'Automation Engine d'intégrer l'ensemble des processus de gestion de
l'entreprise dans SAP Solution Manager.
Surveillance
La surveillance centrale est un des éléments essentiels de SAP Solution Manager. La partie de
surveillance se décompose, à son tour, en deux domaines essentiels :
l
l
exploitation
surveillance des processus métier
Alors que pour le premier domaine, il s'agit principalement de déroulements et d'états techniques, le
domaine de la surveillance des processus métier représente les processus métier logiques des
systèmes SAP ainsi que leur surveillance.
279
Chapter 7 L'Automation Engine et les systèmes cible
Surveillance de l'exploitation
Dans le domaine Surveillance de l'exploitation, Solution Manager collabore avec l'infrastructure de
surveillance existante dans CCMS (Computing Center Management Systems). Les statuts des
systèmes et des processus sont représentés dans une arborescence.
Jusqu'à présent, ces moniteurs se limitaient aux systèmes SAP. Désormais, SAP met à
disposition des interfaces pour applications externes, pour annoncer leurs propres données de
statut à Solution Manager et pour les afficher dans l'arborescence de surveillance.
L'Agent SAP utilise une telle interface pour accéder à la structure du moniteur dans CCMS. Il utilise
pour cela un objet Connexion pour ABAP Basis. A l'aide de scripts, vous pouvez créer et modifier
des attributs et supprimer des nœuds :
Elément de script
Description
R3_DELETE_NODE
Suppression d'un nœud.
R3_SET_LOG_ATTR
Définition d'un attribut log.
R3_SET_PERF_
ATTR
Définition d'un attribut de performance.
R3_SET_STATUS_
ATTR
Définition d'un attribut de statut.
R3_SET_TEXT_
ATTR
Définition d'un attribut de texte.
L'onglet Forme des Jobs SAP vous permet d'examiner les nœuds. Un navigateur séparé affiche le
moniteur "All Monitoring Contexts" de l'ensemble de moniteurs "SAP CCMS Technical Expert
Monitors". Les couleurs des nœuds correspondent au statut d'alerte actuel.
Automation Engine
280
Surveillance des processus métier
Chacun des processus et systèmes informatiques forment la base des processus métier. Avec
SAP Solution Manager, ces contextes peuvent être définis et affichés. Toutes les données
disponibles dans la surveillance de l'exploitation sont à disposition pour modéliser les processus
métier.
L'Automation Engine contrôle les processus centraux de tous les systèmes et applications de
l'entreprise. Grâce à l'intégration de l'Automation Engine à SAP Solution Manager, il est possible de
représenter dans le système SAP les processus métier de l'entreprise et de les surveiller.
281
Chapter 7 L'Automation Engine et les systèmes cible
Si une erreur se produit dans un processus métier, son origine peut être constatée immédiatement.
Le temps nécessaire à la correction de l'erreur est ainsi réduit et le processus métier redémarre le
plus vite possible.
Contrôle des processus
Solution Manager contient également la fonctionnalité pour le contrôle des processus d'arrière-plan.
A l'heure actuelle, cette fonctionnalité est accessible via les transactions SM36 et SM37.
Ces fonctions sont entièrement prises en charge par l'Automation Engine. L'ensemble du traitement
d'arrière-plan SAP peut être contrôlé et surveillé de manière centralisée avec l'Automation Engine.
En outre, l'Automation Engine associe ces processus SAP aux processus de tous les autres
systèmes et applications de l'entreprise.
Rubriques connexes :
Monitor SAP NetWeaver
Inscription dans le système Landscape Directory
Le système Landscape Directory (SLD) de SAP donne un aperçu des composants logiciels
installés. Vous pouvez configurer l'Agent SAP de sorte qu'il s'inscrive dans le SLD au
démarrage.
Les étapes suivantes sont nécessaires :
Automation Engine
282
1. Connectez-vous au Client système 0000.
2. Créez un nouvel objet Connexion pour SAP.
3. Ouvrez l'objet Connexion et sélectionnez le type de connexion "Internet" dans l'onglet
Attributs.
4. Allez dans l'onglet Internet et indiquez les données de connexion au SLD.
5. Enregistrez l'objet Connexion et fermez-le.
6. Allez dans le dossier "HOST" et ouvrez l'objet de l'Agent SAP.
7. Sélectionnez l'objet Connexion dans le champ "Moniteur" de l'onglet Agent.
8. Sauvegardez l'objet Agent et fermez-le.
L'Agent SAP essaie désormais de se connecter au SLD à chaque démarrage. Même si l'inscription
échoue, par exemple à cause d'une erreur dans les paramètres de connexion, l'Agent SAP
n'interrompt pas le démarrage.
Le fichier log de l'Agent SAP contient un message indiquant si l'inscription à SLD a réussi.
Analyse du log système et du log application
L'Automation Engine permet la lecture de logs SAP. En font partie les logs application mais aussi
le log système.
Les deux types de log fournissent des informations pour le traitement et les éventuelles situations
d'erreur. Avec les fonctions mises à disposition par l'Automation Engine, vous pouvez lire les
entrées en utilisant des Filtres et les enregistrer dans le rapport ou dans les fichiers. Il est ensuite
possible d'analyser le résultat avec PREP_PROCESS et PREP_PROCESS_FILE.
Pour le log système, il existe une autre particularité. Les Jobs interrompus peuvent enregistrer les
dernières lignes du log système dans un rapport spécial nommé SLOG. Cela vous facilite l'analyse
des erreurs. L'objet Connexion de l'Agent SAP permet de définir entre autres paramètres le nombre
de lignes du log système prises en compte.
JCL pour SAP
Eléments de script
Description
R3_GET_
APPLICATIONLOG
Cherche les messages du log application et les génère dans le
rapport ou le fichier.
R3_GET_SYSTEMLOG
Lit les informations d'une période donnée d'un logging système SAP.
Commutation des modes de fonctionnement
Avec les modes de fonctionnement de SAP, les ressources système disponibles sont utilisées
de manière optimale. Il est possible de définir, en fonction de l'heure du jour, divers paramètres
pour le traitement d'arrière-plan ou par dialogue. Ce type d'attribution des ressources ne
nécessite aucun redémarrage du système R/3.
283
Chapter 7 L'Automation Engine et les systèmes cible
L'Automation Engine prend, bien entendu, en charge cette fonctionnalité SAP. L'élément de script
R3_SWITCH_OPMODE est à votre disposition pour commuter les modes de fonctionnement pour
tous les serveurs d'applications SAP ou seulement pour certains.
JCL pour SAP
Eléments de script
Description
R3_SWITCH_OPMODE
Change le mode de fonctionnement dans SAP.
7.11.3 SAP Banking
Gestion de processus pour SAP for Banking
SAP développe, en collaboration avec d'importantes banques européennes, une solution dédiée
à la gestion des comptes dans SAP for Banking. Les développeurs de l'Automation Engine ont
travaillé à l'intégration de cette nouvelle solution SAP dans la gestion de processus éprouvée de
l'Automation Engine.
Il en résulte la création d'Agent for SAP AM/BCA offrant des capacités complètes de gestion de
processus pour les transactions bancaires. L'Automation Engine intègre cette nouvelle solution
SAP dans sa gestion de processus centrale et assure les processus métier pour toute l'entreprise et
sur toutes les plateformes.
Déroulements dans SAP Banking
Une des particularités de SAP Transaction Banking est que des déroulements entiers peuvent être
enregistrés dans la personnalisation. La définition du déroulement correspond à un type de
Workflow (sous forme tabulaire). Les déroulements sont en fait de soi-disant traitements de fin de
journée (TEV).
Le contrôle de ces déroulements doit prendre en compte les facteurs suivants :
Réseau de processus
Le réseau de processus est créé et surveillé à l'aide d'une fonction de menu d'une définition de
déroulement dans la personnalisation. Il possède un ID unique devant être attribué pour chaque
cycle. Le réseau de processus se compose d'une série de processus. Un processus est une
fonction d'application qui est toujours traitée, d'un point de vue technique, en deux étapes :
Automation Engine
284
1. La fonction d'application même
2. La partie de surveillance de cette fonction d'application. La partie de surveillance n'est
cependant exécutée que si le processus a été initié via un réseau de processus.
Il est désormais possible de traiter de façon synchrone et asynchrone l'ensemble de la fonction
d'application, y compris la partie de surveillance.
Traitement synchrone
La fonction d'application, y compris la surveillance, est traitée de façon synchrone à partir d'un
composant de fonction, c'est-à-dire que le composant de fonction se termine de façon synchrone
avec la fonction d'application.
Traitement asynchrone
La fonction d'application ainsi que la surveillance sont démarrées en tant que Jobs d'arrière-plan,
sachant que le Job de surveillance suit toujours le Job d'application.
Processus avec parallélisation
Pour certains processus (avec données de masse), une parallélisation du traitement (similaire à ISU/IS-T) est prévue. Il n'existe, hélas, aucune fonctionnalité de base pour ce type d'exigence.
Un processus avec parallélisation crée des Jobs d'arrière-plan parallèles, c'est-à-dire un Job
d'arrière-plan parallèle ainsi qu'un Job de surveillance le suivant. Si le processus est démarré de
façon asynchrone, un "Job père" est créé et il est suivi d'un Job de surveillance qui reste actif pour
l'ensemble de la durée du processus.
Les processus ont un code de retour d'application
Les processus comportent un code retour d'application. Le statut technique normal (par ex. Job
terminé) ne suffit pas à garantir un traitement réussi. En outre, un log d'application est généré par
rapport à chacun des composants d'un processus (composant de fonction, ABAP, ABAP de
surveillance, etc.).
Démarrage de réseaux de processus et de processus
Les réseaux de processus sont liés à des fonctions de dialogue et sont initiés par celles-ci. Selon le
cas applicatif, les processus sont alors démarrés de façon synchrone ou asynchrone. (les grands
cycles de façon asynchrone, bien entendu).
Exigences sur l'Automation Engine
Un Workflow AE correspond à une définition du déroulement de la personnalisation. Les Tâches du
Workflow représentent alors les processus.
Le contrôle de Job de la base SAP n'offre pas des moyens appropriés pour le contrôle de processus
dans AM/BCA. Pour le contrôle des processus individuels, il n'est pas possible de créer des Jobs
d'arrière-plan standard, étant donné que la partie de surveillance de la fonction d'application n'a pas
été démarrée et qu'ainsi aucun code retour d'application n'a pu être généré.
Cela n'aurait pas été judicieux de modifier toutes les applications de façon à ce que cette fonction
de surveillance se déroule de façon implicite. Cela aurait créé un trop grand nombre de programmes
; de plus, le code retour d'application aurait dû être communiqué via le log de Job.
285
Chapter 7 L'Automation Engine et les systèmes cible
C'est pourquoi il est resté l'alternative de créer pour chaque Tâche à partir du Workflow AE un
réseau de processus à ID distinct dans le système SAP. Ce réseau de processus ne contient
jamais qu'un seul processus. Si le processus est démarré à l'aide du réseau de processus, cela
conduit en fin de compte toujours à la création de deux Jobs batch asynchrones dans le système
SAP, la fonction d'application et la fonction de surveillance.
Pour l'Automation Engine, des éléments de script contrôlant les processus ont été définis (BCA_
ACTIVATE_PROCESS).
Pour permettre la surveillance (vérification de statut) par l'Automation Engine, SAP a étendu
l'interface avec une fonction correspondante.
Description de fonction AE
Démarrage et surveillance de processus
Cette fonction encapsule un seul processus dans un réseau de processus, démarre le processus et
le surveille. Avec la fin du processus, le réseau de processus est également terminé parce qu'il ne
contient que ce processus.
Exploitation des codes retour d'application
Les processus individuels renvoient des codes retour d'application. Ceux-ci peuvent être analysés
dans l'Automation Engine. (par exemple dans Postscript).
Exploitation des logs d'application
Les processus d'un réseau de processus génèrent des logs d'application. Il n'existe cependant pas
un rapport de 1:1 entre les processus ou les réseaux de processus et les logs d'application. C'est
pourquoi l'exploitation des logs d'application est une procédure distincte dans l'Automation Engine.
Cette fonction met à une disposition une possibilité de sélectionner les logs d'application en
fonction de certains critères (des numéros de log sont le résultat). Les messages et textes du log
d'application correspondants peuvent ensuite être lus en fonction des numéros de log. Les textes
sont générés dans un fichier texte ou dans un rapport.
Intégration dans les réseaux de Job
Les processus contrôlés par l'Automation Engine dans SAP AM/BCA peuvent être intégrés aux
Workflows d'entreprise. Les dépendances pour les traitements peuvent être mises en œuvre et
surveillées facilement dans d'autres systèmes SAP, mais aussi dans d'autres systèmes.
Statistiques complètes
Pour tous les processus contrôlés avec l'Automation Engine, des statistiques complètes sont à
disposition pour des analyses et planifications ultérieures. Il en va bien entendu de même pour les
processus de SAP for Banking.
JCL pour SAP
Elément de script
Description
BCA_ACTIVATE_
PROCESS
Démarre et surveille un processus qui se déroule dans un réseau de
processus distinct.
Automation Engine
286
7.11.4 SAP Financial Closing Cockpit
Intégration de l'Automation Engine dans SAP Closing Cockpit
SAP Financial Closing Cockpit permet de planifier différentes Tâches qui doivent être réalisées
dans un ordre déterminé et à moment précis. Grâce à l'intégration de l'Automation Engine dans
cette fonctionnalité, il est possible d'activer des objets dans un système AE via des Tâches
Closing Cockpit.
Conditions
Service Web Internal
L'utilisation du service Web Internal est possible pour les serveurs d'application suivants :
l
l
l
l
Sun Glassfish
JBoss
IBM WAS CE
SAP Netweaver CE
Pour l'installation, suivez la description de l'installation pour le serveur d'application souhaité.
Veillez à utiliser la version actuelle du service Web Internal.
Version SAP
Pour SAP Basis, il convient d'utiliser une version de Support Package spécifique ou supérieure.
Elle dépend de la version de SAP Release utilisée.
Release
Package Name
700
SABKB70017
701
SABKB70101
710
SABKB71007
Une condition supplémentaire est l'utilisation de SAP ERP version 6.00.
Fichiers fournis
Les fichiers cryptés sont fournis dans le fichier SAP_CloCo.zip.ucc du répertoire
IMAGE:FRAMEWORK\SAPCLOSINGCOCKPIT.
Installation
1.
l
Décryptage du fichier fourni
Pour le décryptage du fichier SAP_CloCo.zip.ucc, utilisez le programme UCYBCRYP.EXE
qui se trouve sur le CD Automation Engine, dans le dossier IMAGE:\TOOLS\ENCRYPT.
Exécutez maintenant le programme via la ligne de commande avec les paramètres
suivants :
UCYBCRYP.EXE -d -f SAP_CloCo.zip.ucc -lFichier de licence
Le fichier de licence vous est fourni par le Support (Numéro de Client.TXT).
287
Chapter 7 L'Automation Engine et les systèmes cible
l
l
Vous obtenez le fichier compressé nommé SAP_CloCo.ZIP
Décompressez le fichier SAP_CloCo.ZIP
2.
Chargement des transports SAP
Pour l'intégration, des programmes ABAP spécifiques qui doivent être chargés au moyen de
l'importation dans le système SAP sont nécessaires. Vous trouverez pour cela 2 fichiers dans
l'archive SAP_CloCo.ZIP
l
l
KNNNNNN.SID - Fichier d'information
RNNNNNN.SID - Fichier de données
Copiez ces fichiers dans le répertoire de transport de SAO (par exemple, /usr/sap/trans/). Le fichier
R doit être enregistré dans le sous-dossier "data" et le fichier K dans "cofiles".
Connectez-vous au système SAP et importez l'ordre correspondant avec la transaction STMS. A la
fin de l'importation, ouvrez et vérifiez le protocole de transport de l'ordre : toutes les étapes doivent
posséder le code retour 0 (terminé avec succès) ou 4 (terminé avec avertissement).
3.
Etablissement de la connexion RFC HTTP
Exécutez la transaction SM59 et choisissez le point "Connexion HTTP au serveur externe".
Etablissez ensuite une nouvelle connexion.
Attribuez un nom à la destination RFC (par exemple, UC4_WEBSERVICE) avec une description.
Onglet : Configurations techniques :
Dans le champ "Machine cible", il faut entrer le nom d'hôte du serveur d'application sur lequel
s'exécute le service Web Internal. Définissez le numéro de port avec le champ "N° de service".
Onglet : Connexion et sécurité :
Sélection de l'option "Authentification par défaut". Il faut désormais indiquer les données pour
l'accès au système AE : Pour cela, entrez dans le champ "Utilisateur" le client AE, le nom
d'utilisateur et le service, séparés par une barre oblique. Une fois le mot de passe saisi, enregistrez
la connexion RFC.
Automation Engine
4.
Définition du port logique
Démarrage de la transaction Ipconfig
Remplissez les champs comme suit :
Classe de proxy : /UC4/CO_UC4PORT_TYPE
Port logique : UC4
Définissez l'option "Port par défaut".
Le bouton "Nouveau" permet de créer le port logique.
Ensuite, d'autres paramètres s'affichent. Ils doivent être définis comme suit :
Configurations générales :
Onglet Exécution : Web Service Infrastructure
Onglet "Paramètre d'appel" : HTTP Destination
Nom de la destination RFC établie (voir "Etablissement de la connexion RFC HTTP")
Suffixe du chemin : /uc4ws/uc4ws
288
289
Chapter 7 L'Automation Engine et les systèmes cible
Configurations propres à l'application :
Désactivez toutes les options dans l'onglet "Configurations globales".
Enregistrez puis activez le port logique.
5.
Enregistrement du rapport ABAP pour Closing Cockpit
Exécutez la transaction SM30 et ouvrez le tableau SCMAPROGRAMS pour effectuer des
modifications (bouton "Modifier"). Il faut ensuite ajouter une entrée avec les valeurs suivantes :
Colonne
Valeur
Programme
/UC4/CC_
REPORT
Application
CUSTOMER
Enregistrez la nouvelle entrée.
6.
Test de la connexion
Automation Engine
290
Pour tester la connexion d'ABAP au système AE, le programme AE/CC_REPORT doit être
démarré au moyen de la transaction SE38.
Rubriques connexes :
Services Web AE Internal
Activation d'objets avec SAP Closing Cockpit
L'intégration permet d'activer des objets exécutables via des Tâches dans SAP Financial Closing
Cockpit. Vous trouverez l'installation à ce sujet au chapitre Installation de l'intégration de SAP
Financial Closing Cockpit. Ce document explique plus précisément le fonctionnement et
l'utilisation.
Une fois le service Web Internal et l'intégration de Closing Cockpit installés, des objets exécutables
peuvent être attribués aux modèles dans Closing Cockpit. Vous trouverez dans la description cidessous les étapes nécessaires et le comportement à adopter lors de l'exécution.
Configuration
Identifiez-vous dans le système SAP et exécutez la transaction CLOCOC. Ouvrez un modèle
(Modifier) et sélectionnez ensuite à l'emplacement de votre choix de la structure organisationnelle la
commande "Ajouter Tâche" via le menu contextuel. Définissez toutes les valeurs nécessaires dans
le dialogue qui s'affiche. Pour l'option "Type de Tâche", sélectionnez "Programme" et entrez dans le
champ associé /UC4/CC_REPORT. Il faut ensuite sélectionner ou recréer une variante associée.
La variante enregistre le nom de l'objet à exécuter. Les champs restants sont facultatifs et sont
transférés à l'objet activé en tant que valeurs supplémentaires via le tampon de lecture.
291
Chapter 7 L'Automation Engine et les systèmes cible
Si l'assistant de saisie (F4) est appelé pour le champ "Nom d'un objet", tous les objets exécutables
du Client qui a été indiqué dans Connexion RFC s'affichent. Le nom, le type, le titre et le chemin
des objets s'affichent.
Automation Engine
292
Les champs supplémentaires dans le dialogue Variante servent à transférer les valeurs
supplémentaires à l'objet activé. Vous trouverez dans la liste suivante les noms des Variables de
Script qui sont mises à la disposition de l'objet dans le cache :
Paramètre / champ
Nom de la Variable de Script AE
Périmètre de résultat
KOKRS
Période
PERIO
Année fiscale
AFISCALE
Les "Paramètres supplémentaires" permettent d'inscrire des valeurs autodéfinies dans le tampon
de lecture. La colonne "Variable" permet de déterminer le nom de la Variable de tampon de lecture.
Les valeurs de ces Variables de Script peuvent être lues dans le Script à l'aide de l'élément de script
:READ.
Exemple :
:READ &KOKRS#,,'KOKRS',
Enregistrez ensuite la variante et la Tâche. Créez un plan de Tâches à partir du modèle.
293
Chapter 7 L'Automation Engine et les systèmes cible
Exécution
La transaction CLOCO permet d'exécuter des plans de Tâches de Closing Cockpit. Ouvrez un plan
de Tâches contenant des Tâches qui activent des objets. Planifiez ces Tâches et contrôlez leur
statut.
Si la Tâche a été exécutée et que le statut dans SAP affiche "Terminé", la Tâche s'est terminée
dans le système AE avec le statut ENDED_OK. Tout autre statut entraîne l'affichage du message
"Erreur" dans Closing Cockpit.
Pour afficher le rapport du Job, ouvrez le Spool de la Tâche dans Closing Cockpit. Le Spool contient
tous les types de rapport AE (ACT, REP, LOG,...) ainsi que les RunID de la Tâche exécutée.
Dans la configuration de Closing Cockpit (CLOCOC), des dépendances peuvent aussi être définies
pour les Tâches qui démarrent des programmes ou des transactions. Pour cela, il faut ouvrir un
modèle ou un plan de Tâches et appeler la vue "Dépendances". Les Tâches peuvent être ajoutées
dans la zone de dépendances par glisser-déposer. Cette fonction est aussi prise en charge pour les
Tâches qui exécutent des objets. Les dépendances permettent de déterminer qu'une Tâche ne doit
démarrer qu'après la fin d'une Tâche spécifique.
Rubriques connexes : Intégration de l'Automation Engine dans SAP Closing Cockpit
7.11.5 SAP Solution Manager
Intégration de SAP Solution Manager
L'Agent SAP permet d'accéder à un système AE grâce au SAP Solution Manager, d'y lire
diverses informations et d'y gérer des processus. La configuration et les utilisations précises de
cette connexion sont décrites ci-dessous.
Certaines fonctionnalités ne peuvent être exécutées directement dans Solution Manager. Mais
la configuration d'une liaison spéciale permet cependant d'ouvrir directement le Solution Manager
via l'Interface Utilisateur et d'accéder rapidement à ces fonctions. Les fonctionnalités concrètes et
la configuration de cette connexion sont disponibles dans la description.
Configuration et test
Pour utiliser le SAP Solution Manager pour l'Automation Engine, les paramètres de l'interface
SMSE (Solution Manager Scheduling Enabler) doivent être configurés dans l'objet Connexion de
Automation Engine
294
l'Agent. L'Agent SAP concerné doit ensuite être redémarré.
Un Agent SAP propre est nécessaire pour l'intégration de SAP Solution Manager.
Dans l'objet Connexion de l'Agent SAP devant être utilisé pour l'intégration, configurez tout d'abord
la connexion au système SAP (objet CONN : Généralités -> Paramètres de connexion). Ensuite,
tous les champs de l'objet CONN dans la zone Interfaces -> SMSE doivent être renseignés :
l
Cliquez sur Activer pour modifier les champs.
Sous Utilisateur AE, vous devez saisir le Client, le nom, le département et le mot de passe
d'un objet Utilisateur AE existant.
l
Le Client AE peut également être indiqué dans le SAP Solution Manager. Dans ce cas,
l'utilisateur indiqué dans l'objet Connexion doit aussi exister dans le Client.
Sous Serveur RFC, vous devez définir la passerelle SAP et la connexion RFC. La
destination RFC est créée automatiquement au démarrage de l'Agent SAP. L'ID du
programme et le nom de la connexion RFC peuvent ainsi être choisis librement.
l
Redémarrez l'Agent et exécutez ensuite la transaction EXTSDL dans le système SAP. La
connexion RFC qui a été définie dans l'objet Connexion devrait y être listée et définie comme valeur
par défaut. Le bouton "Connection Test" vous permet alors de vérifier si la connexion à l'Automation
Engine a été établie avec succès.
Fonctionnalité
Après la configuration réussie, les fonctionnalités suivantes peuvent être exécutées via le SAP
Solution Manager :
Fonctionnalité
Description
Lire des Clients
Liste de tous les Clients du système AE et descriptions.
Interrompre des tâches
Commandes possibles : Interrompre, Stop, Stop
(récursif), Go, Go (récursif).
295
Chapter 7 L'Automation Engine et les systèmes cible
Définir le statut des tâches
Demander le statut d'une certaine activité.
Déterminer le dossier
Une liste est fournie avec l'ID, le nom de dossier, le titre
de dossier et le nom du dossier subordonné.
Les noms des dossiers et des dossiers parents sont
tronqués à partir de 80 caractères. La longueur maximale
du titre est de 255 caractères. Les dossiers spéciaux
comme la corbeille, le conteneur Transport, <Aucun
dossier>, etc. ne sont pas affichés dans la liste.
Etablir la liste du système SAP
Nom et description de l'Agent SAP de chaque Client. La
description supplémentaire contient la version SAP de
base et la version Automation Engine de l'Agent.
Demander la liste de la Queue
Nom de l'objet, titre et slots max. des Queues.
Déterminer les types d'objets
exécutables
Liste avec le type et la description des objets exécutables
(par ex. : notification CALL, etc.)
Déterminer les objets exécutables
Liste avec le nom et le type d'objet des objets
exécutables.
Il est possible de mentionner ici un certain dossier dont
les objets doivent être listés. Il est également possible le
nom ou le type d'objet comme filtre de recherche.
Déterminer le filtre de statut
Liste des groupements de statuts utilisés pour le filtrage
d'activités (par ex. :ANY_OK, ANY_ABEND, etc.)
Demander la liste des activités
Contenu de la Fenêtre d'activités de chaque Client.
Il est possible d'indiquer un filtre de statut et un ordre de
tri (croissant / décroissant) afin de limiter les résultats.
Les champs heure/date (par ex. heure de début) sont
convertis et affichés dans UTC. On considère ici que le
Fuseau horaire en vigueur dans l'Automation Engine
correspond au fuseau horaire local.
Liste des rapports d'une tâche
Liste de tous les rapports / sorties d'une tâche.
Cette liste contient le type de rapport (par ex. REP ou
ACT) et le type de sortie ("L" = Joblog, "S" = Spool-Liste,
"A" = ApplicationLog, "O" = Other).
Lire le contenu d'un rapport
Déterminer le contenu d'un rapport d'une tâche.
Déterminer l'utilisateur d'une tâche
Déterminer le nom et le département de l'utilisateur qui a
démarré la tâche.
Lus à partir du détail des statistiques. Si le nom dépasse
40 caractères, il est alors tronqué.
Automation Engine
296
Lire les paramètres Prompts d'une
définition d'objet
Les paramètres suivants peuvent alors être lus :
Lire les paramètres d'une tâche
Lire le nom et la valeur des variables Objet et PromptSet
d'une activité (Détail - Variables d'objet)
Créer / supprimer des évènements
BAE dans l'Automation Engine
Créer / supprimer des évènements BAE en tant qu'objet
Sync
-) Nom de l'objet PromptSet
-) Variable de référence
-) Type d'élément PromptSet ("N" = Nombre, "D"
= Marque horaire, "S" = Tous les autres types)
-) Valeur de l'élément PromptSet
-) Propriété "Valeur nécessaire" ("X" = Option activée, " "
= Option non activée ou inconnue)
-) Assistant de saisie disponible ("X" = Oui, " " = Non ou
inconnu)
Les objets Sync représentant des évènements BAE ont
défini la valeur "SMSE" comme index d'archivage 1. Il est
donc possible de rechercher / filtrer ces objets spéciaux.
En outre, les objets Sync disposent seulement de deux
statuts CLEARED (état initial) et RAISED.
Lire des évènements BAE à partir de
l'Automation Engine
Déterminer les objets Sync qui représentent les
évènements BAE (type d'objet = SYNC, Index
d'archivage 1 = SMSE)
Il est alors possible de réaliser un filtrage sur le nom de
l'objet.
Déterminer le statut des évènements
BAE à partir de l'Automation Engine
Statut actuel d'un objet Sync représentant un évènement
BAE. Le Moniteur Sync est alors lu. De plus, le titre de
l'objet est fourni comme description.
Valeurs possibles: R (RAISED) ou C (CLEARED)
Interroger les instances d'un
évènement BAE
Liste des tâches en attente d'un objet Sync représentant
un évènement BAE. Est également lue à partir du
Moniteur Sync.
Lire des messages
Lire le Moniteur d'objets Message actifs ou achevés
Sont fournis :
-) Objet
-) Possibilités de réponse
-) Texte du message
-) Activateur (RunID)
-) Heure de début
-) Statut (en fonction du type de message. Alarme /
Requête : "Q" = actif, "R" = achevé. Message : "N"
= actif, "R" = achevé)
-) Type de l'objet Déclencheur
Lire le texte de messages
Déterminer le texte d'un message actif
Paramètre de saisie : RunID du message
Confirmer un message
Accepter ou refuser un message actif
Paramètre de saisie : RunID du message
297
Chapter 7 L'Automation Engine et les systèmes cible
Planifier, modifier et démarrer des
tâches
Les actions suivantes sont possibles :
-) Activer une tâche une fois ou périodiquement
-) Reprise d'une tâche
-) Reprise d'une tâche à partir du dernier point de reprise
-) Modification de la planification. Lorsque l'activation est
par exemple basculée de périodique à unique, la tâche est
à nouveau planifiée (nouveau RunID).
Ces fonctionnalités (hormis "Lire des Clients") se rapportent au Client AE mentionné dans l'objet
Connexion pour l'interface SMSE.
SAP Solution Manager - Cas d'application
Le document suivant décrit les cas d'application typiques de la SAP Solution Manager Integration.
L'intégration avec SAP Solution Manager permet l'accès aux fonctionnalités. De plus, la
planification des tâches est possible à partir du Job Scheduling Workcenter dans SAP Solution
Manager.
La planification peut s'effectuer soit directement, soit à partir de la documentation de Job SAP.
L'Automation Engine peut ainsi être intégré dans SAP Change Management ou le Service Desk.
Vous trouverez les informations sur la configuration et le test de l'intégration au chapitre SAP
Solution Manager Integration.
Pour les cas d'application suivants, le Job Scheduling Workcenter (Transaction : SOLMAN_
WORKCENTER) du SAP Solution Manager doit être démarré.
Cas d'application 1: rechercher le Job via le Solution Manager
1. Dans le SAP Solution Manager Workcenter, à la rubrique Job Monitoring, sélectionnez
l'élément "External Job Scheduler".
2. Il est ensuite possible de définir des critères de filtrage pour rechercher les jobs. Le Groupe
Isolation correspond alors au client AE.
3. Un clic sur "Apply" vous permet d'afficher les Jobs trouvés dans la table.
Automation Engine
298
Cas d'application 2 : planification des tâches à partir d'une documentation de Job
Pour planifier des objets dans l'Automation Engine à partir de la documentation de Job SAP,
veuillez procéder de la manière suivante :
1. Ouvrez une documentation de Job SAP et sélectionnez un système dans l'onglet
"Systèmes".
2. Le bouton "Scheduling" vous permet d'accéder à l'interface de planification des tâches.
3. Définissez les paramètres requis tels que le client AE (champ : Separation Group), la
connexion RFC, l'objet Queue, la priorité et le nom de l'objet à démarrer (champ : définition
du Job).
Un Assistant de saisie est mis à disposition pour la sélection de l'objet à démarrer (définition
du Job). Dans l'Assistant de saisie, tous les objets exécutables du client AE précédemment
indiqué sont listés. La liste peut être filtrée selon le dossier (ID of an application), le type
d'objet (Definition Type) ou le nom de l'objet (Job Definition).
299
Chapter 7 L'Automation Engine et les systèmes cible
4. Le bouton "Schedule/Change Externally" vous permet de planifier ensuite la tâche dans
l'Automation Engine. Le RunID de la tâche activée s'affiche ensuite comme message de
retour dans la zone supérieure.
5. Le bouton "External Notes" vous permet d'ajouter des commentaires concernant une
exécution.
6. "External Logs" affiche les rapports AE de la tâche. Toutefois, les rapports externes ne sont
pas disponibles !
Automation Engine
300
Cas d'application 3 : planification directe des tâches
Après l'ouverture du Job Scheduling Workcenter, l'élément de menu "Schedule Jobs" permet de
planifier directement des objets dans l'Automation Engine.
1. Lors de la sélection du planificateur, l'élément "SMSE" doit être sélectionné pour
l'Automation Engine.
2. Sélectionnez ensuite la connexion RFC avec le client AE correspondant. Veuillez noter que
le client AE s'affiche en tant que Groupe de séparation. Dans l'Automation Engine, le Groupe
de séparation doit donc toujours afficher un chiffre (p. ex. : 1010). L'élément RFC avec
Separation Group GLOBAL peut être ignoré.
3. Redéfinissez les paramètres requis pour l'objet à démarrer (connexion RFC, Separation
Group, queue, priorité et nom de l'objet). Le nom de l'objet à démarrer doit être indiqué dans le
champ "Job Definition" ; un Assistant de saisie est alors mis à disposition.
De même que pour le cas d'application 2, la tâche est planifiée dans l'Automation Engine via
le bouton "Schedule/Change Externally".
Des objets Calendrier temporaires sont générés dans l'Automation Engine pour les
conditions de démarrage.
301
Chapter 7 L'Automation Engine et les systèmes cible
Définissez l'option "Schedule Stopped", la tâche planifiée reste dans l'Automation Engine
avec le statut d'attente "Attente de libération manuelle", jusqu'à ce qu'elle soit libérée
manuellement.
Vous avez également la possibilité de modifier ultérieurement les planifications déjà
existantes. Après l'adaptation, cliquez sur le bouton "Reschedule" pour appliquer les
modifications dans l'Automation Engine.
Configurer une connexion avec l'Interface Utilisateur
Certaines fonctionnalités, comme par exemple l'ouverture de Jobs, ne peuvent être directement
effectuées dans SAP Solution Manager. Avec une configuration spéciale, il est cependant
possible d'ouvrir l'Interface Utilisateur via Solution Manager à l'emplacement correspondant et
d'accéder ainsi rapidement à ces fonctionnalités.
Il s'agit alors concrètement des fonctionnalités suivantes :
l
l
l
Créer et modifier des objets Job
Lister les objets Job existants
Créer et modifier des Workflows
Suivez les étapes suivantes pour configurer l'intégration de l'Interface Utilisateur. La configuration
générale de l'intégration de SAP Solution Manager est décrite dans le présent document.
Automation Engine
302
Fichiers fournis
L'Interface Utilisateur est fournie sous forme d'application Web à intégrer à un serveur d'application
Tomcat. Un serveur d'application Tomcat (version 7) est donc nécessaire pour l'installation.
L'application Web est disponible dans le répertoire fourni suivant : IMAGE:\AGENTS\SAP\_
SOLMAN\
Nom du fichier
Description
UC4WEBSTART.WAR
Interface Utilisateur pour le serveur d'application
Déroulement
1.
l
l
l
l
Configuration de l'application Web UI
Hôte
Copiez le fichier UC4WEBSTART.WAR dans le dossier "webapps" situé dans le répertoire
de programme du serveur d'application Tomcat.
Procédez ensuite à un redémarrage du serveur d'application.
Le nouveau sous-dossier "UC4WEBSTART" est créé dans le répertoire "webapps".
Ne supprimez pas le fichier WAR, sinon Tomcat fera de même avec le dossier
"UC4WEBSTART".
2.
l
l
l
l
l
Adaptation du fichier de configuration
Hôte
Cette étape décrit à quel système AE l'Interface Utilisateur doit se connecter.
Veuillez noter qu'une seule connexion peut être configurée pour l'Interface Utilisateur !
Ouvrez le fichier de configuration :
<Répertoire Tomcat>/webapps/uc4webstart/WEB-INF/web.xml.
Adaptez les paramètres suivants à votre environnement système :
l
Nom du serveur : Nom ou adresse IP de l'ordinateur sur lequel est exécuté le
système AE.
l
Nom du système : Nom du système AE
l
Numéro de port : Numéro de port du CP avec lequel la connexion doit être établie.
Exemple de partie pertinente et à adapter du fichier web.xml :
<init-param>
<param-name>Nom du serveur</param-name>
<param-value>SAPHOST01</param-value>
</init-param>
<init-param>
<param-name>Nom du système</param-name>
<param-value>UC4</param-value>
</init-param>
<init-param>
<param-name>Numéro de port</param-name>
<param-value>2217</param-value>
</init-param>
303
Chapter 7 L'Automation Engine et les systèmes cible
3.
l
l
l
l
Configuration de l'Agent
Ordinateur de l'Agent
Ouvrez le fichier INI de l'Agent SAP pour lequel l'intégration du SAP Solution Manager a été
configuré.
Saisissez l'URL de l'application Web Interface Utilisateur comme valeur du paramètre
WebStartURL= (section [SMSE]).
Enregistrez le fichier INI, puis redémarrez l'Agent.
Exemple :
[SMSE]
webStartURL=http://saphost01:8080/uc4webstart
4.
Affichage de l'Interface Utilisateur
Lorsqu'une des fonctionnalités mentionnées est affichée dans Solution Manager, l'URL indiquée
dans le fichier INI de l'Agent est ouverte.
Dans le navigateur Web, la page qui s'affiche contient le lien "Démarrer l'Interface Utilisateur".
Après avoir cliqué dessus, la boîte de dialogue de connexion à l'Interface Utilisateur apparaît. Après
la connexion réussie, la fonction sélectionnée est exécutée dans l'Interface Utilisateur.
Exemple : Lorsqu'un nouveau Job est créé via le SAP Solution Manager, l'Interface Utilisateur est
ouverte et la boîte de dialogue qui s'affiche nécessite de saisir un nom pour le nouvel objet Job.
7.11.6 Solutions personnalisées
Archivage des données dans SAP
L'archivage des données dans le système SAP sert à supprimer de la base de données les
données de masse n'étant plus nécessaires dans le système, mais devant toutefois être
conservées pour être exploitables. Vous pouvez, bien entendu, contrôler l'archivage des données
de façon centrale avec l'Automation Engine.
Les données à archiver sont rassemblées au sein d'"objets d'archivage" (par ex. l'objet d'archivage
SD_VBAK comporte toutes les données relatives aux documents de vente). Les cycles d'archivage
sont intégrés au ADK (Archive Development Kit). L'ADK représente la base technique de la
transaction d'archivage (SARA).
Pour chaque objet d'archivage, il existe en règle générale un programme qui marque les données à
archiver sur la base de durées de résidence réglables. Dans de nombreux cas, l'utilisation des
indicateurs s'effectue en 2 étapes : un repère de suppression est défini après écoulement de la
durée de résidence 1 (par ex. 6 mois), puis remplacé par un indicateur de suppression après
écoulement de la durée de résidence 2. L'objet devient alors archivable.
Le processus d'archivage se compose en fait de quatre étapes :
1. Cycle préparatoire (indicateur de suppression) :
le cycle préparatoire marque les données à archiver. Le cycle préparatoire peut également
être exécuté indépendamment du cycle d'archivage.
2. Création de fichiers d'archive :
lors de l'archivage, les données à archiver sont tout d'abord écrites séquentiellement dans
des fichiers d'archive nouvellement créés.
Automation Engine
304
3. Début du programme de suppression :
sur la base des fichiers d'archive créés, le programme de suppression supprime les données
de la base de données.
4. Stockage des fichiers d'archive :
les fichiers d'archive créés peuvent ensuite être stockés dans un système de stockage ou
alors, par exemple, être enregistrés sur bande magnétique. Le stockage dans le système de
stockage peut être enclenché automatiquement ou manuellement.
Du point de vue de la transaction SARA, l'exécution d'un cycle d'archivage peut se faire
manuellement ou semi-automatiquement (suppression et stockage). L'Automation Engine
automatise les cycles d'archivage des données en principe pour toutes les versions de SAP.
Pour une exécution de l'archivage des données hors transaction SARA, il faut toujours tenir compte
des remarques suivantes en ce qui concerne SAP :
l
l
458670 Archivage des données avec un planificateur de Job externe
133707 Archivage des données hors transaction SARA
Contrôle avec l'Automation Engine
Au niveau technique, les cycles d'archivage SAP, quel que soit l'objet d'archivage, sont toujours
organisés selon les étapes suivantes :
1. Programme d'écriture (WRI)
Le programme d'écriture comprend le cycle préparatoire et la création des fichiers d'archive.
Il s'agit d'un programme normal, pouvant s'exécuter en Tâche d'arrière-plan, paramétré à
l'aide d'une seule variante.
2. Programme de suppression
Le programme d'écriture crée automatiquement pour chaque fichier d'archive un Job de
suppression (DEL), si cela a été défini ainsi dans la personnalisation de l'objet d'archivage
concerné. Le Job DEL contient le programme de suppression.
3. Stockage des fichiers d'archive (STO)
Le programme de suppression crée automatiquement un Job de stockage (STO). Le Job
STO contient le programme de stockage.
4. Post-traitement éventuel (END)
Les Jobs de post-traitement se produisent également automatiquement, mais ne sont
cependant pas disponibles pour tous les objets d'archivage.
Prérequis dans SAP
1. Programme de suppression automatique
Dans la personnalisation de chaque objet d'archivage, il faut définir que le programme de
suppression est démarré automatiquement.
305
Chapter 7 L'Automation Engine et les systèmes cible
2. Les Jobs DEL, STO et END ne peuvent pas être démarrés automatiquement dans SAP
Pour contrôler les Jobs DEL, STO et END à l'aide de l'Automation Engine, il faut éviter que
ces derniers ne démarrent automatiquement dans le système SAP. Pour ce faire, on utilise
la fonctionnalité "Job Interception" à partir de la version 4.6C. Il faut activer celle-ci avec le
programme ABAP INITXBP2. La table de décision pour l'interception de Job doit contenir les
noms de Job des Jobs DEL, STO et END des cycles d'archivage.
Objets
L'ensemble du déroulement est contrôlé à l'aide d'un Workflow. Le Workflow comporte 3 étapes :
1. Début et surveillance du programme d'écriture
La fonction AE "Exécuter Programme ABAP" crée le Job WRI dans SAP et le surveille
jusqu'à sa fin.
2. Début et surveillance du Job de suppression
Les Jobs DEL créés par le Job WRI sont démarrés et surveillés à l'aide de la fonction AE
"Sélectionner et démarrer les Jobs interceptés".
3. Début et surveillance des Jobs de stockage
Les Jobs de stockage créés par le Job DEL sont également démarrés et surveillés à l'aide de
la fonction AE "Sélectionner et démarrer les Jobs interceptés".
Déroulement
1. Activation du Workflow
L'Utilisateur peut également consulter le nom de l'objet d'archivage à l'aide d'un masque
:READ.
2. Moniteur de Workflows
Après sélection ou indication de l'objet d'archivage, le Workflow est automatiquement
Automation Engine
306
démarré et affiché sur le moniteur. Il ne s'arrête que lorsque toutes les étapes du traitement
se sont bien terminées.
3. Surveillance et contrôle
L'ensemble du déroulement peut être suivi au sein de l'Automation Engine, mais également
de SAP. Tous les protocoles pour l'analyse automatique sont disponibles dans l'Automation
Engine. Il est également possible de déterminer l'objet d'archivage utilisé pour le
déroulement dans la fonction de gestion à partir du côté SAP (transaction SARA).
Récapitulatif
L'archivage des données SAP est facile à réaliser avec la fonctionnalité standard de l'Automation
Engine. Avec une mise en œuvre restreinte, une telle méthode offre une série d'avantages :
l
l
l
l
l
l
Automatisation continue
Le contrôle de l'archivage de données par Automation Engine permet l'automatisation
continue de l'ensemble du système de gestion SAP. Nul besoin d'interventions manuelles.
Les dépendances mutuelles aux autres processus sont faciles à mettre en œuvre.
Economies
L'archivage régulier des données permet d'assurer des dimensions de base de données
optimales, améliore la performance tout en économisant de l'espace. Contrôlé centralement
et exécuté automatiquement, cet avantage peut être obtenu sans frais supplémentaires,
grâce à l'Automation Engine.
Exploitation optimale des ressources
En raison de contrôles centraux et automatisés, les ressources disponibles peuvent être
utilisées de manière optimale. Les conflits et les goulots d'étranglement sont ainsi évités. Un
fonctionnement sans encombre de SAP est assuré.
Haute fiabilité
L'automatisation de tous les paramètres système réduit nettement le nombre de sources
potentielles d'erreur.
Décharge du personnel
Les spécialistes SAP sont libérés des Tâches manuelles contraignantes. Ils peuvent ainsi
concentrer leurs compétences sur les domaines les plus importants : l'amélioration des
systèmes et des niveaux de service.
Contrôle et surveillance centralisés
Tous les processus du système SAP sont surveillés et contrôlés de manière centralisée.
Les problèmes potentiels sont reconnus immédiatement, la durée jusqu'à la correction
d'erreurs est réduite au minimum absolu.
Traitements en masse
IS-U est la solution sectorielle de SAP pour le secteur de l'approvisionnement.
IS-U, en tant que système de facturation pour les sociétés d'approvisionnement et de prestation de
services en particulier est personnalisé par rapport aux exigences des activités
d'approvisionnement. Grâce à l'intégration d'IS-U aux composants neutres de la norme R/3 et grâce
à des interfaces vers des systèmes externes, SAP offre aux sociétés d'approvisionnement une
solution globale, intégrée et d'entreprise pour le traitement des informations commerciales.
Le volume des transactions des entreprises d'approvisionnement, avec leurs millions de Clients,
différents types d'approvisionnement et éventuellement une facturation mensuelle, est traité, pour
sa plus grande part, dans des tâches d'arrière-plan.
En voici des exemples :
307
Chapter 7 L'Automation Engine et les systèmes cible
l
l
l
l
l
l
Création de documents de lecture
Contraintes de remise
règlement/facturation
Cycle de relance
Cycle de paiement
etc.
Définition
L'Automation Engine est capable d'automatiser ces exigences d'arrière-plan. Pour réussir le
traitement de ces gros volumes de données avec un débit le plus optimal possible, un "traitement en
masse" spécial a été développé pour le traitement d'arrière-plan.
Les caractéristiques de ce traitement en masse sont les suivantes
l
l
un nombre dynamique de Jobs fractionnés naît d'un Job maître
Chaque cycle de traitement en masse nécessite un jeu de paramètres, identifié par la date et
l'ID de cycle
Une des exigences particulières du traitement en masse est également le respect d'un certain
ordre, par exemple "Règlement" doit se dérouler avec "Facturation", les deux étant un traitement en
masse.
Technique
Le traitement en masse comprend un répartiteur qui génère avec l'aide de la définition des
paramètres des Jobs fractionnés parallèles.
Le répartiteur est lui-même défini dans le traitement d'arrière-plan comme "Job maître" lors de
l'ordonnancement du traitement en masse. Si le Job maître est exécuté, il crée un certain nombre
dynamique de Jobs fractionnés. Le nombre de Jobs fractionnés dépend des paramètres définis.
Le contrôle se fait avec l'Automation Engine. L'ordonnancement peut également être effectué dans
l'Automation Engine ou dans SAP.
Copie de Client dans SAP R/3
SAP R/3, tout comme Automation Engine, est une application orientée client. Chacun des
Clients est une unité entièrement indépendante. Dans plusieurs cas, un échange de données
régulier entre les Clients est nécessaire. L'Automation Engine permet d'automatiser ces
processus.
Le "Client" est le terme de classement le plus élevé pour les applications R/3. Les définitions au
niveau des Clients sont valides dans toutes les structures de l'organisation de l'entreprise sous R/3.
Le Client est une unité indépendante au niveau de la gestion des données, au niveau de la gestion
de l'entreprise et au niveau de l'organisation.
Dans la pratique, ce concept de Client peut, par exemple, être utilisé pour l
l
héberger dans un centre de calcul de nombreux Clients sur un système R/3 configurer sur un système R/3 plusieurs Clients avec diverses Tâches, par exemple :
l
Client de livraison SAP (Client 000)
l
Client de personnalisation (001)
l
Client test Automation Engine
l
l
308
Client d'assurance qualité Client de production
Dans un tel environnement, il est souvent nécessaire de fournir à un Client d'assurance qualité ou à
un Client test des données cohérentes. Vous obtiendrez au mieux ces données en copiant le Client
de production. Pour un environnement de test réaliste, des copies de Client doivent être créées
régulièrement.
Copie de Client dans SAP R/3
La copie de Clients dans SAP R/3 comporte une série de problèmes. En particulier, des copies
régulières pour fournir des données actuelles aux systèmes de test sont synonymes d'une certaine
quantité de travail.
SAP prend en charge la copie en ligne ou le transport des Clients. Etant donné qu'il s'agit ici de
transactions, ces méthodes ne sont adaptées qu'à une exécution périodique (SAP version 4.0 à
4.6D).
Le contrôle d'arrière-plan de SAP ne peut pas non plus exécuter régulièrement de telles
transactions, car des variantes dynamiques sont utilisées.
Exposé du problème
Lors de la copie d'un Client, de grandes quantités de données sont déplacées. Un Client sans
données d'application nécessite environ 500 Mo de mémoire dans la base de données. La copie
peut donc durer plusieurs heures. Pendant ce temps, un ou plusieurs processus de dialogue sont
occupés.
Aucun Utilisateur ne doit travailler dans le Client source ou cible pendant le processus de copie. Les
Utilisateurs d'autres Clients utilisent des ressources supplémentaires et rallongent le processus de
copie.
Avant la copie d'un Client, un cycle de test doit être exécuté. Cela permet de déterminer les tables
qui doivent être modifiées. En outre, le système vérifie si la base de données dispose d'un espace
mémoire suffisant.
Avant la copie d'un Client, le Client cible est souvent supprimé. Tous les Groupes Utilisateurs sont
alors également supprimés. Seul l'Utilisateur SAP* peut encore s'identifier dans le Client cible.
Copie de Client dans R/3 avec l'Automation Engine
Des copies périodiques des Clients peuvent être effectuées plus facilement et de façon plus
sécuritaire avec l'Automation Engine. Les cycles de test et le processus de copie peuvent être
exécutés automatiquement. L'exécution normale est ininterrompue.
Le processus de copie est démarré en fonction des résultats du cycle de test et de la disponibilité
des ressources. Si des erreurs se déclarent au cours du traitement, l'Automation Engine informe
immédiatement le personnel de garde responsable. Pour que l'Automation Engine puisse créer des
copies de Client, il faut que les prérequis suivants soient remplis dans le système SAP :
l
Les Groupes Utilisateurs ne doivent pas être supprimés avant la copie.
L'Automation Engine utilise un compte utilisateur normal pour l'identification à SAP étant
donné qu'il ne peut s'identifier avec l'utilisateur SAP*. SAP offre la possibilité de ne pas
supprimer le Client cible avant la copie. Il est également possible de supprimer les grandes
tables à l'aide d'ABAP spéciaux (voir également SAP Service Marketplace, conseil numéro
309
Chapter 7 L'Automation Engine et les systèmes cible
l
365304).
Le rapport RSCLXCOP doit être modifié, afin de pouvoir traiter les variantes du
rapport.
Un Job de copie de Client obtient les informations nécessaires d'une variante. Lors de
l'exécution d'une copie de Client, celle-ci est remplacée par les données issues du Client
source, ou alors elle est supprimée. Lors d'une exportation de Client, le numéro de la copie
se trouvant dans la variante est entré pour de bon. Cela provoque des problèmes pour les
ordonnancements périodiques. C'est pourquoi des variantes identiques (du même nom)
doivent être créées dans le Client source et cible pour le rapport RSCLXCOP. La procédure
exacte est détaillée dans le conseil numéro 303007 de SAP Service Marketplace.
Une fois ces prérequis remplis, il est possible de créer dans l'Automation Engine un Job pour
l'exécution d'une copie de Client. Cela permet de représenter des dépendances au sein d'un
Workflow. Le cycle de test ainsi que le processus de copie peuvent être exécutés
automatiquement. L'Automation Engine s'assure que des ressources suffisantes soient
disponibles. Des copies régulières des Clients peuvent ainsi être effectuées bien plus facilement et
de façon bien plus sécuritaire.
Dialogue SAP pour l'Automation Engine
Dialogue SAP pour l'Automation Engine est une interface pour les Utilisateurs de SAP R/3 à
partir de laquelle vous pouvez déclencher des traitements dans le système AE. Les Tâches
définissables dans SAP sont transmises au système AE avec CallAPI pour SAP.
La transaction "/sbb/uc4dc" affiche l'interface de l'Utilisateur final qui contient la vue des Tâches.
Ainsi, seules les Tâches auxquelles il est autorisé à accéder sont proposées à l'Utilisateur. Elles
peuvent être divisées en classes et portent un nom évocateur. Pour en sélectionner une, il suffit de
cliquer dans la liste. Ensuite, en fonction de la définition, l'interrogation des Variables ou des
attributs, ou la maintenance d'une variante. Chaque activation de Tâche est enregistrée dans les
statistiques.
l
Activation avec saisie d'attributs définissables librement
Les attributs sont définissables librement et sont transmis à l'Automation Engine via :PUT_
READ_BUFFER.
l
Connexion directe à la maintenance des variantes par défaut
L'utilisation d'ABAP standard via l'Automation Engine permet d'avoir une connexion directe à
la maintenance des variantes. Seule la variante prédéfinie peut être maintenue.
l
Création de Workflows
Il est possible de créer un Workflow à l'aide des Variables. Vous pouvez ainsi, par exemple,
sélectionner les composants devant être exécutés à partir d'un déroulement prédéfini. La
communication vers le Workflow au sein de l'Automation Engine se fait uniquement par la
définition de Variables.
l
Statistiques et suivi du statut
L'Utilisateur dispose de statistiques permettant de comprendre toutes les activations. En
outre, une Tâche peut, par exemple, être interrompue précisément ou un statut actuel peut
être synchronisé.
Le dialogue SAP pour l'Automation Engine ne remplace pas l'Interface Utilisateur à tous les
niveaux. Il aide les Utilisateurs qui utilisent uniquement l'interface utilisateur SAP et qui souhaitent
contrôler à l'aide de l'Automation Engine ses Tâches d'arrière-plan (Jobs, Workflows) à partir de
SAP.
Automation Engine
310
Le dialogue SAP pour l'Automation Engine est une solution de consultant et ne fait pas partie du
produit ! Il ne bénéficie donc pas d'une maintenance !
Automated SystemCopy for SAP
Cette solution AE vous permet d'exécuter une copie du système SAP de manière entièrement
automatisée. Le procédé peut être adapté à votre convenance et vous pouvez déterminer
exactement quelles étapes doivent être réalisées.
Automated SystemCopy for SAP est une solution de consultant et ne reçoit donc aucune
maintenance ! La documentation relative à cette solution est disponible sous forme de document
externe.
7.11.7 Liaison technique
Automation Engine et SAP
La connexion entre l'Automation Engine et SAP est établie via un Agent. Dans son fichier INI se
trouve les données de connexion à un système AE déterminé. Les données de connexion à un
système SAP sont consignées dans des objets Connexion. L'Agent a besoin d'au moins un objet
Connexion dans lequel l'Utilisateur CPIC est entré avec ses données de connexion.
Un Job requiert la spécification d'un Agent et d'un objet Login. Dans les informations de connexion,
vous définissez dans quel Client SAP le Job sera exécuté.
Lors de la création d'un Job, l'onglet "Forme" est utile. Il offre une interface graphique dans laquelle
les lignes de script peuvent être créées aisément. En outre, certaines données peuvent être
fournies par le système SAP (par exemple : variantes disponibles). L'Agent SAP établit la
connexion requise au système SAP. Les nom d'utilisateur, mot de passe et Client sont repris
depuis l'objet Connexion pour "ABAP Basis"
Rubriques connexes :
Onglet Forme
Plusieurs systèmes SAP
Cette description montre de quelle façon est réalisée la configuration lors de l'utilisation de
plusieurs Agents SAP exécutés sur différents systèmes SAP.
Agents SAP supplémentaires
1.
Renseignez le fichier de définition du ServiceManager UC4.SMD.
Entrez les autres Agents dans le fichier de définition du ServiceManager en fonction de l'exemple
suivant.
La chaîne *OWN est automatiquement remplacée par le chemin dans lequel le ServiceManager se
trouve (ucybsmgr.exe).
! Les lignes de commentaires commencent par un point d'exclamation
!
! Les sous-services sont maintenant définis
!DEFINE Automation Engine;*OWN\UCServer.exe;*OWN
DEFINE UC4 C11-Agent;*OWN\C11\UCXJR3X.exe -i*OWN\UCXJC11.INI;*OWN
311
Chapter 7 L'Automation Engine et les systèmes cible
DEFINE UC4 XYZ-Agent;c:\uc4global\bin\XYZ\UCXJRX3.exe ic:\uc4global\bin\XYZ\UCXJXYZ.INI;*OWN\XYZ
Ces entrées peuvent également être dupliquées et adaptées avec le dialogue du ServiceManager
dans le fichier UC4.SMD.
2.
Créer les fichiers *.INI.
Créez, pour chaque nouvel Agent entré, un fichier UCXJ*.INI du nom convenu dans l'Automation
Engine.SMD. Idéalement, copiez le fichier d'un Agent existant (par exemple UCXJR3X.INI vers
UCXJC11.INI).
Renseignez ou vérifiez UCXJ*.INI dans les fichiers créés.
3.
Renseigner SAPRFC.INI (uniquement lors de l'utilisation de SAPRFC.INI)
Complétez plusieurs chapitres de SAPRFC.INI (anciennement SIDEINFO) comme ils sont
indiqués dans les fichiers UCXJ*.INI, en fonction de l'exemple suivant :
DEST=UC_C11
LU=R33
TP=sapdp00
GWHOST=R33
GWSERV=sapgw00
PROTOCOL=I
DEST=UC_XYZ
LU=R33
TP=sapdp01
GWHOST=R33
GWSERV=sapgw01
PROTOCOL=I
4.
Terminer et démarrer le ServiceManager.
Terminez le ServiceManager et redémarrez-le. Ensuite, les autres Agents devraient être
disponibles. N'oubliez pas de créer l'Utilisateur pour RFCLOGIN dans le système SAP
correspondant !
Objets SAP Security
Les autorisations requises pour les Jobs AE dépendent de l'installation et des fonctions utilisées
dans l'Automation Engine. Dans le présent document sont mentionnés tous les objets
d'autorisation dont a besoin l'Utilisateur CPIC pour une utilisation complète de toutes les
fonctionnalités.
Le tableau suivant part du principe que vous connaissez bien le concept d'autorisation de SAP.
Objet
d'autorisation
Connexion à l'AE
Nom du champ
Valeur
Automation Engine
S_RFC
Lorsque vous définissez le
paramètre de profil
auth/rfc_authority_check,
SAP vérifie si l'Utilisateur
RFC dispose de
l'autorisation d'exécuter le
groupe de fonction.
S_BTCH_JOB
Traitement de batch
: Opérations sur les
Jobs de batch
AE crée des Jobs SAP
JOBACTION
dynamiquement et
JOBGROUP
nécessite donc
l'autorisation de planifier
des Jobs, de les surveiller
et de les libérer. AE crée,
en outre, des Jobs en
utilisant le programme
ABAP standard
RSBDCBTC pour exécuter
des sessions BDC.
*
*
S_BTCH_ADM
Traitement de batch
: Administrateur de
batch :
Pour que les Jobs SAP
BTCADMIN
existants puissent être
exécutés, AE doit adapter
les Jobs correspondants.
Les interfaces AE et
standard utilisent le module
fonctionnel standard BP_
JOB_MODIFY pour
exécuter les Jobs et
nécessitent donc
l'autorisation
administrateur de batch.
Cette dernière est
également nécessaire pour
afficher la liste spool d'un
Job si celui-ci n'a pas été
créé par l'Utilisateur CPIC.
Y
S_BTCH_ADM permet
des sélections
indépendantes du Client
dans les Jobs existants.
L'exécution de l'instruction
AE R3_ACTIVATE_JOBS
avec un Utilisateur CPIC
possédant cette
autorisation, peut, en
fonction des critères de
filtrage, mener au
démarrage de Jobs dans
plusieurs Clients SAP (par
exemple, le même nom de
Job existe dans deux
Clients SAP).
ACTVT RFC_
NAME RFC_
TYPE
*
*
*
312
313
Chapter 7 L'Automation Engine et les systèmes cible
S_BTCH_NAM
L'Utilisateur CPIC doit
disposer de cette
autorisation pour créer et
exécuter des Jobs pour
d'autres Utilisateurs SAP.
BTCUNAME
*
S_SPO_DEV
Spooler :
autorisations de
périphérique
Pour pouvoir spécifier le
SPODEVICE
paramètre d'impression
"Impression Immédiate" au
sein d'un step de Job,
l'Utilisateur CPIP
nécessite l'autorisation
pour le périphérique de
sortie en question.
*
S_TMS_ACT
Pour que la page de garde
d'une liste spool puisse
être transmise à AE, il est
utile d'afficher le paramètre
de la variante qui a été
utilisée pour l'exécution
ABAP. Cette information
fait partie de la page de
garde.
STMSACTION
STMSOBJECT
STMSOWNER
*
*
*
S_XMI_PROD
Cet objet d'autorisation est
utilisé pour l'identification à
l'interface standard. Les
applications externes
doivent tout d'abord s'y
identifier pour pouvoir faire
appel à ses fonctions.
EXTCOMPANY
EXTPRODUCT
INTERFACE
*
*
*
S_XMI_LOG
L'objet d'autorisation n'est pas requis pour
l'Automation Engine. Lors
de l'utilisation de l'interface
standard, des entrées sont
toutefois écrites dans le log
XML (Online Transaction
Code RZ15), qu'il n'est
possible d'afficher ou de
supprimer qu'avec cette
autorisation.
-
S_WFAR_OBJ
ArchiveLink :
autorisations pour
l'accès aux
documents
AE permet de spécifier des
paramètres d'archivage
(type d'objet, type de
document). Grâce à ceuxci, vous pouvez transférer
immédiatement la liste
d'impression d'un
programme ABAP à une
archive optique (si cela est
installé dans le système
SAP).
*
*
*
*
ACTVT
OAARCHIV
OADOCUMENT
OAOBJEKTE
Automation Engine
ACTVT
OAARCHIV
OADOKUMENT
OAOBJEKTE
PROGRAM
314
S_WFAR_PRI
ArchiveLink :
autorisations pour
l'accès aux listes
d'impression
Pour que les listes
d'impression puissent être
créées dans les archives
optiques, l'Utilisateur
CPIC doit posséder cette
autorisation.
*
*
*
*
*
S_PROGRAM
ABAP : Vérifications
du déroulement du
programme
AE requiert cette
P_ACTION
autorisation pour planifier
P_GROUP
des programmes ABAP
auxquels des groupes
d'autorisation sont
attribués (champ
d'autorisation P_
ACTION=BTCSUBMIT) et
pour contrôler les variantes
(P_ACTION=VARIANT).
BTCSUBMIT,VARIANT
*
S_SPO_ACT
Spool : Actions
Le champ SPOACTION
doit autoriser les actions
BASE et DISP pour les
Utilisateurs
correspondants pour que
les listes spool qui n'ont
pas été créées par
l'Utilisateur CPIC puissent
être transmises.
SPOACTION
SPOAUTH
BASE,DISP
*
S_ADMI_FCD
Autorisations
système
Le champ S_ADMI_FCD
doit au moins autoriser
l'action SP0R pour que les
listes spool qui n'ont pas
été créées par l'Utilisateur
CPIC puissent être
transmises.
S_ADMI_FCD
SP0R
S_RS_ISOUR
Administrator
Workbench InfoSource (mise à
jour flexible)
L'autorisation est
uniquement requise si la
fonction Business
Warehouse BW_
ACTIVATE_
INFOPACKAGE est
utilisée et si la mise à jour
flexible est appliquée.
ACTVT
RSAPPLNM
RSISOURCE
RSISRCOBJ
*
*
*
*
S_RS_ISOUR
Administrator
Workbench InfoSource (mise à
jour directe)
L'autorisation est
uniquement requise si la
fonction Business
Warehouse BW_
ACTIVATE_
INFOPACKAGE est
utilisée et si la mise à jour
directe est appliquée.
ACTVT
RSAPPLNM
RSISOURCE
RSISRCOBJ
*
*
*
*
315
Chapter 7 L'Automation Engine et les systèmes cible
S_DEVELOP ABAP L'autorisation est
Workbench
uniquement requise si la
fonction Business
Warehouse BW_
ACTIVATE_CHAIN est
utilisée.
ACTVT
DEVCLASS
OBJNAME
OBJTYPE P_
GROUP
*
*
*
*
*
S_RS_ICUBE
Administrator
Workbench InfoCube
L'autorisation est
uniquement requise si la
fonction Business
Warehouse BW_
ACTIVATE_CHAIN est
utilisée.
ACTVT
RSICUBEOBJ
RSINFOAREA
RSINFOCUBE
*
*
*
*
S_RS_ADMWB
Administrator
Workbench - Objets
L'autorisation est
uniquement requise si les
fonctions Business
Warehouse sont utilisées.
ACTVT
RSADMWBOBJ
*
*
S_RS_DS
L'autorisation est
uniquement requise si les
fonctions Business
Warehouse sont utilisées.
S_RS_DTP
L'autorisation est
uniquement requise si les
fonctions Business
Warehouse sont utilisées.
S_RS_ODSO
L'autorisation est
uniquement requise si les
fonctions Business
Warehouse sont utilisées.
S_RS_PC
L'autorisation est
uniquement requise si les
fonctions Business
Warehouse sont utilisées.
S_RZL_ADM
Lancement de Jobs
ACTVT
interceptés (Gestionnaire
de File d'Attente, R3_
activate_intercepted_Jobs)
01
S_TABU_DIS
Pour l'utilisation des
formulaires SAP
03
SPFL
-
Aucune autorisation SAP
spécifique n'est nécessaire
pour les fonctions AE
supplémentaires comme il
n'existe aucun risque de
sécurité.
ACTVT
DICBERCLS
*) Nous vous recommandons de créer des autorisations en fonction de vos conventions de noms
spécifiques.
Automation Engine
316
Pour disposer de la fonctionnalité minimale dans l'Automation Engine, l'Utilisateur RFC doit avoir
un profil Utilisateur qui contient l'objet d'autorisation S_BTCH_JOB. Ce dernier doit contenir les
autorisations standard S_BTCH_ALL ou avoir saisi les valeurs suivantes :
Activités sur les Jobs : DELE, PLAN, PROT, RELE, SHOW
Résumé des Jobs pour un Groupe : *
Prise en compte d'attributs de Job
L'onglet spécifique à l'hôte pour les Jobs SAP contient plusieurs attributs ayant une influence sur
plusieurs scripts. Le tableau suivant les énumère. Les scripts SAP n'apparaissant pas dans cette
liste n'utilisent aucun attribut.
Elément de
script
BCA_
ACTIVATE_
PROCESS
R3_
ACTIVATE_
EXT_
COMMAND
R3_
ACTIVATE_
EXT_
PROGRAM
R3_
ACTIVATE_
INTERCEPTE
D_JOBS
R3_
ACTIVATE_
JOBS
R3_
ACTIVATE_
REPORT
R3_
ACTIVATE_
SESSIONS
R3_CALL_
TRANSACTIO
N
R3_GET_
EVENT
R3_GET_JOB_
SPOOL
R3_MODIFY_
JOB
Logi
n
Langu
e
No
m
de
Job
Class
e de
Job
Systèm
e cible
Mode de
démarra
ge
Supprim
er dans
CCMS
Destinatai
re de la
liste spool
317
Chapter 7 L'Automation Engine et les systèmes cible
R3_RAISE_
EVENT
Rubriques connexes :
Onglet SAP pour les Jobs SAP
Interfaces
Interfaces
Les Agents communiquent avec le système SAP sur la base de RFC (Remote Function Call) de
SAP. Pour ce faire, des modules fonctionnels sont exécutés. Parallèlement aux interfaces par
défaut, l'Agent peut utiliser l'interface qui donne accès à des fonctionnalités supplémentaires.
Nous faisons généralement la distinction dans la documentation entre
l
l
L'interface
est composée de modules de fonctions développés par l'Automation Engine.
Les interfaces standard
sont composées de modules de fonctions développés par SAP. L'Automation Engine utilise
plusieurs de ces interfaces à différentes fins. Les interfaces se répartissent en
l
XMB (eXternal Monitoring Basics)
l
XAL (eXternal ALerting)
l
XBP (eXternal Batch Processing) *)
l
XMW (eXternal Monitoring Write)
l
BW-STA (Business Warehouse - data STAging)
*) Attention : l'interface XBP 2.0 doit être activée avec le programme SAP INITXBP2. Cela fait
partie de l'installation XBP 2.0. Sinon, les relations parent-enfant et la fonction de Jobs interceptés
ne peuvent pas être utilisées.
Operations Manager prend en charge les interfaces XBP 2.0 et XBP 3.0 de SAP NetWeaver.
Des modules SAP utilisant cette interface peuvent donc être utilisés. En font par exemple partie
SAP 4.7, NetWeaver Stack 2004s, ECC5, ECC6, etc.
La version de l'interface XBP est indépendante de celle du kernel. SAP assure une certaine
compatibilité. Cela signifie que lorsqu'une nouvelle version de l'interface est disponible, un certain
nombre des versions de kernel prennent en charge l'ancienne version.
L'interface requiert BABP XBP V2.0. Vérifiez la version de votre système AE et installez, le cas
échéant, le package de prise en charge actuel.
Différences au niveau des fonctions
Le tableau récapitulatif suivant montre quels Scripts SAP exigent l'interface (Script). Les Scripts
qui possèdent des paramètres pour lesquels l'utilisation de l'interface est requise sont également
identifiés (Paramètre).
Automation Engine
318
Scripts et interfaces utilisées
Script
Description
Interface
nécessaire
Script Paramètres
R3_ACTIVATE_
CM_PROFILE
Active un profil dans le Gestionnaire de critères
SAP.
R3_ACTIVATE_
EXT_COMMAND
Exécute une commande externe.
R3_ACTIVATE_
EXT_PROGRAM
Exécute un programme externe.
R3_ACTIVATE_
INTERCEPTED_
JOBS
Exécute les Jobs interceptés.
R3_ACTIVATE_
JOBS
Exécute les Jobs déjà planifiés.
R3_ACTIVATE_
REPORT
Exécute un programme ABAP.
R3_ACTIVATE_
SESSIONS
Exécute des dossiers batch input.
R3_CALL_
TRANSACTION
Exécute une transaction SAP.
R3_COPY_
VARIANT
Copie la variante d'un rapport.
R3_CREATE_
OUTPUT_
REQUEST
Crée un nouvel ordre d'édition pour une requête
spool existante.
R3_CREATE_
VARIANT
Crée une nouvelle variante.
R3_DEACTIVATE_
CM_PROFILE
Désactive un profil dans le Gestionnaire de critères
SAP.
R3_DELETE_
NODE
Supprime un nœud de l'architecture de moniteur
SAP.
R3_DELETE_
VARIANT
Supprime la variante d'un rapport.
R3_GET_
APPLICATIONLOG
Vérifie le code retour d'application d'une ou de
plusieurs étapes de Job.
R3_GET_
APPLICATIONLOG
Cherche les messages du logging d'application et
les génère dans le rapport ou le fichier.
R3_GET_EVENT
Attend un Evènement déclenché dans SAP.
R3_GET_
INTERCEPTION
Lit la table de filtre pour les Jobs interceptés et
enregistre dans le protocole d'activation ou un
fichier.
R3_GET_JOB_
SPOOL
Lit la liste spool d'un step de type "programme
ABAP".
319
Chapter 7 L'Automation Engine et les systèmes cible
R3_GET_JOBLOG
Cherche le logging d'un Job SAP dans SAP et
l'affiche dans un rapport.
R3_GET_JOBS
Sélectionne des Jobs SAP et affiche le résultat
dans le rapport d'activation.
R3_GET_
MONITOR
Lit des données d'un moniteur SAP.
R3_GET_
SESSIONS
Sélectionne des dossiers batch input et affiche le
résultat dans le rapport d'activation ou dans un
fichier.
R3_GET_
Sélectionne des requêtes spool avec des Filtres
SPOOLREQUESTS prédéfinis.
R3_GET_
SYSTEMLOG
Lit les informations d'une période donnée d'un
logging système SAP.
R3_GET_
VARIANTS
Lit le catalogue des variantes.
R3_GET_
VARIANT_
CONTENTS
Affiche le contenu d'une variante.
R3_MODIFY_
INTERCEPTION
Modifie la table de filtre pour les Jobs interceptés.
R3_MODIFY_JOB
Modifie un step ABAP.
R3_MODIFY_
VARIANT
Modifie une valeur dans une variante.
R3_RAISE_EVENT
Déclenche un Evènement défini dans SAP.
R3_SCHEDULE_
JOB_CANCEL
Réattribue le statut "Planifié" à un Job SAP déjà
lancé.
R3_SEND_
SPOOL_REQUEST
Envoie une requête spool existante.
R3_SET_
BDCDATA
Définit les données BDC.
R3_SET_FREE_
SELECTION
Définit une limite libre.
R3_SET_LOG_
ATTR
Ajoute un attribut de logging dans l'architecture de
moniteur SAP
R3_SET_PERF_
ATTR
Ajoute un attribut de performance dans
l'architecture de moniteur SAP
R3_SET_PRINT_
DEFAULTS
Définit des valeurs par défaut pour les paramètres
d'impression utilisés lors de l'exécution de
rapports.
R3_SET_SELECT_
OPTION
Définit un critère de sélection.
R3_SET_STATUS_
ATTR
Ajoute un attribut de statut dans l'architecture de
moniteur SAP
Automation Engine
R3_SET_TEXT_
ATTR
Ajoute un attribut de texte dans l'architecture de
moniteur SAP
R3_SWITCH_
OPMODE
Change le mode de fonctionnement dans SAP.
320
Rubriques connexes : Généralités sur le JCL AE pour les applications
Transport de l'interface
Généralités
Pour utiliser les fonctionnalités de l'interface, les modules fonctionnels doivent d'abord être
transportés dans le système SAP.
Ils sont développés sous forme d'objets de développement ABAP. Ces objets sont fournis dans le
package "correction et transport" du système SAP:
l
l
l
KNNNNNN.SID Fichier d'information, par exemple K000046.T45
RNNNNNN.SID Fichier de données, par exemple R000046.T45
ENNNNNN.txt Protocole d'exportation, par exemple E000046.txt
Outre les modules fonctionnels, des espaces de noms sont également transportés dans des ordres
individuels. Vous trouverez une liste des ordres de transport en cours de validité dans le fichier
TRANSPRT.TXT. En cas de nouvelle installation, tous les ordres de transport doivent être
exécutés. En cas de mise à jour de l'installation, seuls les modules fonctionnels (interface) sont mis
à jour, car les espaces de noms ne changent pas.
Les noms des objets de développement sont décrits dans la terminologie.
Les abréviations suivantes sont utilisées dans ce document:
l
l
l
NNNNNN pour le numéro d'ordre de transport du système source et
SID pour le nom du système source.
TID est utilisé pour le nom du système cible (dans lequel les modules fonctionnels sont
importés).
Nom du fichier
Dans la mesure où le système SAP peut être installé dans différents environnements (UNIX,
Windows...), les particularités du système doivent être prises en compte dans les noms des
fichiers.
Dans ce document, nous écrivons généralement des noms de fichiers, qui concernent
l'environnement SAP, avec la syntaxe UNIX (également avec "/"). Dans l'environnement Windows,
les noms sont identiques, à la différence seulement que dans ce cas, on utilise "\".
321
Chapter 7 L'Automation Engine et les systèmes cible
7.11.8 Importation des modules fonctionnels dans SAP
Pour utiliser les fonctionnalités de l'interface, les modules fonctionnels doivent d'abord être
transportés dans le système SAP.
Requis :
Les autres activités du système de transport doivent impérativement être exécutées avec
l'Utilisateur d'administration SAP (SIDadm).
Le système de transport doit être configuré et paramétré correctement, généralement lors de
l'installation du système SAP.
Au moins deux processus de travail de batch (BTC) doivent fonctionner dans cette instance SAP
pour l'importation
Contrôle: Outils – Administration – Moniteur – Surveillance système – Sélection de processus
(transaction SM50).
Le démon de transport du système SAP (Job d'arrière-plan "RDDIMPDP") doit être planifié et validé
dans le Client 000 pour l'importation d'objets de développement. Contrôle: Voir ci-dessous
La fonctionnalité peut être vérifiée comme suit:cd usr/sap/trans/bin........
Changement dans le répertoire de transport SAP
tp checkimpdp TID...........
Vérifier si le démon de transport RDDIMDP est actif dans SAP
tp connect TID.............. Tester la connexion au système SAP
Le système de transport est décrit dans la documentation SAP en ligne, dans le chapitre SYSTEME
DE BASE – PILOTAGE DU CONTROLE.
Veuillez noter que l'option "Ignorer les versions des composants" inadaptées doit être activée
lors de l'importation.
Déroulement:
Reprise du fichier de transport fourni dans l'environnement de transport SAP:
l
l
l
Sur l'ordinateur SAP:
Accédez au sous-répertoire adapté à la version SAP sous IMAGE:AGENTS\SAP\_TRANS.
Copie des fichiers dans les répertoires suivants:
KNNNNNN.SID par /usr/sap/trans/cofiles
RNNNNNN.SID par /usr/sap/trans/data
Lorsque SAP est installé sous UNIX, le transfert des fichiers s'effectue généralement via
FTP. Indiquez impérativement "bin" pour les transferts binaires.
l
Le fichier ENNNNNN.TXT du CD contient le protocole d'exportation complet et peut être
utilisé pour une éventuelle analyse.
Importation de la livraison dans le système SAP:
l
l
l
Sur l'ordinateur SAP (connexion avec l'Utilisateur d'administration SAP (SIDadm)).
Les fichiers de transport repris (RNNNNNN.SID et KNNNNNN.SID) ne doivent pas être
protégés en écriture (attention lors de la copie à partir du CD)!
Si besoin, il est possible de créer un répertoire des objets contenus dans l'ordre de transport:
Automation Engine
322
cd usr/sap/trans/data....... Changement dans le répertoire de transport SAP
r3trans -l RNNNNNN.SID...... Crée un fichier trans.log (liste des objets
transportés)
l
Génération d'une entrée de tampon pour le système cible.
cd usr/sap/trans/bin........ Changement dans le répertoire de transport SAP
tp addtobuffer SIDkNNNNNN TID[pf=<nom profil, par défaut TPPARAM>]
l
Si besoin, il est possible de vérifier l'entrée de tampon:
tp showbuffer TID [pf=<nom profil, par défaut TPPARAM>]
l
l
Vous devez décider avant l'importation avec quels modes inconditionnels (u) l'importation
doit être exécutée:
l
4....est valable uniquement pour la version SAP 3.x: sachant que le nom du système
cible indiqué lors de l'exportation ne correspond pas au nom du système cible réel
(TID). Dans la mesure où le système cible réel n'est pas connu lors de l'exportation,
ce mode doit toujours être spécifié!
l
1....doit être indiqué lorsque l'importation doit être répétée.
Lancement de l'importation avec la commande:
tp import SIDkNNNNNN
bzw.
tp import SIDkNNNNNN
TPPARAM>]
TIDu4 [client123] [pf=<nom profil, par défaut TPPARAM>]
TID u14 [client123] [pf=<nom profil, par défaut
Les modes inconditionnels diffèrent selon la version TP. Vous pouvez consulter la
documentation SAP pour plus d'informations à ce sujet.
Respectez les points suivants lors de l'importation:
l
Au moins 2 tâches de batch doivent fonctionner dans l'instance pour les importations!
l
Bien que l'ordre de transport ne contienne aucune donnée propre au Client, il peut
arriver qu'un Client soit requis lors de l'importation. Dans ce cas, un Client valable
pour votre environnement doit être spécifié à l'aide du paramètre client=nnn
(l'export a eu lieu avec le Client 010).
l
L'importation peut prendre quelques minutes, plus particulièrement lorsque le démon
de transport RDDIMPDP n'est pas déclenché par un évènement, mais est contrôlé
par une horloge.
l
Message "no profile used ":
l
Aucun profil n'est indiqué lors de l'exécution interne du programme sur "sapevt". C'est
pourquoi ce message est généré pour chaque exécution sur sapevt. Il peut être ignoré
en temps normal!
l
D'autres messages peuvent être générés. Cependant, seul le Code retour est
important (voir ci-dessous – Contrôle).
Contrôle:
l
l
En raison de la complexité du système de transport et de l'environnement SAP, seul un
expert qui connaît l'environnement d'installation peut réaliser un diagnostic d'erreur complet
et apporter des corrections.
Un non-spécialiste peut toutefois évaluer si l'importation s'est bien passée à l'aide des
conseils suivants:
323
Chapter 7 L'Automation Engine et les systèmes cible
l
l
l
l
l
Des fichiers log sont générés lors de l'importation.
Ils se trouvent dans le répertoire /usr/sap/trans/log sous le nom
SIDsNNNNNN.TID
s correspond à l'étape de transport:
G... Génération de rapports et d'écran
H... R3TRANS Dictionnaire d'importation
I... R3TRANS Importation principale
Le code exit (= Code retour) de ces trois fichiers log doit être contrôlé (il est toujours
indiqué à la fin du fichier). Il ne doit pas dépasser "4"!
Un expert peut naturellement contrôler ces fichiers log dans le système SAP.
Test de l'interface avec ABAP Workbench
Ce document contient des explications relatives au test de l'interface permettant la connexion au
système SAP.
1. Démarrer l'environnement de développement et ouvrir les modules
fonctionnels.
Démarrez l'environnement de développement (ABAP/4-Workbench) et ouvrez, à l'aide du
navigateur d'objets, les modules fonctionnels pour les groupes de fonction /SBB/UC4_JOB :
Outils ⇒ ABAP/4-Workbench ⇒ Résumé ⇒ Object Navigator, sélectionnez le groupe de fonctions
/SBB/UC4_JOB, ouvrez les modules fonctions, positionnez le curseur sur l'objet et sélectionnez
Tester dans le menu contextuel.
Le nom des modules fonctionnels a toujours UC4 comme préfixe.
2.
Tester le module fonctionnel UC4_JOB_OPEN.
Paramètre à indiquer :
JOBNAME - Nom quelconque, par exemple 'TEST'.
JOBCLASS - A, B ou C
Le paramètre JOBCOUNT est fourni. Cette valeur doit être notée ou le mieux est de la copier dans
le presse-papiers.
Automation Engine
3.
Tester le module fonctionnel UC4_JOB_SUBMIT
Paramètre à indiquer :
JOBCOUNT - introduire la valeur ou l'ajouter depuis le presse-papiers,
JOBNAME - comme pour le modèle fonctionnel UC4_JOB_OPEN,
REPORT_ID - 'RSM04000' ou 'RSM04000_ALV'.
324
325
Chapter 7 L'Automation Engine et les systèmes cible
Après l'exécution, il faut s'assurer qu'aucune exception ne s'est produite. Les paramètres sont
certes fournis ici, mais ils ne sont pas impérativement nécessaires pour le test.
4.
Tester le module fonctionnel UC4_JOB_CLOSE.
Paramètre à indiquer :
JOBCOUNT - introduire la valeur ou l'ajouter depuis le presse-papiers,
JOBNAME - comme pour le modèle fonctionnel UC4_JOB_OPEN.
Après l'exécution, il faut s'assurer qu'aucune exception ne s'est produite.
Automation Engine
326
Le Job est maintenant démarré et peut être affiché à l'aide de la transaction standard SM37
(Système ⇒ Services ⇒ Jobs ⇒ Résumé de Job). Une fois le Job terminé, cela vient confirmer que
les modules fonctionnels élémentaires pour le contrôle de Job au sein du système SAP
fonctionnent.
327
Chapter 7 L'Automation Engine et les systèmes cible
Agent pour SAP BW
Généralités
La Automation Engine prend en charge la composante SAP Business Information Warehouse
(SAP BW) comme s'il s'agissait d'un système d'exploitation propre. D'un point de vue technique,
cette collaboration est réalisée de sorte que des modules fonctionnels sont appelés au sein du
système SAP par le biais des RFC (Remote Function Call) de SAP. La communication vers le
système SAP est effectuée uniquement via les RFC et est ainsi indépendante de
l'environnement dans lequel SAP BW est installé.
La configuration du paramètre de connexion a lieu dans l'objet Connexion de l'Agent. De plus, cet
Agent peut être activé pour toutes les versions de SAP BW prises en charge par l'Automation
Engine.
L'Agent pour SAP BW peut également exécuter des Jobs dans le système de base SAP (Jobs en
arrière-plan standard).
Le tableau suivant indique les versions de SAP BW et de SAP Basis pour lesquelles un Agent est
disponible pour SAP BW.
Version BW
SAP Basis
Agent pour SAP BW
1,2B
4,5A
Non pris en charge.
2,0B
4.6C
Disponible à partir de la version Automation Engine 2.63C.
2.1C
4.6D
Disponible à partir de la version Automation Engine 2.63C.
3,0B
6.10
Disponible à partir de la version Automation Engine 2.63D.
>3.0B
6.x
Disponible à partir de la version Automation Engine 2.63D
Support Packages pour SAP BW
Pour utiliser l'Agent, nous vous recommandons d'installer les Support Packages de SAP BW ciaprès.
Version SAP BW
Niveau du Support Package
2,0B
32
2.1C
24
3,0B
14
3.1C
08
>3.1C
Pas de niveau de Support Package connu
Si un Support Package de niveau inférieur est installé sur l'Agent, les messages suivants peuvent
s'afficher. Vous trouverez de plus amples informations dans les notes SAP spécifiées.
Numéro de note SAP
Message
488588
short dump "DYNPRO_SEND_IN_BACKGROUND"
426047
Message E089(RSM1) "Job not (yet ?) started"
488808
BAPI_IPAK_CHANGE ignores InfoPackage Parameter
Automation Engine
328
Vérification du statut
Dans la Automation Engine, le statut technique communiqué lors de l'appel de fonction pour vérifier
le statut est considéré comme un "statut final". La description de ce terme dans Interface
Repository est la suivante:
Le paramètre TECHSTATUS est le statut technique de la demande. Il dispose toujours l'une des
valeurs suivantes :
l
l
l
G – Vert (la demande est enregistrée avec succès)
Y – Jaune (la demande est en cours de traitement)
R – Rouge (la demande génère une erreur ou est interrompue)
Le statut n'est cependant visiblement pas un "statut final". Il peut passer plusieurs fois en "rouge"
pendant un court instant (erreur ou interruption) puis passer de nouveau en "jaune" ou en "vert". Le
système AE en tient compte ; il est possible d'activer un délai de vérification du statut, par exemple
lorsque le statut est "rouge", le système vérifie encore x fois si le statut reste réellement "rouge".
Les paramètres maxruntime= et repeat_check= (section [SAP_BW]) se trouvent dans le fichier INI
de l'Agent SAP à cet effet.
Une fonction est également appelée pour la vérification du statut des chaînes de processus. Les
valeurs des statuts sont les suivantes :
l
l
l
l
l
l
l
l
l
l
"R" – Interruption
"G" – Fin normale
"F" – Fin normale
"A" – Poursuivre la surveillance
"X" – Interruption
"P" – Poursuivre la surveillance
"S" – Interruption (mais uniquement après un redémarrage de la chaîne de processus)
"Q" – Poursuivre la surveillance
"Y" – Poursuivre la surveillance
" " – Poursuivre la surveillance
Ces statuts sont ensuite convertis en Codes Retour dans l'Automation Engine:
Code retour
Statut
Statut SAP
0
ENDED_OK
G ou F
4
ENDED_NOT_OK
R
8
ENDED_NOT_OK
X
12
ENDED_NOT_OK
S
Paramètres d'archivage avec R3_ACTIVATE_REPORT
Les paramètres d'archivage qu'un utilisateur peut spécifier pour R3_ACTIVATE_REPORT
correspondent aux zones de saisie illustrées ci-dessous. La boîte de dialogue s'affiche dans le
système SAP si "Archivage" a été sélectionné comme mode dans les paramètres d'impression.
329
Chapter 7 L'Automation Engine et les systèmes cible
Paramètres de SAP
Paramètres pour R3_ACTIVATE_REPORT
Type d'objet
ARCHIVE_SAPOBJECT
Type de Document
ARCHIVE_OBJECT
Information
ARCHIVE_INFO
Texte
ARCHIVE_TEXT
Rubriques connexes : R3_ACTIVATE_REPORT
ERROR/ERRORLEVEL dans R3_ACTIVATE_SESSIONS
Lors de l'exécution de R3_ACTIVATE_SESSIONS, le système SAP cherche tout d'abord la liste
des dossiers à exécuter. Chaque dossier est exécuté par un seul Job SAP. Ce Job est appelé
replayer dans le présent document. Le replayer utilise l'ABAP "RSBDCBTC" pour l'exécution.
ERROR
Se rapporte au résultat (statut) du replayer. Le résultat peut être "A" pour interrompu, ou "F" pour
terminé avec succès.
ERROR=IGNORE
Le prochain dossier de la liste des correspondances est toujours exécuté. Le résultat du replayer
précédent est ignoré.
Automation Engine
330
ERROR=ABEND
La lecture des dossiers est immédiatement arrêtée lorsqu'un replayer se termine avec le statut "A".
Le Job est interrompu.
ERRORLEVEL
Se rapporte toujours au dossier et est vérifié à la fin du replayer. Il définit le pourcentage des
transactions d'un dossier qui ne se sont pas exécutées avec succès. Si la valeur des dossiers est
dépassée, le traitement du Job est interrompu. Aucun autre dossier de la liste des correspondances
n'est démarré. Si ERRORLEVEL n'est pas indiqué, aucune vérification des transactions inscrites
avec succès n'est effectuée.
331
Chapter 7 L'Automation Engine et les systèmes cible
Résolution de problèmes
Conseils sur la recherche d'erreurs
Vous trouverez ici une liste des sources d'informations qui permettent de reconnaître une
situation d'erreur lorsque l'Agent ne fonctionne pas correctement (ou que partiellement), ou qu'il
n'exécute pas correctement certaines Tâches.
Rapport de Job
La source la plus proche est le rapport du Job pour SAP. Y sont journalisées pour chacune des
Tâches les actions que l'Agent a exécutées par rapport au système SAP ainsi que la façon dont
elles se sont terminées.
Attributs de l'objet activé
Il est possible que l'origine de l'erreur se trouve tout simplement dans les attributs de l'objet activé
(par exemple Client ou Utilisateur erronés). Vérifiez les attributs de l'objet correspondant.
Utilisateur CPIC
Pour la connexion au système SAP, un Utilisateur SAP (Client, nom, mot de passe) doit être défini
dans un objet Login. Cet Utilisateur doit également exister avec le même mot de passe dans tous
les Clients du système SAP dans lesquels des Tâches sont exécutées. Vérifiez l'objet Login mais
aussi les Utilisateurs du système SAP.
L'Agent est représenté par l'Utilisateur CPIC au sein du système SAP. Cet Utilisateur doit, bien
entendu, disposer des droits correspondants, par exemple droit d'opérateur pour le traitement en
arrière-plan. Vérifiez les droits de l'Utilisateur CPIC dans le système SAP.
Transactions utiles
La transaction "SM37" offre également des informations sur l'exécution de Job dans le log de Job et
dans la liste de spool. Le log XMI, qui peut être exécuté avec "RX15", fournit également des
enregistrements utiles.
Fichiers log
Vous trouverez des informations détaillées sur l'heure en question dans les fichiers log de l'Agent et
du Serveur. Vous pouvez également afficher le contenu des fichiers dans la Supervision Système.
Au début, l'intégralité du fichier INI est tout d'abord journalisée. Dans cette section, vous pouvez
reconnaître les paramètres avec lesquels l'Agent ou le Serveur s'exécute. Toutes les actions
exécutées sont ensuite enregistrées chronologiquement.
Le log système SAP
Les situations d'erreur se produisant au sein du système SAP sont journalisées dans le log système
SAP. Vous pouvez afficher le log système avec la transaction SAP "SM21". Dans certains cas, par
Automation Engine
332
exemple lorsque la planification d'un step de Job par un Agent échoue, le log système SAP est
automatiquement transféré dans le rapport de Job. Il peut alors être affiché dans un nouvel onglet du
rapport.
Traces
Les traces journalisent, sous forme de fichiers log, des informations encore plus détaillées sur les
processus. Elles contiennent, par exemple, les transmissions de messages entre l'Agent et le
Serveur ou entre l'Agent et le système SAP. Dans le dernier cas, on parle d'une trace RFC. Les
traces doivent être activées soit dans le fichier INI de l'Agent, soit dans la Supervision Système.
Les contenus des traces sont enregistrés dans des fichiers dans le répertoire de travail de l'Agent
ou dans le répertoire spécifié.
Les traces sont conçues pour une analyse par le support ou le développement. Envoyez toujours
ce genre de documents à votre demande de support.
Attention : lors de l'activation de la trace RFC, des fichiers sont non seulement enregistrés côté
Agent, mais également sur la machine du serveur d'application SAP ! N'activez donc la trace que
pendant quelques instants, afin d'économiser de l'espace sur le disque dur. Pour empêcher toute
création de fichiers de trace dans le système SAP, vous pouvez définir le paramètre gw/accept_
remote_trace_level sur 0.
Vous trouverez des informations complémentaires sur la trace RFG dans la note SAP 532918.
Problèmes lors de l'importation des modules fonctionnels
Le programme tp ne se termine pas
Symptôme
Lors de l'importation des objets de développement, le programme tp ne se termine pas (il s'exécute
normalement pendant quelques minutes). Après interruption avec (Ctrl-C), le message suivant
figure dans le fichier SLOG.
Background Job RDDIMPDP could not be started or terminated abnormally
Origine
L'importation des objets de développement est exécutée par le Job RDDIMPDP. Cela est
normalement planifié en tant qu'Evènement et est déclenché par l'Evènement "SAP_TRIGGER_
RDDIMPDP" du programme tp. En l'occurrence, le démarrage de ce Job par l'Evènement ne
fonctionne pas, tp attend donc sans fin.
Solution
Vérifiez que l'Evènement "SAP_TRIGGER_RDDIMPDP" est défini (transaction SM64).
333
Chapter 7 L'Automation Engine et les systèmes cible
Contrôlez que les entrées pour le contrôle de l'Evènement ont été entrées correctement dans
TPPARAM.
Recherchez d'éventuels conseils dans le SAP Service Portal avec le mot-clé "SAP_TRIGGER_
RDDIMPDP".
En cas d'urgence, utilisez le RDDIMPDP qui dure 5 minutes ; il peut être planifié par ABAP
RDDPUTPP avec SE38.
Jobs SAP se terminant par ARCHIVE_INFO_NOT_FOUND
Symptôme
Les Jobs SAP se terminent par le message ci-dessous :
U2004001 RFC Returntext: ARCHIVE_INFO_NOT_FOUND
Origine
ARCHIVE_INFO_NOT_FOUND est une exception du module fonctionnel "GET_PRINT_
PARAMETERS". Ce module fonctionnel est un module fonctionnel standard du système SAP.
ARCHIVE_INFO_NOT_FOUND n'a pas nécessairement un rapport avec la zone d'informations
des paramètres d'archivage.
ARCHIVE_INFO_NOT_FOUND se rapporte à tous les paramètres d'archivage, à savoir :
l
l
l
l
ARCHIVE_O[BJECT]= catégorie de document
ARCHIVE_S[APOBJECT]= type d'objet
ARCHIVE_T[EXT]= texte
ARCHIVE_I[NFO]= zone d'informations
ARCHIVE_INFO_NOT_FOUND peut avoir toute une série de causes, telles que :
l
l
l
La catégorie de document ou le type d'objet indiqué n'est pas défini dans le système SAP.
La catégorie de document est affectée à une archive inexistante dans le système SAP
(Content Repository).
L'utilisateur ne possède pas les droits d'accès (voir l'objet d'autorisation S_WFAR_PRI).
Si l'Automation Engine transmet correctement les paramètres au module fonctionnel, la cause de
l'exception existe la plupart du temps dans le système SAP.
Solution
Vérifiez, à l'aide de la trace RFC, si l'Automation Engine a correctement transmis les paramètres au
module fonctionnel. Vérifiez les paramètres relatifs à "Business Documents" et "ArchiveLink" dans
le Customizing du système SAP ainsi que les autorisations de l'utilisateur CPIC.
Rubriques connexes : R3_ACTIVATE_REPORT
Paramètres d'archivage pour R3_ACTIVATE_REPORT
Automation Engine
334
Problème de stabilité avec des instances SAP chez de nombreux Agents
SAP (connexion RFC) sur un serveur :
Symptôme
Le Serveur RFC/CPIC externe ne peut ouvrir de nouvelle connexion
et le message d'erreur suivant s'affiche :
LOCATION CPIC (TCP/IP) on local host ERROR max no. of 100
conversations exceeded
Origine
Le nombre de connexions parallèles pouvant être maintenues dans la bibliothèque est limité à 100.
Solution
La Variable d'environnement CPIC_MAX_CONV vous permet d'augmenter cette valeur.
Windows : set CPIC_MAX_CONV=&lt;n&gt;
p. ex. set CPIC_MAX_CONV=500 (pour 500 connexions)
Unix : setenv CPIC_MAX_CONV &lt;n&gt; ( csh )
p. ex. setenv CPIC_MAX_CONV 500 (pour 500 connexions)
Unix : export CPIC_MAX_CONV=&lt;n&gt; ( ksh )
p. ex. export CPIC_MAX_CONV=500 (pour 500 connexions)
iSeries : ADDENVVAR ENVVAR(CPIC_MAX_CONV) VALUE(&lt;n&gt;)
p. ex. ADDENVVAR ENVVAR(CPIC_MAX_CONV) VALUE(500) (pour 500 connexions)
Problème de transmission de mot de passe à SAP
Après la mise à jour vers les versions 2004s et ultérieures de SAP Netweaver, la connexion
de l'Utilisateur CPIC ne fonctionne plus
Symptôme
Les essais de connexions basées sur mot de passe (sur les systèmes : ABAP à partir de la version
7.00 / NetWeaver 2004s / mySAP ERP 2005) échouent, même si l'Utilisateur a enregistré un mot
de passe a priori correct dans un composant frontal ou la destination d'un autre système.
Cependant, une connexion directe SAPGUI avec le même mot de passe réussit.
Origine
Les systèmes ABAP à partir de la version 2004s (7.00) de NetWeaver prennent en charge des mots
de passe de 40 caractères maximum, et sensibles à la casse. Dans les anciennes versions, la
limite était de 8 caractères et toutes les minuscules étaient mises en majuscules.
335
Chapter 7 L'Automation Engine et les systèmes cible
Si un mot de passe non rétrocompatible est utilisé dans le nouveau système, et si le composant
frontal ou intermédiaire ne peut traiter correctement ces mots de passe, la connexion échoue. La
raison en est en général la conversion (invisible) minuscule/majuscule.
En effet, le mot de passe entré par l'Utilisateur n'arrive pas au Serveur sous sa forme originale, mais
sous une forme modifiée soit directement après la saisie, soit lors de la transmission (qui s'effectue
à travers de nombreux composants).
Définitions
l
Mot de passe : rétrocompatible / non rétrocompatible
Un mot de passe est rétrocompatible s'il a 8 caractères au maximum et ne contient aucune
minuscule.
Un mot de passe n'est pas rétrocompatible s'il a plus 8 caractères au maximum et/ou
contient au moins une minuscule.
Les anciennes versions des systèmes ABAP ne prennent en charge que les mots de passe
rétrocompatibles. A partir de la version 7.00, les deux sortes de mots de passe peuvent être
utilisées. Comme les minuscules ne sont plus converties en majuscules, les mots de passe
des nouvelles versions des systèmes ABAP ne sont généralement pas rétrocompatibles.
l
Méthode de hachage de mots de passe / Versions de Code
Les systèmes ABAP ne sauvegardent pas les mots de passe en clair. Ils calculent à partir
des données saisies une somme de contrôle qu'ils sauvegardent avec les méta-données
décrivant le mode de hachage ("version de code"). Ces informations sont enregistrées dans
les données de référence de l'Utilisateur et utilisées lors de la vérification du mot de passe. A
partir du mot de passe saisi, une somme de contrôle est calculée avec la version de code
enregistrée dans les données de référence de l'Utilisateur et comparée à celle de ces mêmes
données.
La quantité des méthodes de hachage dépend de la version du programme, les nouvelles
prenant toujours en charge celles des versions précédentes. De cette façon, la connexion
protégée par mot de passe est toujours possible, même après une mise à jour.
Seules les méthodes de hachage de mot de passe des versions à partir de 7.00 prennent
aussi en compte les mots de passe non rétrocompatibles. Les anciennes versions ne
prennent en charge que les mots de passe rétrocompatibles.
Ce sont donc les données enregistrées dans les données de référence de l'Utilisateur
(version de code) qui déterminent tout d'abord la prise en compte éventuelle de la connexion
effectuée avec des mots de passe non rétrocompatibles.
Solution
l
Emploi d'Utilisateurs techniques (dans des destinations RFC) :
Nous vous conseillons d'utiliser le type d'Utilisateur SYSTEM (ou SERVICE, si la fonction
SAPGUI est nécessaire) sur le Serveur, car c'est le seul type pour lequel la durée de validité
du mot de passe est illimitée. Tant que le mot de passe doit être saisi dans une destination
RFC d'une version ancienne d'un système (= Client RFC), il doit être défini de façon
rétrocompatible au niveau du Serveur Cela est toujours possible aux types SYSTEM ou
Automation Engine
336
SERVICE, même si les règles de définition des mots de passe obligent l'utilisation de mots
de passe non rétrocompatibles (avec login/min_password_lng &gt; 8 ou login/min_
password_lowercase &gt; 0 par ex.).
l
Emploi d'anciens composants frontaux ou intermédiaires et connexion d'Utilisateurs
"normaux" (de type DIALOG) :
Dans ce cas, il n'est pas indiqué de modifier les mots de passe des nombreux Utilisateurs
(comme dans le cas précédent des utilisateurs techniques). Vous devrez dans ce cas
remplacer les composants frontaux / intermédiaires obsolètes. La remarque SAP 792850
énumère les versions à partir desquelles certains composants frontaux et intermédiaires
prennent en charge les mots de passe non rétrocompatibles. Il peut être de plus nécessaire
d'actualiser d'autre composants logiciels (d'autres fournisseurs par ex.) dépendant de ces
mêmes composants, dans le cas notamment où ces composants ont une fenêtre de
dialogue de saisie de mot de passe propre mais ne prennent pas en charge les mots de
passe non rétrocompatibles.
Provisoirement et à titre de test, vous pouvez définir le paramètre de profil login/password_
downwards_compatibility sur 2 ou 3. Dans ce cas, le Serveur vérifie si le Client a envoyé un
mot de passe rétrocompatible (coupé après 8 caractères et converti en majuscules) au lieu
du mot passe non rétrocompatible attendu. Cela est alors journalisé dans le système (pour
analyse des erreurs) et la connexion est considérée comme réussie (paramètre sur 3) Le
paramètre peut être modifié dynamiquement, sans redémarrage du système avec la
transaction SAP RZ 11.
7.11.9 Certification
Résumé
Les fonctionnalités liées à SAP sont naturellement certifiées.
337
Chapter 7 L'Automation Engine et les systèmes cible
Le tableau suivant présente une liste de tous les certificats :
Solution Interface
Software
Interface SAP
Agent AE for SAP
BC-XBP 6.10 - Background Processing, Job Scheduling 6.10
(Vers. 2.0)
BC-XBP 7.0 - Background Processing, Job Scheduling 7.0 (Vers.
3.0)
JAVA-JXBP 7.1
Agent AE for SAP BW
BW-SCH 3.0 - Scheduling for SAP BW 3.0
Agent AE for J2EE/JMX
JAVA-EE-STD 7.1
Rubriques connexes :
Partenaires SAP
SAP Developer Network (SDN)
7.12 L'Automation Engine et Siebel
7.12.1 Démarrage et surveillance de Tâches
L'Agent Siebel utilise l'interface de ligne de commande de Siebel Server Manager pour l'exécution
des Tâches dans Siebel. Le répertoire dans lequel celui-ci se trouve doit être saisi dans le fichier
INI de l'Agent Siebel, dans la section [VARIABLES].
Automation Engine
338
Exemple :
[VARIABLES]
UC_SIEBEL_SRVRMGR=C:\siebel\srvrmgr.exe
Dans l'onglet Script du Job Siebel, il est possible de marquer les commandes devant être
exécutées dans Siebel. Pour ce faire, un script nommé SI_START_TASK est à votre disposition.
La commande Siebel est transmise avec le paramètre CMD= de ce script :
SI_START_TASKCMD="Commande Siebel"
Chaque ligne de script contenant "SI_START_TASK" est une Tâche particulière dans Siebel.
Attention : la commande Siebel doit impérativement commencer par "start task" pour qu'une
surveillance de la Tâche (par exemple : interruption, poursuite) soit possible. Si vous utilisez "run
task", le Job Siebel est interrompu et un message d'erreur s'affiche.
A la fin de l'exécution des Tâches, deux fichiers log sont disponibles :
1) Fichier Log de l'appel du Siebel Server Manager
2) Fichier log de la Tâche
Dans la section [VARIABLES] du fichier INI de l'Agent Siebel, définissez où ceux-ci doivent être
enregistrés. Les fichiers Log peuvent être transmis sous forme de rapport par l'Agent Siebel vers
l'Automation Engine.
Exemple :
[VARIABLES]
UC_SIEBEL_SRVRMGR=C:\siebel\srvrmgr.exe
UC_SIEBEL_LOGPATH=C:\siebel\siebelLOGS\
Attention : le contenu du rapport peut être lu avec le script PREP_PROCESS_REPORT. Le type
de rapport "LOG" représente ainsi le fichier log de l'exécution de Siebel Server Manager et le type de
rapport "REP" représente le fichier log de la Tâche.
Rubriques connexes :
Onglet Attributs de l'hôte - Siebel
7.13 L'Automation Engine et UNIX
7.13.1 Authentification des données d'identification
Les Jobs et Transferts de Fichiers doivent s'identifier avec succès au système d'exploitation
avant de pouvoir être exécutés. Les données de connexion sont enregistrées dans leur objet
Login.
L'Agent met à disposition deux possibilités pour vous permettre d'authentifier les noms d'utilisateur
et les mots de passe.
1. Authentification locale de l'utilisateur
2. Pluggable Authentication Modules (PAM)
L'authentification à l'aide de PAM n'est prise en charge que pour l'Agent sous Sun Solaris
(SPARC) !
339
Chapter 7 L'Automation Engine et les systèmes cible
Vous définissez dans le fichier INI de l'Agent la méthode que vous souhaitez voir utilisée. Dans la
section [MISC], il existe à cet effet un paramètre nommé Authentification=. Attribuez-lui soit la
valeur "local", soit "PAM".
Exemple :
[MISC]
authentification=local
Si vous décidez d'utiliser l'authentification par PAM, vous devez alors également indiquer le nom de
la bibliothèque.
Exemple :
[PAM]
Libname=libpam.so
Si la bibliothèque ne se trouve pas dans le répertoire par défaut, il faut inclure son chemin dans la
variable d'environnement LD_LIBRARY_PATH.
Attention : l'Agent doit impérativement posséder des privilèges root !
Rubriques connexes : Objet Login
7.13.2 Shell et options de shell
Pour un Job UNIX, il est possible de définir dans l'Onglet "Unix" un shell sous lequel ce Job doit
s'exécuter. Si nécessaire, il est également possible de spécifier des options pour l'exécution du
shell. Si aucun shell n'est sélectionné, UC4 utilise le shell par défaut du fichier passwd.
Les shells que vous pouvez choisir dans l'onglet "Unix" sont gérés dans la Variable UC_SHELL_
UNIX du Client 0000 Par défaut, les shells suivants y sont entrés :
l
l
l
l
l
bash
csh
ksh
sh
tcsh
Vous pouvez y rajouter d'autres shells en les entrant dans la Variable UC_SHELL_UNIX. En outre,
une ligne de script spécifique au shell doit être complétée dans l'Include TRAILER.UNIX. Elle a le
format suivant :
##UC4[shell]commande spécifique au shell
Détermination du chemin Shell
1. Si une chaîne de chemin d'accès est définie dans le fichier de configuration (section
STARTCMD, paramètre "shell_pfad"), ce chemin est repris.
Format de la chaîne de chemin d'accès : <Path name1>[:<Path name2>]...
Format nom du chemin d'accès : /<dir1>[/<dir2>]...
Automation Engine
340
2. Si le paramètre "chemin_shell" n'est pas indiqué, la variable d'environnement PATH est lue
et utilisée.
3. Si aucune variable d'environnement PATH n'existe, le répertoire "/bin" est repris.
Le nom de fichier Shell est créé à partir du chemin d'accès Shell et du Shell sélectionné (onglet
Attributs de l'Agent) et son droit d'exécution est vérifié. Si le fichier ne peut pas être exécuté ou
est introuvable, un message d'information apparaît et le Shell par défaut de l'utilisateur défini dans le
fichier passwd est utilisé. Si aucun Shell n'est indiqué dans le fichier passwd, le bourne-shell à partir
de "/bin/sh" est utilisé.
Détermination de l'option du Shell
Si des options du Shell sont définies dans l'onglet Attributs de l'Agent, ces options seront
utilisées.
Dans le fichier de configuration, il est possible de définir des options du Shell (section STARTCMD,
variables "Bourne_Shell_Opt", "Korn_Shell_Opt" et "C_Shell_Opt").
Si aucune des possibilités mentionnées ci-dessus n'est disponible, l'option standard "-c" est
applicable dans le programme.
7.13.3 ID utilisateur pour l'Agent UNIX
L'Agent UNIX doit être installé sous un ID utilisateur répondant aux exigences suivantes :
l
l
Le sous-répertoire "temp" doit être défini de manière à ce qu'il puisse être lu par tout autre ID
utilisateur. Pour ce faire, il ne suffit pas d'attribuer à ce répertoire un droit de lecture pour
tous, mais tous les sous-répertoires (à partir de root) doivent également avoir un droit de
lecture.
Le sous-répertoire "out" doit être défini de manière à ce que tout autre ID utilisateur puisse y
accéder en écriture. Pour ce faire, tous les répertoires de niveau supérieur doivent au moins
posséder un droit de lecture (voir plus haut).
7.13.4 Agent UNIX - Prise en charge du Transfert de
Fichier
Lors de la définition d'un objet Transfert de Fichier, il est possible de spécifier dans l'onglet
"Transfert de Fichier" des options supplémentaires dans le champ "Attributs de fichier".
Sous UNIX, il n'existe pas d'attributs de fichier. Toutes les indications jusqu'à l'option "reclen" et
"nl" sont donc aussi ignorées. Les options doivent être séparées par une virgule.
Options pour le champ d'attribut source
l
l
reclen - longueur de l'enregistrement (en octets).
nl=mixed - si un caractère CR se trouve à la fin d'une ligne d'un fichier texte, cela peut rendre
le fichier inutilisable sur de nombreux systèmes. La valeur "mixed" permet son élimination
automatique.
Options pour le champ d'attribut cible
l
nl : caractère de séparation des lignes
Valeurs autorisées : "crlf", "lf" (par défaut) et "none"
"crlf" - Retour chariot avec saut de ligne (carriage return and line feed).
341
Chapter 7 L'Automation Engine et les systèmes cible
"lf" - Saut de ligne (line feed).
"none" - Pas de séparation de ligne.
Exemple : nl=crlf
7.13.5 Droits pour la suppression de fichiers source
dans les Transferts de Fichiers
Le Transfert de Fichier vous permet de définir la suppression du fichier après le transfert. Dans le
cas d'une source UNIX, différents droits doivent être vérifiés. Le graphique de traitement cidessous vous montre la progression exacte.
Informations relatives au graphique de traitement
User-UID = ID de l'Utilisateur indiqué dans l'objet Login de la source (zone "De" dans l'onglet
"Transfert de Fichier").
Droit de suppression = Les droits "wx" sur le dossier dans lequel le fichier se trouve.
Lors de la vérification, le système recherche User-GID=Ordner-GID pour déterminer si l'Utilisateur
fait partie du Groupe appartenant également au dossier.
Automation Engine
342
7.13.6 Interrogation du système de fichiers UNIX
A l'aide d'un exemple, nous allons montrer comment le système de fichiers UNIX peut être
interrogé avec l'utilitaire UCXE???F de l'Automation Engine.
Doivent être énumérés tous les fichiers,
l
l
l
qui se trouvent dans le répertoire de base de l'ID "UC4" et dans tous les répertoires se
trouvant dans celui-ci,
dont le dernier accès se situe entre le 1.10.1999 00:00 et le 7.10.1999 23:50
dont la taille se situe entre 1 et 9999 octets.
La création, la configuration et le traitement d'une séquence de données sont un processus
complexe au cours duquel les fonctions et les instructions de script ainsi que des objets spéciaux
343
Chapter 7 L'Automation Engine et les systèmes cible
interagissent. L'exemple suivant montre les définitions nécessaires dans les objets impliqués et à
quoi les scripts font référence. L'exemple est intentionnellement succinct et facile pour clarifier le
principe en dépit de sa complexité.
Grâce à l'utilitaire UCXE???F de l'Automation Engine, les possibilités d'interrogation par rapport
à la commande de système d'exploitation habituelle "Is" sont élargies. Il doit être installé sur l'hôte.
Les points d'interrogation du nom du programme représentent l'ID et la version du système du
dérivé UNIX.
Job: SC.PROCESS.UNIXFS
Dans le script de ce Job, la fonction PREP_PROCESS est appelée afin de préparer le traitement de
la séquence de données. Les paramètres suivants sont ainsi transmis :
l
l
l
l
l
Nom de la machine sur laquelle un Job d'Evènement doit être exécuté, ici "SOLARIS".
Type du Job Evènement devant être exécuté, ici : "UNIXFS".
La saisie "UNIXFS" entraîne l'exécution du Job "EVENT.UNIXFS".
Par défaut, les Jobs Evènements "EVENT.BS2000CMD", "EVENT.BS2000UCON",
"EVENT.UNIXCMD", "EVENT.UNIXFS" et "EVENT.WINCMD" sont fournis dans le Client
"0000". Ils peuvent être utilisés directement ou en tant que modèles pour des Jobs
Evènement personnels.
Le troisième paramètre de fonction spécifie les lignes générées par la commande devant être
prises en compte. Le caractère générique "*" permet d'accepter toutes les lignes générées.
Avec les mots clés "PFAD" et "FSPAR", d'autres paramètres contenant les interrogations
du système de fichiers UNIX sont introduits. Après le mot clé "FSPAR", suivent des mots
clés et des attributions de valeurs pour l'intervalle d'accès, la taille du fichier et la recherche
de tous les sous-répertoires. Les particularités suivantes s'appliquent pour la définition de la
période d'accès : Le début est indiqué sans marque horaire. L'heure est alors
automatiquement définie sur 00:00. La fin se compose des date et heure séparées par un
espace. Etant donné que l'espace sépare chacune des valeurs au sein du paramètre, les
date et heure doivent se trouver entre guillemets.
"UC4ADMIN" est spécifié comme objet Login.
Automation Engine
Le Job "EVENT.UNIXFS" est ainsi démarré.
Job: EVENT.UNIXFS
Ce Job est le Job "EVENT.UNIXFS" fourni par défaut dans le Client "0000".
Il est important que la case à cocher "Dialogue des attributs" soit sélectionnée dans l'onglet
Attributs de ce Job. Cela permet de lire l'objet Include "ATTRDIA.UNIX" qui provoque
normalement le dialogue des attributs.
Include: ATTRDIA.UNIX
344
345
Chapter 7 L'Automation Engine et les systèmes cible
Cela vous permet de renseigner tous les attributs figurant dans le script de l'Include. Le dialogue
des attributs n'est pas affiché, car la transmission des contenus de la Variable se fait en interne.
Job: EVENT.UNIXFS
Au démarrage du Job "EVENT.UNIXFS", les Variables de script "&PFAD" et "&FSPAR" sont
renseignées. Vous obtenez leur attribution à partir des paramètres de la fonction de script PREP_
PROCESS du Job "SC.PROCESS.UNIXFS". Avec ces valeurs, l'utilitaire de l'Automation Engine,
qui transmet les informations demandées au système de fichiers UNIX, est exécuté. Les points
d'interrogation du nom de l'utilitaire ne doivent pas être remplacés, étant donné qu'après installation
correcte de l'utilitaire, celui-ci doit pouvoir être démarré.
Automation Engine
346
Pour chaque Transfert de Fichier, le fichier en sortie est transféré au Automation Engine et il est à
disposition en tant que séquence de données. Le Job "EVENT.UNIXFS" est terminé.
Job: SC.PROCESS.UNIXFS
La fonction PREP_PROCESS renvoie une valeur qui est une référence aux données de gestion de
la séquence de données à traiter.
Cette valeur est passée à l'instruction :PROCESS comme paramètre de démarrage. :PROCESS et
:ENDPROCESS forment une boucle de processus qui va s'exécuter ici jusqu'à ce que la fin de la
séquence de données soit atteinte. A chaque cycle de la boucle, une nouvelle ligne de cette
séquence de données est lue dans la mémoire de travail. La fonction GET_PROCESS_LINE peut
calculer, avec la valeur actuelle, le contenu des lignes de la séquence de données.
Dans l'exemple, la ligne respective est affichée dans le protocole d'activation.
L'instruction :STOP interrompt l'exécution du Job et affiche ce protocole d'activation.
7.13.7 PREP_PROCESS - Interrogation du système de
fichiers UNIX
Pour l'interrogation du système de fichiers UNIX, nous mettons à disposition l'utilitaire
"UCXE???F" de l'Automation Engine. Les points d'interrogation représentent l'ID et la version du
système du dérivé UNIX.
Grâce à l'utilitaire de l'Automation Engine, les possibilités d'interrogation par rapport à la commande
de système d'exploitation habituelle "Is" sont élargies. Pour obtenir ainsi des informations sur le
système de fichiers UNIX, les paramètres de la fonction de Script PREP_PROCESS doivent être
spécifiés selon une syntaxe spéciale.
Dans un paramètre de la fonction de Script, le nom de fichier ainsi que le chemin peuvent être
nommés. Ce paramètre est introduit par le mot clé PFAD. Pour les noms de fichiers, vous pouvez
utiliser les caractères génériques "*" et "?". "*" signifie n'importe quelle chaîne de caractères et "?"
exactement un caractère. Si ni le chemin ni le nom de fichier ne sont spécifiés, le répertoire actuel
est traité. A l'heure actuelle, il n'est pas encore possible d'utiliser les chemins relatifs.
347
Chapter 7 L'Automation Engine et les systèmes cible
Un autre paramètre, commençant par le mot clé FSPAR, accepte les valeurs pour l'interrogation du
système de fichiers. Ceux-ci se composent à nouveau d'un mot clé et d'une valeur. Si plusieurs
autres valeurs sont spécifiées, il faut les séparer par un espace. Si un espace se trouve au sein
d'une de ces valeurs, cette valeur doit être placée entre des guillemets doubles (exemple :
ATIME="980101 1000").
Mot clé
Valeur/description
PFAD (ou :
PATH)
Mot clé de paramètre pour la spécification du nom de fichier et du chemin.
FSPAR
Mot clé de paramètre pour la spécification du système de fichiers.
TYPE
Indication d'un type de fichier :
- fichier ordinaire
D - fichier de répertoire
L - référence symbolique (non incluse dans POSIX.1 ou SVR4)
B - fichier de matériel orienté bloc
C - fichier de matériel orienté caractères
P - Pipe ou FIFO
S - Socket (non incluse dans POSIX.1 ou SVR4)
Par défaut : tous les types de fichiers
SIZE
Sélection de la taille du fichier
OWNER
Nom du propriétaire du fichier (Utilisateur), pas celui de l'ID Utilisateur
GROUP
Nom du propriétaire du fichier (Groupe), pas celui de l'ID Groupe
ATIME
Marque horaire du dernier accès
MTIME
Marque horaire de la dernière modification
STIME
Marque horaire de la modification du statut du fichier
MODE
Si vous spécifiez "Récursif", les répertoires subordonnés sont également
lus.
Remarques
La spécification de SIZE est uniquement possible pour les fichiers normaux. Si SIZE a été défini, la
valeur TYPE est définie en interne sur fichier normal. La taille du fichier est indiquée en octets.
Exemples :
SIZE=100,
Fichiers de plus de 100 octets
SIZE=100
Fichiers de moins de 100 octets
SIZE=,100
Fichiers de moins de 100 octets
SIZE=100,4000 Fichiers de 100 à 4000 octets
Lors de la spécification de ATIME, MTIME et STIME, les formats de date et d'heure suivants sont
pris en charge. Les abréviations "A" pour l'année, "M" pour le mois et "J" pour le jour sont utilisées.
Si aucune heure n'est spécifiée, "0000" est utilisé par défaut.
AAAAMMJJ,
"AAAAMMJJ HHMM",
AAMMJJ,
"AAMMJJ HHMM".
Exemple :
ATIME=19971231
Fichiers antérieurs à cette date
Automation Engine
348
ATIME=,19971231
Fichiers antérieurs à cette date
ATIME=19971231,
Fichiers postérieurs à cette date
ATIME=19970101,19971231 Fichiers compris entre ces deux dates
Exemple
Dans le répertoire de base de l'ID Utilisateur "UC4", tous les fichiers dont le dernier accès se trouve
entre le 6.10.1997 12:00 et le 31.12.1998 23:50 et dont la taille de fichier se situe entre 1 et 9999
octets sont énumérés. Ainsi, tous les répertoires se trouvant sous le répertoire de base sont pris en
compte.
:SET &HND = PREP_PROCESS('SOLARIS','UNIXFS','*','UC_LOGIN=UC4','PFAD=./*',
'FSPAR=ATIME="19971006 1200","19981231 2350" SIZE=1,9999
MODE=REKURSIV')
Rubriques connexes : Interrogation du système de fichiers UNIX
Généralités sur les Scripts
Script - Liste alphabétique
Script - Division fonctionnelle
7.13.8 Interruption de processus AIX en cas de
mémoire insuffisante
Il peut y avoir des interruptions dans AIX lorsque la mémoire attribuée à un processus pour le
traitement en cours ne suffit plus. Par défaut, 256 Mo sont attribués à chaque processus sur un
système AIX. Avec la Variable d'environnement LDR_CNTRL, il est possible d'augmenter cette
limite de mémoire à 2 Go maximum.
Cette Variable doit impérativement être définie sur AIX avant le démarrage de l'Automation Engine.
Les commandes suivantes doivent être exécutées :
LDR_CNTRL=MAXDATA=0x80000000
export LDR_CNTRL
La valeur 8 représente 8 x 256 Mo (il s'agit de la valeur maximale) et correspond à 2 Go.
Avec ce paramétrage, un Agent 32 bits peut allouer jusqu'à 2 Go de mémoire. Les interruptions dues
à un manque de mémoire disponible peuvent avant tout se produire lors de la transmission ou du
traitement de grandes listes spool ou de grands rapports.
Dans les Jobs pour lesquels plus de 2 Go de mémoire sont nécessaires, la limite du Job doit être
élevée manuellement par l'Utilisateur au moyen de la commande ulimit (si l'Utilisateur possède
l'autorisation correspondante). Il est également possible de ne pas utiliser de limite de mémoire en
paramétrant le Job au moyen de la commande ulimit -d unlimited.
7.13.9 Agrandissement des fichiers centraux
Par défaut, AIX crée uniquement un fichier central minimal. Pour qu'une analyse rapide du
problème puisse être effectuée en cas d'erreur, un fichier central complet doit être disponible. La
Variable d'environnement système "fullcore" doit donc être définie sur la valeur "true".
349
Chapter 7 L'Automation Engine et les systèmes cible
Interrogez tout d'abord la Variable. "sys0" représente le nom du périphérique.
lsattr -El sys0 | grep fullcore
Le résultat ressemble par défaut à ce qui suit :
fullcore
false
Enable full CORE dump
True
Il existe plusieurs façons de définir la Variable "fullcore" sur la valeur "true". Le plus simple consiste
à exécuter l'outil "smit" avec le paramètre "chgsys" sous l'Utilisateur root.
smit chgsys
A l'aide de l'outil, définissez la Variable "Enable full CORE dump" sur la valeur "true". Cela active la
Variable "fullcore" sur l'ensemble du système.
Il existe encore deux autres paramètres avec lesquels vous pouvez définir la taille de fichier
maximale et donc également celle du fichier central. Avec la commande "ulimit", interrogez les
valeurs définies :
ulimit -a
Le résultat pourrait, par exemple, ressembler à ce qui suit :
file(blocks)
coredump(blocks)
2097151 <-- !
2097151 <-- !
La commande "ulimit" peut modifier les valeurs. L'option "-f" indique la taille de fichier maximale en
blocs de 512 octets ou de façon illimitée.
Exemples :
ulimit -f 4096
# 4096 * 512 Bytes
ulimit -f unlimited
L'option "-c" définit la taille maximale des fichiers centraux en blocs de 512 octets ou de façon
illimitée.
Exemples :
ulimit -c 4096
# 4096 * 512 Bytes
ulimit -c unlimited
7.13.10 Codes retour des Jobs UNIX
L'Agent journalise dans le rapport d'activation du Job toutes les erreurs qui se sont produites.
En outre, il définit en fonction de l'exécution du Job un des codes retour suivants :
Code retour
Description
0
Aucune erreur n'est survenue.
1-200
Code d'erreur du système d'exploitation.
201
setgid() - L'Agent ne possède pas les privilèges requis.
202
initgroup() - L'Agent ne possède pas les privilèges requis.
203
setuid() - L'Agent ne possède pas les privilèges requis.
205
chdir() - Le répertoire de modification pour l'Utilisateur de Job n'existe pas
Automation Engine
206
Le fichier de rapport de Job ne peut pas être ouvert.
208
dup2(STDOUT) - La sortie par défaut ne peut pas être attribuée.
209
dup2(STDERR) - L'erreur par défaut ne peut pas être attribuée.
210
execle() Erreur - Le fichier de Job ne peut pas être exécuté.
350
Dans l'objet Job, vous pouvez décider dans l'onglet "Exécution" à partir de quel code retour le
Job doit être interrompu.
7.13.11 Activation de la trace de l'informateur de Job
Les instructions suivantes expliquent comment activer la génération de trace de l'informateur des
Jobs UNIX et VMS. Ceci est possible par Job, par Client ou pour l'ensemble du système.
La trace de l'informateur de Job est inscrite par l'Agent dans le rapport de Job (REP). Ces Tâches
se trouvent au début (informateur de démarrage) et à la fin (informateur de fin) du rapport et
contiennent des informations sur le déroulement de la connexion de l'informateur. Si une erreur se
produit en rapport avec le programme d'informateur, la génération de trace est activée
automatiquement.
La génération est activée de la manière suivante :
A l'exécution du programme d'informateur de Job dans l'Include dans l'en-tête et/ou le pied de page
(voir : Includes de Job), le paramètre TRC= doit être utilisé. Il est indiqué par défaut dans les
Includes de Job pour Unix. La Variable de Script &UC_MD_JOB_TRC préalablement définie est
transmise à ce paramètre. La génération de trace peut ainsi être activée ("1") ou désactivée ("0") via
cette Variable.
L'activation de la trace est possible au niveau suivant :
l
Pour tous les Jobs du système AE
Configuration dans les Includes dans l'en-tête / le pied de page dans le Client système.
Cette configuration n'est pas recommandée, car les rapports de tous les Jobs UNIX ou
VMS grossissent nettement et la durée d'exécution s'allonge.
l
l
Pour tous les Jobs d'un Client
Les Includes dans l'en-tête / le pied de page doivent être créés et adaptés dans le dossier
<défaut> du Client.
Par Job (recommandé)
La Variable de Script doit être définie dans l'onglet Pré-traitement.
L'activation de la génération de trace de l'informateur de Job est prévue par défaut dans l'Include
dans l'en-tête des Jobs Unix. Ouvrez l'objet Include HEADER.UNIX dans le Client système. Vous
y verrez la définition de la Variable &UC_JOB_MD_TRC. La valeur de la Variable est transmise au
paramètre TRC= par l'exécution de l'informateur de Job (ligne JCL).
351
Chapter 7 L'Automation Engine et les systèmes cible
Il est ainsi possible d'activer la génération de trace pour un Job Unix spécifique en ajoutant la ligne
de Script suivante dans l'onglet Pré-traitement :
:SET &UC_JOB_MD_TRC = '1'
Automation Engine
352
Rubriques connexes : Informateur de Job des Agents
Logging / Trace
7.13.12 Solaris: Déclencher les Jobs du processus des
Agents
Si l'Agent sous Solaris est démarré via SMF, tous les processus démarrés par l'Agent (Jobs) sont
liés au même contrat. En cas de blocage, d'interruption ou de redémarrage de l'Agent, cela entraîne
également l'interruption de ces processus. Pour y remédier, les Jobs peuvent être séparés du
Contrat de l'Agent, afin qu'ils puissent continuer à fonctionner sans être impactés par le processus
de l'Agent.
Cela fonctionne par exemple la manière suivante :
Tout d'abord, les 2 fichiers Script Shell chk-uc4-start.ksh et chk-uc4.ksh sont créés avec le
contenu suivant :
chk-uc4-start.ksh :
nohup /usr/local/bin/sudo -u mgws /var/tmp/chk-uc4.ksh&
chk-uc4.ksh :
while true
do
echo "$(date) $0" >> /var/tmp/chk-uc4.log
353
Chapter 7 L'Automation Engine et les systèmes cible
sleep 10
done
Dans le Script du Job, le Script Shell chk-uc4-start.ksh doit être appelé avec l'utilitaire "ctrun".
Insérez par exemple la ligne suivante au début du Script de Job :
ctrun -l child /var/tmp/chk-uc4-start.ksh
7.13.13 Restrictions des ressources via ulimit
A l'aide de la commande UNIX "ulimit", il est possible de limiter les ressources du système
d'exploitation pour chaque utilisateur. Cela permet de garantir qu'un utilisateur n'utilise pas trop de
ressources et que les performances du système n'en pâtissent pas.
Il est en général recommandé de ne pas définir une telle limite pour l'utilisateur sous lequel les
composants sont démarrés. Si un composant est soumis à cette limite, il peut arriver qu'il ne
fonctionne pas comme souhaité (par exemple : impossibilité d'ouverture du rapport par l'Agent) ou
dans certains cas plus rares, cela peut même occasionner un plantage du programme.
Supprimez par conséquent les éventuelles limites fixées ou définissez la valeur la plus haute
possible pour ces dernières.
Cela concerne tous les composants fonctionnant sous UNIX. En font partie l'Agent UNIX, les
utilitaires et l'Interface Utilisateur, mais également les Agents Java et ERP.
Vous pouvez utiliser le concept de ressources de Automation Engine, afin de réduire la
consommation des ressources du système d'exploitation.
7.14 L'Automation Engine et VMS
7.14.1 Agent VMS - Prise en charge du Transfert de
Fichier
Lors de la définition d'un objet Transfert de Fichier, il est possible de spécifier dans l'onglet
"Transfert de Fichier" des attributs de fichier pour la destination du Transfert de Fichier.
Attributs possibles
Attribut
Désignation des
attributs
alq = Numéro
Allocation quantity ;
ignoré si une allocation
XAB est présente.
Valeurs
possibles
Description
Automation Engine
bls = Numéro
354
Device block size
(s'applique uniquement
aux fichiers d'organisation
séquentielle)
deq = Numéro Default extension
quantity.
fop = Valeur,
Valeur, ...
fsz = Numéro
File-processing options
ctg
Contiguous : indique que l'espace
pour un fichier doit être alloué de
manière contiguë.
cbt
Contiguous-best-try.
cif
Create if nonexistent.
dfw
Deferred write : La réécriture dans
le fichier du tampon modifié est
différée. S'applique aux fichiers
relatifs et indexés et aux fichiers
séquentiels ouverts pour un accès
partagé.
dlt
Delete file on close.
mxw
Maximize version number.
nef
Not end-of-file.
pos
Current position.
rck
Read check compare operation.
rwc
Rewind file on close.
rwo
Rewind file on open.
scf
Submit as command file on close.
spl
Spool to system printer on close.
sqo
File can only be processed in a
sequential manner.
sup
Supersede.
tef
Truncate at end-of-file.
tmd
Temporary delete.
tmp
Temporary (no file directory).
wck
Write check compare operation.
cr
Carriage-return control.
Fixed header size.
gbc = Numéro The requested number of
global buffers for a file.
mbc =
Numéro
Multiblock count.
mbf = Numéro Multibuffer count.
mrs = Numéro Maximum record size.
rat = Valeur,
Valeur, ...
Record Attribute
355
Chapter 7 L'Automation Engine et les systèmes cible
rfm = Valeur
rop = Valeur,
Valeur,...
Record Format
Record processing
Operations
blk
Disallow records to span block
boundaries.
ftn
Fortran print control.
none
Explicitly forces no carriage
control.
prn
Print file format.
fix
Fixed-length record format.
stm
RMS stream record format.
stmlf
Stream format with line-feed
terminator.
stmcr
Stream format with carriage-return
terminator.
udf
Undefined.
var
Variable-length record format.
vcf
Variable-length record with fixed
control.
asy
Asynchronous I/O.
cco
Cancels Ctrl/O (used with Terminal
I/O).
cvt
Capitalizes characters on a read
from the terminal.
eof
Positions the record stream to the
end-of-file for the connect operation
only.
nlk
Do not lock record.
pmt
Enables use of the prompt
specified by "pmt=usr-prmpt" on
input from the terminal.
pta
Eliminates any information in the
type-ahead buffer on a read from
the terminal.
rah
Read ahead.
rea
Locks record for a read operation
for this process, while allowing
other accessors to read the record.
rlk
Locks record for write.
rne
Suppresses echoing of input data
on the screen as it is entered on the
keyboard.
Automation Engine
356
rnf
Indicates that Ctrl/U, Ctrl/R, and
DELETE are not to be considered
control commands on terminal
input, but are to be passed to the
application program.
rrl
Reads regardless of lock.
syncsts
Returns a success status of
RMS$_SYNCH if the requested
service completes its task
immediately.
tmo
Timeout I/O.
tpt
Allows put/write services using
sequential record access mode to
occur at any point in the file,
truncating the file at that point.
ulk
Prohibits RMS from automatically
unlocking records.
wat
Wait until record is available, if
currently locked by another stream.
wbh/nowbh
Write behind.
7.14.2 Codes retour des Jobs VMS
La signification des codes retour dans VMS diffère de celle de l'Automation Engine. La valeur "1"
indique dans VMS que le Job s'est bien terminé. "0" représente les avertissements. En revanche,
dans l'Automation Engine, le code retour "0" signifie une exécution réussie et les valeurs
différentes de "0" représentent des erreurs.
Attention : l'Agent doit annoncer le code retour "1" au système AE sous la forme "0" !
Cela a naturellement pour effet que les avertissements et les exécutions de Job réussies ne sont
pas distinguables. Analysez donc la Variable $severity en fonction d'une commande VMS. Elle
contient le code retour des dernières commandes exécutées. Cela permet de contrôler, à l'aide du
Script, la progression du Job.
Définissez un objet Include pour l'analyse de la Variable $severity. Vous ne devrez ainsi
maintenir les lignes de Script que dans un seul objet et vous pouvez les insérer à un emplacement
quelconque dans vos Jobs.
Exemple pour un objet Include :
$
$
$
$
$
$
RETCODE = $severity
if (RETCODE .EQ. 0)
then
RETCODE = 3
goto RETURN
endif
Le système vérifie si le code retour représente un avertissement. Dans ce cas, l'exécution du Job
se poursuit dans la queue. "goto RETURN" passe ainsi dans l'objet Include "TRAILER.VMS" qui
est exécuté à la fin de chaque Job.
357
Chapter 7 L'Automation Engine et les systèmes cible
Rubriques connexes : Job - Includes
7.15 L'Automation Engine et WebSphere MQ
7.15.1 Connect pour WebSphere MQ Queue Manager
Connect est l'élément de jonction entre WebSphere MQ Queue Manager et Automation Engine.
Connect lit la demande, un message au format XML, dans la file d'attente des demandes (SIQ) et la
transmet à Automation Engine pour exécution. Un format interne est utilisé pour cela. Connect
attend que le Automation Engine confirme l'exécution et qu'il annonce sa fin. Un format interne est
également utilisé pour cela. La réponse est attribuée par Connect à la demande et elle est écrite au
format XML dans la file d'attente des réponses (CIQ).
Message XML de la demande
Elément XML
Description
<apiscriptexec>
Début de la demande API.
Cet élément XML doit exister.
<uc-env request="ID"
release="1">
L'ID spécifié caractérise la demande.
L'attribut "request=" doit être renseigné. Les messages
d'Connect renvoient à cet ID. Le message réponse comprend
également l'ID.
L'attribut "release=" n'est pas obligatoire. S'il est entré, seul "1"
est autorisé à l'heure actuelle. L'attribut sert à l'avenir à spécifier
la version.
Cet élément XML doit exister.
Automation Engine
<requestname name="any
name">
358
Nom de la demande.
L'attribut "name=" n'est pas obligatoire.
Cet élément XML doit exister.
<control>
Cet élément XML doit exister.
<timeout unit="sec">10</timeout>
Limitation de l'exécution d'une demande.
L'exécution démarre avec l'Automation Engine avant le début de
connexion et se termine lorsque l'Automation Engine a accepté
l'exécution, ou lorsqu'une erreur insoluble se produit. L'attribut
"unit=" indique l'unité de l'exécution.
Valeurs autorisées : "1" - "31999"
Par défaut : "10"
Cet élément XML est facultatif.
<control
unit="sec">20</control>
N'est pas encore pris en charge dans la nouvelle version.
</control>
Fin de l'élément <control>
Cet élément XML est facultatif.
Cet élément XML doit exister.
<login>
Début de l'élément pour les informations Login.
Cet élément XML doit exister.
<system>Automation
Enginename</system>
Nom d'Automation Engine.
Le nom est utilisé pour vérifier la connexion à Automation
Engine. Le contenu correspond au paramètre name= du fichier
INI d'Automation Engine auquel Connect s'est connecté.
Cet élément XML doit exister.
<client>client number</client> Numéro de Client pour la connexion à Automation Engine.
Cet élément XML doit exister.
<name>user name</name>
Nom de l'utilisateur pour la connexion à Automation Engine.
Cet élément XML doit exister.
<department>user&rsquo;s
department</department>
Service de l'utilisateur pour la connexion à Automation Engine.
<passw>password</passw>
Mot de passe de l'utilisateur pour la connexion à Automation
Engine.
Cet élément XML doit exister.
Cet élément XML est facultatif.
<language>E/D/F</language> Sélection de la langue dans laquelle les messages doivent être
générés.
Si la langue n'est pas spécifiée, les messages sont affichés tels
que définis dans le fichier INI d'Connect.
Cet élément XML est facultatif.
359
Chapter 7 L'Automation Engine et les systèmes cible
<clienttype>C</clienttype>
Type de Client.
Si le type est spécifié, seul "C" est autorisé à l'heure actuelle.
Cet élément XML est facultatif.
<clientvers>client
version</clientvers
Version d'Connect.
Valeurs autorisées : version actuelle
Cet élément XML est facultatif.
</login>
Fin de l'élément XML <login>.
Cet élément XML doit exister.
<script><![CDATA[Script
content]]></script>
Instructions de Script devant être exécutées dans l'Automation
Engine.
Cet élément XML doit exister.
</request>
Fin de l'élément XML <request>.
Cet élément XML doit exister.
</uc-env>
Fin de l'élément XML <uc-env>.
Cet élément XML doit exister.
</apiscriptexec>
Fin de l'élément XML <apiscriptexec>.
Cet élément XML doit exister.
Exemple d'une demande
<apiscriptexec>
<uc-env request="ID1" release="1">
<request name="apiscriptexec">
<control>
<timeout unit="sec">10</timeout>
</control>
<login>
<system>UC4</system>
<client>98</client>
<name>NOM01</name>
<department>DEPARTEMENT01</department>
<passw></passw>
<language>F</language>
<clienttype>C</clienttype>
<clientvers>3.02A</clientvers>
</login>
<script><![CDATA[:SET &RUNID = ACTIVATE_UC_OBJECT(JOBS,EXAMPLE1)]]
></script>
</request>
</uc-env>
</apiscriptexec>
Automation Engine
360
Message XML de la réponse
Elément XML
Description
<apiscriptexec>
Cadre extérieur du message.
Cet élément XML existe toujours.
<uc-env request="ID"
release="1">
L'ID indiqué est extrait de la demande associée.
L'attribut "request=" est toujours affiché.
Cet élément XML existe toujours.
<result name="Reply">
Cet élément XML existe toujours.
<status>reason</status>
Raison de cette réponse à la demande.
A l'heure actuelle, la raison est toujours "completed".
Cet élément XML existe toujours.
<complcode>code</complcode>
Code de résultat que Connect fournit pour la demande
exécutée. Les codes possibles sont décrits dans le manuel
des messages.
Cet élément XML existe toujours.
<compltext>![CDATA[completion Texte descriptif du code de résultat.
text]]</compltext>
Cet élément XML existe toujours.
<returnvalue>value</returnvalue> Code retour des composants ayant participé à l'exécution
(AutomationEngine, parser XML, etc.).
Cet élément XML existe toujours.
<returntext>![CDATA[return text]] Description accompagnant le code retour.
</returntext>
Cet élément XML existe toujours.
</result>
Fin de l'élément XML <result>.
Cet élément XML existe toujours.
</uc-env>
Fin de l'élément XML <uc-env>.
Cet élément XML existe toujours.
</apiscriptexec>
Fin de l'élément XML <apiscriptexec>.
Cet élément XML existe toujours.
7.16 L'Automation Engine et Windows
7.16.1 Démarrage de programmes sous Windows
Attributs
Lors du démarrage de Jobs sous Windows, les paramètres suivants sont importants :
361
Chapter 7 L'Automation Engine et les systèmes cible
Domaine
Le domaine Windows dans lequel l'Utilisateur est défini.
Nom d'utilisateur
Le nom d'utilisateur Windows.
Mot de passe
Le mot de passe de l'Utilisateur.
BATCH (type d'identification)
Dans les droits de l'Utilisateur, il est possible d'autoriser certains types d'identification pour
l'Utilisateur. Les types d'identification possibles sont "interactive" et "batch". Si "batch" est le seul
type autorisé pour un Utilisateur, alors UC4 ne peut démarrer un Job que dans ce mode ; il faut donc
indiquer le paramètre BATCH.
DESKTOP
Si le Job démarré attend éventuellement des saisies de l'Utilisateur, cette option doit être définie. Le
processus est alors visible pour tout Utilisateur connecté. Il peut exécuter les données requises par
l'Utilisateur.
Si cette option n'est pas indiquée et que le processus attend une indication, il est suspendu et ne
peut être supprimé qu'au moyen du gestionnaire de Tâches.
Les attributs sont définis dans les cartes d'attribut du Job.
Attention !
l
l
l
l
Les attributs sont définis dans les cartes d'attribut du Job.
Tous les paramètres, à l'exception du mot de passe, sont définis dans les attributs du Job.
Le mot de passe est lu dans l'objet Login.
Ces nouvelles possibilités (par rapport à la version 1.10) ne sont à disposition que si le
paramètre "logon=1" est entré dans la section [GLOBAL] du fichier INI de l'Agent. Lorsque
l'Agent est démarré comme service, ce paramètre devrait être défini !
Dépendances du système
Selon le système d'exploitation et le type de démarrage de l'Agent, les dépendances suivantes
existent :
Agent
Fichier INI
Utilisateur
BATCH
DESKTOP
Agent sur bureau
logon=0
1.
1. 1. Agent sur bureau
logon=1
2.
2. 2. Agent comme service
logon=1
3.
3. 3. Automation Engine
362
1. sans importance, le démarrage se fait sur le Bureau avec le nom et les droits de l'Utilisateur
2. est utilisé : l'Utilisateur sur le Bureau doit posséder les privilèges nécessaires (comme
l'Utilisateur système)
3. est utilisé
Attention aux particularités suivantes :
l
Différence entre la connexion interactive et la connexion par Agent Win32 :
L'Agent ne charge pas le profil d'Utilisateur du Job dans la base de données du registre. Cela
signifie qu'un programme dont les données spécifiques à l'Utilisateur sont conservées dans
le registre (par ex. l'Interface Utilisateur enregistre la dernière connexion) ne peut pas y
accéder par l'intermédiaire d'un Job.
l
Chemin de démarrage :
Le chemin de démarrage est un paramètre requis dans l'Automation Engine pour
CreateProcess ou CreateProcessAsUser. S'il n'est pas encore indiqué, le Job hérite du
chemin de démarrage de l'Agent.
De plus, il ne faut pas oublier qu'on peut paramétrer un chemin de démarrage dans la
définition de l'Utilisateur qui apparaît dans la connexion interactive normale, mais qu'il ne
peut pas être exploité au démarrage par l'Automation Engine !
Le chemin de démarrage devrait donc toujours être indiqué !
Stratégie pour les Jobs sous Windows
Dans Windows, on fait la distinction entre quatre types de programmes :
1.
2.
3.
4.
Programmes avec Interface Utilisateur graphique (programmes GUI 32 bits ou 16 bits)
Programmes de console 32 bits (basés sur les caractères)
Anciens programmes DOS
Commandes de système d'exploitation (pas vraiment un programme, par ex. DIR, SET,
etc.)
Les types 1 et 2 (GUI et programmes de console) doivent si possible être démarrés par la ligne de
commande. Cela présente l'avantage de pouvoir déterminer le code de sortie du programme exact
de l'Automation Engine.
Les types 3 et 4 (programmes DOS et commandes de système d'exploitation) ne peuvent être
démarrés que par l'intermédiaire d'un fichier BAT. Le Job est bien ou mal terminé par le mécanisme
de l'agent Job.
Avant de démarrer le Job par l'Automation Engine, il faut essayer manuellement le fichier BAT ou la
ligne de commande sur le système cible ! Cela doit également être utilisé si possible par l'Utilisateur
sous lequel le Job sera exécuté ultérieurement.
Dans le cadre de programmes graphiques, des boîtes de dialogue Utilisateur peuvent toujours
apparaître. Dans ce cas, l'option DESKTOP est recommandée, au moins à des fins de test.
Rapport de Job : Le rapport de Job d'un Job Windows représente les Tâches du programme après
STDOUT ou STDERR. Généralement, seuls les programmes de console 32 bits ou la plupart des
programmes DOS génèrent un rapport de Job.
363
Chapter 7 L'Automation Engine et les systèmes cible
7.16.2 Programmes de test pour l'Agent Windows
Objectif
Etant donné qu'il existe de nombreuses possibilités de démarrer des Jobs ou des programmes
sous Windows, nous fournissons plusieurs programmes de test qui fonctionnent dans les
différents modes de Windows.
Fichiers
Les programmes se trouvent dans le sous-répertoire EXAMPLE de l'Agent Windows
(IMAGE:AGENTS\WINDOWS...).
Les programmes suivants sont fournis :
UCYBTX86C - programme de console 32 bits (fenêtre DOS)
UCYBTX86G - programme GUI 32 bits (Visual C++)
UCYBTX86V - programme GUI 32 bits (Visual Basic)
UCYBTIA64C - programme de console 64 bits (fenêtre DOS)
UCYBTX64C - programme de console 64 bits (fenêtre DOS)
Contrôle des programmes de test
Les programmes de test n'ont pas de fonction à proprement parler. Leur comportement peut être
contrôlé par des paramètres dans les options de démarrage.
/w<n>
attend <n> secondes
/d
Etablir un dialogue (par ex. sélection de fichier)
/m
Message (boîte de message)
/o<n>
Afficher <n> lignes sous cette forme standard (=rapport de Job)
/r<n> Définir le code retour sur <n>
Les paramètres sont traités dans l'ordre d'apparition.
Tous les paramètres ne sont pas possibles pour tous les programmes :
Programme
/w<n>
attendre
/d dialogue
/m boîte de
message
/o<n>
STDOUT
/r<n>
Retcode
UCYBTX86C
oui
oui
oui
oui
oui
UCYBTX86G
oui
oui (sélection de
fichier)
oui
oui
oui
UCYBTX86V
oui (boucle)
oui (sélection de
fichier)
oui
non
oui
UCYBTIA64C
oui
oui
oui
oui
oui
UCYBTX64C
oui
oui
oui
oui
oui
Automation Engine
364
Exemple
UCYBTX86G /w10 /d /r4
Le programme IU à 32 bits est démarré. Celui-ci attend 10 secondes, établit ensuite un dialogue de
fichier (sans effet), définit le code retour sur 4 et se termine.
7.16.3 Objet Job Windows
Lors de l'exécution de Jobs Windows, les processus, tels que le démarrage d'un programme,
sont mis en marche.
L'objet Job Windows regroupe tous les processus d'un Job Windows, ce qui implique les avantages
suivants :
l
l
l
Tous les sous-processus sont également pris en compte pour le calcul du temps CPU.
Le Job Windows se termine une fois que tous les sous-processus ont été exécutés.
En cas d'interruption d'un Job Windows, tous les sous-processus sont également
interrompus.
Définissez dans l'onglet de l'hôte d'un Job Windows si celui-ci doit s'exécuter dans un objet Job
Windows. Il est également possible d'enregistrer un paramètre standard dans le fichier INI de
l'Agent Windows. La valeur entrée ici est utilisée par défaut pour tous les Jobs Windows.
[GLOBAL]
;...
useJobObject=1
Dans le rapport du Job Windows, il est possible de voir si celui-ci s'est exécuté avec un objet
Job Windows.
Exemple :
Dans l'onglet de l'hôte d'un Job Windows, le paramètre "Objet Job - Oui" a été sélectionné. L'onglet
Script contient la commande Start "New Window" avec laquelle un nouveau processus est
démarré. Le Job Windows ne s'arrête que lorsque la nouvelle fenêtre est quittée à l'aide de la
commande "exit". Celui-ci reste dans la Fenêtre d'Activités jusque-là, comme le montre l'illustration
suivante.
Pour que les fenêtres soient affichées, soit l'option "Afficher le Job sur le Bureau" doit être
sélectionnée dans l'onglet de l'hôte, soit l'Agent Windows ne doit pas s'exécuter comme service.
365
Chapter 7 L'Automation Engine et les systèmes cible
7.16.4 Rapport des Jobs Windows
Les rapports des Jobs Windows présentent quelques particularités.
Génération du rapport de Job par Script
Dans l'onglet "Windows" spécifique à l'hôte, il est possible de définir si le rapport de Job doit être
enregistré dans la base de données et/ou dans un fichier. En outre, vous pouvez définir que cela ne
se produise qu'en cas d'erreur.
L'option "Sera généré par Script" est utile aux programmes qui enregistrent leur sortie dans un
fichier. Lorsque vous activez ce paramètre, le rapport de Job se compose du contenu de cette
sortie.
Automation Engine
366
A chaque exécution d'un Job, un fichier distinct est créé pour le rapport de Job. Utilisez l'attribut
"FILENAME_SYSOUT" pour déterminer son nom tiré du RunID. Le chemin du rapport de Job peut
être spécifié avec la Variable "UC_EX_PATH_JOBREPORT". Lisez-le donc à l'aide de la fonction
de Script GET_VAR. Vous pouvez ensuite transmettre les deux informations au programme.
Exemple :
:SET
:SET
&chemin_rapport_Job# = GET_VAR(UC_EX_PATH_JOBREPORT)
&nom_fichier_rapport_Job#= GET_ATT(FILENAME_SYSOUT)
isqlw -S PC1\SQL2000 -d TEST_DB -U sa -i c:\temp\test.sql -o &chemin_
rapport_Job#&nom_fichier_rapport_Job#
Objet Job Windows
Dans le rapport des Jobs Windows, il est possible de voir si celui-ci a utilisé un objet Job Windows.
Le message de fin de l'agent Job est donc différent :
Par ex. : Sans objet Job :
UCMDJP :
*******************************************************************
UCMDJP : ** JOB 26181380 (ProcID:0000005796) ENDED AT
22.07.2004/15:02:10 **
UCMDJP : ** ------------------------------------------------------------ **
UCMDJP : ** USED : @ CPU **
UCMDJP :
*******************************************************************
Par ex. : Avec objet Job :
UCMDJP :
*******************************************************************
UCMDJP : ** JOB 26181383 (ProcID:0000005796) ENDED AT
22.07.2004/15:03:09 **
UCMDJP : ** ------------------------------------------------------------ **
UCMDJP : ** USED : 0.188 CPU **
UCMDJP : ** 1154 PAGE FAULTS **
UCMDJP : ** 3 PROCESSES
**
UCMDJP :
*******************************************************************
Rubriques connexes : Rapport des objets activables
7.16.5 User Account Control dans Windows 2008 et
Vista
Si vous désirez exécuter avec des Job des programmes nécessitant une "Elevation", c'est à dire
des droits supérieurs, choisissez l'option "Connexion comme Utilisateur batch".
367
Chapter 7 L'Automation Engine et les systèmes cible
L'élévation ne peut pas être exécutée automatiquement si le mode batch n'est pas activé. De plus,
l'utilisateur Windows par lequel le Job est exécuté requiert une autorisation pour la connexion
comme Job batch (panneau de configuration - gestion - directive de sécurité locale).
Le Job est automatiquement doté des droits supplémentaires dont il a besoin. L'Utilisateur doit bien
sûr lui-même disposer des droits nécessaires dans l'objet Login. Attention, tous les processus du
Job sont alors exécutés avec ces droits. Si l'Utilisateur ne dispose pas d'un ou plusieurs droits
nécessaires, l'Agent ne peut exécuter tous les processus. Windows interrompt l'action avec l'erreur
740 (elevation required).
7.16.6 Calcul du nombre CPU
Le nombre CPU de l'ordinateur sur lequel l'Agent est exécuté est affiché dans le fichier log et
dans la Supervision système.
Hyperthreading
L'Agent Windows ne peut pas, pour des raisons techniques, déterminer le nombre CPU correct pour
toutes les versions Windows prises en charge lorsque l'ordinateur fonctionne avec hyperthreading.
Dans ce cas, l'Agent propose un nombre CPU inférieur au nombre réel. Les tables suivantes
indiquent dans quelles versions Windows il est possible de déterminer correctement le nombre
CPU :
Version Windows
x86
x64
Windows 2003
oui
oui
Windows XP
à partir du Service Pack 3
à partir du Service Pack 3
Windows Vista
oui
oui
Windows 2008
oui
oui
7.16.7 Bibliothèques dans Windows 7
Une remarque importante doit être prise en compte pour l'utilisation de l'Automation Engine pour
Windows 7 concernant la nouvelle fonction "Bibliothèques".
Les bibliothèques dans Windows 7 sont ce qu'on appelle des "dossiers virtuels" avec lesquels des
contenus se trouvant à différents emplacements peuvent être regroupés. Elles représentent donc
une compilation de différents répertoires.
L'accès à ces répertoires virtuels peut se faire via un chemin "Bibliothèques" spécifique (par
exemple : "Bibliothèques\Documents"). Ce chemin n'est toutefois qu'un chemin "relatif", car il
n'indique pas l'emplacement réel et ne peut donc pas être utilisé avec l'Automation Engine.
Tenez compte de cette remarque, surtout si vous utilisez des Agents sous Windows 7 pour le
Transfert de Fichier.
Pour accéder aux bibliothèques avec l'Automation Engine, il faut utiliser le chemin absolu. Sous
Windows 7, les bibliothèques sont stockées dans le répertoire suivant :
C:\Users\%Username%\AppData\Roaming\Microsoft\Windows\Libraries\
Automation Engine
368
7.16.8 Agent Windows - Prise en charge du Transfert de
Fichier
Lors de la définition d'un objet Transfert de Fichier, il est possible de faire des saisies
supplémentaires dans l'onglet "Transfert de Fichier" dans le champ "Attributs de fichier".
Il s'agit soit d'attributs de fichier du système d'exploitation, soit d'options supplémentaires
exploitées uniquement par l'Agent. Plusieurs attributs et options doivent être séparés par des
virgules.
Attributs de fichier Windows
Les attributs de fichier peuvent être indiqués pour la destination du Transfert de Fichier.
Une substitution des attributs originaux est également possible. Cela signifie que si l'option
"Conserver les attributs originaux" est activée, les attributs à reprendre peuvent tout de même être
remplacés (par exemple, protéger tous les fichiers cibles en écriture).
Avec la valeur "YES", un attribut est appliqué, avec "NO", il est supprimé.
Exemple : ARCHIVE=YES, HIDDEN=NO
Attribut
Description
ARCHIVE
Archive (le fichier a été modifié depuis la dernière sauvegarde)
COMPRESSED
Fichier compressé
ENCRYPTED
Fichier crypté
HIDDEN
Fichier masqué
READONLY
Le fichier est protégé en écriture
SYSTEM
Fichier système
Options supplémentaires
Ces options peuvent être saisies dans le champ "Attributs de fichier" parallèlement aux attributs de
fichier du système d'exploitation. Elles ont une incidence sur le formatage du contenu du fichier. Il
ne s'agit pas d'attributs de fichier. Ces options sont aussi disponibles pour l'Agent UNIX.
Options pour le champ d'attribut source
l
l
reclen - longueur de l'enregistrement (en octets).
nl=mixed - si un caractère CR se trouve à la fin d'une ligne d'un fichier texte, cela peut rendre
le fichier inutilisable sur de nombreux systèmes. La valeur "mixed" permet son élimination
automatique.
Options pour le champ d'attribut cible
l
nl : caractère de séparation des lignes
Valeurs autorisées : "crlf", "lf" (par défaut) et "none"
"crlf" - Retour chariot avec saut de ligne (carriage return and line feed).
"lf" - Saut de ligne (line feed).
"none" - Pas de séparation de ligne.
Exemple : nl=crlf
369
Chapter 7 L'Automation Engine et les systèmes cible
7.17 L'Automation Engine et z/OS
7.17.1 Agent - Interaction entre l'Automation Engine et
z/OS
L'Agent z/OS interagit avec le système AE via une interface TCP/IP.
Il communique dans z/OS avec JES2 ou JES3.
L'Agent z/OS dispose des fonctionnalités suivantes :
l
l
l
l
traitement de Jobs,
exécution de Transferts de Fichiers,
traitement d'Evènements,
CallAPI
Traitement de Jobs
Dans AE, les Jobs sont définis et gérés comme des objets à l'aide d'onglets. Le JCL se trouve dans
l'onglet Script. Il peut être muni d'une logique complexe à l'aide de scripts de l'Automation Engine.
Rubriques connexes : Manuel Utilisateur – Job et Job – Exécution.
Un Job est démarré manuellement dans l'Automation Engine au moyen de mécanismes de contrôle
comme le Workflow ou le Schedule.
Un Job exécutable est alors généré dans le Automation Engine et transféré à l'Agent z/OS par
Transfert de Fichier.
Rubriques connexes : Interne AE – Exécution des objets
Dans z/OS, le Job est lu et placé dans le lecteur interne. Le lecteur interne démarre le Job. La
surveillance s'effectue via SSI.
Le Job annonce à l'Agent le début et la fin de l'exécution, lequel transmet à son tour ces
informations au Automation Engine.
L'Agent surveille à intervalles réguliers le statut du Job. Si un Job est perdu (par ABEND, CANCEL
ou PURGE), ce mécanisme permet de constater la fin. Le code retour du Job est disponible dans
l'Automation Engine.
Le rapport de Job (MSGCLASS), composé des statistiques JES et du rapport de Job complet, est
placé dans le fichier nommé par le Automation Engine. Si cela est défini dans le Job, l'Agent
transfère le rapport à l'Automation Engine qui l'enregistre à son tour dans la base de données. Le
rapport de Job est demandé par JES. Il est donc nécessaire d'utiliser une MSGCLASS avec le
statut HOLD.
Exécution de Transferts de Fichiers
Dans AE, les Transferts de Fichiers sont définis et gérés comme des objets à l'aide d'onglets. Ils
sont exécutés avec la conversion de caractères qui y figure, par exemple "IBM_3270_FRANCAIS".
Rubriques connexes : Manuel de l'Utilisateur - Transfert de Fichier
Rubriques connexes : base de connaissances AE et z/OS - Agent - Prise en charge du Transfert de
Fichier
Automation Engine
370
Traitement d'Evènements
Dans AE, les Evènements sont définis et gérés comme des objets à l'aide d'onglets.
L'Agent OS/390 prend en charge les Evènements de type "système de fichiers" et "console".
Rubriques connexes : Manuel de l'Utilisateur – Evènement
CallAPI
La CallAPI peut être utilisée avec un utilitaire pouvant par exemple être exécuté à partir d'un Job.
Voir : Manuel de l'Utilisateur - CallAPI pour z/OS
7.17.2 Agent z/OS - Prise en charge du Transfert de
Fichier
L'Agent z/OS prend en charge toutes les fonctions de Transfert de Fichier comme le transfert de
fichiers texte et binaires ou le transfert de fichier avec des caractères génériques. Les fichiers
séquentiels (PS) peuvent être étendus par l'Agent z/OS, mais les membres d'une bibliothèque
(PO) ne peuvent pas l'être.
Lors de la définition d'un objet Transfert de Fichier, il est possible de spécifier dans l'onglet
"Transfert de Fichier" des attributs de fichier pour la destination du Transfert de Fichier. L'attribution
par défaut du système est ainsi chargée.
Lorsque la source correspond à la plate-forme cible, il est possible de reprendre les attributs des
fichiers source. Cela est possible grâce à l'option "Conserver les attributs originaux de fichier" dans
l'objet Transfert de Fichier. Attention : aucune substitution de ces attributs n'est cependant possible
pour z/OS ! Dans ce cas, une erreur se produit quand des attributs supplémentaires sont indiqués et
quand cette option est activée.
Il existe deux formats différents pour l'entrée d'attributs de fichier lors de Transferts de fichiers avec
z/OS comme plateforme cible.
Language Environment Format
"Language Environment Format" constitue le format traditionnel. Les attributs de fichier pour les
transferts de fichiers sont déjà indiqués dans cette syntaxe dans les versions plus anciennes de
l'Automation Engine. Une virgule permet de séparer plusieurs attributs de fichier et le signe '='
indique l'attribution de valeurs.
Les attributs de fichier suivants peuvent être indiqués :
l
l
l
l
l
recfm= (tous les 27 formats d'enregistrement de OS/390 ainsi que * et A sont valides)
lrecl= (0, chaque chiffre positif jusqu'à 32760 et X pour chaque "Reclen")
blksize= (0, chaque chiffre positif jusqu'à 32760)
space= ([CYL,TRK],(prim,sec,directory))
nl= (crlf (paramètre par défaut dans l'Agent Windows) -> phrases séparées par <cr><lf>
(=0d0a) );
lf (paramètre par défaut dans l'Agent Unix) -> phrases séparées par <nl> (=0a) ;
none (aucun séparateur ajouté entre les phrases)).
Exemples
recfm=fb,lrecl=1024,blksize=2048,space=(CYL,(1,1,0))
371
Chapter 7 L'Automation Engine et les systèmes cible
recfm=fb,lrecl=80
Allocate format
A partir de la version 9.00A, il est possible de définir des attributs pour les Transferts de fichiers
avec l'entrée de la commande ALLOCATE. Plusieurs attributs doivent être séparés par des
espaces et les valeurs se trouvent entre parenthèses juste après les noms des attributs. Le signe
'=' est ainsi nécessaire.
Cette syntaxe ne peut cependant être utilisée que pour un nouveau protocole de Transfert de fichier
(Agents source et cible présentent la version 9.00A de l'Automation Engine ou supérieure)!
Les attributs suivants sont ainsi pris en charge :
l
l
l
l
l
l
l
l
l
l
l
l
l
l
DATACLAS
EXPDT
MGMTCLASS
RETPD
RLSE
STORCLAS
UNIT
VOLUME
RECFM
LRECL
BLKSIZE
SPACE (possible uniquement en relation avec CYLINDERS, TRACKS ou BLOCK)
DSORG
ROUND
Vous trouverez une description exacte à ce sujet sur la documentation au sujet de la Commande
TSO ALLOCATE d'IBM.
Exemple
ALLOCATE RECFM(FB) LRECL(1024) BLKSIZE(2048) EXPDT(2010100) SPACE(1,1)
CYLS DIR(10) UNIT(3390) VOLUME(DSK30D,DSK30E)
7.17.3 Classes de messages
Le protocole de Job d'un Job z/OS est enregistré dans le spool JES. Celui-ci se décompose en
classes de messages possédant chacune une désignation à un caractère (soit les lettres A à Z,
soit les chiffres 0 à 9). Vous pouvez définir vous-même la formation du protocole de Job et la
classe de messages dans lequel ce dernier est éventuellement redirigé.
L'Agent peut :
l
l
l
l
l
Ecrire la sortie du Job dans la classe de message que vous avez indiquée dans l'objet Job.
Associer la sortie de Job et les statistiques JES (JESMSGLG, JESJCL et JESYSMSG)
dans le protocole de Job.
Lire des classes de messages et les intégrer dans le protocole de Job.
Réacheminer le protocole de Job dans les classes de messages.
Mettre à jour le protocole de Job pour l'imprimer et le supprimer.
Automation Engine
372
Vous pouvez pour cela définir les paramètres en tant que valeur par défaut dans le fichier INI de
l'Agent et dans l'objet Job. Ce dernier est utilisé de manière privilégiée et est donc prioritaire sur la
valeur du fichier INI. Tous les paramètres peuvent également être configurés de manière dynamique
dans le Script à l'aide des attributs de Jobs.
Il est recommandé d'entrer dans le fichier INI la configuration la plus souvent utilisée. Les Jobs qui
s'écartent de ces paramètres peuvent être configurés dans leur objet ou à l'aide de leur Script.
Le tableau suivant contient toutes les possibilités de paramétrage des classes de message. Les
entrées de la colonne objet Job portent exactement le même nom que les champs de l'interface de
l'onglet "z/OS".
Traitement du
protocole de Job
Objet Job
Paramètre du
fichier INI
Attribut de Job
Etendue
Avec sortie additionnelle
completeJobout= MVS_
COMPLETEJOBOUT
Sortie du Job
Classe Msg
non disponible
MVS_MSGCLASS
Demande
Récupère le(s) message(s)
suivant(s)
getMsgClass=
MVS_
GETMSGCLASSES
Transfert
Renvoyer la(les) classes(s)
de message vers
routeMsgClass=
MVS_
ROUTEMSGCLASS
Lancement de
l'impression
Libérer
relMsgClass=
MVS_
RELMSGCLASS
Suppression dans le
spool JES
Suppression
JobPurge=
MVS_JOBPURGE
Au niveau Step au sein d'un Job, vous pouvez également indiquer une classe de messages
pour, par exemple, rediriger certains messages et ainsi les filtrer.
Utilisation d'un système de gestion des sorties
Lorsque vous utilisez un système de gestion des sorties, tel que BETA92, vous devez définir
certains paramètres :
1. Indiquez la classe de messages dans laquelle la sortie du Job doit être enregistrée.
2. Il est important que vous laissiez lire ces classes de messages et éventuellement aussi
d'autres classes de messages !
3. Définissez les classes de messages qui sont attribuées au système de gestion des sorties
et laissez le protocole de Job rediriger les messages dans ces classes.
La classe de messages doit correspondre à une classe Write dans certains systèmes de
gestion des sorties, elle n'est sinon pas traitée. En l'occurrence, un writer externe ne doit pas
être connecté à cette classe, sinon celui-ci traitera le protocole de Job.
4. Bien entendu, le protocole de Job ne doit pas être supprimé du spool JES !
Utilisez une classe de messages personnalisée pour l'Automation Engine.
Dans l'illustration suivante, la redirection du protocole de Job est configurée directement dans le
Job. Le Job écrit sa sortie dans la classe de messages "B". Cette classe et la classe "A" sont lues.
Lors de la redirection, c'est l'ordre qui importe. La classe "A" est redirigée vers la classe "K" et la
classe "B" est redirigée vers la classe "J".
373
Chapter 7 L'Automation Engine et les systèmes cible
Rubriques connexes : Job z/OS
Attribut z/OS
7.17.4 Moniteur d'Evènements
Dans l'Automation Engine, les Evènements sont définis et maintenus en tant qu'objets à l'aide de
différents onglets. Les résultats de type "Console" pris en charge par l'Agent z/OS permettent de
surveiller les sorties de console et de déclencher l'Evènement immédiatement lorsque toutes les
conditions définies dans l'onglet "Console" sont réunies.
Pour ce faire, le moniteur d'Evènements UCXEM25 doit être installé et démarré. Pour le type
"Système de Fichiers", le système vérifie à l'aide de SMF si la condition est réunie et l'Evènement
est aussitôt déclenché.
Moniteur d'Evènements comme Tâche autonome (Started Task)
Il est également possible d'exploiter le moniteur d'Evènements comme Tâche autonome au moyen
d'un fichier INI séparé. Pour ce faire, il est nécessaire de mettre en commentaires le paramètre
start= dans le fichier INI de l'Agent. Après le démarrage du moniteur d'Evènements comme Started
Task, celui-ci essaie d'établir une connexion TCP/IP vers l'Agent. Le moniteur d'Evènements ne se
connecte ici qu'avec la console du LPAR séparé. Pour utiliser les fonctions basées sur SMF, il
charge l'exit SMF. S'il n'est pas possible d'établir une connexion vers l'Agent, ou si cette dernière
est perdue en cours d'exécution, le système tente d'établir à nouveau une connexion dans
l'intervalle défini (paramètre connect= de la section TCP/IP du fichier INI).
Automation Engine
374
Une nouvelle connexion immédiate est possible avec l'instruction de console "MODIFY ...,
EX=<addr>,:<port>. Une nouvelle connexion est également formée lorsque le moniteur
d'Evènements est connecté à un autre Agent. Dans ce cas, une nouvelle connexion est établie et si
elle est bien terminée, l'ancienne connexion peut être fermée.
Le moniteur d'Evènements prend en charge les fonctions de log et de trace. Si les commutateurs de
trace sont modifiés dynamiquement en cours d'exécution, ils sont passés au moniteur
d'Evènements. Le logging du moniteur d'Evènements n'est pas écrit dans la base de données.
Chaque moniteur d'Evènements est démarré avec 2 fichiers :
Fichier VSAM
Il sert d'enregistreur d'Evènements. Les Evènements filtrés sont sauvegardés. L'Evènement n'est
supprimé de ce fichier par le moniteur d'Evènements qu'une fois que le Serveur a confirmé son
traitement. On s'assure ainsi que le moniteur d'Evènements ne perd aucun Evènement et que les
Evènements sont conservés même après un redémarrage.
Fichier séquentiel
Ce fichier contient les Filtres d'analyse afin d'enregistrer pour le moniteur d'Evènements les Filtres
obtenus du Serveur. Si le Filtre d'analyse est modifié, tout le fichier est réécrit. Si le moniteur
d'Evènements est redémarré, il continue de s'exécuter avec ces Filtres (même sans Agent). Une
fois la connexion du moniteur d'Evènements à l'Agent à nouveau établie, il peut obtenir de celui-ci
d'autres Filtres ou les Filtres actuels peuvent également être désactivés.
La fermeture du moniteur d'Evènements peut se faire par la commande de console "STOP" ou
"MODIFY END". Dans l'Agent, il existe la forme de fermeture "MODIFY SHUTDOWN". Tous les
moniteurs d'Evènements disposant d'une connexion TCP/IP avec l'Agent sont alors fermés, puis
l'Agent se ferme lui-même.
Fermeture du moniteur d'Evènements
Utilisez les commandes suivantes pour terminer le moniteur d'Evènements et/ou l'exit SMF
manuellement :
Commande
Description
MODIFY nom du moniteur
d'Evènements,END
Termine le moniteur d'Evènements et l'exit SMF reste actif.
STOP nom du moniteur
d'Evènements
MODIFY nom du moniteur
d'Evènements
,SHUTDOWN
Termine le moniteur d'Evènements ainsi que l'exit SMF.
MODIFY nom de
l'Agent,SHUTDOWN
Termine tous les moniteurs d'Evènements ainsi que les exits SMF
qui sont connectés à l'Agent, puis termine l'Agent lui-même.
Lors de l'interruption du moniteur d'Evènements, l'exit SMF reste toujours actif.
Exit SMF
Le moniteur d'Evènements transfère des Evènements à l'Automation Engine tant qu'il est actif.
Pour qu'aucun Evènement ne soit perdu en cas de fermeture ou d'interruption du moniteur
375
Chapter 7 L'Automation Engine et les systèmes cible
d'Evènements, l'Exit SMF les enregistre.
Rubriques connexes : GET_CONSOLE, GET_EVENT_INFO
Evènement
Fichier INI de l'Agent z/OS (Moniteur d'Evènements comme sous-Tâche)
Fichier INI pour le moniteur d'Evènements autonome
Agent - Interaction entre l'Automation Engine et z/OS
Installation de l'Agent pour z/OS
7.17.5 Moniteur de Job externe
Le fonctionnement du moniteur de Job externe consiste à identifier les Jobs qui ont été démarrés
par un autre système de planification (par exemple : OPC, CA7). La réaction correspondante dans
le système AE passe par le moniteur d'Evènements et l'agent AE.
Le moniteur de Job externe est utilisé comme Started Task autonome.
Fonctionnement du moniteur de Job externe
La réaction aux Evènements externes se fait par le moniteur d'Evènements.
Le moniteur d'Evènements permet d'identifier des Evènements de console, des Evènements
automatiques de système de fichier et la fin des Jobs z/OS. Le moniteur d'Evènements possède
entre autres la fonction de réagir à la génération de fichiers externes. Si une fin de Job externe est
identifiée avec le moniteur de Job externe, un fichier est créé dont la réaction passe par le moniteur
d'Evènements. Ce dernier communique avec le système AE via l'Agent et déclenche un objet
Evènement.
Pour que toutes les fins de Job n'entraînent pas une action, un fichier de filtrage permet de
déterminer à quels Jobs ou steps il faut réagir. Si la fin d'un Job concerné est identifiée, un fichier
temporaire est créé par le moniteur d'Evènements. Comme la génération du fichier ne sert qu'à
créer un enregistrement SMF auquel le moniteur d'Evènements réagit, le fichier peut ensuite être
supprimé.
Veuillez noter que la création et la suppression de fichiers génèrent des saisies dans le
catalogue de jeu de données. Ce dernier doit donc être régulièrement réorganisé.
Automation Engine
376
La fonctionnalité de reconnaissance de Job externe est possible au sein d'un Sysplex lorsqu'une
instance du moniteur d'Evènements et du moniteur de Job externe fonctionne sur chaque LPAR
(partition locale). Chaque LPAR dispose de son propre sous-système SMF qui n'est pas compatible
avec Sysplex. L'Agent ne nécessite aucun SMF et fonctionne donc à l'échelle de Sysplex. Le
moniteur de Job externe (EJM) n'établit aucune connexion directe au moniteur d'Evènements (EM),
mais lui signale la fin d'un Job par la création d'un fichier. Les moniteurs d'Evènements envoient les
données à l'Agent z/OS sur l'ensemble du LPAR.
377
Chapter 7 L'Automation Engine et les systèmes cible
Exit SMF
Les Evènements et informations du moniteur de Job externe doivent être écrits sur un Exit SMF
dans les CADS comme pour le moniteur d'Evènements. Cette Tâche prend en charge de nouveaux
exits SMF (UCAEXJM). Cet exit se comporte comme l'exit SMF du moniteur d'Evènements, mais
il collecte des enregistrements de type 30. Le module exit SMF est automatiquement chargé au
démarrage du module EJM. L'exit SMF continue de fonctionner et collecte des Evènements même
si l'EJM a été arrêté. Si un Job saisi dans le fichier de filtrage se termine entre temps, un message
s'écrit dans le fichier log.
Le programme existant CADSDEL peut être utilisé comme système de récupération d'urgence
pour l'EJM.
Si vous utilisez un fichier de filtrage avec le même contenu sur plusieurs LPAR, des
complications peuvent se produire. Un problème survient lorsque des Jobs portant le même nom se
terminent en même temps sur différents LPAR. Dans ce cas, le système essaie de créer en
parallèle des fichiers portant le même nom, ce qui génère une erreur. Mais la probabilité qu'une telle
erreur se produise est très faible. Seul un message d'erreur s'inscrit dans le fichier log et l'utilitaire
continue de fonctionner.
Fichier de filtre
Le fichier de filtrage de l'EJM est nécessaire pour pouvoir sélectionner les Jobs qui se terminent.
Les critères de filtre sont immédiatement vérifiés lorsque les Evènements se produisent.
Exemple : Un fichier de filtrage contient une condition sur un Step/ProcStep spécifique. La fin de ce
step est identifiée immédiatement, et non à la fin du Job.
Le fichier de filtrage contient les critères de sélection suivants :
Automation Engine
l
l
l
l
l
378
Nom de Job (partiellement / entièrement qualifié)
Nom de step (partiellement / entièrement qualifié)
Nom de ProcStep (partiellement / entièrement qualifié)
Fin du Job
Code retour
Le fichier de filtrage doit présenter les attributs CDB RECFM (format d'enregistrement) =FB,
LRECL (longueur d'enregistrement) =85 et BKKSIZE (taille de bloc) =5120. Chaque définition de
filtre dans le fichier correspond à une ligne de 85 caractères.
Pour recharger manuellement le fichier de filtrage, utilisez la commande suivante :
MODIFY <nom de la STC>, RELOAD
(STC = Started Task)
Critère de filtrage
Positions d'une ligne
Description
Nom de Job
1-8 (longueur 8)
Filtre sur le nom du Job dans z/OS.
Les caractères génériques "*" et "?"
sont autorisés.
Nom de step
9-16 (longueur 8)
Facultatif
Filtre sur le nom du step du Job dans
z/OS.
Les caractères génériques "*" et "?"
sont autorisés.
Nom du ProcStep
17-24 (longueur 8)
Facultatif
Filtre sur le nom du ProcedureStep du
Job dans z/OS.
Les caractères génériques "*" et "?"
sont autorisés.
Fin du Job
25 (longueur 1)
" " -> Vérification immédiate à la fin du
Step/ProcStep
"X“ -> Vérification seulement à la fin
du Job, pas de vérification RC
"N“ -> Vérification à la fin du Job et
lorsque le Job se termine normalement
(c'est-à-dire avec un code retour
compris entre 0 et 4095)
"A“ -> Vérification à la fin du Job et
lorsque le Job se termine
anormalement (c'est-à-dire avec un
code retour compris entre 4096 et
12287)
Code retour du Job
26-41 (longueur 16)
Facultatif
Filtre sur le code retour du Job
(Condition Codes, User Abends et
System Abends). Si vous voulez
indiquer plusieurs codes retour, il faut
les séparer avec ";" ou ",". Les
domaines sont formulés à l'aide de "-".
Nom du fichier
42-85 (longueur 44)
Nom de fichier du fichier à créer
temporairement pour la transmission
du message.
379
Chapter 7 L'Automation Engine et les systèmes cible
Exemple de structure d'un fichier de filtrage :
JOBTEST STEP3* 0-100;S0C4 JOB.ZUC800A1.EJM.TRIGGER.TEMP01
JOBF* STEP01 N0,4,8,12-16 JOBF.ZUC800A1.EJM.TRIGGER.TEMP02
JOBTEST2DUMMY 0-4096 JOB.ZUC800A1.EJM.TRIGGER.TEMP03
JOBTEST2DUMMY2 N0-4096 JOB.ZUC800A1.EJM.TRIGGER.TEMP04
Les lignes de filtrage sont connectées au moyen d'une liaison OU. Les lignes sont donc traitées et
vérifiées de manière séquentielle. Si une sélection est trouvée, le fichier correspondant est créé.
Rubriques connexes : Moniteur d'Evènements
Structure du fichier de configuration d'un moniteur de Job externe
7.17.6 Exit SMF
Le sous-système SMF recueille et journalise les informations sur le système et ses Jobs.
L'Agent z/OS ainsi que ses moniteurs d'Evènements utilisent les enregistrements SMF dans les
domaines suivants :
l
l
Evènements de système de fichiers automatiques
l
Prise en charge des Generation Data Groups
Reconnaissance et analyse de la fin du Job
Parmi les prérequis pour son utilisation, notons que les exits système appropriés doivent être
autorisés et que le module SMF doit journaliser certaines entrées. L'Agent et les moniteurs
d'Evènements contiennent, dans leur fichier INI, plusieurs paramètres concernant SMF. Dans les
descriptions des fonctionnalités citées plus haut, vous trouverez de plus amples informations sur la
configuration exacte.
Généralités
Le moniteur d'Evènements surveille les Evènements de console et de système de fichiers et les
transmet à l'Automation Engine. Les objets Evènement vous permettent d'y réagir. Le suivi des
Evènements n'est effectué que tant que le moniteur d'Evènements est actif. Les Evènements sont
recueillis via un exit SMF sur la base des enregistrements SMF. Cet exit est capable de faire office
de tampon pour les Evènements, même lorsque le moniteur d'Evènements n'est pas disponible.
Après un nouveau démarrage du moniteur d'Evènements, l'exit SMF lui transmet les Evènements
recueillis. Cela permet de ne perdre aucun enregistrement SMF, si tant est que le tampon ne soit
pas plein. Il est possible de régler la taille du tampon.
Le System Management Facility (SMF) est également utilisé pour d'autres domaines, par
exemple la reconnaissance des fins de Job et les GDG.
L'illustration suivante vous montre les interactions entre l'Agent, le moniteur d'Evènements et l'exit
SMF.
Automation Engine
380
L'exit SMF enregistre les Evènements dans un Common Area Data Space (CADS). Le taux de
remplissage du CADS est indiqué en couleur sur la console z/OS :
l
l
25 %, 50 % et 75 % en blanc
80 %, 85 %, 90 %, 95 % et 100 % en rouge
Attention : l'exit SMF n'enregistre aucun autre Evènement lorsque le CADS est entièrement
plein. L'entrée d'Evènement la plus ancienne n'est donc pas remplacée. Dès que le CADS a de
nouveau de l'espace et que l'exit SMF est capable de transmettre des Evènements au moniteur
d'Evènements, des Evènements sont à nouveau enregistrés dans le CADS.
La valeur par défaut pour le CADS est de 10 Mo, ce qui suffit à l'enregistrement d'environ 65 000
Evènements.
Attention : aucun Evènement se produisant durant un démarrage, un arrêt ou une phase IPL
n'est recueilli. Les Evènements peuvent être traités dès que le moniteur d'Evènements est démarré.
Configuration
Exécutez les étapes suivantes pour mettre en marche l'exit SMF :
l
l
Vérifiez dans votre système z/OS que le sous-système SMF journalise les enregistrements
SMF du type 14, 15, 30 et 64 et que les exits IEFU83 ainsi que IEFU84 sont actifs.
L'exit SMF peut s'exécuter comme sous-Tâche de l'Agent ou du moniteur d'Evènements. En
fonction de cela, il faut adapter le fichier INI de l'Agent ou celui du moniteur d'Evènements
comme suit :
Entrez une désignation pour l'exit SMF dans la section (CONSOLE) pour le paramètre
ModuleName=.
Définissez la taille du CADS avec le paramètre SMF_Buffersize=, qui se trouve également
dans la section (CONSOLE). La valeur par défaut est de 10 Mo.
381
Chapter 7 L'Automation Engine et les systèmes cible
l
Démarrez le moniteur d'Evènements.
Démarrage du moniteur d'Evènements
Utilisez la commande suivante pour démarrer le moniteur d'Evènements ainsi que l'exit SMF :
START nom du moniteur d'Evènements
Fermeture du moniteur d'Evènements
Utilisez les commandes suivantes pour terminer le moniteur d'Evènements et/ou l'exit SMF
manuellement :
Commande
Description
MODIFY nom du moniteur
d'Evènements,END
Termine le moniteur d'Evènements et l'exit SMF reste actif.
STOP nom du moniteur
d'Evènements
MODIFY nom du moniteur
d'Evènements
,SHUTDOWN
Termine le moniteur d'Evènements ainsi que l'exit SMF.
MODIFY nom de
l'Agent,SHUTDOWN
Termine tous les moniteurs d'Evènements ainsi que les exits SMF
qui sont connectés à l'Agent, puis termine l'Agent lui-même.
Lors de l'interruption du moniteur d'Evènements, l'exit SMF reste toujours actif.
Démarrage à chaud
Lorsque le moniteur d'Evènements est terminé manuellement avec "END", ou qu'il s'interrompt,
l'exit SMF reste actif. Après le redémarrage du moniteur d'Evènements, celui-ci peut à nouveau se
connecter à l'exit SMF et traiter les Evènements qui se sont accumulés entre-temps.
Attention : les modifications des paramètres ModulName= et SMF_Buffersize= du fichier INI
n'ont aucun effet. Leurs valeurs ne seront lues qu'au prochain démarrage de l'exit SMF.
Situations d'exception
En temps normal, pour terminer l'exit SMF, vous devez utiliser la commande "SHUTDOWN" pour
terminer le moniteur d'Evènements. Le CADS est ainsi supprimé automatiquement. Vous pouvez
également terminer manuellement l'exit SMF :
SET PROG,EXIT,DELETE,EXITNAME=nom de l'exit SMF,MODULNAME=nom du module AE
Attention : ne pas supprimer le CADS ce faisant !
Utilisez l'utilitaire CADSDEL pour supprimer le contenu du CADS :
Ouvrez le fichier log du moniteur d'Evènements. La ligne de log suivante contient les paramètres
STOKEN et TCBTOKEN requis pour terminer l'exit SMF :
-UC4 STOKEN=8000160200001328;TCBTOKEN=00000004000000010000000000FD2300
Automation Engine
382
De plus, il faut spécifier le nom du système AE ainsi qu'une description d'Eyecatcher. Les deux
valeurs sont spécifiées dans le fichier INI du moniteur d'Evènements :
l
l
system= contient le nom du système AE
CADSEyeCatcher= contient la description d'Eyecatcher
Exécutez l'utilitaire CADSDEL avec les quatre paramètres cités :
//CADSDEL JOB ####,PROGRAMMER,NOTIFY=&SYSUID,MSGLEVEL=(1,1)
//CADSDEL EXEC PGM=CADSDEL,
// PARM='8000160200001328 00000004000000010000000000FD2300 UC4PROD
UC4EYEC'
//STEPLIB DD DISP=SHR,DSN=<UC4.LOADLIB>
Vérifiez avec la commande z/OS D A,*MASTER* si le CADS a été supprimé.
Scénario d'exemple
Deux LPAR sont présentés dans Sysplex :
l
l
Dans le premier se trouvent un Agent et un moniteur d'Evènements. Tous les deux
fonctionnent en tant que Started Tasks indépendantes. L'exit SMF est une sous-Tâche du
moniteur d'Evènements.
Dans le deuxième, un moniteur d'Evènements fonctionne également avec un exit SMF
comme sous-Tâche.
LPAR1
LPAR2
Agent : MVS01
Moniteur d'Evènements : EM01
Exit SMF : SMFE01
Moniteur d'Evènements : EM01
Exit SMF : SMFE01
Les configurations suivantes doivent être exécutées dans le LPAR1 :
l
Installez un Agent dans le LPAR1 en suivant les instructions d'installation. Etant donné que
le moniteur d'Evènements doit fonctionner comme Started Task indépendante avec l'exit
SMF, il faut mettre en commentaire l'ensemble de la section (CONSOLE) du fichier INI de
l'Agent.
;(CONSOLE)
;start=
;buffersize=
;mscope=
;smfwrite=
;ModulName=
;smfStepFilter=
;smfJob=
;SMF_Buffersize=
;ABENDNUM=
l
Installez le moniteur d'Evènements dans le LPAR1 en tant que Started Task indépendante.
Vous en trouverez une description également dans les instructions d'installation. Etant
donné que l'exit SMF est une sous-Tâche du moniteur d'Evènements, la section
(CONSOLE) du fichier INI du moniteur d'Evènements doit être adaptée :
(CONSOLE)
mscope=*
smfwrite=1
ModulName=SMFE01
383
Chapter 7 L'Automation Engine et les systèmes cible
smfStepFilter=0
SMFJob=0
SMF_Buffersize=10
Les configurations suivantes doivent être exécutées dans le LPAR2 :
l
Installez le moniteur d'Evènements dans le LPAR2 en tant que Started Task indépendante.
Etant donné que l'exit SMF est également ici une sous-Tâche du moniteur d'Evènements, la
section (CONSOLE) du fichier INI du moniteur d'Evènements doit être adaptée :
(CONSOLE)
mscope=*
smfwrite=1
ModulName=SMFE01
smfStepFilter=0
SMFJob=0
SMF_Buffersize=10
Rubriques connexes :
Moniteur d'Evènements
7.17.7 Evènement de système de fichiers automatique
Outre la surveillance courante du système de fichiers, l'Agent z/OS prend également en charge la
vérification de la fermeture des fichiers. L'Evènement est déclenché lorsque le fichier est fermé
conformément aux conditions définies.
Il vous est possible de ne filtrer dans l'objet Evènement qu'en fonction du nom de fichier ou alors
d'indiquer une série de critères de filtrage. Ces derniers comprennent, outre le nom de fichier, le nom
du Job ayant traité le fichier et son code retour.
Lors du déclenchement de l'Evènement, le !Script est exécuté. La fonction script GET_EVENT_
INFO vous fournit des informations sur le fichier.
Attention : l'administrateur doit définir le paramètre smfwrite=1 dans le fichier INI de l'Agent ou
du moniteur d'Evènements. Vérifiez dans votre système z/OS que le sous-système SMF autorise
les exits de système IEFU83 et IEFU84. Les entrées 14, 15, 30 et 64 doivent être journalisées.
Attention : les Evènements de système de fichiers automatiques ne sont pas pris en charge sur
les membres PDS !
Déroulement
1.
2.
3.
4.
Créez un objet Evènement de type "système de fichiers".
Ouvrez-le et passez à l'onglet "Système de fichiers".
Sélectionnez un Agent z/OS.
Dans le contrôle de périodicité, un élément de menu supplémentaire nommé
"Automatiquement" s'affiche. Sélectionnez-le.
Automation Engine
384
Nom de fichier comme filtre
1. Dans le champ Chemin, saisissez un nom de fichier avec ou sans caractère générique,
selon que vous souhaitiez surveiller un fichier donné ou plusieurs fichiers.
2. Avec l'option "Evènement de Démarrage", vous pouvez définir que l'existence du fichier soit
vérifiée lors de l'activation de l'objet Evènement. Si le fichier est disponible, un Evènement
est également déclenché.
3. Entrez, dans l'onglet "!Script", l'élément de script devant être exécuté lorsque l'Evènement
est déclenché. Utilisez la fonction script GET_EVENT_INFO.
4. Enregistrez l'objet Evènement et démarrez-le dès que la surveillance du fichier doit démarrer.
Plusieurs critères de filtrage
1. Créez un fichier contenant les critères de filtrage sur le LPAR sur lequel s'exécute l'Agent. Il
doit suivre un certain format décrit dans le tableau ci-dessus.
2. Dans le champ Chemin, spécifiez le nom de ce fichier de filtrage au format suivant : *file
(DSNAME)
Exemple : *file(SGD.PROD.MASSFILTER)
Les caractères génériques ne sont pas autorisés dans le DSNAME.
3. Entrez, dans l'onglet "!Script", l'élément de script devant être exécuté lorsque l'Evènement
est déclenché. Utilisez la fonction script GET_EVENT_INFO.
Attention : le !Script ne doit pas être exécuté lorsque vous indiquez un objet à démarrer
dans le fichier de filtrage !
4. Enregistrez l'objet Evènement et démarrez-le dès que la surveillance du fichier doit démarrer.
Critère de filtrage
Le moniteur d'Evènements est également capable de prendre en compte plusieurs critères de
filtrage lors d'un message portant sur la fermeture de fichier. De cette façon, l'Evènement est
385
Chapter 7 L'Automation Engine et les systèmes cible
uniquement déclenché lorsque, par exemple, un certain Job a traité le fichier ou lorsqu'un code
retour spécial se produit.
Les critères de filtre sont enregistrés dans un fichier distinct. Ce dernier contient un Filtre d'analyse.
Si plusieurs Filtres d'analyse correspondent lors d'un Evènement, par exemple parce qu'il existe
des recoupements entre les critères de filtrage, un Evènement est déclenché par ligne.
Le fichier de filtrage doit contenir les attributs DCB RECFM=FB, LRECL=512 et
BLKSIZE=5120.
Chaque ligne du fichier de filtrage fait 307 caractères maximum et se décompose dans les
domaines suivants :
Critère Caractères Description
de
filtrage
Nom
du
fichier
1 à 81
Nom
de Job
82 à 89
Fin du
Job
90
Filtre sur le nom de fichier
Les noms DS partiellement et entièrement qualifiés y compris les
membres PDS et GDG sont pris en charge.
Filtre sur le nom du Job en z/OS qui a fermé le fichier.
Les caractères génériques "*" et "?" sont autorisés.
Attente de la fin du Job
Valeurs autorisées : " ", "X", "N" ou "A"
" " : la fermeture du fichier déclenche immédiatement l'Evènement. Le
système n'attend pas la fin du Job.
"X" : la fermeture du fichier déclenche l'Evènement uniquement à la fin du
Job. Le code retour n'a pas d'importance.
"N" : l'Evènement est déclenché si le Job se termine normalement, c'està-dire avec un code retour compris entre 0 et 4095.
"A" : l'Evènement est déclenché si le Job se termine anormalement,
c'est-à-dire avec un code retour compris entre 4096 et 12287.
Le critère de filtrage "Code retour du Job" vous permet de définir
précisément les codes retour attendus.
Lors de l'analyse de la fin de Job, l'Agent se base uniquement sur les
enregistrements SMF de la fin de Job ou se base également sur ceux des
fermetures STEP. Dans le premier cas, il est uniquement possible de
faire la différence entre les fins de Job normales et anormales. La
définition des codes retour STEP est plus précise. Le moniteur
d'Evènements détermine ainsi la valeur la plus élevée.
L'administrateur peut définir avec le paramètre smfStepFilter= du
fichier INI du moniteur d'Evènements si seule la fin de Job ou également
les fermetures STEP doivent être prises en compte lors du contrôle du
code retour.
Automation Engine
Code
retour
du Job
91 à 106
386
Filtrage du code retour du Job (Condition Codes, User Abends et System
Abends).
Vous pouvez indiquer les valeurs identiques à celles dans z/OS ou selon
la syntaxe habituelle de l'Automation Engine.
Si vous voulez indiquer plusieurs codes retour, il faut les séparer avec ";"
ou ",". Les domaines sont formulés à l'aide de "-".
Action
107
Action devant suivre l'Evènement
Valeurs autorisées : "Y" et "N" (valeur par défaut).
"Y" : l'objet que vous indiquez dans le domaine suivant est exécuté à la
place du !Script.
"N" : aucune exécution de l'objet éventuellement entré ne se produit.
Objet
108 à 307
Nom de l'objet qui doit être exécuté.
Vous pouvez, par exemple, enregistrer ici un objet Job.
Attention : le contenu du !Script n'est pas exécuté ! En revanche,
l'objet indiqué ici est activé.
Dans l'exemple suivant, la largeur de 307 caractères ainsi que le nombre précis de caractères n'ont
pas été respectés en raison d'un manque de place.
DEV.DS1
DEV.DS1
UC4.D*.*LIB
SYS1.PARMLIB
TEST.S62*.T*
JOBA
JOBB
TEST2
A
A
N
S806
0-12;16-18
TEST1
X
11-17;S806
Y
Y
CALL.ADMIN
GS.FIN
Au démarrage de l'objet Evènement, l'Agent lit le fichier de filtrage et avertit automatiquement les
moniteurs d'Evènements. Lors de la modification des critères de filtrage, vous devez redémarrer
l'objet Evènement concerné ou charger à nouveau le fichier de filtrage avec l'instruction MODIFY.
Syntaxe :
MODIFY nom de l'Agent STC,FEVNT=nom du fichier de filtrage
Exemple :
MODIFY UC600T1,FEVNT=UC600T.FILTER1
En option, vous pouvez définir un objet devant être activé comme réaction à l'Evènement survenu.
En l'occurrence, l'Agent enregistre toutes les informations que vous pouvez lire à l'aide des mots
clés dans l'objet Evènement avec la fonction script GET_EVENT_INFO, dans le cache. L'objet
activé est ainsi capable de déterminer les données à l'aide de l'instruction de script :READ. Comme
noms de Variable, il faut indiquer les mots clés.
Exemple :
:SET
:READ
&NOM DE FICHIER# = GET_EVENT_INFO (FILENAME)
&FILENAME#,,
Rubriques connexes :
GET_EVENT_INFO
Moniteur d'Evènements
387
Chapter 7 L'Automation Engine et les systèmes cible
7.17.8 Prise en charge de GDG
Automation Engine prend également en charge l'utilisation de Generation Data Groups (GDG).
Vous pouvez utiliser ce type de traitement de fichiers dans les objets d'Evènement de système
de fichiers et dans l'élément de script GET_EVENT_INFO.
Evènement de système de fichiers
Ce type d'objet offre, outre la fonction standard de vérification des valeurs de système de fichiers, la
possibilité de déclencher un Evènement lorsqu'une génération d'une GDG est fermée. Pour ce faire,
saisissez un hôte z/OS dans l'onglet "Evènement de Système de Fichiers", puis sélectionnez
l'option "Automatique" dans le contrôle de périodicité de l'onglet Evènement.
Lorsque vous saisissez GDG(+1), le système attend la fermeture d'une nouvelle génération. Il
s'agit de la règle générale. Pour que le système attende la fermeture de la génération actuelle, il est
possible de saisir pour GDG +/-0 (+0, +00, +000, -0, -00, -000).
Exemple :
COMPTE DE REMUNERATION Nom GDG
DSNAME=COMPTE DE REMUNERATION(0) Generation Dataset actuel
DSNAME=COMPTE DE REMUNERATION(-1) Generation Dataset de la semaine précédente
DSNAME=COMPTE DE REMUNERATION(-2) Generation Dataset de l'avant derrière semaine.
Elément de script GET_EVENT_INFO
Cette fonction script permet notamment de déterminer le nom d'une génération qui peut ainsi être
modifié.
Extrait d'un exemple :
:SET
:SET
&NOMDEFICHIER# = GET_EVENT_INFO (FILENAME)
&HND# = PREP_PROCESS_FILE ("MVSHOST", &NOMDEFICHIER#)
Configuration
Plusieurs paramètres sont requis pour que vous puissiez utiliser GDG dans votre système AE :
l
Activez le paramètre smfwrite= dans le fichier INI de l'Agent z/OS.
(CONSOLE)
start=UCXEM25
smfwrite=1
l
l
Activez les modules exit IEFU83 et IEFU84.
Vérifiez dans votre système z/OS que les entrées 14, 15, 30 et 64 sont bien journalisées.
Rubriques connexes :
Evènement de système de fichiers
GET_EVENT_INFO
7.17.9 Reconnaissance et analyse de la fin du Job
L'Agent peut également utiliser les enregistrements SMF pour la reconnaissance de la fin du Job
ou des fermetures STEP
Automation Engine
388
Activez cette fonctionnalité dans le fichier INI de l'Agent ou du moniteur d'Evènements si vous les
exploitez en tant que Started Task autonome :
(CONSOLE)
SMFJob=1
Par défaut, l'informateur de Job est utilisé pour la reconnaissance de fin de Job. Adaptez donc
également la Variable d'Agent UC_EX_JOB_MD se trouvant dans la section (VARIABLES) du
fichier INI de l'Agent. Remplacez le composant "UCXJM25M" par "UC4START" et redémarrez
l'Agent.
(VARIABLES)
UC_EX_JOB_MD=UC4START
L'utilisation de cette fonctionnalité présente entre autres avantages celui d'évaluer le Job à l'aide
des codes retour des STEP de Job. Dans l'objet Job, vous pouvez définir si le code retour le plus
élevé ou celui ayant été renvoyé en dernier pour la fin du Job doit être pris en compte.
Vérifiez dans votre système z/OS que le module SMF journalise bien les entrées 30.
Lorsque les Jobs avec WLM dans SYSPLEX sont répartis, un EM doit être énoncé sur chaque
LPAR pour que la reconnaissance fonctionne.
Attention : le changement entre les deux types d'informateurs de Job ne doit avoir aucune
influence sur les Jobs déjà actifs ou générés. Le message de Job ne fonctionne pas pour ces Jobs
et ils obtiennent le statut final ENDED_VANISHED. Malgré le statut final, les Jobs se sont
déroulés correctement, seul le message de fin n'a pas pu être envoyé à l'Agent. Avant le
changement de type d'informateur de Job, il faut donc terminer tous les Jobs du système.
Rubriques connexes : Moniteur d'Evènements
7.17.10 Codes retour des Jobs z/OS
L'Agent journalise dans le rapport d'activation du Job toutes les erreurs qui se sont produites. En
outre, il définit un code retour en fonction de l'exécution du Job. Dans l'objet Job, vous pouvez
décider dans l'onglet Exécution à partir de quel code retour le Job doit être interrompu.
Au lieu d'un seul code retour, vous pouvez également définir des plages de valeur pour chacun
des steps. L'Agent compare le résultat de l'exécution de step à la liste des steps que vous avez
entrée.
Dans z/OS, on distingue trois types de codes retour : Condition Code, User Abend et System
Abend. L'Agent utilise des tranches de numéros de 4 ko chacune pour attribuer les codes retour.
Type de code retour
z/OS
Automation Engine
Condition Code
0 à 4095
0000 - 0FFF (0 à 4095)
User Abend
U0000 à U4095
1000 - 1FFF (4096 à 8191)
System Abend
S000 à SFFF
2000 - 2FFF (8192 à 12287)
Attention : le code retour doit être entré comme valeur décimale dans l'onglet "Exécution" de
l'objet Job ! Les User et System Abends doivent donc être convertis en valeurs décimales.
Exemple :
389
Chapter 7 L'Automation Engine et les systèmes cible
Le code retour SB37 indique que le volume est plein lors de l'écriture d'un fichier. La valeur décimale
correspondante est 11063.
Rubriques connexes :
Onglet Exécution
7.17.11 Exit JCL
Lors de l'exécution de Jobs z/OS, vous pouvez utiliser vos propres exits JCL. Il s'agit là d'un
module permettant de modifier le Job généré avant son exécution.
Créez les Jobs z/OS comme d'habitude dans l'Automation Engine. Au démarrage, le Job généré est
envoyé à l'Agent. Celui-ci procède encore à quelques compléments, puis exécute le Job dans le
système cible. Lors de l'utilisation de l'exit JCL, l'Agent appelle le module défini avant son
exécution. Il est ainsi possible de modifier ultérieurement le JCL dans z/OS. Vous pouvez rajouter
des lignes JCL, les modifier ou les analyser et ainsi, par exemple, empêcher le démarrage de
certains programmes.
Dans le dossier de livraison de l'Agent z/OS, vous trouverez un exemple de module, dans le fichier
nommé uc4jcle.asm, qui insère des lignes de commentaire. Il contient également une description de
l'utilisation du module.
L'exit JCL peut être activé individuellement pour chaque Agent z/OS.
Configuration
l
Entrez dans le fichier INI de l'Agent z/OS le nom de votre module d'exit JCL et définissez
également la taille du domaine de sortie.
(Exit JCL)
name=Nom du module
maxJclRecords=1000
l
l
Le module est chargé lors du démarrage de l'Agent. Copiez-les soit dans la bibliothèque de
chargement (Loadlibrary) ou étendez la définition STEPLIB pour l'Agent avec la bibliothèque
avec l'exit JCL.
Une fois ces précautions prises, démarrez l'Agent.
Rubriques connexes : Fichier INI
7.17.12 Include MVS.JOBMD_DEFINITIONS
Pour que l'informateur de Job puisse ouvrir une connexion TCP/IP, il est important de marquer les
instructions DD correspondantes dans l'objet Include, sinon les Jobs se mettent dans le statut
ENDED_VANISHED.
L'adaptation de l'objet Include MVS.JOBMD_DEFINITIONS n'est nécessaire que si le MVS ou
le Language Environment Resolver ne fonctionne pas correctement.
Automation Engine
390
Créez un objet Include du nom de MVS.JOBMD_DEFINITIONS dans le Client système 0000 pour
éviter cette situation. Vous pouvez entrer les instructions DD dans celui-ci. Vous trouverez les
instructions exactes dans la Started Task du TCP/IP.
Ex. :
//SYSTCPD DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20OEDA),DISP=SHR
//PROFILE DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20VIPA),DISP=SHR
L'Include est appelé lors de l'exécution d'un Job dans l'en-tête. Il s'agit d'un objet nommé
HEADER.MVS qui est fourni d'office dans le Client système 0000.
:INC MVS.JOBMD_DEFINITIONS ,nofound=ignore
391
Chapter Glossaire
Glossaire
Ce glossaire contient tous les concepts spécifiques.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
.1 A
l
l
l
l
l
l
l
l
l
Activation
L'activation entraîne l'attribution d'un RunID à la Tâche, l'affichage de la Tâche dans la
Fenêtre d'Activités et la préparation pour l'exécution.(voir aussi Début)
Agent
Programme permettant l'exécution de Traitements sur des systèmes cible comme un
ordinateur ou des solutions d'entreprise. Egalement un type d'objet distinct dans AE.
Agent RA
Agent, pouvant être associé à une solution RA particulière et mettant ses fonctionnalités à
disposition d'un système AE. Il sert donc d'interface entre un système, une application ou
une plate-forme externe et un système AE.
Aide HTML
Format d'aide de Microsoft pour les manuels. L'extension des fichiers d'aide est .CHM (voir
aussi WebHelp)
Alerte
Envoi de messages à un utilisateur ou un groupe utilisateur unique du système Automation
Engine (AE). Egalement un type d'objet propre à AE.
Alias
Nom pour les Tâches qui affichent le moniteur et les statistiques au lieu du nom de l'objet
réel dans la Fenêtre d'Activités. Possible pour les Tâches de Workflow et les objets qui sont
activés de manière unique, périodique ou bien pas le Script.
Attributs de l'hôte
Attributs de l'objet Job, variant en fonction de la plate-forme.
activité
voir Tâche
automatisation rapide
Technologie générique pouvant reprendre différentes solutions. Est composée d'un agent et
d'une solution RA.
.2 B
l
Base de données AE
Système de gestion de base de données relationnelles, permettant la gestion centralisée de
toutes les données de planification. Elle contient définitions d'objet, paramètres système,
données statistiques, rapports de Job, etc.
Automation Engine
392
.3 C
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
Calendrier
Partie d'un objet Groupe Calendrier dans lequel les jours sont définis.
CallAPI
Interface de programmation pouvant être exécutée en direct ou à partir d'un autre
programme, afin d'exécuter un Script dans le système AE.
CallOperator
Deprecated Term. Replaced by: Alerte
Caractères génériques
Caractères de remplacement des données de filtre (? = un caractère exactement, * = chaîne
de caractères).
Chaîne de job
Deprecated Term. Replaced by: Workflow
Chaîne de traitement
Deprecated Term. Replaced by: Workflow
Classe d'objet
Tous les objets sont répartis en 4 classes: objets activables, objets actifs, objets passifs et
objets système.
Clef
Colonne pour les objets Variable statique par laquelle il est possible d'accéder aux Valeurs
d'une ligne spécifique.
Client
Environnement indépendant pour l'exécution de Tâches dans un système AE. Egalement un
type d'objet distinct dans AE.
Client Queue
Objet Queue présent par défaut dans chaque client.
Cockpit
Visualise les valeurs et statuts dans AE ou à partir des systèmes surveillés et contrôlés.
Egalement un type d'objet distinct dans AE.
Code Retour
Valeur représentant le résultat des Tâches et des fonctions de Script.
Colonne Résultat
Première colonne d'objets Variable avec la source "SQL", "SQL interne"et "Multi". Le
contenu de cette colonne est déterminé par le Format du résultat.
Composants AE
Regroupe tous les programmes AE, notamment l'Interface Utilisateur, les Serveurs, les
Agents, les Service Manager, les utilitaires, etc.
Condition de calendrier
Critère d'exécution pour les Tâches basées sur les Calendriers.
Connexion e-mail
Fonctionnalité des Agents Windows et UNIX permettant l'envoi d'e-mails.
Conteneur de périodes
Contrôle l'exécution des Tâches périodiques.
393
Chapter Glossaire
.4 D
l
l
l
l
Date logique
Lors de l'exécution de Tâches, la date et l'heure jouent un rôle important. En temps normal,
les deux sont actuelles. Dans certaines situations, il est cependant nécessaire de spécifier
des date et heure particulières et non pas les date et heure actuelles. On parle alors d'une
date logique. Cela influence la vérification des conditions de calendrier.
DialogClient
Deprecated Term. Replaced by: Interface Utilisateur
Dépendance externe
Tâche dont le statut de fin est pris en compte dans le déroulement du Workflow, bien qu'elle
ne soit pas exécutée dans le cadre du Workflow.
date réelle
Date utilisée pour la vérification de la durée d'exécution ou des conditions horaires dans les
caractéristiques des tâches de workflow. La date réelle, correspondant au moment de
l'activation du workflow le plus haut, est transmise à toutes les tâches subordonnées.
.5 E
l
l
l
l
l
l
l
l
l
Elément PromptSet
Champs/ éléments de contrôle permettant de demander des valeurs de l'Utilisateur. Forment
le contenu d'un masque de saisie d'un PromptSet.
Enfant, enfants
Objets activés par le biais de Tâches supérieures dans l'arborescence (parent).
Enregistré en attente
Statut d'une Tâche qui est exécutée dans un Groupe et attend son démarrage.
Enterprise Control Center
Produit Automic. Application Web pour accéder facilement et clairement aux fonctions de
diverses applications ou produits Automation Engine. Disponible dans le centre de
téléchargement Automic.
Event-ID
Premier RunID des Evènements de systèmes de fichiers ou de console. Les deux types
d'Evènements impliquent une communication entre le composant Automation Engine et
l'Agent AE. Afin que l'affectation à l'Evènement reste possible en cas de changement du
fichier de logging ou de modification liée du RunID, la communication s'effectue par le biais
du premier RunID.
Evènement
Action exécutée lorsque certaines conditions sont remplies. Egalement un type d'objet
distinct dans AE
Explorer
Fenêtre de l'Interface Utilisateur dans laquelle les objets sont affichés, traités et gérés.
Exécuteur de tâches
Deprecated Term. Replaced by: Agent
Exécution
Durée d'exécution d'une Tâche. C'est la période entre le début et la fin de la Tâche. La
période d'activation n'en fait pas partie (voir aussi Activation et Démarrage).
Automation Engine
394
.6 F
l
l
l
l
Fenêtre d'activités
Fenêtre de l'Interface Utilisateur dans laquelle s'affichent les objets activés.
Fenêtre de message
Fenêtre dans l'Interface Utilisateur qui affiche avertissements, messages d'information et
d'erreur.
Fichier XML
Format d'importation et d'exportation. Contient la structure des objets.
Fuseau Horaire
Définit l'heure locale. Egalement un type d'objet distinct dans AE.
.7 G
l
l
l
l
l
l
Gestion des Versions
Version protégée d'un objet qui peut être créée lors des modifications et restaurée
ultérieurement.
Graphical Workload Analyzer
Deprecated Term. Replaced by: UC4 ClearView
Groupe
Regroupe des Tâches pour les exécuter ensemble. Egalement un type d'objet distinct dans
AE.
Groupe Agent
Groupe Calendrier
Rassemblement de jours au sein de Calendriers. Egalement un type d'objet distinct dans
AE.
Groupe Utilisateur
Regroupement d'Utilisateurs auxquels un profil de droits commun doit être attribué.
Egalement un type d'objet distinct dans AE.
.8 H
l
Hôte
Ordinateur, système cible
.9 I
l
Include
Script utilisé souvent et dans de nombreux objets. Egalement un type d'objet distinct dans
395
Chapter Glossaire
l
l
AE.
Interface Utilisateur
Interface utilisateur graphique d'UC4.
Interface Web
Interface utilisateur d'UC4 que l'on peut ouvrir via un navigateur web.
.10 J
l
l
Job
Traitement sur un système cible. Egalement un type d'objet distinct dans AE.
Job Control Language
Acronyme de "Job Control Language". Il s'agit d'instructions qui forment les étapes de
traitement et sont exécutées sur les machines.
.11 L
l
l
l
L'Automation Engine
Ce composant commande un système AE. Il se compose de plusieurs processus serveur.
Les Transferts de Fichiers avec caractères qualifiés
Transferts de fichiers sans caractères génériques. Uniquement un fichier spécifique est
transféré.
Login
Données de connexion pour les systèmes cible. Egalement un type d'objet distinct dans AE.
.12 M
l
l
l
l
l
l
Mode batch
Traitement séquentiel de processus en arrière-plan.
Moniteur Sync
Fenêtre d'affichage de l'état d'un objet Sync et de ses tâches attribuées.
Moniteur de Workflows
Représentation graphique de l'exécution d'objets de workflow actifs. Affiche la structure du
Workflow et le statut des tâches subordonnées.
Moniteur de groupe
Fenêtre d'affichage des tâches d'un groupe.
Moniteur de schedule
Représentation graphique de l'exécution d'objets de schedule.
moniteur d'alertes
Fenêtre de l'alerte envoyée à au moins un utilisateur au moment de l'exécution.
Automation Engine
396
.13 O
l
Objet
Les activités et déroulements que contrôle Automation Engine sont représentés à l'aide
d'objets (voir aussi Tâche).
.14 P
l
l
l
l
l
l
l
l
l
l
l
l
Parent
Un objet peut être activé de différentes façons. L'initiateur de l'activation s'appelle Tâche de
niveau supérieur (parent). (voir aussi Enfant, Enfants)
Priorité AE
La priorité AE est influencée par le traitement des Tâches au sein du système AE.
Process Assembly
Perspective de l'Enterprise Control Center. Sert à créer, définir et modifier des workflows.
Process Automation
Ancien nom de la perspective Catalogue de Service.
Process Monitoring
Perspective de l'Enterprise Control Center. Liste et permet d'agir (annuler, désactiver,...) sur
les activités de tous les utilisateurs.
Processus de Travail Primaire
Le processus de travail primaire exécute des Tâches centrales des processus de travail qui
ne permettent aucune répartition (base horaire, gestion des processus, etc.)
Processus de communication
Partie du composante Automation Engine. Assure la connexion aux composants AE.
Processus de dialogue
Partie du composant Automation Engine et forme particulière de processus de travail. Ne
s'occupe que des messages provenant de l'Interface Utilisateur.
Processus de travail
Partie du composante Automation Engine. S'occupe du traitement dans un système UC4
(voir aussi le processus de travail primaire).
Processus non-stop
Partie du composante Automation Engine. Ils reprennent le traitement lorsque la machine
avec les processus serveur actifs tombe en panne.
Processus serveur
Partie du composant Automation Engine. Il existe plusieurs types de processus serveur:
processus de communication, processus de travail, processus de dialogue et processus
non-stop.
PromptSet
Masque de saisie défini par l'Utilisateur pour les objets activables. Egalement un type d'objet
distinct dans AE.
397
Chapter Glossaire
l
l
Protocole d'activation
Rapport contenant les détails d'activation de la Tâche. JCL généré, modifications de
Variables, etc.).
perspective
"Volet fonctionnel propre de l'interface Web de l'Enterprise Control Center (ECC). Les
perspectives ""Service Catalog"", ""Process Monitoring"" et ""Process Assembly"" mettent
à disposition de l'utilisateur des fonctionnalités de la plate-forme d'automatisation
Automation Engine."
.15 Q
l
l
Queue
Définit le nombre maximal de Tâches exécutées en parallèle, leur priorité et l'ordre des objets
à exécuter.Egalement un type d'objet distinct dans AE.
QueueManager
Deprecated Term. Replaced by: RemoteTaskManager
.16 R
l
l
l
l
l
Rapport
Rapport contenant les détails d'activation d'une Tâche ou d'un composant AE.
Release Manager
Deprecated Term.
RemoteTaskManager
Surveille et contrôle les Jobs externes qui n'ont pas été démarrés par l'Automation Engine
Egalement un type d'objet distinct dans l'AE.
Reprise
Répétition d'une exécution d'objet déjà créée pour laquelle plusieurs particularités
s'appliquent au redémarrage.
RunID
Abréviation du numéro d'identification unique. Il s'agit plus précisément d'un nombre qui
identifie clairement l'exécution d'une Tâche. Le RunID peut comporter entre 7 et 10
caractères . Ils sont attribués par le composant Automation Engine.
.17 S
l
Schedule
Démarre des objets activables à intervalles périodiques. Egalement un type d'objet distinct
dans AE.
Automation Engine
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
Script
Instructions de traitement dans le langage de script d'AE. Egalement un type d'objet distinct
dans AE.
Script AE
Langage de script utilisé par l'Automation Engine.
Serveur UC4
Anciens Terme pour le composant Automation Engine.
Service Catalog
Perspective de l'Enterprise Control Center. Permet à l'utilisateur de démarrer les objets de
son dossier Favoris et d'en surveiller en gros l'exécution.
Service Orchestrator
Produit Automic. Service Orchestrator est une perspective (plug-in) de Enterprise Control
Center (ECC). Il sert à gérer, surveiller, analyser les performances de SLA (Service Level
Agreements).
ServiceManager
Programme permettant de démarrer et d'arrêter des composants AE.
Simulation
Estimation de la durée d'une Tâche sur la base des exécutions précédentes.
Solution RA
Solution basée sur la technologie Rapid Automation permettant l'accès d'AE à un système,
une application ou une plate-forme externe. Il s'agit ici d'un fichier .jar, à charger dans la base
de données AE et à associer à un agent RA. Les objets RA spécifiques (jobs, relations et
agent) sont disponibles après chargement de la solution dans le système AE.
Sous-Workflow
Workflow faisant partie d'une autre Workflow.
Statistiques
Liste des exécutions précédentes d'une Tâche.
Statut
Statut d'une Tâche (par ex. active, bloquée, génération en cours, etc.).
Supervision système
Fenêtre de l'Interface Utilisateur contenant des informations sur le système AE.
Sync
Synchronise les objets activables en fonction de statuts et d'actions définis. Egalement un
type d'objet distinct dans AE.
Système AE
Environnement contrôlé par les composants AE.
Séquence de données
Liste interne (Exemple : Sorties de console ou lignes d'un objet Variable), dont les lignes
peuvent être accessibles grâce à une boucle PROCESS et l'élément de script GET_
PROCESS_LINE. Les Séquences de données sont créées avec les éléments de script
PREP_PROCESS*.
simulation automatique
Indique les tâches qui seront exécutées dans une période donnée et offre ainsi une
prévisualisation détaillée des activités futures.
.18 T
l
398
Table de Code
Définit un jeu de caractères complet. Egalement un type d'objet distinct dans AE.
399
Chapter Glossaire
l
l
l
l
l
l
Transfert de Fichier
Transmission de fichiers entre deux machines. Egalement un type d'objet distinct dans AE.
Type d'objet
A chaque activité correspond un objet: Agent, Alerte, Utilisateur, Groupe Utilisateur,
Cockpit, Table de Codes, Documentation, Evènement, Transfert de Fichier, Groupe,
Include, Job, Workflow, Groupe Calendrier, Login, Client, RemoteTaskManager, Schedule,
Script, Serveur, Sync, Variable et Fuseau horaire.
Tâche
Objet exécutable qui a déjà été exécuté.
Tâche de niveau supérieur
Liste des exécutions précédentes d'une Tâche.
Tâches périodiques
Sont planifiées sans objet Schedule et couvrent la plupart du temps une période inférieure à
un jour.
transferts de fichiers avec caractères génériques
Transferts de fichiers qui transfèrent plusieurs fichiers à l'aide de caractères génériques.
.19 U
l
l
l
l
l
l
l
l
l
l
l
l
UC4 Automation Engine
UC4 Automation Platform
Deprecated Term. Replaced by: UC4 Automation Engine
UC4 ClearView
Produit UC4. Outil d'analyse graphique : Regroupe, pour chaque utilisateur d'un système
UC4, les données de simulation, d'activités et de statistiques dans un diagramme à barre et
permet ainsi le calcul du chemin critique. Disponible dans le centre de téléchargement UC4.
UC4 ONE Automation 2013
UC4 Operations Manager
Deprecated Term. Replaced by: UC4 Automation Platform
UC4.DB Archive
L'utilitaire UC4.DB Archive exporte, afin de la sécuriser, la quantité sans cesse croissante
de données de la base de données UC4.
UC4.DB Change
Utilitaire de modification d'exportation de conteneurs Transport.
UC4.DB Client Copy
Utilitaire de copie et suppression de clients
UC4.DB Load
Pour réaliser différents objectifs, l'utilitaire UC4.DBLoad charge des données dans la base
de données UC4.
UC4.DB Reorg
Utilitaire de réorganisation de la base de données UC4. Les enregistrements reçoivent une
marque de suppression en raison de certains réglages.
UC4.DB Reporting Tool
L'utilitaire UC4.DB Reporting Tool vous permet de procéder à des évaluations de votre
système UC4. Le résultat est présenté sous forme de fichier de rapport.
UC4.DB Revision Report
Utilitaire de décharge des rapports de révision issus de la base de données UC4. Ces
rapports contiennent des informations détaillées sur les modifications d'objets et les accès.
Automation Engine
l
l
l
l
l
400
UC4.DB Unload
Utilitaire de déchargement de la base de données UC4
UC4.Log Mix
L'utilitaire UC4.LogMix vous aide à résoudre ce problème en créant un fichier unique à partir
de plusieurs fichiers de rapport, log ou trace.
Universal Time Coordinated
L'Automation Engine utilise UTC (Universal Time Coordinated) en interne en raison de sa
clarté universelle. Pour l'affichage de l'heure et pour son utilisation dans les Tâches et les
éléments de script, il est possible de créer des objets Fuseau horaire correspondants,
convertis dans un fuseau horaire local.
Utilisateur
Personne utilisant le système UC4. Egalement un type d'objet distinct dans UC4.
Utilitaires
Prennent en charge les Tâches d'administration d'un système UC4, telles que la
réorganisation et l'archivage de la base de données UC4.
.20 V
l
l
l
l
l
l
l
l
Variable
Enregistre ou fournit les valeurs dynamiques de l'exécution. Egalement un type d'objet
distinct dans UC4.
Variable PromptSet
Enregistre la valeur d'un élément PromptSet. Ainsi, il peut s'agir selon la situation de celle
indiquée par l'Utilisateur ou d'une valeur par défaut. Elles se comportent comme des
Variables d'objet.
Variable de Script
Caractères de remplacement d'une valeur dans un Script.
Variable dynamique
Objet Variable avec l'attribut "Source" - "SQL", "SQL interne", "Multi" ou "Liste de fichier".
Pour chaque accès, les valeurs sont récupérées directement dans la source de données et
ne sont pas enregistrées dans l'objet.
Variable prédéfinie
Variables fixes qui peuvent être utilisées dans des attributs ou dans des Scripts d'objets
activables. Les valeurs se rapportent à l'objet ou au système.
Variable statique
objet Variable avec le paramètre "Source" - "statique" : Les valeurs des Variables sont
saisies par l'Utilisateur ou par un Script et restent enregistrées dans l'objet.
Variables AE
Variables comportant les paramètres de configuration du système AE.
Variables d'objet
Caractères de remplacement des valeurs définies dans l'onglet "Variables & Prompts" d'un
objet.
401
Chapter Glossaire
.21 W
l
l
WebHelp
Format d'aide pour les manuels qui peut être ouvert via un navigateur web. (voir aussi l'aide
HTML)
Workflow
Déroulement de Traitements. Egalement un type d'objet propre à UC4.

Documents pareils