Script UC4 - Rackcdn.com
Transcription
Script UC4 - Rackcdn.com
Automation Engine Script UC4 Version: 9.9.0 2 3 Chapter Date: 2014/06 Automic Software GmbH iv Copyright Copyright La marque Automic® et le logo 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 de la société Automic. 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 non-respect 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 v Table des matières 1 Introduction 1 1.1 A propos des scripts UC4 1 1.2 Premières étapes 2 1.2.1 Introduction 2 1.2.2 Check-lists préalables 2 1.2.3 Premier script 3 1.2.4 Instructions de script 4 1.2.5 Variables de script 5 1.2.6 Fonctions de Script 6 1.2.7 Utilisation de JCL 6 1.2.8 Boîtes de dialogue définies par l'utilisateur 8 1.2.9 Conditions IF 9 1.2.10 Boucles dans le Script 1.3 Principes de base 10 13 1.3.1 Elaboration des Scripts 13 1.3.2 Structures de contrôle 14 1.3.3 Variable de Script 14 1.3.4 Littéral de script 18 1.3.5 Onglets de script 19 1.3.6 Editeur de scripts 20 1.3.7 Aide au démarrage 23 1.4 Thèmes prolongés 24 1.4.1 Utilisation des éléments de Script 24 1.4.2 Traitement des erreurs 24 1.4.3 Utilisation d'objets Variable 25 1.4.4 Changement d'attributs d'objet 25 1.4.5 Codes retour des fonctions 26 1.4.6 Calcul 26 1.4.7 Chaînes de caractères 28 1.4.8 Formats de date, d'heure et de période 29 1.4.9 Envoi d'Alertes 31 1.4.10 Traitement du Script 32 vi Contents 1.5 Eléments de script plus pris en charge 32 2 Scripts - Liste alphabétique 34 3 Organisation fonctionnelle 44 3.1 Scripts - Organisation fonctionnelle 3.1.1 Statuts et utilisation du système 3.2 Modification d'objets 44 51 55 3.2.1 :REGISTER_OUTPUTFILE 55 3.2.2 CREATE_OBJECT 56 3.2.3 EXPORT 60 3.2.4 IMPORT 61 3.2.5 MODIFY_OBJECT 63 3.2.6 MOVE_OBJECT 68 3.2.7 REMOVE_OBJECT 69 3.3 Activation d'objets 70 3.3.1 :BEGINREAD... :ENDREAD 70 3.3.2 :PRINT 72 3.3.3 :PUT_READ_BUFFER, :PUT_PROMPT_BUFFER 74 3.3.4 :READ 75 3.3.5 ACTIVATE_UC_OBJECT 81 3.3.6 AUTOFORECAST 85 3.3.7 CANCEL_UC_OBJECT 86 3.3.8 FORECAST_OBJECT 87 3.3.9 FORECAST_TASK 89 3.3.10 RESTART_UC_OBJECT 91 3.3.11 SYS_STATE_ACTIVE 93 3.3.12 SYS_ACTIVE_COUNT 94 3.3.13 SYS_STATE_JOB_ACTIVE 96 3.3.14 SYS_STATE_JOBS_IN_GROUP 97 3.3.15 SYS_STATE_JP_ACTIVE 98 3.3.16 TOGGLE_OBJECT_STATUS 3.4 Lecture ou modification d'objets 100 101 3.4.1 :ADD_ATT 101 3.4.2 :ADD_COMMENT 102 3.4.3 :ATTACH_SYNC 103 Automation Engine vii 3.4.4 :DELETE_VAR 105 3.4.5 :MODIFY_STATE 106 3.4.6 :PUT_ATT 108 3.4.7 :PUT_ATT_APPEND 110 3.4.8 :PUT_VAR 112 3.4.9 :PUT_VAR_COL 114 3.4.10 :REMOVE_ATT 115 3.4.11 :REPLACE_STRUCTURE 117 3.4.12 :SET_CALE 118 3.4.13 :SET_CONDITION 119 3.4.14 :XML_CLOSE 121 3.4.15 GET_ATT 121 3.4.16 GET_ATT_PLAIN 123 3.4.17 GET_ATT_SUBSTR 124 3.4.18 GET_CONDITION 125 3.4.19 GET_OBJECT_TYPE 127 3.4.20 GET_OH_IDNR 128 3.4.21 GET_STATISTIC_DETAIL 129 3.4.22 GET_SYNC 132 3.4.23 GET_VAR 133 3.4.24 MODIFY_TASK 135 3.4.25 MODIFY_UC_OBJECT 158 3.4.26 SET_SYNC 162 3.4.27 XML_BEAUTIFY 163 3.4.28 XML_GET_ATTRIBUTE 165 3.4.29 XML_GET_CHILD_COUNT 166 3.4.30 XML_GET_FIRST_CHILD 167 3.4.31 XML_GET_LAST_CHILD 169 3.4.32 XML_GET_NEXTSIBLING 170 3.4.33 XML_GET_NODE_NAME 172 3.4.34 XML_GET_NODE_TEXT 173 3.4.35 XML_OPEN 175 3.4.36 XML_PRINTINTOFILE 177 3.4.37 XML_SELECT_NODE 178 viii Contents 3.5 Elaboration et traitement des Scripts 180 3.5.1 :DATA 180 3.5.2 :DEFINE 181 3.5.3 :EXT_REPORT_OFF 183 3.5.4 :EXT_REPORT_ON 184 3.5.5 :FILL 184 3.5.6 :GENERATE 186 3.5.7 :IF... :ELSE... :ENDIF 188 3.5.8 :INCLUDE 190 3.5.9 :INC_SCRIPT 191 3.5.10 :JCL_CONCAT_CHAR 192 3.5.11 :JCL_SUBSTITUTE 194 3.5.12 :PSET 195 3.5.13 :RESTART 197 3.5.14 :RSET 198 3.5.15 :SET 200 3.5.16 :SET_SCRIPT_VAR 201 3.5.17 :WAIT 203 3.5.18 :WHILE... :ENDWHILE 204 3.5.19 FIND 206 3.5.20 GET_SCRIPT_VAR 207 3.5.21 LENGTH 209 3.6 Traitement des erreurs et messages 210 3.6.1 :EXIT 210 3.6.2 :ON_ERROR 211 3.6.3 :SEND_MSG 212 3.6.4 :SEND_SNMP_TRAP 214 3.6.5 :SET_LAST_ERR 216 3.6.6 :STOP 217 3.6.7 GET_MSG_TXT 219 3.6.8 GET_MSG_TYPE 220 3.6.9 SEND_MAIL 221 3.6.10 SYS_LAST_ERR_INS 223 3.6.11 SYS_LAST_ERR_NR 224 Automation Engine 3.6.12 SYS_LAST_ERR_SYSTXT 3.7 Données d'activation ix 225 226 3.7.1 GET_PARENT_NAME 226 3.7.2 GET_PARENT_NR 227 3.7.3 GET_PARENT_TYPE 228 3.7.4 GET_UC_OBJECT_STATUS 229 3.7.5 GET_UC_OBJECT_NR 231 3.7.6 SYS_ACT_HOST 232 3.7.7 SYS_ACT_JP 233 3.7.8 SYS_ACT_ME_NAME 234 3.7.9 SYS_ACT_ME_NR 234 3.7.10 SYS_ACT_ME_TYPE 235 3.7.11 SYS_ACT_PARENT_NAME 236 3.7.12 SYS_ACT_PARENT_NR 237 3.7.13 SYS_ACT_PARENT_TYPE 239 3.7.14 SYS_ACT_PREV_NAME 240 3.7.15 SYS_ACT_PREV_NR 241 3.7.16 SYS_ACT_PTTYP 242 3.7.17 SYS_ACT_RESTART 242 3.7.18 SYS_ACT_RESTART_COUNT 243 3.7.19 SYS_ACT_RESTART_ME_NR 244 3.7.20 SYS_ACT_TOP_NAME 245 3.7.21 SYS_ACT_TOP_NR 246 3.7.22 SYS_ACT_USERID 246 3.7.23 SYS_LAST_RESTART_POINT 247 3.7.24 SYS_LAST_RESTART_TEXT 248 3.7.25 SYS_RESTART_POINT 249 3.8 Données Utilisateur 250 3.8.1 IS_GROUP_MEMBER 250 3.8.2 SYS_ACT_CLIENT, SYS_USER_CLIENT 251 3.8.3 SYS_ACT_CLIENT_TEXT 252 3.8.4 SYS_USER_ALIVE 252 3.8.5 SYS_USER_DEP 254 3.8.6 SYS_USER_LNAME 255 x Contents 3.8.7 SYS_USER_NAME 3.9 Séquences de données 255 256 3.9.1 :CLOSE_PROCESS 256 3.9.2 :PROCESS... :TERM_PROCESS... :ENDPROCESS 257 3.9.3 GET_PROCESS_LINE 259 3.9.4 PREP_PROCESS 263 3.9.5 PREP_PROCESS_AGENTGROUP 267 3.9.6 PREP_PROCESS_COMMENTS 269 3.9.7 PREP_PROCESS_FILE 272 3.9.8 PREP_PROCESS_FILENAME 276 3.9.9 PREP_PROCESS_REPORT 280 3.9.10 PREP_PROCESS_REPORTLIST 284 3.9.11 PREP_PROCESS_VAR 288 3.10 Traitement d'Evènement 291 3.10.1 GET_CONSOLE, GET_EVENT_INFO 291 3.10.2 GET_FILESYSTEM 301 3.10.3 GET_WIN_EVENT 306 Exemples 3.11 Statuts et utilisation du système 307 307 3.11.1 :DISCONNECT 307 3.11.2 :SET_UC_SETTING 309 3.11.3 :SHUTDOWN 311 3.11.4 :TERMINATE 312 3.11.5 CHANGE_LOGGING 313 3.11.6 GET_UC_SERVER_NAME 314 3.11.7 GET_UC_SETTING 315 3.11.8 GET_UC_SYSTEM_NAME 317 3.11.9 ILM 318 Syntaxe 321 3.11.10 MODIFY_SYSTEM 322 3.11.11 SYS_BUSY_01 325 3.11.12 SYS_BUSY_10 326 3.11.13 SYS_BUSY_60 327 3.11.14 SYS_HOST_ALIVE 328 Automation Engine xi 3.11.15 SYS_INFO 330 3.11.16 SYS_SERVER_ALIVE 332 3.11.17 SYS_SNMP_ACTIVE 333 3.11.18 SYS_USER_LANGUAGE 334 3.11.19 TOGGLE_SYSTEM_STATUS 335 3.12 Date et heure 336 3.12.1 ADD_DAYS 336 3.12.2 ADD_PERIOD 338 3.12.3 ADD_TIME 339 3.12.4 ADD_TIMESTAMP 340 3.12.5 CALE_LOOK_AHEAD 341 3.12.6 CONV_DATE 343 3.12.7 CONV_TIMESTAMP 344 3.12.8 DAY_OF_YEAR 345 3.12.9 DIFF_DATE 346 3.12.10 DIFF_TIME 348 3.12.11 FIRST_OF_PERIOD 349 3.12.12 LAST_OF_PERIOD 351 3.12.13 SUB_DAYS 352 3.12.14 SUB_PERIOD 354 3.12.15 SUB_TIME 355 3.12.16 SUB_TIMESTAMP 357 3.12.17 SYS_DATE 358 3.12.18 SYS_DATE_PHYSICAL 359 3.12.19 SYS_LDATE 361 3.12.20 SYS_TIME 362 3.12.21 SYS_TIME_PHYSICAL 363 3.12.22 SYS_TIMESTAMP_PHYSICAL 365 3.12.23 VALID_CALE 366 3.12.24 VALID_DATE 367 3.12.25 VALID_TIME 368 3.12.26 WEEK_NR 369 3.12.27 WEEKDAY_NR 370 3.12.28 WEEKDAY_XX 371 xii Contents 3.12.29 YEAR_9999 3.13 Calcul 372 372 3.13.1 ADD 372 3.13.2 DIV 374 3.13.3 GET_BIT 376 3.13.4 MOD 377 3.13.5 MULT 378 3.13.6 RANDOM 379 3.13.7 SUB 381 3.14 Chaînes 382 3.14.1 ALPHA2RUNNR 382 3.14.2 CONVERT 383 3.14.3 FORMAT 385 3.14.4 HEX 386 3.14.5 ISNUMERIC 387 3.14.6 RUNNR2ALPHA 388 3.14.7 STR_CAT 389 3.14.8 STR_CUT, MID, SUBSTR 390 3.14.9 STR_FIND 391 3.14.10 STR_FIND_REVERSE 392 3.14.11 STR_LC, CONV_LC 393 3.14.12 STR_LENGTH, STR_LNG 394 3.14.13 STR_LTRIM 395 3.14.14 STR_MATCH 396 3.14.15 STR_REVERSE 397 3.14.16 STR_RTRIM 398 3.14.17 STR_SUBSTITUTE 398 3.14.18 STR_SUBSTITUTE_VAR, STR_SUB_VAR 400 3.14.19 STR_TRIM 401 3.14.20 STR_UC, CONV_UC 402 3.14.21 UC_CRLF 403 4 JCL UC4 pour les applications 404 4.1 Généralités sur le JCL UC4 pour les applications 404 4.2 Oracle Applications 404 Automation Engine xiii 4.2.1 Généralités sur le JCL Oracle Applications 404 4.2.2 OA_ADD_LAYOUT 405 4.2.3 OA_ADD_NOTIFICATION 406 4.2.4 OA_ADD_PRINTER 406 4.2.5 OA_SET_PRINT_DEFAULTS 407 4.2.6 OA_SUBMIT_REQUEST 408 4.3 PeopleSoft 409 4.3.1 Généralités sur le JCL PeopleSoft 409 4.3.2 PS_GET_HEARTBEAT 410 4.3.3 PS_GRANT_OUTPUT_ACCESS 411 4.3.4 PS_MODIFY_RUNCONTROL 412 4.3.5 PS_RUN_JOB 414 4.3.6 PS_RUN_PROCESS 415 4.3.7 PS_SET_BINDVAR 417 4.4 SAP 418 4.4.1 SAP Basis 418 Généralités sur le JCL SAP 418 R3_ACTIVATE_CM_PROFILE 419 Syntaxe 419 Remarques 419 Exemple 419 R3_ACTIVATE_EXT_COMMAND 420 Syntaxe 420 Exemple 421 R3_ACTIVATE_EXT_PROGRAM 421 Syntaxe 421 Exemple 422 R3_ACTIVATE_INTERCEPTED_JOBS 422 Syntaxe 422 Remarques 425 Exemple 425 R3_ACTIVATE_JOBS 425 Syntaxe 426 Exemple 429 xiv Contents Syntaxe 429 Exemple 433 R3_ACTIVATE_REPORT Syntaxe 433 434 439 Syntaxe 439 Remarques 445 Exemple 445 R3_ACTIVATE_SESSIONS 446 Syntaxe 446 Description 448 Exemples 448 R3_CALL_TRANSACTION 449 Syntaxe 449 Remarques 449 Exemple 450 R3_COPY_VARIANT 450 Syntaxe 450 Exemple 451 R3_CREATE_OUTPUT_REQUEST 452 Syntaxe 452 Exemple 453 R3_CREATE_VARIANT 453 Syntaxe 453 Remarques 454 Exemple 454 R3_DEACTIVATE_CM_PROFILE 454 Syntaxe 454 Remarques 455 Exemple 455 R3_DELETE_NODE 455 Syntaxe 455 Remarques 456 Exemple 456 Automation Engine R3_DELETE_VARIANT xv 456 Syntaxe 456 Exemple 457 R3_GET_APPLICATIONLOG 457 Syntaxe 457 Remarques 458 Exemple 458 R3_GET_APPLICATIONLOG 458 Syntaxe 458 Remarques 460 R3_GET_EVENT 461 Syntaxe 461 Remarques 461 Exemple 462 R3_GET_INTERCEPTION 462 Syntaxe 462 Remarques 462 Exemple 463 R3_GET_JOB_SPOOL 463 Syntaxe 463 Remarques 465 Exemple 466 R3_GET_JOBLOG 466 Syntaxe 466 Remarques 467 Exemple 467 R3_GET_JOBS 467 Syntaxe 468 Description 470 Exemples 471 R3_GET_MONITOR 471 Syntaxe 471 Remarques 472 R3_GET_SESSIONS 472 xvi Contents Syntaxe 473 Description 474 Exemples 474 R3_GET_SPOOLREQUESTS 475 Syntaxe 475 Description 477 Exemple 477 R3_GET_SYSTEMLOG 477 Syntaxe 477 Remarques 478 Exemple 479 R3_GET_VARIANTS 479 Syntaxe 479 Exemple 480 R3_GET_VARIANT_CONTENTS 480 Syntaxe 480 Exemples 481 R3_MODIFY_INTERCEPTION 481 Syntaxe 482 Remarques 482 Exemple 482 R3_MODIFY_JOB 483 Syntaxe 483 Description 485 Exemple 485 R3_MODIFY_VARIANT 485 Syntaxe (paramètres) 485 Syntaxe (options de sélection) 486 Remarques 488 Exemple (paramètres) 488 Exemples (options de sélection) 488 R3_RAISE_EVENT 489 Syntaxe 489 Remarques 489 Automation Engine Exemple R3_SCHEDULE_JOB_CANCEL xvii 490 490 Syntaxe 490 Description 490 Exemple 490 R3_SEND_SPOOL_REQUEST 491 Syntaxe 491 Remarques 493 Exemple 494 R3_SET_BDCDATA 494 Syntaxe 494 Remarques 494 Exemple 495 R3_SET_FREE_SELECTION 495 Syntaxe 495 Remarques 496 Exemple 496 R3_SET_LOG_ATTR 497 Syntaxe 497 Remarques 498 Exemple 499 R3_SET_PERF_ATTR 499 Syntaxe 499 Remarques 500 Exemple 501 R3_SET_PRINT_DEFAULTS 501 Syntaxe 501 Remarques 506 Exemple 506 R3_SET_SELECT_OPTION 506 Syntaxe 506 Remarques 507 Exemple 507 R3_SET_STATUS_ATTR 508 xviii Contents Syntaxe 508 Remarques 509 Exemple 510 R3_SET_TEXT_ATTR 510 Syntaxe 510 Remarques 510 Exemple 511 R3_SWITCH_OPMODE 511 Syntaxe 511 Exemple 512 4.4.2 SAP BCA 512 BCA_ACTIVATE_PROCESS 512 Syntaxe 512 Remarques 513 4.4.3 SAP BW Généralités sur le JCL SAP BW Elément de script BW_ACTIVATE_CHAIN 513 513 513 514 Syntaxe 514 Description 517 Exemple 517 BW_ACTIVATE_INFOPACKAGES 517 Syntaxe 517 Remarques 518 Exemples 519 BW_GET_CHAINS 519 Syntaxe 519 Remarques 520 Exemple 520 BW_GET_INFOPACKAGES 520 Syntaxe 520 Remarques 520 Exemple 521 BW_RESTART_CHAIN 521 Automation Engine xix Syntaxe 521 Description 523 Exemple 523 BW_SET_INFOPACKAGE_SELECTION 524 Syntaxe 524 Remarques 525 Exemple 525 4.4.4 SAP XI XI_GET_CHANNEL 526 526 Syntaxe 526 Remarques 527 Exemple 527 XI_SET_CHANNEL 528 Syntaxe 528 Remarques 529 Exemple 530 4.5 Siebel 4.5.1 SI_START_TASK 5 JCL de UC4 pour JMX 530 530 531 5.1 Généralités sur le JCL JMX 531 5.2 JMX_COMPOSITE_ADD 532 5.3 JMX_CREATE_MBEAN 533 5.4 JMX_GET_AGENT 534 5.5 JMX_GET_ATTRIBUTE 534 5.6 JMX_GET_INFO 535 5.7 JMX_INVOKE 535 5.8 JMX_QUERY_NAMES 536 5.9 JMX_SET_ATTRIBUTE 537 5.10 JMX_UNREGISTER_MBEAN 538 5.11 JMX_WAIT_FOR_NOTIFICATION 538 6 JCL de UC4 pour SQL 540 6.1 Généralités sur le JCL SQL 540 6.2 SQL_EXECUTE_JOB 540 6.3 SQL_GET_COLUMNS 541 xx Contents 6.4 SQL_GET_JOBS 542 6.5 SQL_GET_TABLES 542 6.6 SQL_ON_ERROR 543 6.7 SQL_ON_ROWCOUNT_ZERO 544 6.8 SQL_SET_STATEMENT_TERMINATOR 545 Glossaire 547 Automation Engine 1 1 Introduction 1.1 A propos des scripts UC4 UC4 possède un langage de script très complet qui lui est propre. Celui-ci vous permet d'automatiser nombre de vos processus. Tous les objets activables comportent un onglet Traitement et, dans certains cas, des onglets spéciaux dans lesquels vous pouvez conserver des instructions et des fonctions. L'objectif de ce chapitre d'introduction est de vous familiariser avec les bases du langage de script de UC4. Etape par étape, vous allez aborder de nouveaux points tels que l'élaboration du script et la définition de Variables. En fin de chapitre figurent des conseils qui se révéleront très utiles lors de la création de votre script UC4. Les novices de l'écriture de scripts ne sont pas les seules personnes visées. Les experts y trouveront rapidement les informations recherchées sur les scripts, ceux-ci étant présentés de manière à mettre en avant la syntaxe utilisée et les valeurs possibles pour les paramètres. Cette configuration permet des recherches rapides. Attention : le système d'autorisation UC4 couvre également l'utilisation des scripts UC4. Ainsi, si un Utilisateur ne possède aucun droit sur des objets Variable, il ne peut ni les lire ni les charger à l'aide des fonctions de script correspondantes. Veuillez tenir compte du point suivant lors de l'activation ou la reprise d'objets via l'interface Utilisateur: si vous avez quitté l'interface Utilisateur avant que la génération du script ne soit terminée, il se peut que le résultat souhaité ne se produise pas. Nous vous souhaitons beaucoup de plaisir avec l'apprentissage et l'utilisation du langage de script UC4. 2 Chapter 1 Introduction 1.2 Premières étapes 1.2.1 Introduction Ce chapitre vous permet de vous familiariser avec l'utilisation des scripts UC4 et de démarrer facilement grâce à différentes leçons que vous pouvez traiter étape par étape. Les scripts UC4 vous permettent de contrôler différents processus et de les exécuter. Vous pouvez par exemple modifier et exécuter des objets ou effectuer des opérations de calcul. Les scripts simplifient les processus, car ils remplacent de nombreuses étapes manuelles. Ils mettent également à disposition des fonctionnalités uniques, par exemple des fonctions de calcul ou des boucles de traitement. Tous les objets activables peuvent contenir des scripts. Les onglets script servent à cela. Vous trouverez une description de l'élaboration générale des scripts ici Elaboration des Scripts : Elaboration de script 1.2.2 Check-lists préalables Certaines lignes de script et certains éléments de script nécessitent des conditions préalables particulières. Autorisations Les scripts sont traités lors de l'exécution des objets. L'utilisateur doit donc avoir l'autorisation "X" pour les objets à exécuter. JCL JCL est l'abréviation de "Job Control Language". Il s'agit de commandes qui sont exécutées sur certains ordinateurs, par exemple une commande "dir" sur un ordinateur sous Windows. Outre les commandes du système d'exploitation, il existe des scripts JCL propres à UC4 pour certaines plateformes ou applications (par exemple : SAP). Vous les trouverez dans les chapitres suivants : l l l JCL UC4 pour les applications JCL de UC4 pour JMX JCL de UC4 pour SQL L'utilisation de JCL nécessite qu'un objet Job et qu'un Agent soient définis pour le système d'exploitation correspondant (par exemple : Windows), la plateforme (par exemple : SAP) ou l'application (par exemple : SQL). L'Agent doit être actif et connecté au système UC4. Il doit également être activé pour les Clients correspondants (voir : Agent - Onglet Autorisations). Pour que les commandes JCL puissent être exécutées, un objet Login est également requis ; il contient les informations de connexion valides du système d'exploitation, de la plateforme ou de l'application. Vous effectuez votre sélection dans l'objet Job. Les commandes JCL ne peuvent être utilisées que dans l'onglet Script des Jobs! Le script :DATA permet de déclarer explicitement des lignes JCL. Automation Engine 3 Eléments de script UC4 spéciaux Les éléments de script suivants nécessitent des conditions préalables individuelles: l l l l l l l l :REGISTER_OUTPUTFILE Ne peut être utilisé que dans l'onglet Script des Jobs UNIX et Windows. Le script SEND_MAIL Connexion e-mail doit être configuré :SEND_SNMP_TRAP Le SNMP est configuré SYS_ACT_HOST Est utilisé dans l'onglet script des Jobs ou du système de fichiers ou des Evènements de console (dans ce cas également, le !Script est possible). PREP_PROCESS_FILE et PREP_PROCESS_FILENAME Agent du système d'exploitation PREP_PROCESS Agent correspondant à la description du script GET_CONSOLE, GET_FILESYSTEM et GET_WIN_EVENT Sont utilisés uniquement dans les objets Evènement ILM Utilisation de ILM 1.2.3 Premier script Objectif : - Ecrire un texte à l'aide d'un script dans le protocole d'activation Leçon 1 Créez d'abord un objet exécutable, de préférence un objet script (SCRI). Ouvrez-le et allez dans l'onglet Script. Ici, vous pouvez ajouter des lignes de script qui sont traitées lors de l'exécution de l'objet. Pour écrire des informations dans le protocole d'activation (rapport) de la Tâche, utilisez l'élément :PRINT. Saisissez les lignes suivantes dans l'onglet script : :PRINT"Sortie avec :PRINT" Enregistrez l'objet script et lancez-le. Ouvrez ensuite le dernier rapport. Dans l'onglet "Activation", vous pouvez voir le texte souhaité avec la marque horaire principale (moment de la sortie). 4 Chapter 1 Introduction 1.2.4 Instructions de script Objectifs : - Utiliser des instructions de script Leçon 2 Chaque ligne de script dans UC4, en dehors de JCL ou d'un commentaire, commence par une instruction de script. Les instructions de script sont des éléments de script UC4 qui commencent par deux-points : et sont surlignés en bleu dans l'éditeur de script de l'Interface Utilisateur. Elles sont souvent associées à une valeur. L'élément de script :PRINT, par exemple, est une instruction de script (voir leçon 1). L'élément de script :SEND_MSG, qui envoie un message à un Utilisateur UC4 donné, est également une instruction. Le message est affiché dans la fenêtre des messages. Exemple : : SEND_MSG"HUBER","EDV","Veuillez lancer la sauvegarde !" L'instruction de script :PUT_ATT vous permet de modifier les attributs de chaque objet dans lequel le script est utilisé. La ligne de script suivante active par exemple l'attribut "Compte interne" (onglet Attributs par exemple : pour un objet script) : : PUT_ATT INT_ACCOUNT="Compte interne" Automation Engine 5 1.2.5 Variables de script Objectifs : - Créer des Variables de Script - Remplir des Variables avec des valeurs - Afficher des valeurs de Variables Leçon 3 Les Variables de Script permettent d'enregistrer et de transmettre des valeurs dans les Scripts. Elles peuvent par exemple contenir le code retour des fonctions de Script. Les Variables de Script peuvent être créées avec un certain type de données. Ce dernier indique quelles valeurs doivent être enregistrées dans les Variables de Script. Les types de données suivants sont disponibles : l l l l unsigned - Nombres entiers positifs signed - Nombres entiers négatifs et positifs float - Nombres à virgule flottante positifs et négatifs string - Chaîne de caractères, la valeur doit être indiquée entre guillemets (litéral de Script) Le nom des Variables commence par le caractère &, le deuxième caractère ne doit pas être un nombre. Dans les étapes suivantes, nous allons créer deux Variables de Script, attribuer des valeurs et afficher les valeurs dans le protocole d'activation : Ouvrez d'abord un objet activable de votre choix et accédez à un onglet Script. Nous créons la première Variable de Script avec l'élément :DEFINE. Le type de données est fixe et ne peut plus être modifié par la suite. Comme la Variable doit enregistrer un nombre négatif, le type de données "signed" est sélectionné. Vous attribuez une valeur avec l'élément :SET. :DEFINE&nombre#,signed :SET &nombre# = -1 Nous créons la deuxième Variable de Script directement avec :SET et lui attribuons la valeur "test". Dans ce cas, la Variable peut ensuite être modifiée en une valeur de votre choix (en d'autres termes, le type de données est fonction de la valeur). :SET &chaîne# = "test" Vous utilisez la ligne de Script suivante pour écrire les valeurs des deux Variables dans le protocole d'activation. Le caractère & doit être indiqué deux fois pour pouvoir afficher le nom des Variables. :PRINT"&&nombre# = &nombre#, &&chaîne# = &chaîne#" La lignes suivante figure dans le protocole d'activation une fois l'objet enregistré et exécuté : 2011-04-06 14:48:17 - U0020408 &nombre# = -0000000000000001, &chaîne# = test Vous trouverez de plus amples informations sur les Variables de Script dans le document correspondant. 6 Chapter 1 Introduction 1.2.6 Fonctions de Script Objectifs : - Appeler une fonction script - Enregistrer le code retour de la fonction dans une Variable de Script - Afficher la Variable dans le protocole d'activation Leçon 4 Les fonctions de Script sont des Scripts UC4 qui fournissent des codes retour. De nombreuses fonctions ne fournissent pas seulement des valeurs, mais exécutent également des actions. Les fonctions de Script ne doivent pas figurer en début de ligne et ne peuvent ainsi être utilisées qu'avec des instructions de Script. Elles sont surlignées en rouge dans l'éditeur de Script de l'Interface Utilisateur. Le nom de la fonction est suivi de parenthèses qui peuvent contenir des paramètres. Dans la leçon suivante, nous allons effectuer une opération de calcul à l'aide d'une fonction script. Nous créons d'abord une Variable de Script avec le type de données "float" (voir également leçon 3). :DEFINE &résultat#, float Nous utilisons ensuite la fonction script DIV pour effectuer une division. La fonction comporte deux paramètres : Nombre 1 et 2. Le nombre 1 est divisé par le nombre 2. Le code retour de la fonction est le résultat de la division. Nous enregistrons ce résultat dans une Variable de Script ; l'instruction de Script :SET est requise. Si nous combinons maintenant l'instruction de Script :SET, la Variable de Script &résultat# et la fonction script DIV, nous obtenons la ligne suivante : :SET&résultat# = DIV(1,4) Nous voulons maintenant afficher le résultat dans le protocole d'activation. :PRINT"Résultat : 1/4 = &résultat#" Résultat dans le rapport d'activation : 2011-04-06 14:48:17 - U0020408 Résultat : 1/4 = +0000000000000000.2500000000000000 La fonction script FORMAT vous permet par exemple maintenant de formater le résultat de la division. Dans notre exemple, nous supprimons les zéros inutiles au début et à la fin. :SET&format# = FORMAT(&résultat#,"0.00") :PRINT"Résultat formaté : &format#" Protocole d'activation : 2011-04-06 14:48:17 - U0020408 Résultat formaté : 0.25 1.2.7 Utilisation de JCL Objectifs : - Exécuter des commandes de système d'exploitation Automation Engine Leçon 5 Les commandes JCL (=Job Control Language) ne peuvent être utilisées que dans l'onglet Script des Jobs. Il s'agit de commandes qui ne sont pas exécutées dans UC4, mais sur un système d'exploitation, une plateforme ou une application particuliers. L'élément de script UC4 :DATA permet d'indiquer explicitement des lignes JCL. Les commandes JCL sont affichées en marron dans l'éditeur de script. La leçon suivante vous permet de vous familiariser avec l'utilisation de JCL. Nous voulons d'abord exécuter une commande de système d'exploitation sur un ordinateur. Pour cela, créez un objet de Job, dans notre exemple un Job Windows. Ouvrez le Job et saisissez dans l'onglet Attribut un Agent et un objet Login valide. Attention : l'Agent doit être activé et les autorisations correspondantes doivent être définies (ainsi que les autorisations des Clients sur les Agents et dans l'objet Utilisateur). Accédez ensuite à l'onglet Script et saisissez des commandes. Nous utilisons les lignes suivantes pour demander la liste des fichiers d'un répertoire donné sur l'ordinateur Windows : C: cd C:\temp dir Enregistrez et lancez le Job. Le résultat est disponible dans le dialogue de rapport - Rapport (onglet "Rapport"). 7 8 Chapter 1 Introduction 1.2.8 Boîtes de dialogue définies par l'utilisateur Objectifs : - affichage du texte dans une fenêtre de dialogue - interrogation des valeurs de l'utilisateur Leçon 6 Le langage de script UC4 vous permet de créer des boîtes de dialogue définies par l'utilisateur. Les textes peuvent alors être affichés et/ou les valeurs peuvent être demandées par l'utilisateur. Condition requise pour l'affichage des boîtes de dialogue : l'objet correspondant doit être activé par une interface utilisateur (UserInterface ou WebInterface). Dans un premier temps, créons une boîte de dialogue simple qui affiche uniquement un texte. Pour ce faire, utilisez les instructions :BEGINREAD... :ENDREAD (indique le début et la fin d'une fenêtre de dialogue) en rapport avec :PRINT. Avec la ligne de script suivante : Automation Engine 9 :BEGINREAD : PRINT"TEST" :ENDREAD La fenêtre suivante apparaît comme résultat : L'étape suivante consiste à créer une boîte de dialogue qui permet une saisie. Pour ce faire, utilisez l'élément :READ (la désignation Masques READ est également souvent utilisée). Dans l'exemple suivant, une sortie :PRINT et une entrée :READ sont combinées dans une boîte de dialogue. La valeur est enregistrée dans une Variable de script (dans ce cas, la Variable est directement créée avec l'élément :READ). Ensuite, la Variable est affichée dans le protocole d'activation. :BEGINREAD : PRINT"Entrée de texte" : READ&SAISIE#,"00","Veuillez saisir le texte" :ENDREAD :PRINT "Texte de l'utilisateur : &SAISIE#" 1.2.9 Conditions IF Objectifs : - Créer des conditions IF - Ajouter un bloc Sinon Leçon 7 Il est également possible, dans le Script UC4, d'exécuter des instructions lorsque certaines conditions sont remplies. Les conditions sont créées avec l'élément de script :IF... :ELSE... :ENDIF. Pour commencer, nous créons une condition simple permettant de comparer deux nombres. L'élément de script :IF doit tout d'abord être indiqué avec une condition. Saisissez ensuite toutes les lignes de Script qui doivent être exécutées lorsque la condition existe. Chaque bloc IF est clôturé avec :ENDIF. :IF 1<2 : PRINT"La condition survient" :ENDIF 10 Chapter 1 Introduction Dans l'exemple suivant, nous combinons un masque READ (voir leçon précédente) avec une instruction IF. Nous créons d'abord un masque pour lequel l'utilisateur peut choisir entre les valeurs "Oui" et "Non". Si l'utilisateur choisit "Oui", où la date et l'heure actuelles sont déterminées à l'aide d'une fonction script et affichées dans le protocole d'activation. :READ&VAR#,"'OUI','NON'", "Déterminer date/heure actuelles ?","OUI" :IF&VAR# = "OUI" : SET&HEURE# = SYS_TIMESTAMP_PHYSICAL() : PRINT&HEURE# :ELSE : PRINT"Pas de date/heure déterminées" :ENDIF :ELSE dans un bloc IF permet de déterminer les instructions qui doivent être exécutées lorsque la condition n'est pas remplie. Dans ce cas, un message est écrit dans le rapport d'activation. 1.2.10 Boucles dans le Script Objectifs : - boucles WHILE - boucles PROCESS Leçon 8 Les boucles exécutent certaines lignes de Script à plusieurs reprises. Deux boucles différentes sont disponibles dans le Script UC4 : l l Boucles WHILE : Elément de script :WHILE...:ENDWHILE Boucles PROCESS : Elément de script :PROCESS... :TERM_PROCESS... :ENDPROCESS Les boucles While répètent un bloc défini tant qu'une condition spécifique est remplie. La répétition se termine une fois que la condition n'est plus remplie. Automation Engine 11 Attention : avec les boucles While qui vont très souvent être exécutées les unes à la suite des autres, une interruption du traitement du Script se produit. Ce comportement permet d'éviter les boucles sans fin. Une référence à une séquence de données est transférée à la boucle de processus. Le nombre des exécutions de boucle résulte alors du nombre de lignes de la séquence de données. Une séquence de données est une liste interne, par exemple : une liste de fichiers ou les entrées d'objets Variable. Le type de valeurs qui se trouvent dans la séquence de données dépend de l'élément correspondant. Expliquons tout d'abord l'utilisation des boucles While à l'aide d'un exemple. La Tâche du Script est de vérifier si un Agent spécifique est disponible. Ce n'est que lorsque celui-ci est actif qu'un Job doit être démarré sur cet Agent. Le Script peut alors se trouver dans un objet exécutable au choix (p. ex. : SCRI). La condition requise est ainsi un Agent sur lequel l'utilisateur peut exécuter des Jobs. Dans un premier temps, utilisez l'élément SYS_HOST_ALIVE afin de vérifier si l'Agent est actif. Dans notre exemple, l'Agent WIN03 est sélectionné. Si l'élément renvoie le code retour "Y", l'Agent est disponible. :SET&AGENT# = WIN03 :SET&ALIVE# = SYS_HOST_ALIVE(&AGENT#) L'étape suivante consiste à créer une boucle While. Cette dernière doit répéter le contrôle de l'Agent avec un certain délai d'exécution (afin d'éviter un trop grand nombre de cycles de boucles). La boucle doit alors se terminer lorsque l'Agent est actif. La condition de la boucle doit par conséquent être énoncée de la manière suivante : &ALIVE# NE "Y". L'opérateur de comparaison "NE" signifie "Ne correspond pas". Vous trouverez d'autres opérateurs de comparaison dans la description du Script :WHILE. :WHILE&ALIVE# NE "Y" : PRINT"En attente de l'Agent &AGENT#..." : WAIT 60 : SET&ALIVE# = SYS_HOST_ALIVE(&AGENT#) :ENDWHILE :SET&ACT# = ACTIVATE_UC_OBJECT(TESTJOB) Si l'Agent n'est pas actif, les instructions de la boucle sont répétées. L'instruction :WAIT retarde le traitement du Script d'un certain temps ; dans notre cas, l'attente dure 60 secondes. Si l'Agent est de nouveau disponible, le contrôle (SYS_HOST_ALIVE) indique la valeur "Y". La boucle se termine ensuite et la ligne de Script qui active le Job "TESTJOB" est atteinte (fonction script : ACTIVATE_ UC_OBJECT). Le protocole d'activation vous indique si l'attente de l'Agent est encore en cours ou si le Job a déjà été activé. 12 Chapter 1 Introduction Les étapes suivantes vous montrent à présent comment utiliser les boucles Process. L'objectif est de récupérer une liste de fichiers d'un ordinateur et de l'afficher dans le protocole d'activation. Pour ce faire, nous avons besoin de l'élément PREP_PROCESS_FILENAME qui récupère la liste de fichiers à partir de l'ordinateur d'un Agent. A l'aide de termes de filtres, vous pouvez alors uniquement sélectionner des fichiers avec des noms spécifiques. La liste de fichiers est mise à disposition dans l'élément comme séquence de données. Pour traiter la séquence de données par ligne, la boucle de processus est nécessaire. Cette dernière commence par :PROCESS et se termine par :ENDPROCESS. Pour chaque ligne dans la séquence de données, la boucle est exécutée une fois. L'élément GET_PROCESS_LINE vous permet d'obtenir le contenu de la ligne de séquence de données actuelle ; dans notre cas, le chemin et le nom du fichier. Nous les éditons alors dans le rapport d'activation. Dans notre exemple, nous utilisons l'Agent WIN01 pour récupérer la liste de fichiers. Nous déterminons tous les fichiers texte du répertoire "C:\UC4\Agents\WIN01\temp" qui contient les fichiers log de l'Agent. :SET &HND# = PREP_PROCESS_FILENAME("WIN01", "C:\UC4\Agents\WIN01\temp\*.txt","Y",,) :PROCESS &HND# : SET &LINE#=GET_PROCESS_LINE(&HND#) : PRINT &LINE# :ENDPROCESS Comme résultat, nous obtenons le chemin et le nom de tous les fichiers sélectionnés dans le protocole d'activation. Automation Engine 13 1.3 Principes de base 1.3.1 Elaboration des Scripts Un Script comprend trois types de ligne différents : Commentaires l Chaque ligne commençant par un point d'exclamation "!", sera considérée comme une ligne de commentaire. Ces lignes ne sont pas considérées comme des étapes de traitement et sont donc ignorées lors de l'exécution. Exemple : !Ligne de commentaire l l Si le point d'exclamation figure au milieu d'une ligne, cette dernière n'est pas un commentaire. Pour créer des commentaires de plusieurs lignes, sélectionnez les lignes voulues et cliquez sur le bouton l de la barre d'outils de l'Interface Utilisateur. N'hésitez pas à en user, car ils permettent aux autres Utilisateurs, ainsi qu'à vous-même si vous consultez le Script après un certain temps, de comprendre aisément à quoi servent les lignes du Script. Script UC4 l Les lignes commençant par deux-points ":" contiennent le Script UC4. Ceux-ci sont soit des fonctions de Script (renvoient un code retour), soit des instructions de Script (ne renvoient pas de code retour). Exemple d'instruction : :PRINT "UC4 Automation Platform" Exemple de fonction : :SET &RESULTAT# = ADD(2,2) 14 Chapter 1 Introduction l Le caractère de soulignement ("_") peut servir de caractère de continuation pour les lignes trop longues. Il est placé à la fin d'une ligne qui se poursuit sur une autre ligne. La ligne suivante doit commencer par le signe deux-points. Lignes DATA l Une ligne commençant ni par "!", ni par ":" est considérée comme ligne DATA. Les lignes DATA ne peuvent être utilisées que dans le type d'objet Job. Elles contiennent le JCL (Job Control Language) du système cible. Si une ligne DATA commence par un ":", elle doit alors être explicitement déclarée comme telle avec le Script :DATA. Exemple : copy test.txt c:\temp l l Les Jobs pour solutions d'entreprise (SAP, PeopleSoft, applications Oracle) constituent une particularité. UC4 met à leur disposition un JCL distinct. Les Variables de Script contenues dans les lignes DATA sont remplacées par la valeur correspondante. Les Variables de Script commencent par le caractère spécial "&". Si une ligne DATA contient un "&" qui doit être conservé, vous devez le doubler. Si le "&" n'est pas suivi d'un nom de Variable valide, la ligne DATA reste inchangée. 1.3.2 Structures de contrôle Le Script sera exécuté ligne par ligne dans UC4. Il est parfois nécessaire dans de nombreux cas de faire dépendre de certaines conditions une étape d'exécution. Deux structures de contrôle vous permettent donc de contrôler le déroulement du Script. L'instruction :IF n'exécute les lignes de Script que si la condition prédéfinie est vérifiée. :IF + Condition Lignes de Script :ENDIF L'instruction :WHILE répète les lignes de Script tant que la condition est vérifiée. :WHILE Condition Lignes de Script :ENDWHILE Pour de plus amples informations, reportez-vous aux descriptions de ces structures de contrôle. 1.3.3 Variable de Script Dans les Scripts UC4, vous pouvez enregistrer des valeurs dans des Variables de Script. Celles-ci peuvent aussi bien comporter des chiffres, des suites de caractères et des données de date et d'heure. Automation Engine 15 La déclaration d'une Variable de Script grâce à un type de données particulier s'effectue avec le Script :DEFINE. Le type de données détermine quelles valeurs doit contenir la Variable. L'attribution et la modification de valeurs au sein du Script s'effectuent avec l'instruction :SET. :DEFINE &FICHIER#, chaîne :SET &FICHIER# = "temp.txt" Il est également possible de créer directement les Variables de Script avec :SET (sans être précédé de :DEFINE). Dans ce cas, la variable n'est pas limitée à un type de données spécifique et peut être modifiée ultérieurement en une valeur quelconque. Exemple : :SET &VAR# = -1 :SET &VAR# = "chaîne" La validité d'une Variable de Script prend fin après le traitement du Script. Type de données : Il existe quatre types différents de données avec différents domaines de valeurs pour l'utilisation de Variables de Script. La définition du type de données s'effectue avec l'instruction de Script :DEFINE lors de la déclaration de la Variable. Type de données Description Plage de valeurs unsigned Nombres entiers positifs sans signes 0 à +9 999 999 999 999 999 signed Nombres entiers avec signes -9 999 999 999 999 999 à +9 999 999 999 999 999 string Chaîne de caractères de 1 à 1 024 caractères flottant Nombres variables avec signes -9999999999999999.9999999999999999 à +9999999999999999.9999999999999999 Premièrement, exécutez la déclaration de Variables puis attribuez la valeur adéquate. :DEFINE :DEFINE :DEFINE :DEFINE :SET :SET :SET :SET &CHAINE#, chaîne &SIGNED#, signed &UNSIGNED#, unsigned &FLOAT#, flottant &CHAINE#= "1234abc" &SIGNED#= -5 &UNSIGNED#= 24 &FLOAT#= -0.50 Le type de données "flottant" comprend également des nombres entiers positifs et négatifs. Il est également possible, d'utiliser des nombres entiers positifs pour le type de données "signed". Les Variables déjà utilisées ne peuvent pas être déclarées à nouveau. Le type de données d'une Variable n'est pas modifiable. Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! 16 Chapter 1 Introduction Syntaxe Le nom des Variables de Script est constitué de 32 caractères alphanumériques au maximum, caractères spéciaux compris ("$", "_", "@", "§" et "#"). Les signes diacritiques ne sont pas autorisés. Le premier caractère du nom ne peut pas être un chiffre. Dans le Script, les Variables sont toujours indiquées avec le signe "&" précédent le nom ! Attention : le nom de la Variable de Script doit être différent des Variables prédéfinies. . Il est généralement recommandé de ne pas utiliser '$' en première position dans les noms de Variable (directement après le caractère "&"). La casse des lettres utilisées dans les noms des Variables de Script n'a pas d'importance. Les Variables de Script ne sont pas encadrées par des guillemets ouvrants et fermants. Le nom d'une Variable de Script ne doit pas correspondre au début du nom d'une autre Variable. Les dénominations similaires ne sont possibles que si un caractère spécial, par exemple, est ajouté à la fin du nom. Dans l'exemple suivant, la désignation "Fin_Date" est affichée dans le protocole d'activation. :SET &ACTIVITE# = "Fin" :SET &ACTIVITE_DATE#= SYS_DATE() :PRINT "&ACTIVITE#date" Les Variables "&ACTIVITE_DATE" et "&ACTIVITE" ne sont pas autorisées,, car cette dernière désignation n'est pas unique. Le nom des Variables et les caractères à afficher peuvent directement être disposés les uns à la suite des autres. Ainsi, dans cet exemple, il est possible d'indiquer "Date de fin" et "040101". :SET &ACTIVITE = "Fin" :SET &ACTIVITEdate =SYS_DATE() :PRINT "&ACTIVITEdate" Tableaux Il est possible de créer des Tableaux en relation de Variables de Script. Ainsi, plusieurs valeurs différentes peuvent être enregistrées dans une Variable. L'accès aux différentes valeurs s'effectue par l'index. Celuici est indiqué sous forme d'un numéro entre parenthèses [] après le nom de la Variable. Les Tableaux ne peuvent être créés que lors de la déclaration de Variable à l'aide de :DEFINE. Le troisième paramètre renseigne sur le nombre de valeurs (domaine de l'index). Le nom des Tableaux doit comporter un maximum de 24 caractères alphanumériques, contrairement aux Variables de Script normales. :DEFINE &ARR#, unsigned, 10 :SET&ARR#[5] = 20 La taille maximale des Tableaux est 99999. L'index est toujours indiqué sous la forme d'une nombre positif sans guillemet. L'accès au premier élément s'effectue par l'index 1. Automation Engine 17 Attention : de la mémoire doit être réservée pour tous les éléments lors de la création de Tableaux. C'est pourquoi les Tableaux ne doivent pas être créés avec plus d'éléments que nécessaire afin de réduire les problèmes de performance. Les champs des tableaux qui ne sont pas encore installés contiennent la valeur standard "" (Type de données : chaîne) ou 0 (pour les types de données numériques). Pour enregistrer directement plusieurs valeurs dans un tableau, il faut utiliser le Script :FILL. Aucun index n'est alors indiqué. Cela est par exemple utile pour lire plusieurs colonnes des objets Variables : :FILL &TAB#[] = GET_VAR("VARA","JOBS") Attributions de valeurs Les attributions de valeurs de Variables de Script sont exécutées avec le Script :SET. La valeur affectée peut être indiquée avec ou sans guillemets (littéral de Script) (peut importe le type de données), ou peut également être le code retour d'une fonction de Script. :DEFINE&NUMERO#, unsigned :SET &NUMERO# = 1234 :SET&NUMERO# = "1234" :SET&NUMERO# = ADD(1,2) Les Variables de Script peuvent être créées soit par un type de données spécifique (:DEFINE) ou bien directement par l'attribution de valeur. Les Variables créées avec :SET ne possèdent pas de type de données spécifiques. Cela peut être alors toute attribution de valeur (dans la mesure où les valeurs supérieures ne sont pas dépassées). Pour les Variable de Script qui comportent un type de données, les particularités suivantes doivent être respectées : Si la valeur attribuée ne correspond pas au type de données de la Variable de Script, le système tente de la transformer et de l'adapter . Si cela n'est pas possible, une erreur de durée se produit. Il s'agit alors concrètement des 2 cas suivants : Erreur, Cas 1 : Un nombre négatif est affecté à une Variable de Script avec le type de données "unsigned". Exemple : :DEFINE&NUMERO#, unsigned :SET&NUMERO# = -1 Erreur, Cas 2 : Une Chaîne de caractères est affectée à une Variable de Script avec un type de données chiffres qui ne contient aucun chiffre. Exemple : :DEFINE&NUMERO#, signed :SET&NUMERO# = "abc123" Si la chaîne de caractères correspond à un chiffre, l'attribution fonctionne de la sorte. Exemple : :DEFINE&NUMERO#, signed :SET&NUMERO# = "-123" Si un nombre en virgule flottante est affecté à une Variable, bien que le type de données ne prenne pas cela en charge (concerne : "signed et "unsigned"), les chiffres après une virgule sont supprimés. Il n'y a 18 Chapter 1 Introduction pas d'arrondi ! Exemple : Dans ce cas, le résultat de l'attribution est -10. :DEFINE&NUMERO#, signed :SET&NUMERO# = -10.654 :P&NUMERO# Rapport : -0000000000000010 Les chiffres possèdent de manière standard le format par défaut à 16 caractères. Les nombres variables (type de données : nombre réel) possèdent également 16 caractères après la virgule. Les emplacements qui ne sont pas utilisés, sont remplis avec des zéros. Pour supprimer des zéros en tête ou à la fin, utilisez la fonction Script FORMAT. 1.3.4 Littéral de script Un littéral de script consiste en une chaîne de caractères quelconque, placée entre guillemets simples (') ou doubles ("). Exemple : "Plate-forme d'automatisation UC4" Un littéral de script peut également contenir des variables de script remplacées par la valeur correspondante lorsque la ligne de script comportant le littéral est traitée. Exemple : :SET &HEURE# = SYS_TIME("HH:MM:SS") :PRINT "Heure &HEURE#" Affichage : Heure 10:30:05 Nom UC4 Les noms UC4 constituent une forme particulière de littéral de script. Ils n'ont pas besoin d'être entourés de guillemets simples ou doubles. Les éléments suivants font partie des noms UC4 : l l l Noms d'objet, Attributs des objets et Forme abrégée des types d'objet Exemple : :SET &STATUT# = SYS_HOST_ALIVE(WIN01) Si toutefois le nom UC4 commence par un chiffre, vous devez utiliser des guillemets. Attention : l'utilisation de la Chaîne de caractères <![[ ]]> provoque une erreur de syntaxe dans un littéral de script et rend impossible l'enregistrement de l'objet. Pour contourner cette erreur, il existe plusieurs méthodes: Automation Engine 19 1. Insertion d'un commentaire qui contient les caractères. Exemple : !<![[ ]]> :PRINT'<![[ ]]>' 2. Cela ne produit une erreur que lorsque les caractères apparaissent les uns après les autres, il est également possible de former la Chaîne de caractères à partir de littéral de script. Exemple : Utilisation par Variables de script :SET&VAR# = "]]" :PRINT'<![[ &VAR#>' Exemple: Grâce au script STR_CAT :SET&VAR# = STR_CAT("<![[ ]]",">") :PRINT&VAR# La combinaison réservée ##<Nombre> constitue une autre particularité. Si cette chaîne de caractères est utilisée dans un littéral de script, le texte est ajouté au message dont le numéro a été indiqué pour <Nombre>. Veuillez en tenir compte lors de l'utilisation du littéral de script ! Exemple : :PRINT"##1800" ou :PRINT ##1800 entraîne le résultat suivant dans le rapport : 2011-06-15 13:01:51 - U0020408 ENDED_NOT_OK - en erreur| 1.3.5 Onglets de script Le script UC4 est écrit dans des onglets de script. Tous les objets exécutables possèdent un ou plusieurs onglets de ce type. Vous trouverez ci-dessous un aperçu global de tous les onglets Script : l Onglet Script (tous les objets activables) Le moment où a lieu le traitement du script dépend de l'option "Générer à l'Exécution" (onglet "Attributs"). Si cette option n'est pas définie, le script est traité au démarrage de l'objet. Sinon, le traitement se fait lorsque l'objet est exécuté. Les heures de démarrage et d'exécution d'un objet ne doivent pas forcément correspondre. C'est le cas, par exemple, si une heure de début antérieure a été définie. l Onglets Pré-traitement et Post-traitement (Transfert de Fichier, Job et Gestionnaire de File d'Attente) Les Jobs possèdent en outre un onglet Pré-traitement et un onglet Post-traitement. Ils seront, comme leur nom l'indique, exécutés comme suit : D'abord Pré-Script puis script. L'heure suit le paramètre "Générer à l'Exécution" Le post-traitement est exécuté à la fin du Job (voir aussi : Déroulement de l'exécution d'un Job). Le Transfert de Fichier et le Gestionnaire de File d'Attente possèdent uniquement un post-traitement, dont la fonction est la même que pour les Jobs. 20 Chapter 1 Introduction l Onglet !Script (Evènement) Le traitement du !Script se fait lorsqu'un Evènement se produit. Attention, il existe aussi un type d'objet appelé "Script". Un onglet script peut contenir 32767 lignes. Cependant, seules les 1000 premières lignes sont prises en compte, pour éviter les boucles lors de la génération et ainsi protéger le Serveur UC4. Si le script contient plus de 1000 lignes, la génération est interrompue. Cette limite peut être modifiée avec l'attribut MAX_JCL_LINES défini avec l'instruction de script :PUT_ATT. 1.3.6 Editeur de scripts Chaque onglet script est équipé d'un éditeur de scripts. Il comporte de nombreuses fonctions facilitant la création des scripts. Mise en relief des composants de syntaxe Les différentes parties du script sont mises en relief au moyen de couleurs pour mieux les distinguer : l l l l l l vert pour les lignes de commentaire bleu pour les instructions de script rouge pour les fonctions de script marron pour les lignes JCL gris pour les chaînes de caractères violet pour les Variables de script L'éditeur de scripts met également en relief toutes les occurrences d'une Variable de script ou d'un script lorsque vous positionnez le curseur de la souris sur son nom. Complément automatique Vous avez la possibilité d'exécuter le complément automatique grâce à la combinaison de touches CRTL + barre d'espacement. Il complète le nom des fonctions de script et des instructions de script. Si plusieurs scripts sont concernés, une liste s'affiche à partir de laquelle vous pouvez sélectionner le script souhaité. La touche Echap ferme la liste de complément automatique. Automation Engine 21 En plus de la liste, l'éditeur de scripts affiche la page de la documentation UC4 qui contient une description relative au script sélectionné si vous activez l'option correspondante dans les paramètres de l'Interface Utilisateur. Une fois que vous avez saisi le nom du script ou que vous l'avez sélectionné directement à partir de la liste, les paramètres s'affichent si vous activez l'option correspondante dans les paramètres de l'Interface Utilisateur. Le paramètre sur lequel le curseur de la souris est positionné est mis en gras. Objets Include Si vous associez des objets Include à votre script, vous pouvez en afficher le contenu. Pour ce faire, cliquez sur le signe plus dans la partie gauche de l'onglet. Les lignes de script affichées de l'objet Include sont éditables. Enregistrez le script pour enregistrer également les modifications effectuées dans l'objet Include. 22 Chapter 1 Introduction Les Utilisateurs ne disposant pas de droit de lecture ou d'écriture sur l'objet Include ne peuvent pas afficher ou modifier le contenu. Lorsqu'ils ne peuvent pas modifier le contenu, les lignes de script de l'objet Include s'affichent en gris et ne sont pas éditables. Veuillez noter que la recherche dans le script effectue une recherche sur le contenu des objets Include s'ils ont été ouverts au moyen du signe plus. Lors de l'exportation du script dans un fichier texte et lors de la copie de lignes de script qui contiennent des objets Include, seuls les contenus d'objets Include qui ont été ouverts sont pris en compte. Si vous associez plusieurs fois un objet Include dans un script, il ne peut être modifié qu'à l'endroit où vous l'ouvrez pour la première fois. L'éditeur de scripts affiche les autres occurrences en gris clair. Préfixe de ligne et insertions de ligne L'éditeur de scripts vous permet de créer des scripts rapidement et facilement en reprenant le préfixe de la ligne actuelle dans la ligne suivante. Il peut également insérer des lignes de script dans les concepts comme par exemple :IF ou :WHILE et les clôturer avec les instructions de clôture nécessaires. (par ex : :ENDIF ou :ENDWHILE). Chacune de ces fonctionnalités est activée par défaut dans les paramètres de l'Interface Utilisateur. Lancement de la Documentation UC4 Sélectionnez le nom d'une fonction de script ou d'une instruction de script et appuyez sur la touche F1. La documentation UC4 s'ouvre à la page qui contient une description du script. Il est également possible de positionner le curseur de la souris sur le nom de la fonction de script ou de l'instruction de script puis d'appuyer sur la touche F1. Commandes de menu contextuel Outre les commandes classiques comme "Annuler", "Copier" ou "Couper", vous avez accès aux fonctionnalités suivantes : l l l La recherche permet non seulement de trouver des chaînes de caractères, mais également de les remplacer. Vous pouvez mettre en commentaire plusieurs lignes simultanément, ou en supprimer le commentaire. Vous avez, en outre, la possibilité d'archiver ou d'importer des scripts dans des fichiers. Commande Description Couper Copier Coller Commandes pour l'édition du texte En majuscules En minuscules Modifie la casse du texte sélectionné Annuler Annule la dernière action Répéter Rétablit la dernière action annulée Automation Engine 23 Mettre en Ajoute un point d'exclamation au début d'une ou de plusieurs lignes pour indiquer qu'il Commentaire s'agit de commentaires. Supprimer le Supprime le point d'exclamation placé au début d'une ou de plusieurs lignes pour Commentaire qu'elles ne soient plus considérées comme des commentaires. Décaler Bloc Aligner Bloc Décale ou aligne la ligne ou le bloc de texte sélectionné. Tout reformater Applique à toutes les lignes de l'onglet le style du script UC4. Les points d'exclamation introduisant les lignes de commentaire et les deux-points placés devant les lignes de script UC4 demeurent en tête de ligne. Le reste de la ligne est décalé ou aligné. Exemple : la ligne : PRINT "Début du traitement" aurait le format suivant : : PRINT "Début du traitement" Importer du Fichier Importe le contenu d'un fichier texte à l'endroit où se trouve le curseur. Exporter dans Fichier Exporte l'intégralité du contenu de l'onglet dans un fichier Sélectionner tout Sélectionne l'intégralité du contenu de l'onglet Recherche Ouvre le dialogue de recherche de texte 1.3.7 Aide au démarrage Le chapitre Exemples contient des exemples de Scripts dont l'utilisation avec les objets est expliquée. Il offre aux utilisateurs débutants et expérimentés un aperçu du langage de script de UC4. l Aperçu - Exemples La documentation UC4 répertorie l'ensemble des Scripts dans l'ordre alphabétique et selon leurs fonctionnalités. Utilisez les deux aperçus suivants pour trouver rapidement le Script dont vous avez besoin. l l Aperçu - Liste alphabétique Aperçu - Organisation fonctionnelle Dans tous les onglets de Script, vous pouvez utiliser la touche F1 pour afficher la documentation UC4. Cette touche permet d'ouvrir une page contenant une description du Script. Sélectionnez pour cela le nom du Script (p. ex. PRINT) ou positionnez le curseur sur le nom. Vous disposez ainsi en permanence d'un accès rapide à la description de la syntaxe. 24 Chapter 1 Introduction 1.4 Thèmes prolongés 1.4.1 Utilisation des éléments de Script Dans les Scripts UC4, de nombreux objets suivent les mêmes étapes de traitement. Pour ne pas avoir à les écrire et à les gérer dans chaque Script, il est recommandé de les enregistrer de manière centralisée dans un objet Include. Les éléments de Script ainsi obtenus facilitent la gestion et accélèrent la création de Scripts. Voici les étapes de l'utilisation d'un objet Include : 1. Enregistrez dans un objet Include un ensemble de lignes de Script que vous utilisez souvent. 2. A l'emplacement du Script où ces lignes doivent être insérées, appelez l'instruction de Script :INCLUDE, accompagnée du nom de l'objet Include. 3. Le Script contient également un paramètre avec lequel vous pouvez associer les lignes de Script à l'objet. Il permet en effet de remplacer une chaîne de caractères donnée. L'attribution n'est valide que pour la génération en cours et ne modifie pas l'objet Include. Les lignes de Script de l'objet Include sont copiées à l'exact emplacement de l'objet dans le Script, où vous appelez l'instruction :INCLUDE. Les fonctions de Script font par conséquent référence à l'objet approprié et non à l'objet Include. Par exemple, la fonction de Script SYS_ACT_ME_NAME indique le nom de l'objet et non le nom de l'objet Include. Dans l'Editeur de scripts, vous pouvez afficher et modifier le contenu des objets Include intégrés. Cela est possible en développant l'Include à l'aide du symbole + à l'extrémité gauche. Modifiez le Script d'un Include développé et enregistrez l'objet pour que les modifications soient aussi prises en compte pour l'objet Include ! En attribuant des droits aux utilisateurs (droits d'écriture pour les objets Include), vous pouvez éviter des modifications non souhaitées sur les objets Include. 1.4.2 Traitement des erreurs Lorsque vous créez un Script UC4, vous devez impérativement penser que des erreurs peuvent survenir. Par conséquent, il est recommandé de prendre certaines mesures de précaution. Création d'un Script La toute première cause d'erreur est liée à la rédaction du Script UC4. Par conséquent, la syntaxe des fonctions et instructions de Script utilisées est vérifiée dès l'enregistrement de l'objet. Ainsi, si vous indiquez un nombre insuffisant ou trop important de paramètres, un message d'erreur apparaît pour vous en avertir. Il contient le numéro de la ligne concernée par l'erreur. La vérification du Script porte sur la syntaxe. Vous devez vous assurer vous-même de l'exactitude des valeurs (noms des objets par exemple). Utilisation des codes retour Les codes retour vous renseignent sur le résultat des fonctions de Script. N'hésitez pas à les utiliser. Pour connaître les codes retour possibles d'une fonction, reportez-vous à la description du Script. Utilisation de l'instruction :ON_ERROR Si une erreur survient lors de l'exécution du Script, un message d'erreur apparaît et le Script est interrompu. Certains Scripts font cependant exception. L'instruction :ON_ERROR permet alors d'indiquer Automation Engine 25 si le Script doit être interrompu. Si ce n'est pas le cas, vous pouvez accéder au message d'erreur avec des fonctions de Script spéciales telles que SYS_LAST_ERR_NR et SYS_LAST_ERR_INS. 1.4.3 Utilisation d'objets Variable Vous pouvez enregistrer les valeurs non seulement dans des Variables de Script, mais aussi dans des objets Variable statiques. Si vous utilisez un grand nombre de valeurs, cette seconde méthode se révèle très pratique. Le Script UC4 propose divers Scripts qui permettent de conserver, de lire et de supprimer des valeurs dans des objets Variable. La valeur est toujours enregistrée avec une clé qui permet d'y accéder. L'utilisation d'objets Variable peut se faire manuellement dans l'Explorer de l'Interface Utilisateur ou avec un Script : l l l CREATE_OBJECT : crée un objet Variable. MODIFY_OBJECT : modification des attributs d'un objet Variable. REMOVE_OBJECT : supprime un objet Variable. Chargement de valeurs L'instruction de Script :PUT_VAR permet d'enregistrer des valeurs. Si la clé correspondante n'existe pas encore, la valeur est ajoutée. Sinon, la valeur existante est remplacée. Lecture de valeurs La fonction de Script PREP_PROCESS_VAR permet de déterminer une valeur, plusieurs valeurs ou la totalité des valeurs d'un objet Variable. Suppression de valeurs L'instruction de Script :DELETE_VAR permet de supprimer des valeurs d'un objet Variable. 1.4.4 Changement d'attributs d'objet Chaque objet possède un grand nombre d'attributs ayant un impact sur le traitement. La priorité et le type de démarrage en sont des exemples. Il arrive souvent que la modification d'un attribut soit nécessaire. Par exemple, lors d'un Transfert de Fichier, vous devrez peut-être changer d'hôte cible, car une condition de calendrier donnée s'applique ou l'hôte n'est pas actif. Les scripts :PUT_ATT et GET_ATT du script UC4 permettent de définir et de lire les attributs d'un objet. :PUT_ATT GROUP = "GS.GROUPE" :SET &START# = GET_ATT(GROUP) Im Benutzerhandbuch finden Sie eine Liste der Attribute aller Objekte mit ihren möglichen Werten. Il existe d'autres scripts pour les objets Alerte : l l l l :ADD_ATT - Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT - Retire des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT_APPEND - Ajoute un élément à une Alerte pendant l'exécution. GET_ATT_SUBSTR - Affiche une partie du texte d'une Alerte. 26 Chapter 1 Introduction 1.4.5 Codes retour des fonctions Contrairement aux instructions de Script, les fonctions de Script renvoient des codes retour enregistrés dans des Variables de Script. Ces codes retour peuvent être de simples caractères, des chaînes de caractères complètes ou des nombres. Attention, les nombres renvoyés comportent toujours 16 chiffres et commencent par des zéros. Exemple : :SET &SOMME# = ADD(2,2) :PRINT &SOMME# Le résultat affiché par l'instruction PRINT apparaît sous la forme suivante : 0000000000000004 Si vous générez un document contenant les nombres obtenus, par exemple un rapport, vous pouvez supprimer les zéros en tête à l'aide de la fonction de Script FORMAT. Toutefois, ces zéros ne jouent aucun rôle lors des traitements ultérieurs du nombre (opérations de calcul par exemple). Le code retour peut également être un numéro d'erreur. La description du Script vous en donne définitions et explications. Certains Scripts permettent le traitement ultérieur d'un numéro d'erreur. Certains Scripts doivent être utilisés simultanément. Prenons l'exemple de la fonction de Script PREP_ PROCESS_FILE qui génère une séquence de données à partir du contenu d'un fichier texte. Le code retour est une référence (descripteur) inutile en soi. La fonction de Script GET_PROCESS_LINE permet, quant à elle, de lire toutes les lignes du fichier texte. Toutefois, elle a besoin pour ce faire de la référence déterminée par PREP_PROCESS_FILE. 1.4.6 Calcul Ce document explique les opérations de calcul qui peuvent être réalisées à l'aide du script UC4. Script Le script UC4 vous permet d'utiliser les 4 types d'opération de base dans le script UC4 : l l l l Addition Soustraction Multiplication Division Vous disposez également de la fonction de script MOD qui calcule le reste d'une division. La fonction de script RANDOM vous permet de générer, si nécessaire, des nombres aléatoires. Le résultat de l'opération est enregistré dans une Variable de script. Exemple : :SET &DIFFERENCE# = SUB(100,50) Dans les opérations de calcul, les nombres négatifs (type de données : "signed") et les nombres décimaux (type de données : "float") sont aussi pris en charge. Pour cela, la variable cible qui contient le résultat du calcul doit présenter le type de données approprié. Le type de données "string" n'est pas autorisé pour les opérations de calcul ! Automation Engine 27 Les chiffres après la virgule des résultats sont supprimés lorsque le type de données de la variable cible ne prend pas en charge les nombres décimaux. Si une opération de calcul fournit un résultat négatif et que le type de données de la variable cible ne prend pas en charge les signes, une erreur d'exécution se produit ! Il donc recommandé d'utiliser comme type de données de la variable cible le type de données de calcul le plus élevé (voir le tableau). Le résultat du calcul ne doit pas dépasser la valeur "9 999 999 999 999 999". Types de données des opérandes Types de données autorisés de la variable cible unsigned, unsigned unsigned, signed, float unsigned, signed signed, float unsigned, float flottant signed, signed signed, float signed, float flottant float, float flottant Le type de données le plus élevé est "float" (nombres décimaux positifs et négatifs). Vient ensuite le type de données "signed" (nombres entiers positifs et négatifs). Le type de données "unsigned" ne prend en charge que les nombres entiers positifs. Il s'agit du type de données le moins élevé. Exemple : Le type de données de la variable de résultat "&SUM#" doit être au moins "signed" si un nombre négatif a été indiqué comme opérande. Le type de données "float" est aussi possible. :DEFINE &UNSIGNED#,unsigned :DEFINE &SIGNED#,signed :DEFINE &SUM#,signed :SET&UNSIGNED# = 12 :SET&SIGNED# = -5 :SET &SUM# = ADD(&SIGNED#,&UNSIGNED#) Cette ligne résulterait en une erreur de script si la variable &signed# contenait une valeur négative. Si la valeur de la variable est positive, l'opération fonctionne. :SET &UNSIGNED# = ADD(&SIGNED#,&UNSIGNED#) Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! Résolution d'un terme arithmétique Dans UC4, il est également possible de résoudre un terme arithmétique à l'aide du script :SET et d'enregistrer le résultat dans une variable. Le script est ainsi nettement raccourci et simplifié, car un script individuel n'est pas nécessaire pour chaque opération de calcul. Si la variable cible présente le type de données "unsigned" et que le résultat du calcul donne un nombre négatif, une erreur d'exécution de produit. Si le type de données de la variable cible ne prend pas en charge les nombres décimaux, ils sont également supprimés. Parallèlement aux types de calcul de base, le calcul peut contenir des parenthèses et des signes. l l Addition Soustraction 28 Chapter 1 Introduction l l l l Multiplication Division Parenthèses "()" Signes Une ligne qui contient des opérateurs de calcul (+,-,*,/) est généralement traitée comme un terme. Veillez à ne pas placer le terme entre guillemets simples ou doubles. Sinon, il est interprété comme une chaîne de caractères. L'utilisation de fonctions de script n'est pas autorisée au sein des expressions arithmétiques. Veillez à la pondération des opérateurs (l'opérateur de multiplication est prioritaire sur l'opérateur de soustraction). Exemple : :DEFINE &UNSIGNED#,unsigned :DEFINE &FLOAT#,float :DEFINE &RES#,float :SET&UNSIGNED# = 12 :SET&FLOAT# = -0.50 :SET&RES# = &FLOAT#*3 + (-&UNSIGNED#) - 3 1.4.7 Chaînes de caractères Le Script UC4 propose divers éléments applicables aux chaînes de caractères. Les plus importantes sont présentées ici. Vous trouverez la liste de toutes les fonctions de Script dans l'aperçu fonctionnel. Détermination de la longueur d'une chaîne de caractères Description Exemple STR_LENGTH : indication du nombre de caractères. :SET &LONGUEUR# = STR_LENGTH ("UC4") Résultat 3 Comparaison de chaînes de caractères Description Exemple STR_MATCH : comparaison de deux chaînes de caractères. :SET &COMPARAISON# = STR_MATCH ("UC4", "System") Résultat N Association de chaînes de caractères Description Exemple Résultat STR_CAT : association de deux chaînes de caractères. :SET &CHAINE# = STR_CAT("UC4", "-Système") Système UC4 Automation Engine 29 Recherche d'une chaîne de caractères Description Exemple STR_FIND : indication de l'emplacement où se trouve la chaîne de caractères recherchée. :SET &POSITION# = STR_FIND ("Système UC4", "Système") Résultat 5 Remplacement de caractères Description Exemple Résultat STR_SUBSTITUTE : remplacement :SET &CHAINE# = STR_SUBSTITUTE Système ("Environnement UC4", "Environnement", d'une partie d'une chaîne de UC4 "Système") caractères. Troncation d'une chaîne de caractères Description Exemple Résultat SUBSTR : indication d'une partie d'une chaîne de caractères :SET &PARTIECHAINE# = SUBSTR ("Système UC4", 5) Système Retour à la ligne Description Exemple Résultat UC_CRLF : insertion d'un retour à la ligne. :SET &NL#= UC_CRLF() Système :SET &CHAINE# = "Système UC4 &NL#UC4 " 1.4.8 Formats de date, d'heure et de période Certaines instructions et fonctions de script permettent d'indiquer le format des dates, heures ou périodes. Les formats autorisés sont répertoriés dans les tableaux suivants. Formats de date [Formats de date] [ Formats d'heure ] [Formats de période] Les abréviations "A" ou "Y" pour l'année, "M" pour le mois et "J" ou "D" pour le jour sont utilisées dans les formats de date. Format de date Exemple/Prévisualisation AAMMJJ ou YYMMDD 001231 AA.MM.JJ ou YY.MM.DD 00.12.31 AA-MM-JJ ou YY-MM-DD 00-12-31 30 Chapter 1 Introduction AAAAMMJJ ou YYYYMMDD 20001231 AAAA.MM.JJ ou YYYY.MM.DD 2000.12.31 AAAA-MM-JJ ou YYYY-MM-DD 2000-12-31 JJMMAA ou DDMMYY 311200 JJ.MM.AA ou DD.MM.YY 31.12.00 JJ-MM-AA ou DD-MM-YY 31-12-00 JJMMAAAA ou DDMMYYYY 31122000 JJ.MM.AAAA ou DD.MM.YYYY 31.12.2000 JJ-MM-AAAA ou DD-MM-YYYY 31-12-2000 MMDDYY 123100 MMDDYYYY 12312000 MM/DD/YY 12/31/00 MM/DD/YYYY 12/31/2000 Les formats de date peuvent également être indiqués en tant que paramètres spéciaux. "WW" et "LLL" sont deux exemples de paramètres spéciaux. "WW" désigne le jour de la semaine sous la forme d'une abréviation à deux caractères. "LLL" correspond au jour actuel de l'année. Vous ne pouvez pas utiliser les paramètres spéciaux des formats de date dans les fonctions de script qui reposent sur l'emploi d'une date. Le format de sortie de la date trouvée constitue une exception. Format de date (paramètres spéciaux) Exemple/Prévisualisation AA ou YY 00 AAAA ou YYYY 2000 MM 12 JJ ou DD 31 WW FR LLL 365 Formats d'heure [ Formats de date ] [Formats d'heure] [Formats de période] Les abréviations "H" pour les heures, "M" pour les minutes et "S" pour les secondes sont utilisées dans les formats d'heure. Format d'heure Exemple/Prévisualisation HHMMSS 235959 HH:MM:SS 23:59:59 HHMM 2359 HH:MM 23:59 MMSS 5959 Automation Engine MM:SS 59:59 Format d'heure (paramètres spéciaux) Exemple/Prévisualisation HH 23 MM 59 SS 59 31 Formats de période [ Formats de date ] [ Formats d'heure ] [Formats de période] Les abréviations "A" ou "Y" pour l'année, "Q" pour le trimestre, "M" pour le mois et "W" pour la semaine calendaire sont utilisées dans les formats de période. Les formats de période suivants peuvent être employés dans les scripts FIRST_OF_PERIOD, LAST_ OF_PERIOD, ADD_PERIOD et SUB_PERIOD. Format de période Exemple/Prévisualisation AA ou YY 00 AAAA ou YYYY 2000 Q 3 MM 06 WW 53 WS * 53 * Le format de période "WS" peut seulement être utilisé dans les fonctions de script qui déterminent le premier ou le dernier jour d'une période. Avec ce format de période, le dimanche est considéré comme premier jour de la semaine. En revanche, avec "WW", la semaine part du lundi. 1.4.9 Envoi d'Alertes Les Alertes constituent un bon moyen d'attirer l'attention sur les résultats d'un traitement. Il existe quatre types d'envoi de messages avec un Script : Sorte Description Objet Alerte La méthode la plus fréquemment employée est l'activation d'un objet Alerte. Elle permet de prévenir simultanément plusieurs Utilisateurs d'UC4. Utilisez la fonction de Script ACTIVATE_UC_OBJECT pour activer un objet Alerte. SEND_ MAIL Cette fonction de Script permet d'envoyer un e-mail à un destinataire quelconque. 32 Chapter 1 Introduction :SEND_ Cette instruction de Script convient aux messages d'informations succincts. Ils apparaissent MSG dans la Fenêtre des Messages d'un Utilisateur d'UC4. :SEND_ Cette instruction de Script s'avère utile lorsque vous vous servez des possibilités SNMP_ d'intégration d'UC4 dans Frameworks. Elle permet l'envoi d'interruptions définies par TRAP l'utilisateur. 1.4.10 Traitement du Script L'UC4 Automation Engine traite les Scripts ligne par ligne. A intervalles réguliers, le résultat des éléments de script exécutés est écrit dans la base de données UC4 (par exemple, la valeur définie pour un objet Variable avec :PUT_VAR). Ce processus est également désigné "Commit". D'autres Scripts ont ensuite accès aux nouvelles valeurs ou aux valeurs modifiées lorsqu'elles ont été saisies dans la base de données. L'UC4 Automation Engine effectue une validation automatique toutes les cinq secondes. Cette opération a également lieu avec les éléments de script suivants : :BEGINREAD... :ENDREAD FORECAST_OBJECT PREP_PROCESS_FILE :READ FORECAST_TASK PREP_PROCESS_FILENAME :SET_UC_SETTING GET_FILESYSTEM PREP_PROCESS_REPORT :WAIT GET_UC_SETTING REMOVE_OBJECT ACTIVATE_UC_OBJECT IMPORT RESTART_UC_OBJECT AUTOFORECAST MODIFY_OBJECT SEND_MAIL CANCEL_UC_OBJECT MODIFY_UC_OBJECT SYS_SERVER_ALIVE CREATE_OBJECT MOVE_OBJECT TOGGLE_SYSTEM_STATUS EXPORT PREP_PROCESS L'instruction :WAIT 0 permet de forcer une validation. 1.5 Eléments de script plus pris en charge Dans les versions UC4, des modifications ont été apportées à certains Scripts. La liste suivante récapitule les Scripts concernés et indique comment se traduisent ces adaptations : l :REPLACE_JP_STRUCTURE Cette instruction de Script a été renommée :REPLACE_STRUCTURE dans la version 8.00A. L'ancien style d'écriture est toujours pris en charge. l :SET_UC_SETTING Le paramètre MAX_PARALLEL a été renommé WORKLOAD_MAX dans la version 6.00A. L'ancien style d'écriture est toujours pris en charge. l :XML_CLOSE_DOCU Automation Engine 33 Cette instruction de Script a été renommée :XML_CLOSE dans la version 6.00A. L'ancien style d'écriture est toujours pris en charge. l GET_UC_SETTING Le paramètre MAX_PARALLEL a été renommé WORKLOAD_MAX_JOB dans la version 6.00A. Lors de la mise à jour de la base de données UC4, les Scripts sont automatiquement adaptés. l PREP_PROCESS_HOSTGROUP Cette fonction script a été renommée PREP_PROCESS_AGENTGROUP dans la version 8.00A. L'ancien style d'écriture est toujours pris en charge. l XML_OPEN_DOCU Cette fonction script a été renommée XML_OPEN dans la version 6.00A. L'ancien style d'écriture est toujours pris en charge. l CINT et CSTR Les fonctions Script ne sont pas prises en charge pour les nombres négatifs et à virgule flottante. L'élément de script CONVERT depuis la version 9.00A reprend la fonction de conversation dans tous les types de données. l SYS_ACT_JPNAME et SYS_ACT_JPNR Ces Scripts possèdent les mêmes fonctions que SYS_ACT_PARENT_NAME et SYS_ACT_ PARENT_NR. L'utilisation reste toutefois possible. l SYS_ACT_JOBNAME et SYS_ACT_JOBNR La même fonction que SYS_ACT_ME_NAME et SYS_ACT_ME_NR. Les fonctions de Script sont toutefois prises en charge. 34 Chapter 2 Scripts - Liste alphabétique 2 Scripts - Liste alphabétique Vous trouverez ici une liste alphabétique de tous les scripts et leur application. Instructions de script [Instructions de script] [Fonctions de script] Instruction de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution :ADD_COMMENT Ajoute un commentaire à une Tâche :ATTACH_SYNC Attribue un objet Sync à une Tâche :BEGINREAD... :ENDREAD Débute et termine une boîte de dialogue destinée aux questions posées à l'Utilisateur :CLOSE_PROCESS Supprime une séquence de données au sein d'un script :CONST Crée une Variable de script comme constante avec une valeur définie. :DATA Déclaration explicite d'une ligne DATA dans le script :DEFINE Création d'une Variable de script avec un type spécifique de données. :DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique :DISCONNECT Déconnecte du système UC4 :EXIT Termine le traitement du script avec un code retour :EXT_REPORT_OFF Désactive la journalisation du script d'une Tâche :EXT_REPORT_ON Active la journalisation du script d'une Tâche :FILL Enregistre plusieurs valeurs dans un Tableau de script. :GENERATE Contrôle la gestion des lignes de script pendant le traitement d'un script :IF... :ELSE... :ENDIF Ramification en fonction de conditions :INCLUDE Associe un objet Include au script actuel :INC_SCRIPT Associe un script à un autre script du même objet :JCL_CONCAT_ CHAR Forme des lignes JCL jusqu'à une taille maximale de 2 Ko :JCL_SUBSTITUTE Remplace une chaîne de caractères du JCL par une autre chaîne de caractères :MODIFY_STATE Modifie le code retour ou le texte de statut d'un Job une fois ce dernier terminé :ON_ERROR Définit des réactions associées à certaines erreurs ou certains messages de script :PRINT Affiche du texte dans une boîte de dialogue destinée aux questions posées à l'Utilisateur ou dans le protocole d'activation d'un objet :PROCESS... :TERM_ PROCESS... :ENDPROCESS Boucle pour le traitement par lignes d'une séquence de données, par exemple pour les fichiers séquentiels ou les résultats de commande Automation Engine :PSET Attribue une valeur à une Variable d'objet. :PUBLISH Définir les Variables de script et les tableaux comme Variables d'objet. :PUT_ATT Définit ou modifie des attributs d'objets :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution :PUT_PROMPT_ BUFFER Enregistre le nom et le contenu d'une Variable de script dans un cache :PUT_READ_BUFFER Enregistre le nom et le contenu d'une Variable de script dans un cache :PUT_VAR Enregistre les valeurs dans un objet Variable statique :PUT_VAR_COL Enregistre une valeur dans une colonne spécifique d'un objet Variable statique :READ Invite l'Utilisateur à saisir des données dans la boîte de dialogue :REGISTER_ OUTPUTFILE Enregistre un fichier comme résultat externe de Job :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution :REPLACE_ STRUCTURE Remplace la structure d'un Workflow lors de son activation par la structure d'un autre Workflow. :RESTART Définit des points de redémarrage dans un objet :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation :SEND_MSG Envoie des messages aux Utilisateurs de l'Interface Utilisateur :SEND_SNMP_TRAP Envoie une interruption SNMP :SET Attribue une valeur à des Variables de script :SET_CALE Attribue une date à un Calendrier d'un Groupe Calendrier :SET_CONDITION Définit l'heure de début au plus tôt dans les Workflows. :SET_LAST_ERR Définit le numéro et le texte de l'erreur :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect :SET_UC_SETTING Modifie les paramètres système au cours de l'exécution :SHUTDOWN Ferme un système UC4 :STOP Interrompt le traitement d'un script :SWITCH ... :CASE ... :ENDSWITCH Vérifie si la valeur d'une Variable correspond à certaines valeurs et exécute différentes actions en fonction de cela. :TERMINATE Met fin à un Agent, un processus de travail ou de communication :WAIT Suspend le traitement du script pour une période donnée :WHILE... :ENDWHILE Boucle permettant de répéter l'exécution de parties du script :XML_CLOSE Ferme un document XML 35 36 Chapter 2 Scripts - Liste alphabétique Fonctions de script [Instructions de script] [Fonctions de script] Fonction script Description ACTIVATE_UC_OBJECT Active un objet ADD Exécute une addition ADD_DAYS Ajoute des jours à une date indiquée ADD_PERIOD Ajoute une période à une date indiquée ADD_TIME Ajoute une heure à une autre ADD_TIMESTAMP Ajoute l'heure à une marque horaire ALPHA2RUNNR Convertit le nom d'un Job ou d'un fichier de rapport en RunID AUTOFORECAST Calcule les données de simulation pour des activités futures. CALE_LOOK_AHEAD Détermine la date suivante en fonction des conditions de calendrier. CANCEL_UC_OBJECT Interrompt un objet activé CHANGE_LOGGING Changement du fichier log. CONV_DATE Change le format d'une date CONV_LC Transforme toutes les majuscules d'une chaîne de caractères en minuscules CONV_TIMESTAMP Convertit la date et l'heure dans un autre Fuseau horaire CONV_UC Transforme toutes les minuscules d'une chaîne de caractères en majuscules CONVERT Convertit le type de données d'une valeur. CREATE_OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable) CREATE_PROCESS Crée une nouvelle séquence de données. DAY_OF_YEAR Indique le jour actuel de l'année DIFF_DATE Détermine la différence (en jours) entre deux dates DIFF_TIME Détermine la différence entre deux heures DIV Exécute une division EXPORT Exporte des objets dans un fichier XML FIND Recherche un Tableau de script et retourne l'Index correspondant. FIRST_OF_PERIOD Détermine le premier jour de la période pour la date indiquée FORECAST_OBJECT Crée une simulation pour l'objet indiqué FORECAST_TASK Crée une simulation pour la Tâche courante Variable prédéfinie Automation Engine FORMAT Modification du formatage d'un nombre GET_ATT Indique la valeur des attributs d'un objet pendant la génération GET_ATT_PLAIN Indique la valeur des attributs d'une Tâche pendant la génération sans suppression des Variables GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte GET_BIT Vérifie qu'un bit particulier est défini dans un champ de bit GET_CONDITION Indique l'heure de début la plus ancienne des Workflows. GET_CONSOLE Lit les données de message de l'Evènement de console survenu GET_EVENT_INFO Lit des données des Evènements de console, de fichier ou de base de données survenus GET_FILESYSTEM Détermine les différentes valeurs de système de fichiers à partir d'une machine à l'emplacement correspondant au chemin indiqué GET_LOGIN Lit les informations à partir d'objets Login. GET_MSG_TXT Détermine le texte du message de la dernière erreur survenue GET_MSG_TYPE Indique le type d'un numéro de message. GET_OBJECT_TYPE Indique le type d'objet de la Tâche GET_OH_IDNR Indique le numéro interne d'un objet. GET_PARENT_NAME Renvoie le nom de la Tâche supérieure (parent) GET_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure (parent) GET_PARENT_TYPE Renvoie le type d'objet de la Tâche supérieure (parent) GET_PROCESS_INFO Déterminer des informations d'une séquence de données. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données GET_PUBLISHED_ VALUE Déterminer la valeur des Variables d'Objet et PromptSet d'une tâche définie. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect GET_STATISTIC_ DETAIL Détermine les détails à partir d'un enregistrement statistique d'un objet activable GET_SYNC Lit la valeur ou le statut actuel d'un objet Sync GET_UC_OBJECT_NR Indique le RunID d'un objet activé GET_UC_OBJECT_ STATUS Indique le statut d'un objet activé 37 38 Chapter 2 Scripts - Liste alphabétique GET_UC_SERVER_ NAME Détermine le nom du processus de travail dans lequel le script est exécuté GET_UC_SETTING Lit les paramètres système actuels GET_UC_SYSTEM_ NAME Détermine le nom du système UC4 GET_VAR Indique la valeur d'un objet Variable. GET_WIN_EVENT Détermine des entrées dans le protocole système, de sécurité et d'application de Windows NT, 2000 ou XP lorsqu'un Evènement se produit HEX Convertit une chaîne de caractères au format hexadécimal ILM Contrôle la fonctionnalité ILM IMPORT Importe des objets d'un fichier XML IS_GROUP_MEMBER Vérifie l'appartenance d'un Utilisateur à un Groupe Utilisateur ISNUMERIC Vérifie qu'une chaîne de caractères est numérique LAST_OF_PERIOD Détermine le dernier jour de la période pour la date indiquée LENGTH Détermine la longueur d'un Tableau de script. LOAD_PROCESS Charge une séquence de données enregistrée. MID Copie les caractères d'une chaîne de caractères MOD Indique le reste d'une division MODIFY_OBJECT Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable) MODIFY_SYSTEM Exécute des actions ServiceManager ou des modifications de Queue. MODIFY_TASK Modifie les Workflows en cours. MODIFY_UC_OBJECT Modifie l'attribut d'un objet activé MOVE_OBJECT Déplace un objet dans un dossier MULT Exécute une multiplication PREP_PROCESS Exécute avec l'aide d'objets Job spécifiques (Jobs d'Evènement) des commandes sur un ordinateur et fournit la sortie de console comme liste interne (séquence de données) qui peut être utilisée pour des traitements ultérieurs. PREP_PROCESS_ AGENTGROUP Détermine les Agents d'un objet Groupe Agent grâce à des critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ COMMENTS Détermine les paramètres de Filtre de l'Marque horaire, de l'Utilisateur et du Texte des commentaires de Tâches et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. &$SYSTEM# Automation Engine PREP_PROCESS_FILE Détermine grâce aux critères de filtrage par ligne le contenu d'un fichier texte qui se trouve sur un ordinateur indiqué et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ FILENAME Détermine une liste avec le nom des fichiers qui se trouvent sur l'ordinateur indiqué et met cette dernière à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ REPORT Détermine les lignes de rapport des objets activables à l'aide de critères de filtrage et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ REPORTLIST Détermine la liste de sorties enregistrées des Jobs déjà effectués et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_VAR Détermine une liste de valeurs d'un objet Variable à l'aide de critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PUT_PROCESS_LINE Ajoute une ligne à une séquence de données spécifique. RANDOM Génère des nombres aléatoires REMOVE_OBJECT Supprime un objet disponible RERUN_UC_OBJECT Poursuite d'un Workflow spécifique. RESTART_UC_OBJECT Répète l'exécution d'une Tâche ROLLBACK_UC_ OBJECT Exécuter un rollback d'une tâche définie. RUNNR2ALPHA Convertit un RunID en nom de fichier correspondant SAVE_PROCESS Enregistre une séquence de données spécifique. SEND_MAIL Envoie un e-mail à un Utilisateur SET_SYNC Exécute l'action définie d'un objet Sync STR_CAT Lie deux chaînes de caractères à une troisième STR_CUT Copie les caractères d'une chaîne de caractères STR_FIND Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. STR_FIND_REVERSE Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. La recherche commence à la fin de la chaîne de caractères à rechercher. STR_LC Transforme toutes les majuscules d'une chaîne de caractères en minuscules STR_LENGTH Détermine la longueur d'une chaîne de caractères 39 40 Chapter 2 Scripts - Liste alphabétique STR_LNG Détermine la longueur d'une chaîne de caractères STR_LTRIM Supprime les espaces qui figurent au début d'une chaîne de caractères STR_MATCH Compare deux chaînes de caractères STR_PAD Elargir une chaîne de caractères à une longueur définie. STR_REVERSE Inverse l'ordre des caractères d'une chaîne STR_RTRIM Supprime les espaces qui figurent à la fin d'une chaîne de caractères STR_SPLIT Séparer la chaîne de caractères en plusieurs parties à l'aide d'un séparateur. STR_SUBSTITUTE Remplace un caractère ou une chaîne de caractères dans une chaîne STR_SUBSTITUTE_VAR Remplace le nom de Variables de scripts par leur valeur. STR_TRIM Supprime les espaces qui figurent au début et à la fin d'une chaîne de caractères STR_UC Transforme toutes les minuscules d'une chaîne de caractères en majuscules SUB Exécute une soustraction SUB_DAYS Soustrait des jours à une date indiquée SUB_PERIOD Soustrait une période à une date indiquée SUB_TIME Soustrait une heure à une autre SUB_TIMESTAMP Soustrait une heure d'une marque horaire SUBSTR Copie les caractères d'une chaîne de caractères SYS_ACT_CLIENT Indique le numéro du Client actuel &$CLIENT# SYS_ACT_CLIENT_ TEXT Indique le texte du Client actuel &$CLIENT_DESC# SYS_ACT_HOST Détermine le nom de l'hôte SYS_ACT_JP Détermine si une tâche a été activée dans un Workflow. &$IN_ PROCESSFLOW# SYS_ACT_ME_NAME Indique le nom de l'objet considéré &$NAME# SYS_ACT_ME_NR Indique le numéro courant (RunID) de l'objet considéré &$RUNID# SYS_ACT_ME_TYPE Indique le type de l'objet considéré &$OBJECT_ TYPE# SYS_ACT_PARENT_ NAME Indique le nom de la Tâche supérieure &$ACTIVATOR# &$PROCESSOR# SYS_ACT_PARENT_NR Indique le numéro courant (RunID) de la Tâche supérieure &$ACTIVATOR_ RUNID# &$PROCESSOR_ RUNID# Automation Engine 41 SYS_ACT_PARENT_ TYPE Indique le type d'objet de la Tâche supérieure &$ACTIVATOR_ RUNID# &$PROCESSOR_ RUNID# SYS_ACT_PREV_NAME Indique le nom de la Tâche précédente dans un Workflow SYS_ACT_PREV_NR Indique le numéro courant (RunID) de la Tâche précédente dans un Workflow SYS_ACT_PTTYP Indique le type de partenaire de l'Utilisateur &$PARTNER_ TYPE# SYS_ACT_RESTART Détermine si l'objet a été activé en mode reprise &$RESTARTED# SYS_ACT_RESTART_ COUNT Indique le nombre de reprises de Tâches de Workflow qui sont exécutées par l'instruction RESTART TASK (Post-conditions) &$RESTART_ COUNT# SYS_ACT_RESTART_ ME_NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise &$RESTART_ RUNID# SYS_ACT_TOP_NAME Indique le nom du Workflow de plus haut niveau &$TOP_ PROCESSFLOW_ NAME# SYS_ACT_TOP_NR Détermine le numéro d'exécution (RunID) du Workflow de plus haut niveau &$TOP_ PROCESSFLOW_ RUNID# SYS_ACT_USERID Indique l'ID Utilisateur sous lequel le Job est exécuté SYS_ACTIVE_COUNT Détermine le nombre d'objets actifs SYS_BUSY_01 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière minute. SYS_BUSY_10 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant les 10 dernières minutes. SYS_BUSY_60 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière heure. SYS_DATE Détermine la date du jour actuelle en vue du lancement du traitement de script &$DATE_format# SYS_DATE_PHYSICAL Détermine la date du jour actuelle &$PHYS_DATE_ format# SYS_HOST_ALIVE Vérifie qu'un hôte particulier est actif SYS_INFO Lit des informations sur l'ensemble du système UC4 SYS_LAST_ERR_INS Indique la partie Variable du message de la dernière erreur survenue SYS_LAST_ERR_NR Renvoie le numéro de la dernière erreur survenue SYS_LAST_ERR_ SYSTXT Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue 42 Chapter 2 Scripts - Liste alphabétique SYS_LAST_RESTART_ POINT Indique la désignation du point de reprise précédent dans le script SYS_LAST_RESTART_ TEXT Indique le texte du point de reprise précédent dans le script SYS_LDATE Détermine la date logique &$LDATE_format# SYS_RESTART_POINT Indique le point de reprise utilisé pour l'exécution de l'objet &$RESTART_ POINT# SYS_SERVER_ALIVE Vérifie qu'un processus Serveur particulier est actif SYS_SNMP_ACTIVE Vérifie que la connexion SNMP (Simple Network Management Protocol) d'UC4 est active SYS_STATE_ACTIVE Vérifie qu'un objet est déjà actif SYS_STATE_JOB_ ACTIVE Vérifie qu'un Job est déjà actif SYS_STATE_JOBS_IN_ GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes &$SNMP_ ACTIVE# SYS_STATE_JP_ACTIVE Vérifie si un Workflow est déjà actif SYS_TIME Détermine l'heure du jour actuelle en vue du lancement du traitement de script &$TIME_format# SYS_TIME_PHYSICAL Détermine l'heure du jour actuelle &$PHYS_TIME_ format# SYS_TIMESTAMP_ PHYSICAL Indique la date et l'heure actuelles SYS_USER_ALIVE Vérifie que l'Utilisateur est connecté à UC4 via une Interface Utilisateur SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré &$DEPARTMENT# la Tâche SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur produit les fichiers log &$SYS_ LANGUAGE# SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche &$USER_FL# SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche &$USER# TOGGLE_OBJECT_ STATUS Arrête ou démarre le traitement automatique de certains types d'objet TOGGLE_SYSTEM_ STATUS Arrête ou démarre le traitement automatique de l'intégralité d'un Client UC_CRLF Indique un retour à la ligne VALID_CALE Vérifie qu'une date est contenue dans un Calendrier VALID_DATE Vérifie qu'une date est valide VALID_TIME Vérifier qu'une heure est valide WEEK_NR Indique la semaine calendaire à laquelle une date appartient Automation Engine WEEKDAY_NR Indique sous la forme d'un chiffre le jour de la semaine correspondant à la date WEEKDAY_XX Renvoie sous la forme d'une abréviation le jour de la semaine correspondant à la date XML_BEAUTIFY Prépare le style d'affichage de la structure d'un élément XML_GET_ATTRIBUTE Indique la valeur d'un attribut XML_GET_CHILD_ COUNT Détermine le nombre de sous-éléments d'un élément XML_GET_FIRST_CHILD Détermine le premier sous-élément d'un élément XML_GET_LAST_CHILD Détermine le dernier sous-élément d'un élément XML_GET_ NEXTSIBLING Détermine l'élément suivant XML_GET_NODE_NAME Indique le nom d'un élément XML_GET_NODE_TEXT Indique le texte d'un élément XML_OPEN Ouvre un document XML en vue du traitement XML_PRINTINTOFILE Affiche le document XML dans un fichier XML_SELECT_NODE Détermine un élément quelconque YEAR_9999 Extrait l'année d'une date donnée 43 44 Chapter 3 Organisation fonctionnelle 3 Organisation fonctionnelle 3.1 Scripts - Organisation fonctionnelle La vue d'ensemble suivante présente le script UC4 organisé selon ses domaines de fonction. Modification d'objets [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :REGISTER_ OUTPUTFILE Enregistre un fichier comme résultat externe de Job CREATE_OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable) EXPORT Exporte des objets dans un fichier XML IMPORT Importe des objets d'un fichier XML MODIFY_OBJECT Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable) MOVE_OBJECT Déplace un objet dans un dossier REMOVE_OBJECT Supprime un objet disponible Activation d'objets [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :BEGINREAD... :ENDREAD Débute et termine une boîte de dialogue destinée aux questions posées à l'Utilisateur :PRINT Affiche du texte dans une boîte de dialogue destinée aux questions posées à l'Utilisateur ou dans le protocole d'activation d'un objet :PUT_READ_BUFFER Enregistre le nom et le contenu d'une Variable de script dans un cache :PUT_PROMPT_ BUFFER Enregistre le nom et le contenu d'une Variable de script dans un cache :READ Invite l'Utilisateur à saisir des données dans la boîte de dialogue ACTIVATE_UC_ OBJECT Active un objet AUTOFORECAST Calcule les données de simulation pour des activités futures. CANCEL_UC_ OBJECT Interrompt un objet activé Automation Engine FORECAST_OBJECT Crée une simulation pour l'objet indiqué FORECAST_TASK Crée une simulation pour la Tâche courante 45 RERUN_UC_OBJECT Poursuite d'un Workflow spécifique. RESTART_UC_ OBJECT Répète l'exécution d'une Tâche ROLLBACK_UC_ OBJECT Exécuter un rollback d'une tâche définie. SYS_ACTIVE_ COUNT Détermine le nombre d'objets actifs SYS_STATE_ACTIVE Vérifie qu'un objet est déjà actif SYS_STATE_JOB_ ACTIVE Vérifie qu'un Job est déjà actif SYS_STATE_JOBS_ IN_GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes SYS_STATE_JP_ ACTIVE Vérifie si un Workflow est déjà actif TOGGLE_OBJECT_ STATUS Arrête ou démarre le traitement automatique de certains types d'objet Lecture ou modification d'objets [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution :ADD_COMMENT Ajoute un commentaire à une Tâche :ATTACH_SYNC Attribue un objet Sync à une Tâche :DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique :MODIFY_STATE Modifie le code retour ou le texte de statut d'un Job une fois ce dernier terminé :PUT_ATT Définit ou modifie des attributs d'objets :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution :PUT_VAR Enregistre les valeurs dans un objet Variable statique :PUT_VAR_COL Enregistre une valeur dans une colonne spécifique d'un objet Variable statique :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution :REPLACE_ STRUCTURE Remplace la structure d'un Workflow lors de son activation par la structure d'un autre Workflow. :SET_CALE Attribue une date à un Calendrier d'un Groupe Calendrier :SET_CONDITION Définit l'heure de début au plus tôt dans les Workflows. 46 Chapter 3 Organisation fonctionnelle :XML_CLOSE Ferme un document XML GET_ATT Indique la valeur des attributs d'un objet pendant la génération GET_ATT_PLAIN Indique la valeur des attributs d'une Tâche pendant la génération sans suppression des Variables. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte GET_CONDITION Indique l'heure de début la plus ancienne des Workflows. GET_LOGIN Lit les informations à partir d'objets Login. GET_OBJECT_TYPE Indique le type d'objet de la Tâche GET_OH_IDNR Indique le numéro interne d'un objet. GET_PUBLISHED_ VALUE Déterminer la valeur des Variables d'Objet et PromptSet d'une tâche définie. GET_STATISTIC_ DETAIL Détermine les détails à partir d'un enregistrement statistique d'un objet activable GET_SYNC Lit la valeur ou le statut actuel d'un objet Sync GET_VAR Indique la valeur d'un objet Variable. MODIFY_TASK Modifie les Workflows en cours MODIFY_UC_ OBJECT Modifie l'attribut d'un objet activé SET_SYNC Exécute l'action définie d'un objet Sync XML_BEAUTIFY Prépare le style d'affichage de la structure d'un élément XML_GET_ ATTRIBUTE Indique la valeur d'un attribut XML_GET_CHILD_ COUNT Détermine le nombre de sous-éléments d'un élément XML_GET_FIRST_ CHILD Détermine le premier sous-élément d'un élément XML_GET_LAST_ CHILD Détermine le dernier sous-élément d'un élément XML_GET_ NEXTSIBLING Détermine l'élément suivant XML_GET_NODE_ NAME Indique le nom d'un élément XML_GET_NODE_ TEXT Indique le texte d'un élément XML_OPEN Ouvre un document XML en vue du traitement XML_PRINTINTOFILE Affiche le document XML dans un fichier XML_SELECT_NODE Détermine un élément quelconque Automation Engine Elaboration et traitement des scripts [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :CONST Crée une Variable de script comme constante avec une valeur définie. :DATA Déclaration explicite d'une ligne DATA dans le script :DEFINE Création d'une Variable de script avec un type spécifique de données. :FILL Enregistre plusieurs valeurs dans un Tableau de script. :EXT_REPORT_OFF Désactive la journalisation du script d'une Tâche :EXT_REPORT_ON Active la journalisation du script d'une Tâche :GENERATE Contrôle la gestion des lignes de script pendant le traitement d'un script :IF... :ELSE... :ENDIF Ramification en fonction de conditions :INCLUDE Associe un objet Include au script actuel :INC_SCRIPT Associe un script à un autre script du même objet :JCL_CONCAT_ CHAR Forme des lignes JCL jusqu'à une taille maximale de 2 Ko :JCL_SUBSTITUTE Remplace une chaîne de caractères du JCL par une autre chaîne de caractères :PSET Attribue une valeur à une Variable d'objet. :PUBLISH Définir les Variables de script et les tableaux comme Variables d'objet. :RESTART Définit des points de redémarrage dans un objet :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation :SET Attribue une valeur à des Variables de script :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect :SWITCH ... :CASE ... :ENDSWITCH Vérifie si la valeur d'une Variable correspond à certaines valeurs et exécute différentes actions en fonction de cela. :WAIT Suspend le traitement du script pour une période donnée :WHILE... :ENDWHILE Boucle permettant de répéter l'exécution de parties du script FIND Recherche un Tableau de script et retourne l'Index correspondant. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect LENGTH Détermine la longueur d'un Tableau de script. Traitement des erreurs et messages [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] 47 48 Chapter 3 Organisation fonctionnelle Elément de script Description :EXIT Termine le traitement du script avec un code retour :ON_ERROR Définit des réactions associées à certaines erreurs ou certains messages de script :SEND_MSG Envoie des messages aux Utilisateurs de l'Interface Utilisateur :SEND_SNMP_TRAP Envoie une interruption SNMP :SET_LAST_ERR Définit le numéro et le texte de l'erreur :STOP Interrompt l'activation d'un objet et affiche éventuellement un message d'erreur GET_MSG_TXT Détermine le texte du message de la dernière erreur survenue GET_MSG_TYPE Indique le type d'un numéro de message. SEND_MAIL Envoie des e-mails à un Utilisateur SYS_LAST_ERR_INS Indique la partie Variable du message de la dernière erreur survenue SYS_LAST_ERR_NR Renvoie le numéro de la dernière erreur survenue SYS_LAST_ERR_ SYSTXT Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue Données d'activation [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description Variable prédéfinie GET_PARENT_NAME Renvoie le nom de la Tâche supérieure (parent) GET_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure (parent) GET_PARENT_TYPE Renvoie le type d'objet de la Tâche supérieure (parent) GET_UC_OBJECT_NR Indique le RunID d'un objet activé GET_UC_OBJECT_STATUS Indique le statut d'un objet activé SYS_ACT_HOST Détermine le nom de l'hôte SYS_ACT_JP Détermine si une tâche a été activée dans un Workflow. &$IN_ PROCESSFLOW# SYS_ACT_ME_NAME Indique le nom de l'objet considéré &$NAME# SYS_ACT_ME_NR Indique le numéro courant (RunID) de l'objet considéré &$RUNID# SYS_ACT_ME_TYPE Indique le type de l'objet considéré &$OBJECT_ TYPE# Automation Engine 49 SYS_ACT_PARENT_NAME Indique le nom de la Tâche supérieure &$ACTIVATOR# &$PROCESSOR# SYS_ACT_PARENT_NR Indique le numéro courant (RunID) de la Tâche supérieure &$ACTIVATOR_ RUNID# &$PROCESSOR_ RUNID# SYS_ACT_PARENT_TYPE Indique le type d'objet de la Tâche supérieure &$ACTIVATOR_ RUNID# &$PROCESSOR_ RUNID# SYS_ACT_PREV_NAME Indique le nom de la Tâche précédente dans un Workflow SYS_ACT_PREV_NR Indique le numéro courant (RunID) de la Tâche précédente dans un Workflow SYS_ACT_PTTYP Indique le type de partenaire de l'Utilisateur &$PARTNER_ TYPE# SYS_ACT_RESTART Détermine si l'objet a été activé en mode reprise &$RESTARTED# SYS_ACT_RESTART_COUNT Indique le nombre de reprises de Tâches de Workflow qui sont exécutées par l'instruction RESTART TASK (Postconditions) &$RESTART_ COUNT# SYS_ACT_RESTART_ME_NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise &$RESTART_ RUNID# SYS_ACT_TOP_NAME Indique le nom du Workflow de plus haut niveau &$TOP_ PROCESSFLOW_ NAME# SYS_ACT_TOP_NR Détermine le numéro d'exécution (RunID) du Workflow de plus haut niveau &$TOP_ PROCESSFLOW_ RUNID# SYS_ACT_USERID Indique l'ID Utilisateur sous lequel le Job est exécuté SYS_LAST_RESTART_POINT Indique la désignation du point de reprise précédent dans le script SYS_LAST_RESTART_TEXT Indique le texte du point de reprise précédent dans le script SYS_RESTART_POINT Indique le point de reprise utilisé pour l'exécution de l'objet &$RESTART_ POINT# Données Utilisateur [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] 50 Chapter 3 Organisation fonctionnelle Elément de script Description Variable prédéfinie IS_GROUP_MEMBER Vérifie l'appartenance d'un Utilisateur à un Groupe Utilisateur SYS_ACT_CLIENT Indique le numéro du Client actuel &$CLIENT# SYS_ACT_CLIENT_TEXT Indique le texte du Client actuel &$CLIENT_DESC# SYS_USER_ALIVE Vérifie que l'Utilisateur est connecté à UC4 via une Interface Utilisateur SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré la Tâche &$DEPARTMENT# SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche &$USER_FL# SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche &$USER# Séquences de données [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script :PROCESS... :TERM_ PROCESS... :ENDPROCESS Boucle pour le traitement par lignes d'une séquence de données, par exemple pour les fichiers séquentiels ou les résultats de commande CREATE_PROCESS Crée une nouvelle séquence de données. GET_PROCESS_ INFO Déterminer des informations d'une séquence de données. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données LOAD_PROCESS Charge une séquence de données enregistrée. PREP_PROCESS Exécute avec l'aide d'objets Job spécifiques (Jobs d'Evènement) des commandes sur un ordinateur et fournit la sortie de console comme liste interne (séquence de données) qui peut être utilisée pour des traitements ultérieurs. PREP_PROCESS_ AGENTGROUP Détermine les Agents d'un objet Groupe Agent grâce à des critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ COMMENTS Détermine les paramètres de Filtre de l'Marque horaire, de l'Utilisateur et du Texte des commentaires de Tâches et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ FILE Détermine grâce aux critères de filtrage par ligne le contenu d'un fichier texte qui se trouve sur un ordinateur indiqué et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Automation Engine PREP_PROCESS_ FILENAME Détermine une liste avec le nom des fichiers qui se trouvent sur l'ordinateur indiqué et met cette dernière à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ REPORT Détermine les lignes de rapport des objets activables à l'aide de critères de filtrage et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ REPORTLIST Détermine la liste de sorties enregistrées des Jobs déjà effectués et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. PREP_PROCESS_ VAR Détermine une liste de valeurs d'un objet Variable à l'aide de critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. 51 PUT_PROCESS_LINE Ajoute une ligne à une séquence de données spécifique. SAVE_PROCESS Enregistre une séquence de données spécifique. Traitement d'Evènement [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description GET_CONSOLE Lit les données de message de l'Evènement de console survenu GET_EVENT_INFO Lit des données des Evènements de console, de fichier ou de base de données survenus GET_FILESYSTEM Détermine les différentes valeurs de système de fichiers à partir d'une machine à l'emplacement correspondant au chemin indiqué. GET_WIN_EVENT Détermine des entrées dans le protocole système, de sécurité et d'application de Windows NT, 2000 ou XP lorsqu'un Evènement se produit 3.1.1 Statuts et utilisation du système [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description :DISCONNECT Déconnecte du système UC4 :SET_UC_SETTING Modifie les paramètres système au cours de l'exécution :SHUTDOWN Ferme un système UC4 Variable prédéfinie 52 Chapter 3 Organisation fonctionnelle :TERMINATE Met fin à un Agent, un processus de travail ou de communication CHANGE_LOGGING Changement du fichier log. GET_UC_SERVER_NAME Détermine le nom du processus de travail dans lequel le script est exécuté GET_UC_SETTING Lit les paramètres système actuels GET_UC_SYSTEM_NAME Détermine le nom du système UC4 ILM Contrôle la fonctionnalité ILM MODIFY_SYSTEM Exécute des actions ServiceManager ou des modifications de Queue. SYS_BUSY_01 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière minute. SYS_BUSY_10 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant les 10 dernières minutes. SYS_BUSY_60 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière heure. SYS_HOST_ALIVE Vérifie qu'un hôte particulier est actif SYS_INFO Lit des informations sur l'ensemble du système UC4 SYS_SERVER_ALIVE Vérifie qu'un processus Serveur particulier est actif SYS_SNMP_ACTIVE Vérifie que la connexion SNMP (Simple Network Management Protocol) d'UC4 est active &$SNMP_ ACTIVE# SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur produit les fichiers log &$SYS_ LANGUAGE# TOGGLE_SYSTEM_STATUS Arrête ou démarre le traitement automatique de l'intégralité d'un Client &$SYSTEM# Date et heure [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description ADD_DAYS Ajoute des jours à une date indiquée ADD_PERIOD Ajoute une période à une date indiquée ADD_TIME Ajoute une heure à une autre ADD_TIMESTAMP Ajoute l'heure à une marque horaire CALE_LOOK_AHEAD Détermine la date suivante en fonction des conditions de calendrier. CONV_DATE Change le format d'une date Variable prédéfinie Automation Engine 53 CONV_TIMESTAMP Convertit la date et l'heure dans un autre Fuseau horaire DAY_OF_YEAR Indique le jour actuel de l'année DIFF_DATE Détermine la différence (en jours) entre deux dates DIFF_TIME Détermine la différence entre deux heures FIRST_OF_PERIOD Détermine le premier jour de la période pour la date indiquée LAST_OF_PERIOD Détermine le dernier jour de la période pour la date indiquée SUB_DAYS Soustrait des jours à une date indiquée SUB_PERIOD Soustrait une période à une date indiquée SUB_TIME Soustrait une heure à une autre SUB_TIMESTAMP Soustrait une heure d'une marque horaire SYS_DATE Détermine la date du jour actuelle en vue du lancement du traitement de script &$DATE_ format# SYS_DATE_PHYSICAL Détermine la date du jour actuelle &$PHYS_ DATE_ format# SYS_LDATE Détermine la date logique &$LDATE_ format# SYS_TIME Détermine l'heure du jour actuelle en vue du lancement du traitement de script &$TIME_ format# SYS_TIME_PHYSICAL Détermine l'heure du jour actuelle &$PHYS_ TIME_ format# SYS_TIMESTAMP_PHYSICAL Indique la date et l'heure actuelles VALID_CALE Vérifie qu'une date est contenue dans un Calendrier VALID_DATE Vérifie qu'une date est valide VALID_TIME Vérifier qu'une heure est valide WEEK_NR Indique la semaine calendaire à laquelle une date appartient WEEKDAY_NR Indique sous la forme d'un chiffre le jour de la semaine correspondant à la date WEEKDAY_XX Renvoie sous la forme d'une abréviation le jour de la semaine correspondant à la date YEAR_9999 Extrait l'année d'une date donnée Calcul [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] 54 Chapter 3 Organisation fonctionnelle Elément de script Description ADD Exécute une addition DIV Exécute une division GET_BIT Vérifie qu'un bit particulier est défini dans un champ de bit MOD Indique le reste d'une division MULT Exécute une multiplication RANDOM Génère des nombres aléatoires SUB Exécute une soustraction Chaînes [Modification d'objets] [Activation d'objets] [Lecture ou modification d'objets] [Elaboration et traitement des scripts] [Traitement des erreurs et messages] [Données d'activation] [Données Utilisateur] [Séquences de données] [Traitement d'Evènement] [Statuts et utilisation du système] [Date et heure] [Calcul] [Chaînes] Elément de script Description ALPHA2RUNNR Convertit le nom d'un Job ou d'un fichier de rapport en RunID CONV_LC ou STR_LC Transforme toutes les majuscules d'une chaîne de caractères en minuscules CONV_UC ou STR_ UC Transforme toutes les minuscules d'une chaîne de caractères en majuscules CONVERT Convertit le type de données d'une valeur FORMAT Modifie le formatage d'un nombre HEX Convertit une chaîne de caractères au format hexadécimal ISNUMERIC Vérifie qu'une chaîne de caractères est numérique MID, STR_CUT ou SUBSTR Copie les caractères d'une chaîne de caractères RUNNR2ALPHA Convertit un RunID en nom de fichier correspondant STR_CAT Lie deux chaînes de caractères à une troisième STR_FIND Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. STR_FIND_ REVERSE Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. La recherche commence à la fin de la chaîne de caractères à rechercher. STR_LENGTH ou STR_LNG Détermine la longueur d'une chaîne de caractères STR_LTRIM Supprime les espaces qui figurent au début d'une chaîne de caractères STR_MATCH Compare deux chaînes de caractères STR_PAD Elargir une chaîne de caractères à une longueur définie. STR_REVERSE Inverse l'ordre des caractères d'une chaîne STR_RTRIM Supprime les espaces qui figurent à la fin d'une chaîne de caractères Automation Engine STR_SPLIT Séparer la chaîne de caractères en plusieurs parties à l'aide d'un séparateur. STR_SUBSTITUTE Remplace un caractère ou une chaîne de caractères dans une chaîne STR_SUBSTITUTE_ VAR Remplace le nom de Variables de scripts par leur valeur. STR_TRIM Supprime les espaces qui figurent au début et à la fin d'une chaîne de caractères UC_CRLF Indique un retour à la ligne 55 3.2 Modification d'objets 3.2.1 :REGISTER_OUTPUTFILE Instruction de script : Enregistre un fichier comme résultat externe de Job Syntaxe :REGISTER_OUTPUTFILE Fichier, Login Utilisateur Elément de syntaxe Description/format Fichier Chemin et nom entièrement qualifiés du fichier qui doit être enregistré comme résultat de Job. Les caractères génériques ne sont pas autorisés ! Le chemin absolu doit toujours être indiqué! Format : Littéral de script Login Utilisateur Utiliser le Login Utilisateur. Valeurs autorisées : "Y" ou "N" Format : Littéral de script Remarques Cette instruction de script peut être utilisée uniquement dans l'onglet Script des Jobs UNIX et Windows ! L'enregistrement de résultats externes comme résultat de Job est également possible via l'onglet Résultat". La date/l'heure de l'enregistrement est toutefois différente : les fichiers de l'onglet Résultat sont enregistrés dès le début de l'exécution du Job, que ce dernier ait pu créer le fichier ou non. Lors de l'utilisation du script, le fichier indiqué est d'abord enregistré au moment de l'appel. Le fichier indiqué doit se trouver sur l'ordinateur de l'Agent sur lequel le Job est exécuté ou être accessible depuis cet ordinateur. Il est conseillé de n'indiquer que les fichiers qui sont générés par le Job. Après l'exécution du Job, le fichier est listé dans le dialogue Rapport de l'onglet "Répertoire" en plus du résultat de Job standard. Il peut être ouvert ou enregistré ici directement via l'Interface Utilisateur. 56 Chapter 3 Organisation fonctionnelle Exemple Dans l'exemple de script d'un Job Windows ci-dessous, la liste des fichiers du répertoire C:\temp est enregistrée dans le fichier C:\temp\test.txt. Le système vérifie ensuite si la commande a pu être exécutée correctement. Si c'est le cas, ce fichier est alors enregistré comme résultat de Job. Sinon, le Job est interrompu. dir C:\temp /S >> C:\temp\test.txt @set retcode=%errorlevel% ! @if NOT %ERRORLEVEL% == 0 goto :retcode :REGISTER_OUTPUTFILE"C:\temp\test.txt", "N" Rubriques connexes : Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.2 CREATE_OBJECT Fonction script : Crée un objet (uniquement Groupe Calendrier, Login et Variable). Informations générales l l l l La fonction de script permet de créer exclusivement des objets de type "Groupe Calendrier", "Login" et "Variable" (uniquement statique). L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour traiter des erreurs. Par défaut, le script continue à s'exécuter. Toutefois, vous avez également la possibilité de l'interrompre. Vous avez besoin d'un droit d'écriture sur les types d'objet Groupe Calendrier, Login et Variable pour les créer. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4Datenbank geschrieben werden. Groupe Calendrier [Groupe Calendrier] [Login] [Variable] Syntaxe CREATE_OBJECT(type d'objet, nom d'objet, [dossier], [titre] ) Elément de syntaxe Description/format Type d'objet Description courte du type d'objet. Valeur autorisée : CALE Automation Engine Nom d'objet Nom de l'objet. Format : Littéral de script ou Variable de script Dossier Nom du dossier dans lequel l'objet doit être créé. Format : Littéral de script ou Variable de script Titre Titre de l'objet. Format : Littéral de script ou Variable de script 57 Codes retour "0" - L'objet Groupe Calendrier a été créé. "20644" - Un objet du même nom existe déjà. "20710" - Le nom de l'objet contient au moins un caractère non autorisé. Remarques Un Groupe Calendrier est créé dans le dossier indiqué. Si ce paramètre n'est pas indiqué ou que le dossier n'existe pas, l'objet est enregistré dans <défaut>. Exemples Dans le premier exemple, l'objet "AGENDA_ENTREPRISE2003" est créé dans <défaut>. :SET &RET# = CREATE_OBJECT("CALE","AGENDA_ENTREPRISE2003",,"Agenda d'entreprise pour 2003") Login [[Groupe Calendrier] [Login][Variable] Syntaxe CREATE_OBJECT(type d'objet, nom d'objet, [dossier], [titre] ) Elément de syntaxe Description/format Type d'objet Description courte du type d'objet. Valeur autorisée : LOGIN Nom d'objet Nom de l'objet. Format : Littéral de script ou Variable de script Dossier Nom du dossier dans lequel l'objet doit être créé. Format : Littéral de script ou Variable de script Titre Titre de l'objet. Format : Littéral de script ou Variable de script Codes retour "0" - L'objet Login a été créé. "20644" - Un objet du même nom existe déjà. "20710" - Le nom de l'objet contient au moins un caractère non autorisé. 58 Chapter 3 Organisation fonctionnelle Remarques Un objet Login est créé dans le dossier indiqué. Si ce paramètre n'est pas indiqué ou que le dossier n'existe pas, l'objet est enregistré dans <défaut>. Exemples Dans le premier exemple, l'objet "LOGIN.DUPONT" est créé dans <défaut>. :SET &RET# = CREATE_OBJECT("LOGIN","LOGIN.DUPONT",,"Logins standard") Dans le deuxième exemple, un objet Login est créé dans le dossier "LOGIN_STD". :SET &NOUVEAU# = CREATE_OBJECT("LOGIN","LOGIN.DUPONT","LOGIN_STD",) Variable [Groupe Calendrier] [Login] [Variable] Syntaxe CREATE_OBJECT(type d'objet, nom d'objet, [dossier], [titre], [traitement des erreurs], [type de données], [validité] ) Elément de syntaxe Description/format Type d'objet Description courte du type d'objet. Valeur autorisée : VARA Nom d'objet Nom de l'objet. Format : Littéral de script ou Variable de script Dossier Nom du dossier dans lequel l'objet doit être créé. Format : Littéral de script ou Variable de script Titre Titre de l'objet. Format : Littéral de script ou Variable de script Traitement des erreurs Traitement lorsque la variable ne contient pas de valeur pour le temps d'exécution. Valeurs autorisées : "E" ou "I" (par défaut) "E" = Un message d'erreur est émis. "I" = La variable va être initialisée en fonction de son type. Type de données Type de variable. Valeurs autorisées : "String" (ou "C"), "Number" (ou "F"), "Timestamp" (ou "T"), "Time" ou "Date" Valeurs autorisées: "C" (par défaut), "F" ou "T" "String", "C"= Texte "Number", "F" = Nombre "Timestamp", "T" = Marque horaire "Time" = Heure "Date" = Date Automation Engine Validité 59 Plage de validité. Valeurs autorisées : "*", "LIBRE" (par défaut), "HON", "JBN", "JPN", "JPS", "USN", "USS" "*" = Pas de clé "FREI" = Au choix "HON" = Hôte - pour chaque nom d'hôte "JBN" = Tâche - pour chaque nom de Tâche "JPN" = Nom de Workflow - pour chaque nom de Workflow "JPS" = Session de Workflow - pour chaque activation de Workflow "USN" = Utilisateur - pour chaque nom d'Utilisateur "USS" = Session Utilisateur - pour chaque session utilisateur Codes retour "0" - L'objet Variable a été créé. "20644" - Un objet du même nom existe déjà. "20710" - Le nom de l'objet contient au moins un caractère non autorisé. Remarques Cette fonction de script permet de créer uniquement des objets Variable statiques. Pour obtenir des informations complémentaires à ce sujet, voir la description de l'onglet Attributs des objets Variable. Une variable est créée dans le dossier indiqué. Si ce paramètre n'est pas indiqué ou que le dossier n'existe pas, l'objet est enregistré dans <défaut>. N'indiquez pas tous les paramètres facultatifs pour utiliser les valeurs par défaut "Texte" (pour le type de données), "Index libre" (pour la plage de validité) et "Valeur initiale" (pour Clé introuvable). Exemple L'exemple créé une variable dans laquelle le nombre de fichiers déterminé peut être enregistré. :SET &RET# = CREATE_OBJECT ("VARA","OUTPUT.WEBHELP.VARA","VARIABLE/TEST","Nombre de fichiers de l'aide","I","F","LIBRE") Rubriques connexes : Elément de script Description :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. REMOVE_OBJECT Supprime un objet disponible. MODIFY_OBJECT Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable). MOVE_OBJECT Déplace un objet dans un dossier. ACTIVATE_UC_ OBJECT Active un objet. Script - Modifier les objets Script - Corrections d'erreurs et messages 60 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.3 EXPORT Fonction script : Exporte les objets dans un fichier XML. Syntaxe EXPORT(Objet, fichier ) Elément de syntaxe Description/format Objet Nom du ou des objets à exporter (avec des caractères génériques). Format : Littéral de script ou Variable de script Vous pouvez utiliser les caractères génériques "*" et "?". "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Fichier Nom du fichier avec chemin complet dans lequel les objets doivent être exportés. Format : Littéral de script ou Variable de script Codes retour "0" - L'exportation a réussi. "20693" - L'objet n'existe pas. "21723" - Le fichier cible existe et est protégé en écriture. Remarques La fonction de script vous permet d'exporter des objets dans un fichier XML indiqué. La fonctionnalité d'importation et d'exportation n'est pas adaptée aux transports de masse ! Dans ces cas, utilisez plutôt le Conteneur Transport UC4. L'instruction de script :ON_ERROR permet de définir la réaction en cas d'exportation erronée. Vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Avant le processus d'exportation, le système vérifie si le fichier existe déjà. Le cas échéant, il est remplacé. S'il est protégé en écriture, l'exportation ne peut pas être exécutée. L'exportation échoue lorsque l'Utilisateur ne possède pas le droit "Lire" (R) sur l'objet. Vous trouverez des informations complémentaires sur le processus d'exportation dans le rapport d'activation de l'objet réalisant l'exportation. Dans un environnement UC4 partagé (les processus de travail sont exécutés sur plusieurs machines), il est impossible de définir sur quelle machine l'exportation doit être exécutée ! Vous devez donc indiquez le chemin UNC sous Windows. Attention : le serveur doit être exécuté sous un Utilisateur de domaine correspondant pour accéder au nom UNC. Si un serveur UNIX est utilisé, le chemin absolu doit être indiqué en langage UNIX. En outre, le système de fichier doit être accessible (NFS, commande mount), Automation Engine 61 bien qu'il ne joue aucun rôle sur la machine où il se trouve. C'est le seul moyen de s'assurer que le fichier XML souhaité est également utilisé. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Exemple Dans l'exemple suivant, tous les objets dont le nom commence par "GS.JOUR" sont exportés. La désignation de l'objet, ainsi que le nom du dossier sont transmis à la fonction sous forme de Variable de script. :SET &OBJET# = "GS.JOUR*" :SET &FICHIER# = "\\PCUC4\UC4global\EXPORT\uc4_export.xml" :SET &RET# =EXPORT(&OBJET#,&FICHIER#) Exemple pour UNIX : :SET &OBJET# = "GS.JOUR*" :SET &FICHIER# = "/opt/UC4/import/uc4_export.xml" :SET &RET# =EXPORT(&OBJET#,&FICHIER#) Rubriques connexes : Elément de script Description IMPORT Importe des objets d'un fichier XML. Elément de script - Traitement d'objets Importation et exportation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.4 IMPORT Fonction script : Importe des objets d'un fichier XML. Syntaxe IMPORT(Fichier [,[Répertoire], [Paramètre Objet] [,Paramètre Lien]] ) Elément de syntaxe Description/format Fichier Nom du fichier avec chemin complet pour l'importation des objets Format : Littéral de script ou Variable de script Dossier Nom du dossier dans lequel les objets doivent être enregistrés Format : Littéral de script ou Variable de script Paramètre objet Paramètre indiquant comment procéder avec les objets existant déjà Format : littéral de script, Variable de script ou chiffre Valeurs autorisées : "0" (valeur par défaut), "1" "0" = Les objets existants sont ignorés "1" = Les objets existants sont remplacés 62 Chapter 3 Organisation fonctionnelle Paramètre lien Paramètre indiquant comment gérer les liens disponibles avec les répertoires Format : littéral de script, Variable de script ou chiffre Valeurs autorisées : "0", "1" (valeur par défaut) "0" = Les liens disponibles ne sont pas conservés "1" = Les liens disponibles sont conservés Ce paramètre n'est alors important que lorsque le paramètre objet "1" a été sélectionné. Codes retour "0" - L'importation a réussi. "20657" - Le dossier cible n'existe pas. "20692" - Le fichier n'existe pas. "21724" - L'accès au fichier est impossible à cause des autorisations manquantes. "21729" - Le fichier XML importé ne présente pas le format UC4 et ne peut donc pas être importé. "21730" - Le fichier XML importé ne présente pas l'encodage requis. "21732" - Une erreur est survenue lors de l'importation. Vous trouverez des informations complémentaires sur les causes dans le rapport d'activation. Remarques La fonction de script vous permet d'importer des objets d'un fichier XML formaté en conséquence. La fonctionnalité d'importation et d'exportation n'est pas adaptée aux transports de masse ! Dans ces cas, utilisez plutôt le Conteneur Transport UC4. Les objets sont créés dans le dossier indiqué. Si celui-ci n'existe pas ou que ce paramètre est absent, l'élément de script est interrompu avec le code retour 20657. L'instruction de script :ON_ERROR permet de définir la réaction en cas d'importation erronée. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Par défaut, la taille du fichier XML est limitée à 1 024 Ko. L'administrateur UC4 peut en définir une autre dans la Variable UC_SYSTEM_SETTINGS à l'aide de la clé "MAX_IMPORT_SIZE". Vous trouverez des informations complémentaires sur le processus d'importation dans le rapport d'activation de l'objet réalisant l'importation. L'importation échoue lorsque vous ne possédez pas d'autorisation d'écriture sur l'objet ou sur le dossier de destination. Attention : l'importation dans le dossier "Gestion des Versions" est impossible ! Dans un environnement UC4 partagé (les processus de travail sont exécutés sur plusieurs machines), il est impossible de définir sur quelle machine l'importation doit être exécutée ! Vous devez donc indiquez le chemin UNC sous Windows. Attention : le serveur doit être exécuté sous un Utilisateur de domaine correspondant pour accéder au nom UNC. Si un serveur UNIX est utilisé, le chemin absolu doit être indiqué en langage UNIX. En outre, le système de fichier doit être accessible (NFS, commande mount), bien qu'il ne joue aucun rôle sur la machine où il se trouve. C'est le seul moyen de s'assurer que le fichier XML souhaité est également utilisé. Le Script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Automation Engine 63 Par défaut, un lien est créé dans le dossier précédent pour chaque objet remplacé par l'importation qui ne se trouve pas dans le dossier indiqué. Ce comportement peut être désactivé avec le paramètre Paramètre Lien (valeur : 0). Cependant, cela supprime tous les liens existants des objets importés ! Exemple Dans l'exemple suivant, les objets éventuellement présents sont ignorés lors de l'importation. Le fichier, ainsi que le nom du dossier, sont transmis à la fonction sous forme de Variable de script. :SET &FICHIER# ="\\PCUC4\UC4global\IMPORT\uc4_import.xml" :SET &DOSSIER# = "IMPORT/JOBS" :SET &RET# =IMPORT(&FICHIER#,&DOSSIER#,"0") Exemple pour UNIX : :SET &FICHIER# ="/opt/UC4/import/uc4_import.xml" :SET &DOSSIER# = "IMPORT/JOBS" :SET &RET# =IMPORT(&FICHIER#,&DOSSIER#,"0") Rubriques connexes : Elément de script Description EXPORT Exporte les objets dans un fichier XML. Elément de script - Traitement d'objets Importation et exportation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.5 MODIFY_OBJECT Fonction script : Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable). Informations générales l l l l La fonction de script permet de modifier exclusivement des objets de type "Groupe Calendrier", "Login" et "Variable" (uniquement statique). L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Comme auparavant, vous pouvez l'analyser avec les fonctions de script pour traiter des erreurs. Par défaut, le script continue à s'exécuter. Toutefois, vous avez également la possibilité de l'interrompre. Vous avez besoin d'un droit d'écriture sur les types d'objet Groupe Calendrier, Login et Variable pour les créer. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Groupe Calendrier [Groupe Calendrier] [Login] [Variable] 64 Chapter 3 Organisation fonctionnelle Syntaxe MODIFY_OBJECT(Nom d'objet, [Titre], [Calendrier] [,[Format de date:]Date1] [,[Format de date:] Date2]]) Elément de syntaxe Description/format Nom d'objet Nom de l'objet Groupe Calendrier. Format : Littéral de script ou Variable de script Titre Titre de l'objet Groupe Calendrier. Format : Littéral de script ou Variable de script Calendrier Nom d'une entrée de calendrier de l'objet Calendrier indiqué. Format : Littéral de script ou Variable de script Format de date Format prédéfini de la date indiquée. : ou ; Séparateur entre le format de date et la date. Date1 Date de début de la période de validité de l'entrée de calendrier. Indication d'une date correspondant au format de date. Date2 Date de fin de la période de validité de l'entrée de calendrier. Indication d'une date correspondant au format de date. [Format date:]Date1 et [Format date:]Date2 Début et fin de la validité de l'entrée de calendrier. Format : Littéral de script ou Variable de script Codes retour "0" - L'objet Calendrier a été modifié. "20645" - L'objet n'existe pas. "20670" - La date de fin de l'entrée de calendrier précède la date de début. Remarques La fonction de script permet de modifier le titre de l'objet Calendrier ainsi que la date de début et de fin d'une entrée de calendrier. Les paramètres inutilisés laissent les définitions de calendrier existantes inchangées. Les scripts suivants sont aussi disponibles pour le traitement des entrées de calendrier : :SET_CALE - Ajoute ou supprime une entrée de calendrier, une date ou une période. VALID_CALE - Vérifie si une date est contenue dans une entrée de calendrier. Exemple Dans l'exemple, la période de validité de l'entrée de calendrier "JOURS_OUVRES" est modifiée. Le titre du calendrier reste inchangé. :SET &RET# = MODIFY_OBJECT("AGENDA_ENTREPRISE",,"JOURS_ OUVRES","DD.MM.YYYY:01/05/2011","DD.MM.YYYY:01/05/2012") Automation Engine 65 Login [[Groupe Calendrier] [Login][Variable] Syntaxe MODIFY_OBJECT(Nom d'objet, [Titre], Nom, Type, Info de Login, [Mot de passe], [Action]) Elément Description/format de syntaxe Nom d'objet Nom de l'objet Login. Format : Littéral de script ou Variable de script Titre Titre de l'objet Login. Format : Littéral de script ou Variable de script Nom Nom d'un Agent ou d'un système Backend. Format : Littéral de script ou Variable de script Si vous indiquez "*", la saisie de Login s'applique à tous les Agents ou systèmes. Le nom des systèmes Backend est défini par l'utilisateur dans l'objet Login. Type Type d'hôte ou application. Format : Littéral de script ou Variable de script Valeurs autorisées : "BS2000" = Hôte de type BS2000/OSD "GCOS8" = Hôte de type Bull GCOS 8 "JMX" = Saisie de Login pour Java EE/JMX "MAIL" = Saisie de Login pour l'interface de messagerie "MPE" = Hôte de type MPE "MVS" = Hôte de type z/OS, MVS, z/OS "OA" = Saisie de Login pour Oracle Applications "OS400" = Hôte de type OS/400 "PS" = Saisie de Login pour PeopleTools "R3" = Saisie de Login pour SAP "SIEBEL" = Saisie de Login pour Siebel "SQL" = Saisie de Login pour les bases de données "UNIX" = Hôte de type Unix, Linux, z/Linux "VMS" = Hôte de type OpenVMS "WINDOWS" = Hôte de type Windows Outre les plateformes des agents listées, tous les types qui ont été définis par l'administrateur dans la variable UC4 UC_LOGIN_TYPES peuvent aussi être indiqués. Info. Login Informations de Login avec lesquelles la connexion doit avoir lieu. Format : Littéral de script ou Variable de script Le format du Login est propre à la plateforme et à l'application. Vous trouverez des détails à ce sujet au chapitre "Objet Login". 66 Chapter 3 Organisation fonctionnelle Mot de passe Mot de passe pour la plateforme de l'application. Format : Littéral de script ou Variable de script La plausibilité n'est pas vérifiée lors de l'exécution de la fonction de script MODIFY_ OBJECT. Action Action qui doit être effectuée. Valeurs autorisées : "ADD" (valeur par défaut), "DEL" "ADD" = Ajoute la saisie d'utilisateur indiquée à la fin de la liste ou remplace celle qui existe par des données identiques pour l'hôte, le type d'hôte et les infos de Login. "DEL" = Supprime la saisie d'utilisateur indiquée de la liste. Si la saisie d'utilisateur ne se trouve pas dans la liste, aucun code d'erreur n'est généré. L'indication d'un mot de passe ne s'applique pas à la suppression de la saisie. Codes retour "0" - L'objet Login a été modifié. "20645" - L'objet n'existe pas. Remarques La fonction de script vous permet de modifier le titre ainsi que les saisies de Login d'un objet Login. L'utilisation de la fonction MODIFY_OBJECT pour l'objet Login sert principalement à la gestion automatisée des utilisateurs, par exemple pour effectuer des modifications externes de mot de passe dans la plate-forme UC4 Automation. Si un agent indiqué avec son type est déjà disponible dans l'objet Login, l'entrée existante est modifiée. Si l'Agent et le type ne correspondent pas, la ligne de script n'a aucun effet. Exemple Dans le premier exemple, les données de connexion pour l'utilisateur "henri" sont définies dans l'objet LOGIN "LOGIN.HENRI" sur l'hôte "UNIX01" et le mot de passe "uc4" est attribué. Si la saisie d'utilisateur existe déjà, seul le mot de passe est défini sur "uc4". :SET &RET# = MODIFY_OBJECT ("LOGIN.HENRI",,"UNIX01","UNIX","henri","uc4","ADD") Dans l'exemple suivant, les données de connexion dans l'objet LOGIN "LOGIN.HENRI" pour l'utilisateur "henri" sont supprimées dans le Client "012" du système SAP "SAP01". :SET &RET# = MODIFY_OBJECT ("LOGIN.HENRI",,"SAP01","R3","012,henri","","DEL") Variable [Groupe Calendrier] [Login] [Variable] Automation Engine 67 Syntaxe MODIFY_OBJECT(Nom d'objet, [Titre], [Traitement des erreurs], [Type de données]) Elément de syntaxe Description/format Nom d'objet Nom de l'objet Variable. Format : Littéral de script ou Variable de script Titre Titre de l'objet Variable. Format : Littéral de script ou Variable de script Traitement des erreurs Traitement lorsque la variable ne contient pas de valeur pour le temps d'exécution. Valeurs autorisées : "E" ou "I" "E" = Un message d'erreur est émis. "I" = La variable va être initialisée en fonction de son type. Type de données Type de variable. Valeurs autorisées : "String" (ou "C"), "Number" (ou "F"), "Timestamp" (ou "T"), "Time" ou "Date" "String", "C"= Texte "Number", "F" = Nombre "Timestamp", "T" = Marque horaire "Time" = Heure "Date" = Date Codes retour "0" - L'objet Variable a été modifié. "20640" - Une valeur non valide a été indiquée pour le type de données. "20645" - L'objet n'existe pas. "20651" - Le type de données ne peut pas être modifié, car des valeurs se trouvent dans la Variable. Remarques La fonction de script vous permet de modifier le titre ainsi que le traitement des erreurs et le type de données d'un objet Variable statique. Si le type de données doit être modifié, aucune valeur ne doit être enregistrée dans la Variable. Les objets Variable dynamiques ne peuvent pas être modifiés avec la fonction de script. Exemple Dans l'exemple, une variable est modifiée pour que le nombre de fichiers déterminé puisse y être enregistré. :SET &RET# = MODIFY_OBJECT("OUTPUT.WEBHELP.VARA","Nombre de fichiers de l'aide avec images",,"F") Rubriques connexes : 68 Chapter 3 Organisation fonctionnelle Elément de script Description :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. CREATE_OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable). REMOVE_OBJECT Supprime un objet disponible. MOVE_OBJECT Déplace un objet dans un dossier. ACTIVATE_UC_ OBJECT Active un objet. Script - Modifier les objets Script - Corrections d'erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.6 MOVE_OBJECT Fonction script : Déplace un objet dans un dossier. Syntaxe MOVE_OBJECT (nom de l'objet, dossier cible) Elément de syntaxe Description/format Nom d'objet Nom de l'objet. Format : Littéral de script ou Variable de script Dossier de destination Chemin du dossier dans lequel l'objet doit être déplacé. Format : Littéral de script ou Variable de script Codes retour "0" - L'objet a été déplacé. "20645" - L'objet n'existe pas. "20657" - Le dossier cible n'existe pas. Remarques Le dossier dans lequel se trouve l'objet à déplacer n'a pas d'importance, car il est déterminé automatiquement. Si l'objet possède des liens, ils sont ignorés et ne sont pas déplacés. Une erreur de temps d'exécution se produit lorsque vous ne possédez pas de droit d'écriture sur l'objet ou sur le dossier de destination. Si l'objet ou le dossier n'existe pas, une erreur de temps d'exécution ne se produit que lorsque l'instruction de script :ON_ERROR a été utilisée avec le paramètre ABEND. Dans ce dernier cas, l'objet reste dans son dossier d'origine. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Automation Engine Exemple Dans l'exemple, l'objet "VIENNE" est déplacé dans le sous-dossier "OBJETS" du dossier "FUSEAUX_ HORAIRES". :ON_ERROR ABEND :SET &RET# = MOVE_OBJECT ("VIENNE","FUSEAUX_HORAIRES/OBJETS") Rubriques connexes : Elément de script Description :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. CREATE_ OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable). REMOVE_ OBJECT Supprime un objet disponible. MODIFY_OBJECT Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable). Script - Modifier les objets Script - Corrections d'erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.2.7 REMOVE_OBJECT Fonction script : Supprime un objet disponible. Syntaxe REMOVE_OBJECT (nom d'objet) Elément de syntaxe Description/format Nom d'objet Nom de l'objet à supprimer. Format : Littéral de script ou Variable de script Codes retour "0" - Le processus de suppression s'est bien terminé. "20645" - L'objet n'existe pas. "20217" -L'objet est déjà ouvert en vue du traitement. "20369" - L'objet se trouve dans le Conteneur Transport. Remarque Un objet supprimé est déplacé dans la corbeille et peut être restauré. 69 70 Chapter 3 Organisation fonctionnelle L'instruction de script :ON_ERROR vous permet de définir la réaction à une erreur et de l'analyser avec les fonctions de script pour le traitement des erreurs. Selon le paramétrage, le script reprend ou est interrompu. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple L'exemple supprime l'objet "AGENDA_ENTREPRISE2003". :SET &RET# = REMOVE_OBJECT("AGENDA_ENTREPRISE2003") Rubriques connexes : Elément de script Description CREATE_ OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable). MODIFY_ OBJECT Modifie un objet disponible (uniquement Groupe Calendrier, Login et Variable). MOVE_OBJECT Déplace un objet dans un dossier. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Elément de script - Traitement d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3 Activation d'objets 3.3.1 :BEGINREAD... :ENDREAD Instructions de script : Début et fin d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. Syntaxe :BEGINREAD[Titre[,F]] :ENDREAD Elément de syntaxe Description/format :BEGINREAD Début d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. Titre Titre de la boîte de dialogue. Format : littéral de script, variable de script ou fonction de script Valeur par défaut : Nom de l'objet Automation Engine 71 F Formate le texte de la boîte de dialogue pour que toutes les lettres occupent la même largeur. :ENDREAD Fin d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. Remarques Les instructions de script :BEGINREAD et :ENDREAD définissent le début et la fin d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. Entre les deux instructions de script, il peut y avoir n'importe quelles instructions :READ dont le nombre détermine la taille de la boîte de dialogue. Les paramètres sont décisifs pour l'aspect de la boîte de dialogue et pour la fonction des champs de saisie créés qui reçoivent les saisies Utilisateur. L'indication d'un titre pour la boîte de dialogue est facultative. Lorsque vous n'utilisez pas de titre, c'est le nom de l'objet qui s'affiche. L'indication du paramètre "F" a pour effet que toutes les lettres occupent la même largeur. Cela permet donc d'adapter le texte à la largeur de la colonne. Utilisez l'instruction :PRINT pour afficher un texte quelconque dans la boîte de dialogue. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Générer à l'Exécution Cette boîte de dialogue n'est pas affichée lorsque l'option "Générer à l'Exécution" (onglet Attributs) est activée. C'est aussi le cas lorsqu'un objet est exécuté dans un Workflow qui possède ce paramètre. La valeur par défaut est utilisée pour les instructions :READ. Lorsqu'aucune réponse valable ne se produit par ce moyen, la génération du script est interrompue. Exemple Dans l'exemple, la boîte de dialogue Connexion s'affiche et demande à l'Utilisateur d'indiquer son département et son nom. :BEGINREAD "Identification" :READ &ABT#, "08", "Indiquer le département",, M :READ &NOM#, "08", "Indiquer un nom",, M :ENDREAD Rubriques connexes : :READ Lit les données entrées par l'Utilisateur dans la boîte de dialogue. :PRINT Affiche le texte dans une boîte de dialogue destinée aux questions posées à l'Utilisateur ou dans le protocole d'activation d'un objet. 72 Chapter 3 Organisation fonctionnelle Elément de script - Activation d'objets Exemples : Maintenance de la base de données avec options Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.2 :PRINT Instruction de script : Affiche le texte dans une boîte de dialogue destinée aux questions posées à l'Utilisateur ou dans le protocole d'activation d'un objet. Syntaxe :P[RINT] Texte :P[RINT] Texte1, Texte2 Elément de syntaxe Description/format Texte, Texte1, Texte2 Texte qui doit être affiché dans la boîte de dialogue ou dans le protocole d'activation, maximum de 1024 caractères pour Texte ou Texte1 + Texte2. Format : Littéral de script ou Variable de script Remarques Pour l'instruction de Script, il existe deux possibilités d'application : Affichage dans le protocole d'activation :PRINT affiche le texte indiqué dans le protocole d'activation. Cela peut servir à afficher les résultats d'un traitement. Il est également possible de vérifier le remplacement correct de Variables de Script. Le protocole d'activation fait partie du rapport. Syntaxe Description :PRINT Texte Le texte s'affiche sur sa propre ligne. :PRINT Texte1, Texte2 Une ligne est créée pour chaque Texte1 et Texte2. Affichage dans la boîte de dialogue :PRINT affiche le texte indiqué dans la boîte de dialogue pour les questions posées à l'Utilisateur (:BEGINREAD... :ENDREAD). Utilisez cette instruction pour remanier de manière plus claire le masque de saisie et pour ajouter des explications. Syntaxe Description :PRINT Texte Le texte s'affiche sur sa propre ligne. :PRINT Texte1, Texte2 Si une instruction :READ suit l'instruction, le Texte1 est positionné sur la ligne de commande et le Texte2 sur la zone de texte. Sinon, le Texte2 est ajouté au Texte1. Automation Engine 73 Dans les deux possibilités d'application, les Variables de Script contenues dans les textes sont remplacées par leurs valeurs correspondantes. L'administrateur UC4 peut déterminer si l'affichage de l'instruction de Script doit être rapporté en plus du protocole d'activation dans le rapport et dans le fichier de logging d'UC4 Automation Engine à l'aide du paramètre SERVER_OPTIONS des Variables UC4 UC_SYSTEM_SETTINGS. Attention : l'instruction :PRINT supprime les espaces à la fin du texte à afficher. Exemples Cette exemple illustre l'affichage d'un texte dans le protocole d'activation pendant que la date du jour actuelle est utilisée dans une Variable de Script. :SET &DATEDUJOUR# = SYS_DATE(DD.MM.YY) :PRINT "Evaluation quotidienne du &DATEDUJOUR# en cours." Dans l'exemple, le texte "Saisie requise" correspondant aux questions posées à l'Utilisateur est affiché dans les champs de saisie de la boîte de dialogue. :BEGINREAD :PRINT "", "Saisie requise :" :READ &N°Cpt.#,,"N° Cpt." :ENDREAD Rubriques connexes : :BEGINREAD... :ENDREAD Début et fin d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. :READ Lit les données entrées par l'Utilisateur dans la boîte de dialogue. Elément de script - Activation d'objets Exemples : Maintenance de la base de données avec options Définition du statut final en fonction du contenu du rapport Détermination du message d'erreur et du numéro de l'erreur Réaction à des Evènements externes 74 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.3 :PUT_READ_BUFFER, :PUT_PROMPT_BUFFER Instruction de script : Enregistre le nom et le contenu d'une Variable de script dans le cache. Syntaxe :PUT_READ_BUF[FER]Nom de Variable = Contenu :PUT_PROMPT_BUF[FER] Nom de variable = Contenu Elément de syntaxe Description/format Nom de Variable Nom de la variable de script (sans &). Format : Nom UC4 Contenu Valeur qui est attribuée à la Variable de script. Format : littéral de script ou Variable de script Remarques L'instruction de script doit être utilisée comme suit, en relation avec la fonction ACTIVATE_UC_OBJECT : 1. Enregistrer les Variables de script avec :PUT_READ_BUFFER. 2. Activer un objet avec ACTIVATE_UC_OBJECT. 3. On peut maintenant accéder à l'aide de :READ aux Variables de script enregistrées dans le script de l'objet activé. :PUT_READ_BUFFER crée la Variable de script dans sa propre zone de mémoire à laquelle il attribue une ID interne. Vous devez appeler cette instruction pour chaque valeur que vous voulez enregistrer. Elle est créée dans la même zone de mémoire. Le paramètre nom de Variable est créé sans le signe "&" habituel des Variables de script. Dès lors que ACTIVATE_UC_OBJECT est créé dans le script, la zone de mémoire est fermée. L'objet activé peut accéder aux Variables de script comme indiqué auparavant. L'instruction :PUT_READ_BUFFER, qui se trouve après la fonction ACTIVATE_UC_OBJECT, utilise une autre zone de mémoire à laquelle il attribue également une nouvelle ID. Voici ce qui se passe lors de la lecture des Variables de script du cache : l l L'instruction :READ provoque la lecture individuelle de chaque Variable de script. Pour cela, vous devez cependant indiquer le signe "&" avant le nom de Variable. Chaque Variable de script ne peut être lue qu'une seule fois, car elle est supprimée du cache lors du processus de lecture. Le script sert également à définir les valeurs PromptSet pour cela avec les objets activés ACTIVATE_ UC_OBJECT. Le nom de la variable ReadBuffer doit correspondre au nom de la variable PromptSet de l'objet démarré. Utilisation multiple de noms de Variable Automation Engine 75 On peut également créer plusieurs fois :PUT_READ_BUFFER avec le même nom de Variable. La valeur n'est alors pas réécrite, car l'instruction crée sa propre entrée dans la zone de mémoire à chaque exécution. A la lecture d'une Variable de script, :READ commence toujours à chercher au début de la zone de mémoire. La valeur renvoyée est celle de la première instance des Variables. L'entrée est ensuite supprimée. Ainsi, lors de la lecture suivante, la valeur renvoyée est celle de l'instance suivante. Cela représente un avantage énorme en vous permettant de définir et de lire les valeurs en boucle. Exemple Dans cet exemple, la Variable de script "DATUM1" fournit une valeur et dépose l'entrée dans le cache. Le Job "EVALUATION" est ensuite activé. :PUT_READ_BUFFER DATE1# = "01.01.2006" :SET &ACTJOB# = ACTIVATE_UC_OBJECT(JOBS, EVALUATION) Le Job "EVALUATION" utilise cette entrée dans le cache. :READ &DATE1#,, :SET &RET# = VALID_DATE("JJ.MM.AAAA:&DATE1#") Rubriques connexes : Elément de script Description :READ Lit les données entrées par l'Utilisateur dans la boîte de dialogue. ACTIVATE_UC_OBJECT Active un objet. Elément de script - Activation d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.4 :READ Instruction de script : Lit les données entrées par l'Utilisateur dans la boîte de dialogue. Syntaxe :REA[D] InVariable, [Vérification de la saisie], [Ligne de commande] [, Valeur par défaut] [, Format de saisie] Elément de syntaxe Description/format InVariable Prend la valeur saisie par l'Utilisateur. Format : Variable de script 76 Chapter 3 Organisation fonctionnelle Vérification de la saisie Indicateur qui détermine le mode de vérification des données indiquées par l'Utilisateur. Format : littéral de script ou Variable de script Les indicateurs suivants peuvent être définis : l l l l l "00" Aucune vérification de saisie n'est effectuée (valeur par défaut). "01" à "99" Détermine la longueur maximale des caractères utilisables (par ex. "10"). "nombre min. - nombre max." Le nombre saisi doit se situer dans cette plage (par ex."10-20"). Format de Date Les données indiquées par l'Utilisateur doivent adopter le format de date prédéfini (par ex. AAAAMMJJ). Valeur, Valeur1-Valeur2 Les donnés indiquées par l'Utilisateur doivent être identiques à une valeur ou à une plage de valeurs spécifiée. Les valeurs et plages de valeurs peuvent être combinées de façon quelconque, séparées par des virgules. Ligne de commande Texte invitant l'Utilisateur à indiquer des données dans la boîte de dialogue. Format : littéral de script ou Variable de script Valeur par défaut : "Indiquez la valeur pour la Variable Nom de Variable" Valeur par défaut Texte de saisie proposé dans la boîte de dialogue. Format : littéral de script ou Variable de script 1024 caractères max. Automation Engine Format de saisie 77 Indicateurs du format de saisie requis. Plusieurs caractères peuvent être entrés dans n'importe quel ordre (par ex. "MN"). Format : Littéral de script ou Variable de script Les caractères suivants s'appliquent : l l l l l l l "C" Le curseur est placé dans ce champ de saisie lorsque l'instruction READ se trouve au sein d'un bloc :BEGINREAD... :ENDREAD. "D" La saisie est protégée et est représentée par les astérisques "*". "I" (uniquement pour les Jobs) Dans l'objet "Job", les instructions :READ et les données indiquées par l'Utilisateur ayant réussi sont consignées par défaut dans des lignes REMARK du Job généré. Indiquez le caractère "I" pour ignorer cette journalisation. "K" La saisie peut se faire en minuscules. Sans cet indicateur, les caractères sont déjà convertis en majuscules lors de la saisie. "M" L'Utilisateur doit effectuer une saisie. "N" Seuls des chiffres peuvent être saisis. "O" L'Utilisateur peut non seulement choisir des données dans la zone de liste, mais aussi saisir des données de son choix. Les indicateurs "D" et "N" ne peuvent pas être utilisés simultanément. Utilisez le paramètre Vérification de la saisie pour des données protégées qui ne doivent recevoir que des chiffres. Exemple : :READ &PASS#,"1-99999999","Indiquez le mot de passe (numérique)",,"DM" Lorsque vous demandez une Vérification de saisie sans définir de Valeur par défaut, il faut tout de même indiquer la virgule. Cette particularité est illustrée dans l'exemple précédent. Remarques L'instruction READ permet d'afficher une boîte de dialogue dont l'apparence et la fonction dépendent des paramètres utilisés. Le nom de l'objet est indiqué dans la barre de titre. Les données indiquées par l'Utilisateur sont affichées dans un champ de saisie et lues dans une Variable de script. Attention : la boîte de dialogue s'affiche seulement lorsque le script est exécuté en Mode dialogue ! Dans un autre mode, la valeur par défaut est utilisée. Attention lors de l'utilisation de ce script que la valeur saisie soit compatible avec le Type de données de "InVariable" (Variable de destination). Les paramètres Vérification de la saisie, Ligne de commande, Valeur par défaut et Format de saisie sont facultatifs. S'il n'y a pas de contenu dans les paramètres Vérification de la saisie et Ligne de commande il faut néanmoins indiquer les guillemets dans l'instruction READ. 78 Chapter 3 Organisation fonctionnelle Champ Description Champ de chiffres Si vous indiquez une plage de valeurs numériques continues (par ex. "0-255") dans la Vérification de saisie utilisant le format de saisie "N", un champ de chiffres doté de flèches haut/bas s'affiche. Zone de liste Contient les valeurs uniques du paramètreVérification de la saisie, par ex. "A,B,C" sont affichés sous forme de zone de liste. Zone de texte Si des plages de valeurs, telles que "A, 5-9", sont utilisées dans la vérification de la saisie cela crée une zone de texte. Si les virgules et les traits d'union ne doivent pas être interprétés comme des séparateurs, les valeurs peuvent être en outre indiquées entre guillemets simples. Exemple : On peut choisir la valeur "1-5" ou la valeur "8,9". :READ &OPTION#,"'1-5','8,9'","Veuillez sélectionner","1-5" Dans la vérification de la saisie, vous pouvez utiliser seulement des lettres ou des chiffres ou une combinaison des deux. Dans le dernier cas, les caractères sont contrôlés. La vérification de la saisie doit alors utiliser la formulation suivante. Dans l'exemple proposé, les caractères autorisés sont "A" à "F" et "1" à "999" : :READ &SAISIE#, "A-F,1-9,01-99",001-999,"Veuillez sélectionner" Lorsque l'Utilisateur n'indique ni ne sélectionne de valeur, une espace (" ") est enregistrée dans la Variable de script. Les valeurs qui ont été indiquées dans les boîtes de dialogue sont automatiquement consignées ensemble dans le rapport. Vous pouvez éviter cette journalisation en désactivant le paramètre "I" dans le rapport de Job. Attention : les données protégées (généralement les mots de passe) et définies avec le paramètre "D" sont affichées cryptées dans le rapport. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. L'instruction :READ permet également d'afficher les valeurs placées auparavant dans la mémoire intermédiaire (voir :PUT_READ_BUFFER). L'utilisation de l'instruction :PUT_VAR suivie de l'instruction :READ implique les particularités suivantes. En cas d'interruption manuelle de la génération du script à l'aide du bouton "Interrompre" ou en raison de valeurs par défaut non valides lors de l'exécution de l'instruction :READ (voir "Générer à l'Exécution"), la Variable UC4 conserve les valeurs définies à l'aide de l'instruction :PUT_VAR. Exemples Le système demande une valeur de remplacement à l'Utilisateur. La valeur lue n'est soumise à aucune vérification. Il est également possible de ne rien saisir. Les caractères sont déjà convertis en majuscules lors de la saisie. Automation Engine 79 :READ &REMPLACEMENT#,"00","Veuillez indiquer le remplacement" Le système demande une valeur de remplacement à l'Utilisateur. Aucune valeur par défaut n'est proposée. La valeur saisie n'est pas non plus vérifiée. La saisie peut se faire dans ce cas en minuscules. :READ &REMPLACEMENT#,,,,"K" Demande de chiffre. Dans ce cas, le paramètre "N" crée une zone de chiffres avec des flèches. Vous pouvez saisir uniquement des nombres entre 0 et 5. :READ &NOMBRE#,"0-5","Indiquez un nombre",,"N" Le système demande une date à l'Utilisateur. La valeur lue doit être au format de date valide "AAMMJJ". Cette saisie est obligatoire. :READ &DATE1#,"AAMMJJ","Indiquez une date limite (AAMMJJ)",,"M" Le système demande un indicateur à l'Utilisateur. Le champ de saisie contient la valeur par défaut "A". La valeur lue est vérifiée et peut être seulement "A", "X", "5", "6", "7", "8" ou "9". :READ &LKZ#,"A,X,5-9","Indiquez un indicateur de liste","A" 80 Chapter 3 Organisation fonctionnelle Le système demande à l'Utilisateur d'indiquer un mot de passe de 8 caractères maximum. La ligne de commande détermine que la saisie est protégée, que les caractères ne sont pas convertis en majuscules et que la saisie est prescrite. :READ &PASS#,"08","Indiquez le mot de passe (8 caractères max.)",,"DMK" Dans l'exemple, le système demande l'adresse e-mail. L'Utilisateur dispose de trois choix. Une des adresses e-mail est entre guillemets simples de sorte que le trait d'union à l'intérieur ne soit pas interprété en tant que plage de valeurs. :READ &UTILISATEUR#,"[email protected], [email protected],'[email protected]'", "Sélectionnez un Utilisateur" Dans l'exemple suivant, l'Utilisateur peut sélectionner une des trois adresses e-mail, ou bien en indiquer une autre. :READ &UTILISATEUR#,"[email protected], [email protected],'[email protected]'", "Sélectionnez un Utilisateur",, "O" Rubriques connexes : :BEGINREAD... :ENDREAD Début et fin d'une boîte de dialogue destinée aux questions posées à l'Utilisateur. Automation Engine :PRINT Affiche le texte dans une boîte de dialogue destinée aux questions posées à l'Utilisateur ou dans le protocole d'activation d'un objet. :PUT_READ_ BUFFER Enregistre le nom et le contenu d'une Variable de script dans le cache. 81 Elément de script - Activation d'objets Exemples : Maintenance de la base de données avec options Alerte avec texte du message Variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.5 ACTIVATE_UC_OBJECT Fonction script : Active un objet. Syntaxe ACTIVATE_UC_OBJECT(Nom d'objet[ , [WAIT] [ , [Date logique] [ , [Fuseau horaire] [ , , [ PASS_ VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS] ] ] ] ] ] ] ] ) ACTIVATE_UC_OBJECT(Nom d'objet[ , , [Date logique] [ , [Fuseau horaire] [ , [Heure de début] [ , [ PASS_VALUES] [ , [Queue] [ , [Alias] [ , [ENABLE_PROMPTS] ] ] ] ] ] ] ]) Elément de syntaxe Description/format Nom d'objet Nom de l'objet Format : nom UC4, littéral de script ou Variable de script WAIT Le mot clé WAIT a pour effet que la fonction de script attend la fermeture de l'objet. Date logique Date logique avec laquelle l'objet doit être activé au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Fuseau horaire Nom d'un objet Fuseau horaire. Fuseau horaire pour lequel la marque horaire doit être convertie. Format : Littéral de script ou Variable de script Heure de Début Marque horaire à partir de la date et de l'heure ("AAAA-MM-JJ HH:MM:SS"). Format : Littéral de script ou Variable de script PASS_VALUES Le mot clef PASS_VALUES permet de faire hériter les Variables d'objet et les Variables PromptSet des Tâches à démarrer. Queue Entrée d'un objet Queue spécifique qui doit être utilisé pour démarrer la Tâche. Si aucune Entrée de queue n'a lieu, l'objet est activé par défaut dans la Queue de Clients (CLIENT_QUEUE). 82 Chapter 3 Organisation fonctionnelle Alias Alias pour l'objet activable. Celui-ci s'affiche dans la Fenêtre d'Activités et dans les statistiques du nom de l'objet. Format: nom UC4, littéral de script ou Variable de script L'alias est soumis aux mêmes règles que les noms d'objet dans UC4 : Longueur maximale: 200 caractères Caractères autorisés: A-Z, 0-9, $, @, _, . et # ENABLE_PROMPTS Exécution des masques d'entrée du PromptSet des objets activés dans l'interface Utilisateur Conditions : 1) Un utilisateur est connecté à l'interface Utilisateur 2) Le script doit se trouver dans un objet démarré par cet Utilisateur 3) Lors de l'exécution d'un script, l'utilisateur doit encore être connecté à l'ID de session de l'interface Utilisateur. Si les conditions précédentes ne sont pas remplies ou si aucun objet PromptSet n'est attribué à l'objet activable, cela n'a donc aucun effet sur l'exécution suivante du script. Les dialogues d'exécution ne s'affichent pas. Codes retour Numéro courant (RunID) de l'objet actif. "0" - L'activation a échoué. "20423" - Tentative d'auto-activation de la Tâche. Paramètre non autorisé, qui pourrait conduire à une boucle sans fin. Remarques La fonction de script ACTIVATE_UC_OBJECT vous permet d'activer un objet appartenant à la classe d'objet des objets activables. Si vous n'indiquez aucune heure de début, l'activation de l'objet se produit immédiatement. Si vous définissez une heure de début spécifique, la Tâche est planifiée et reçoit le statut "Attente d'heure d'exécution". Veillez à ne pas faire coïncider les heures d'activation et de démarrage ! L'objet peut, en outre, être activé avec une date logique. S'il n'y a pas de format de date, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. La fonction de script renvoie le RunID de l'objet après une activation réussie. Le code retour en cas d'erreur est "0". Interrogez toujours le code retour. L'instruction de script :ON_ERROR et les fonctions de script pour le traitement des erreurs permettent d'analyser la cause exacte de l'erreur. Situation Code Description retour Généralités L'activation de l'objet a réussi. RunID Il s'agit du cas général. Automation Engine L'objet n'existe pas 0 L'objet est introuvable et ne peut donc pas être activé. Pas de droit d'exécution pour l'objet 0 Le système d'autorisation vérifie si l'Utilisateur responsable de l'activation possède aussi un droit d'exécution pour l'objet. Interruption de l'activation de l'objet 0 L'interruption peut être effectuée manuellement ou par d'autres Tâches. L'heure de début se trouve dans le passé RunID Génération de script à l'activation Erreur de script dans l'objet 0 Les erreurs de script interrompent l'activation d'un objet. :EXIT 0 RunID Dans cette instruction, il s'agit d'une fin de traitement de script et non d'une interruption. Elle n'est donc pas considérée comme une erreur. :EXIT <> 0 0 :STOP NOMSG RunID Dans cette instruction, il s'agit d'une fin de traitement de script et non d'une interruption. Elle n'est donc pas considérée comme une erreur. :STOP MSG 0 Cette instruction interrompt l'activation de l'objet. Cette instruction interrompt l'activation de l'objet. Génération de script à l'exécution Erreur de script dans l'objet :EXIT 0 :EXIT <> 0 :STOP MSG :STOP NOMSG Si l'option "Générer à l'Exécution" de l'objet à activer est définie, l'exécution du script n'a pas lieu pendant l'activation et ACTIVATE_UC_OBJECT ne peut éventuellement pas reconnaître les erreurs éventuelles. Dans ce cas, le code retour renvoyé est toujours le RunID. RunID Post-Script Erreur de script dans l'objet RunID Le post traitement est traité à la fin de l'exécution et ne se trouve donc pas dans la zone d'activation. Les erreurs ne sont donc pas reconnues. Un objet ne peut pas s'auto-activer par la fonction de script. On évite ainsi les boucles infinies qui pourraient paralyser tout le système UC4. 83 84 Chapter 3 Organisation fonctionnelle Attention : le paramètre WAIT ne peut pas être utilisé en même temps qu'une heure de début est indiquée. Les paramètres de la fonction script doivent être organisés dans un certain ordre. Si vous omettez des paramètres, il faut quand même indiquer les virgules correspondantes (voir les exemples suivants). Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemples Dans le premier exemple, un Job "Statut" est activé, ce qui provoque un contrôle du code retour. :SET&ACTOBJ# = ACTIVATE_UC_OBJECT(STATUT) :IF&ACTOBJ# = "0" : SET&NUMERR# = SYS_LAST_ERR_NR() : SET&ERRINS# =SYS_LAST_ERR_INS() : SET&MESSAGE# = GET_MSG_TXT(&NUMERR#,&ERRINS#) : SET&RET# = SEND_MAIL("[email protected]",,&MESSAGE#, "Veuillez vérifier. Merci.") :ENDIF Dans le deuxième exemple, l'objet est activé avec une date logique. :SET&ACTOBJ# = ACTIVATE_UC_OBJECT(STATUT,,"JJ.MM.AA:01.12.00") Le Workflow GS.SEMAINE doit être exécuté mi-juillet, le soir. :SET &ACTOBJ# = ACTIVATE_UC_OBJECT(GS.SEMAINE,,, "MEZ", "2005-07-15 18:00:00") Les Variables UC4 du Job GS.FIN doivent également être héritées. :SET&ACTOBJ# = ACTIVATE_UC_OBJECT("GS.FIN",,,,, PASS_VALUES) Rubriques connexes : Elément de script Description RESTART_UC_ OBJECT Répète l'exécution d'une tâche. CANCEL_UC_ OBJECT Interrompt un objet activé. GET_UC_OBJECT_ NR Indique le numéro courant (RunID) d'un objet activé. CREATE_OBJECT Crée un objet (uniquement Groupe Calendrier, Login et Variable). :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Elément de script - Activation d'objets Exemples : Maintenance de la base de données avec options Alerte avec texte du message Variable Détermination du message d'erreur et du numéro de l'erreur Réaction à des Evènements externes Automation Engine 85 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.6 AUTOFORECAST Fonction script : Calcule les données de simulation pour des activités futures. Syntaxe AUTOFORECAST() Code retour "0" - Les données de simulation ont été créées avec succès. Remarques La 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. Le calcul des données de simulation peut s'effectuer manuellement dans l'Interface Utilisateur ou avec la fonction de script AUTOFORECAST. Des simulations sont alors créées pour les Schedules et les Evènements actifs. La fonction de script ne calcule les données de simulation que pour le Client dans lequel elle est exécutée. L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Pour en savoir plus sur la simulation automatique, reportez-vous au document correspondant dans le chapitre Interface Utilisateur. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple L'exemple met en application la fonction de script . :SET &RET# = AUTOFORECAST() Rubriques connexes : Elément de script Description FORECAST_OBJECT Création d'une simulation pour l'objet indiqué. FORECAST_TASK Création d'une simulation pour la Tâche indiquée. Elément de script - Activation d'objets Simulation automatique 86 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.7 CANCEL_UC_OBJECT Fonction script : Interrompt un objet activé. Syntaxe CANCEL_UC_OBJECT( RunID [, Supplément]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : Littéral de script ou Variable de script Supplément Ce paramètre supplémentaire s'applique à certains types d'objet. Format : Littéral de script ou Nom UC4 l Pour les Evènements : Pour les objets Evènement, vous pouvez indiquer un statut permettant de mettre fin à l'objet. l Valeurs autorisées : "ENDED_OK" "ENDED_CANCEL" "ENDED_TIMEOUT" Pour les Workflows, les Schedules et les Groupes : Pour ces types d'objet, l'utilisation du paramètre "ALL" permet d'interrompre également toutes les Tâches enfants en cours. Valeur autorisée : "ALL" Codes retour "0" - La Tâche a été correctement interrompue. "11049" - La Tâche portant le RunID indiqué est introuvable et n'a pas pu être interrompue. "11050" - La Tâche présente un statut qui ne peut pas être interrompu. "20347" - Un script, initié via CallAPI ne peut pas être interrompu par la fonction CANCEL_UC_ OBJECT. Remarques La fonction de script CANCEL_UC_OBJECT vous permet d'interrompre tous les objets activables. L'accès à l'objet activé se fait par la description courte du type d'objet et par le numéro d'identification unique (RunID) qui a activé ce type d'objet. Automation Engine 87 L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Comme indiqué auparavant, vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Attention aux particularités suivantes applicables aux Evènements : Une nouvelle instance de l'Evènement activé est créée pour chaque occurrence de l'Evènement. Cette instance contient aussi son propre numéro courant (RunID). Si vous voulez interrompre un Evènement lorsque des conditions sont réalisées, vous devez déterminer le numéro courant (RunID) à l'aide de la fonction SYS_ACT_PARENT_ NR. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemples Dans l'exemple, l'objet Alerte "ALARMIERUNG3" est activé. L'instruction :READ sert uniquement à attendre jusqu'à ce que l'Alerte soit affichée. L'objet Alerte est interrompu après lecture du numéro courant (RunID) et confirmation par l'Utilisateur. :SET &NUMJOB# = ACTIVATE_UC_OBJECT(ALARMIERUNG3) :READ &NUMJOB#,,,&NUMJOB# :SET &STATUT# = CANCEL_UC_OBJECT(&NUMJOB#) L'exemple présente un extrait du script d'un Evènement. Le traitement du script jusqu'à ce que survienne l'Evènement permet de déterminer le numéro courant (RunID) et d'interrompre l'Evènement. :SET &NUMJOB# = SYS_ACT_PARENT_NR() :SET &STATUT# = CANCEL_UC_OBJECT( &NUMJOB#) Les lignes suivantes interrompent un objet Evènement en cours avec le statut "ENDED_CANCEL". :SET &NUMRUN# = GET_UC_OBJECT_NR(EVNT.NACHT) :SET &STATUT# = CANCEL_UC_OBJECT(&NUMRUN#, "ENDED_CANCEL") Rubriques connexes : Elément de script Description ACTIVATE_UC_ OBJECT Active un objet. RESTART_UC_ OBJECT Répète l'exécution d'une tâche. GET_UC_OBJECT_ NR Indique le numéro courant (RunID) d'un objet activé. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.8 FORECAST_OBJECT Fonction script : Création d'une simulation pour l'objet indiqué. 88 Chapter 3 Organisation fonctionnelle Syntaxe FORECAST_OBJECT(nom d'objet, titre, date, heure de début [,entrées] [,groupes_ERT]) Elément Description/format de syntaxe Nom d'objet Nom de l'objet. Format : Littéral de script ou Variable de script Titre Nom de la simulation Format : Littéral de script ou Variable de script Date Date de début logique au format "AAMMJJ" ou "AAAAMMJJ" Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Heure de début Heure de début de la Tâche au format "HHMMSS". Format : Littéral de script ou Variable de script Il est possible d'indiquer l'heure dans un autre Format d'heure. Saisissez ainsi en premier le format d'heure souhaité suivi d'un séparateur (;) puis l'heure. L'indication du format d'heure est facultative. Entrées Paramètre indiquant si les entrées (des groupes) doivent être prises en compte. Format : Littéral de script ou Variable de script Valeurs autorisées : "Y", "N" (valeur par défaut) ERT_ groupes Durée moyenne estimée (ERT) des groupes. Cette valeur est utilisée si les entrées sont définies sur "N". Format : Variable de script ou chiffre Valeurs autorisées : "0" - L'ERT du groupe est utilisée. (valeur par défaut) De "1" à "7199" - Valeur fixe en secondes. Code retour "0" - La simulation a pu être créée avec succès. Remarques Il est possible de créer une simulation de la durée d'exécution pour chaque objet activable. Première solution : dans l'Interface Utilisateur, utilisez la commande appropriée du menu contextuel d'UC4 Explorer. Après indication de certains critères, le système crée une simulation pour l'objet. Seconde solution : utilisez cette fonction de script. Comme dans la saisie manuelle, vous devez indiquer le nom de la simulation (en majuscules, sans espace), ainsi que les date et heure de début. Pour ces dernières, servez-vous de la possibilité qui vous est offerte de définir un format de votre choix. Pour les Tâches qui font partie d'un groupe, vous pouvez définir au besoin les paramètres Entrées et ERT_groupes. Attention : le titre de la simulation doit être unique. Automation Engine 89 Afin de créer une simulation pour des Tâches courantes, utilisez le script FORECAST_TASK. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple La ligne suivante crée une simulation pour un Transfert de Fichier, avec indication des formats de date et d'heure. :SET &RET# = FORECAST_OBJECT("C70.WINDOWS","FORECAST_FT_ C70.WINDOWS","MM/DD/YY:11/03/03","HH:MM;12:30") Le second exemple crée la simulation d'un Job exécuté au sein d'un groupe. Vous ne devez pas utiliser l'ERT de ce Job, mais une valeur fixe de 60 secondes. :SET &RET# = FORECAST_OBJECT("T91.SOLDE.03","SIMULATION_ T91.SOLDE.03","MM/DD/YY:11.07/03","200000","Y",60) Rubriques connexes : Elément de script Description AUTOFORECAST Calcule les données de simulation pour des activités futures. FORECAST_TASK Création d'une simulation pour la Tâche indiquée. Elément de script - Activation d'objets Simulation Détermination de la durée d'exécution Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.9 FORECAST_TASK Fonction script : Création d'une simulation pour la Tâche indiquée. Syntaxe FORECAST_TASK(RunID, titre [,entrées] [,groupes_ERT] [, jours] ) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : Littéral de script ou Variable de script Titre Nom de la simulation Format : Littéral de script ou Variable de script Entrées Paramètre indiquant si les entrées (des groupes) doivent être prises en compte. Format : Littéral de script ou Variable de script Valeurs autorisées : "Y", "N" (valeur par défaut) 90 Chapter 3 Organisation fonctionnelle ERT_groupes Durée moyenne estimée (ERT) des groupes. Cette valeur est utilisée si les entrées sont définies sur "N". Format : littéral de script, nombre sans guillemets ou Variable de script Valeurs autorisées : "0" - L'ERT du groupe est utilisée. (valeur par défaut) De "1" à "7199" - Valeur fixe en secondes. Jours Nombre de jours qui doivent être calculés au maximum dans le futur Format : littéral de script, nombre sans guillemets ou Variable de script Valeur par défaut : "1" Code retour "0" - La simulation a pu être créée avec succès. Remarques Il est possible de créer une simulation de la durée d'exécution pour chaque Tâche courante. Solution manuelle : dans l'Interface Utilisateur, utilisez la commande appropriée du menu contextuel de la Fenêtre d'Activités. Après indication de certains critères, le système crée une simulation pour la Tâche. Seconde solution : utilisez cette fonction de script. Comme dans la saisie manuelle, vous devez indiquer le nom de la simulation (en majuscules, sans espace). Pour les Tâches qui font partie d'un groupe, vous pouvez définir au besoin les paramètres Entrées et ERT_groupes. Attention : le titre de la simulation doit être unique. Si vous souhaitez créer une simulation pour des objets, utilisez le script FORECAST_OBJECT. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple La ligne suivante crée une simulation pour un Transfert de Fichier. :SET &RUNNR# = GET_UC_OBJECT_NR ("C70.WINDOWS") :SET &RET# = FORECAST_TASK(&RUNNR#,"PROGNOSE_FT_C70.WINDOWS") Le second exemple crée la simulation d'un Job exécuté au sein d'un groupe. Vous ne devez pas utiliser l'ERT de ce Job, mais une valeur fixe de 60 secondes. :SET &RUNNR# = GET_UC_OBJECT_NR ("T91.SALDO.03") :SET &RET# = FORECAST_TASK(&RUNNR#,"PROGNOSE_T91.SALDO.03","N",60) Rubriques connexes : Elément de script Description AUTOFORECAST Calcule les données de simulation pour des activités futures. FORECAST_OBJECT Création d'une simulation pour l'objet indiqué. Elément de script - Activation d'objets Simulation Détermination de la durée d'exécution Automation Engine 91 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.10 RESTART_UC_OBJECT Fonction script : Répète l'exécution d'une tâche. Syntaxe RESTART_UC_OBJECT (Nom d'objet, RunID de référence, [Point de reprise], [Indicateurs] [, Queue]) Elément de syntaxe Description/format Nom d'objet Nom de l'objet Format : littéral de script, Variable de script ou fonction de script RunID de référence RunID auquel la reprise fait référence ou mot-clé LAST pour indiquer la dernière exécution de la tâche. Format : littéral de script, nombre, variable de script ou fonction de script La répétition d'une tâche qui est déjà elle-même une reprise n'est pas permise. Le suivi des activités ne serait en effet plus garanti. Le RunID doit donc faire référence à une exécution initiale. Si vous indiquez le mot-clé LAST, la dernière exécution initiale est utilisée. Point de reprise Emplacement du script à partir duquel le traitement doit être répété. Format : nom UC4, littéral de script, nombre, Variable de script L'indication de ce paramètre n'est bien sûr possible que si vous avez défini des points de reprise à l'aide de :RESTART dans le script de la Tâche qui doit être répétée. Si vous ne le remplissez pas, l'ensemble du script est exécuté. 92 Chapter 3 Organisation fonctionnelle Indicateurs Instructions pour l'exécution de la Tâche. Format : Littéral de script ou Variable de script Valeurs autorisées "GEN_JCL" = Sortie du JCL dans le rapport d'activation. "ORIGINAL_SCRIPT" = Sortie du script d'origine dans le rapport d'activation. "VAR_MOD" = Sortie de la modification de Variables dans le rapport d'activation. "ATT_MOD" = Sortie de la modification d'Attributs dans le rapport d'activation. "ATT_DIALOG" = Activation de la fenêtre de dialogue des attributs. "MAN_RELEASE" = Attente de la libération manuelle. "KEEP_STARTTYPE" = Conservation du type de démarrage. "ONLY_ABENDED" = Répétition uniquement des Tâches subordonnées interrompues. Plusieurs indicateurs peuvent être entrés, séparés par des virgules. Si vous les indiquez nominalement et que vous n'utilisez pas de variable de script, vous devez placer la liste des indicateurs entre guillemets. Les valeurs autorisées correspondent aux options qui sont disponibles dans le dialogue "Exécuter..." en cas de reprise manuelle. Queue Entrée d'un objet Queue spécifique qui doit être utilisé pour la reprise de la Tâche. Si aucune queue n'est indiquée, la tâche est activée automatiquement dans la Queue de Clients (CLIENT_QUEUE). Code retour "0" - La reprise de la tâche s'est déroulée avec succès. "7014" - Le RunID de référence n'existe pas. "7015" - La reprise d'une exécution de reprise n'est pas autorisée. "20346" - Le point de reprise n'existe pas. "20380" - Le traitement de script de l'exécution de la reprise a été terminé par l'instruction :EXIT. "20385" - L'objet est un Schedule. "20628" - L'objet n'existe pas. Remarques La fonction de script permet de reprendre une tâche. Attention, une Tâche peut se répéter si la fonction de script est appelée dans un post-traitement. Cela peut créer une boucle. Le RunID de la Tâche, dont l'exécution doit être répétée, est transmis à la fonction de script au moyen du paramètre RunID de référence. Vous pouvez également utiliser le mot-clé LAST pour redémarrer la dernière exécution d'une tâche. Vous pouvez éventuellement désigner un point de reprise à prendre en compte en cas de nouvelle exécution de la tâche. La Tâche débute, mais le traitement du script commence uniquement à cet emplacement. Egalement facultatifs, les indicateurs influencent l'exécution de la tâche. L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Comme indiqué auparavant, vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Automation Engine Exemple Dans l'exemple, la dernière exécution d'un Job doit être répétée. Le JCL généré et les modifications apportées aux variables sont affichés dans le protocole d'activation. Le Job attend dans la Fenêtre d'Activités d'être libéré manuellement. :SET &RET# = RESTART_UC_OBJECT ("JOBS.SYSTEM.CHECK",LAST,,"GEN_JCL,VAR_ MOD,MAN_RELEASE") Rubriques connexes : Elément de script Description :GENERATE Contrôle la gestion des lignes de script pendant le traitement du script. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. :RESTART Définit des points de reprise dans un objet activable. SYS_ACT_RESTART Détermine si une tâche a été activée en mode reprise. SYS_ACT_RESTART_ ME_NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise. SYS_LAST_RESTART_ POINT Indique la désignation du point de reprise précédent dans le script. SYS_LAST_RESTART_ TEXT Indique le texte du point de reprise précédent dans le script. SYS_RESTART_POINT Indique le point de reprise utilisé pour l'exécution de l'objet. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.11 SYS_STATE_ACTIVE Fonction script : Vérifie si un objet est déjà actif. Syntaxe SYS_STATE_ACTIVE([[Type d'objet,] Nom d'objet]) Elément de syntaxe Description/format Type d'objet Description courte d'un objet activable Format : Nom UC4, Littéral de script ou Variable de script Nom d'objet Nom d'un objet Format : nom UC4, littéral de script ou Variable de script Codes retour "Y" - L'objet présente un statut dont le code retour système < 1699 ou égal à 1701. "N" - L'objet présente un statut dont le code retour système > 1699 et différent de 1701. 93 94 Chapter 3 Organisation fonctionnelle Remarques Si aucun de ces deux paramètres n'est indiqué, la fonction vérifie l'objet dans lequel elle est exécutée. La vérification se produit exactement à l'heure à laquelle la ligne de script contenant la fonction est traitée. Un résultat négatif ne précise pas si l'objet à vérifier peut ou non être activé ultérieurement. Les fonctions ne permettent donc pas d'effectuer une synchronisation des déroulements. Elles ne fournissent qu'une information limitée dans le temps sur le statut des objets. Si le nom de l'objet concerné est indiqué (= objet via lequel l'élément de script est exécuté), ce dernier est également pris en compte et le code retour "Y" est toujours renvoyé. Exemples L'exemple vérifie si le même objet est déjà actif. :SET &ACTIF# = SYS_STATE_ACTIVE() Dans cet exemple, la fonction est utilisée pour formuler une condition. :IF SYS_STATE_ACTIVE(JOBS, "MAWI.ABSCHLUSS") = "Y" !... :ENDIF Rubriques connexes : Elément de script Description SYS_STATE_JOB_ACTIVE Vérifie si un Job est déjà actif. SYS_STATE_JOBS_IN_ GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes. SYS_STATE_JP_ACTIVE Vérifie si un Workflow est déjà actif. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.12 SYS_ACTIVE_COUNT Fonction script : Détermine le nombre d'objets dans les activités. Syntaxe SYS_ACTIVE_COUNT(Statut, Type d'objet [,Objet] [,Groupe] [,Hôte]) Elément de syntaxe Description/format Automation Engine Statut 95 Statut des objets inclus dans les activités. Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "*", "ANY_ABEND", "BLOCKED", "ANY_ALIVE", "PREPARED" et "RUNNING" "*" = toutes les Tâches indépendamment de leur Statut "ANY_ABEND" = Tâches interrompues "ANY_ALIVE" = Tâches d'un Groupe non terminées ou interrompues "BLOCKED" = Tâches bloquées "PREPARED" = Tâches marquées pour un Groupe "RUNNING" = Jobs actifs. Type d'objet Description courte du type d'objet ou "*" pour tous les types d'objet. Format : nom UC4, littéral de script ou Variable de script Les paramètres suivants s'appliquent à des critères de filtrage facultatifs. Vous pouvez utiliser un, deux ou les trois paramètres dans n'importe quelle combinaison. Si un paramètre est ignoré, veillez à ce que sa virgule soit tout de même définie. Exemple : :SET &NOMBRE# = SYS_ACTIVE_COUNT("*", JOBS,,"GS.GROUPE") Objet Nom d'un objet ou Filtre pour plusieurs objets. Format : nom UC4, littéral de script ou Variable de script L'utilisation de caractères génériques est possible. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Groupe Nom d'un Groupe ou "*" pour tous les Groupes. Format : nom UC4, littéral de script ou Variable de script Hôte Nom d'un Agent ou Filtre pour plusieurs Agents. Format : nom UC4, littéral de script ou Variable de script L'utilisation de caractères génériques est possible. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Code retour Nombre d'objets actifs. Remarques Pour vérifier combien d'objets se trouvent dans la fenêtre d'activités, on peut utiliser la fonction de Script SYS_ACTIVE_COUNT. Ce paramètre vous permet de déterminer les Tâches et de restreindre à certaines Tâches. Le filtrage peut être fait sur le statut, le type d'objet, le nom d'objet, le Groupe, l'hôte ou toute combinaison de ces derniers. Le paramètre hôte permet notamment de piloter le parallélisme d'un Job sur une machine spécifique. Si un Job est exécuté à intervalles réguliers, on peut exclure un recoupement si vous vérifiez auparavant avec SYS_ACTIVE_COUNT si ce Job est encore actif. En effet, l'hôte cible peut également être défini ensuite à l'aide de l'instruction de Script ::PUT_ATT. Lors des Transferts de Fichiers, l'hôte source et l'hôte cible sont pris en compte. Il est bien entendu logique d'utiliser le paramètre hôte uniquement si vous avez indiqué le type d'objet "JOBS", "JOBF", "EVNT" ou "*". Le filtrage par hôte exclut tous les autres types d'objet car ceux-ci ne nécessitent aucun Agent pour s'exécuter. C'est pourquoi l'exemple de Script suivant renvoie toujours la valeur "0". 96 Chapter 3 Organisation fonctionnelle :SET &NOMBRE# = SYS_ACTIVE_COUNT(ANY_ABEND,JOBP,,,"*") Attention : il ne faut pas vérifier si l'hôte indiqué existe. Lors du filtrage par Jobs actifs à l'aide du paramètre "RUNNING", tous les Jobs présentant un code retour système entre 1500 et 1599 sont pris en compte. Attention : les performances de la fonction de script ont été améliorées à partir de la version UC4 6.00A. Les bases de données MS SQL Server et DB2 en profitent. L'amélioration des performances est principalement remarquable lorsque de nombreux SYS_ACTIVE_COUNT sont exécutés les uns après les autres. Pour le recensement des Tâches, un seul instantané est créé. Par conséquent, les Tâches qui n'ont pas encore été confirmées dans la base de données UC4 sont également comptées. Techniquement, cette méthode est également appelée "uncommited read". Exemples Les exemples comptent le nombre d'objets actifs. Cela permet de déterminer le nombre de tous les éléments de blocage, de tous les objets interrompus et de tous les Evènements. :SET &NOMBRE# = SYS_ACTIVE_COUNT("BLOCKED", "*") :SET &NOMBRE# = SYS_ACTIVE_COUNT(ANY_ABEND, "*") :SET &NOMBRE# = SYS_ACTIVE_COUNT("*", EVNT) L'exemple compte les Tâches enregistrées en attente dans un Groupe. La chaîne "FILE" doit apparaître dans le nom de la Tâche. :SET &NOMBRE# = SYS_ACTIVE_COUNT("PREPARED", "*", "*FILE*","GRP7") L'exemple suivant détermine le nombre de Jobs ayant intégré l'Agent "UNIX01". :SET &"NOMBRE# = SYS_ACTIVE_COUNT("*", "JOBS", "*",,"UNIX01") Rubriques connexes : Elément de script Description SYS_STATE_JOBS_IN_ GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.13 SYS_STATE_JOB_ACTIVE Fonction script : Vérifie qu'un Job est déjà actif. Syntaxe SYS_STATE_JOB_ACTIVE([Job]) Elément de syntaxe Description/format Automation Engine Job 97 Nom d'un Job Format : Nom UC4, Littéral de script ou Variable de script Codes retour "Y" - Le Job présente un statut dont le code retour système < 1699 ou égal à 1701. "N" - Le Job présente un statut dont le code retour système > 1699 et différent de 1701. Remarques La fonction de script vérifie si le Job indiqué présente un statut avec un code retour système inférieur à 1699. Si ce paramètre n'est pas indiqué, la fonction vérifie l'objet dans lequel elle est exécutée. La vérification se produit exactement à l'heure à laquelle la ligne de script contenant la fonction est traitée. Un résultat négatif ne précise pas si l'objet à vérifier peut ou non être activé ultérieurement. Les fonctions ne permettent donc pas d'effectuer une synchronisation des déroulements. Elles ne fournissent qu'une information limitée dans le temps sur le statut du Job. Si le nom de l'objet concerné est indiqué (= objet via lequel l'élément de script est exécuté), ce dernier est également pris en compte et le code retour "Y" est toujours renvoyé. Exemple L'exemple détermine si un Job est actuellement actif et transmet le résultat à une Variable de script. :SET &ACTIF# = SYS_STATE_JOB_ACTIVE(GS.FIN) Rubriques connexes : Elément de script Description SYS_STATE_ACTIVE Vérifie si un objet est déjà actif. SYS_STATE_JOBS_IN_ GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes. SYS_STATE_JP_ACTIVE Vérifie si un Workflow est déjà actif. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.14 SYS_STATE_JOBS_IN_GROUP Fonction script : Détermine le nombre de Jobs enregistrés en attente dans des Groupes. Syntaxe SYS_STATE_JOBS_IN_GROUP([Job[, Groupe]]) Elément de syntaxe Description/format 98 Chapter 3 Organisation fonctionnelle Job Nom d'un Job Format : Nom UC4, Littéral de script ou Variable de script Groupe Nom d'un Groupe Format : nom UC4, littéral de script ou Variable de script Code retour Nombre de Jobs enregistrés en attente dans des Groupes. Remarques La fonction détermine le nombre de Jobs ayant le statut "Enregistré en attente". Ce paramètre permet de cibler un Job ou un Groupe en particulier, dont le nombre doit être relevé. Attention : les performances de la fonction de script ont été améliorées à partir de la version UC4 6.00A. Les bases de données MS SQL Server et DB2 en profitent. L'amélioration des performances est principalement remarquable lorsque de nombreux SYS_STATE_JOBS_IN_GROUP sont exécutés les uns après les autres. Pour le recensement des Tâches, un seul instantané est créé. Par conséquent, les Tâches qui n'ont pas encore été confirmées dans la base de données UC4 sont également comptées. Techniquement, cette méthode est également appelée "uncommited read". Exemples Le premier exemple détermine tous les Jobs enregistrés en attente. :SET &ACTIF# = SYS_STATE_JOBS_IN_GROUP() Le deuxième exemple renvoie tous les Jobs enregistrés en attente dans le Groupe "GS.GROUPE". :SET &ACTIF# = SYS_STATE_JOBS_IN_GROUP(,"GS.GROUPE") Rubriques connexes : Elément de script Description SYS_STATE_ACTIVE Vérifie si un objet est déjà actif. SYS_STATE_JOB_ACTIVE Vérification de l'état d'activation d'un Job. SYS_STATE_JP_ACTIVE Vérifie si un Workflow est déjà actif. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.3.15 SYS_STATE_JP_ACTIVE Fonction script : Vérifie si un Workflow est déjà actif. Automation Engine 99 Syntaxe SYS_STATE_JP_ACTIVE([Workflow]) Elément de syntaxe Description/format Workflow Nom d'un Workflow Format : Nom UC4, Littéral de script ou Variable de script Codes retour "Y" - Le Workflow présente un statut dont le code retour système < 1699 ou égal à 1701. "N" - Le Workflow présente un statut dont le code retour système > 1699 et différent de 1701. Remarques La fonction script vérifie si le Workflow indiqué présente un statut avec un code retour système inférieur à 1699 ou correspond exactement au code retour 1701. Si ce paramètre n'est pas indiqué, la fonction vérifie l'objet dans lequel elle est exécutée. La vérification se produit exactement à l'heure à laquelle la ligne de script contenant la fonction est traitée. Un résultat négatif ne précise pas si l'objet à vérifier peut ou non être activé ultérieurement. Les fonctions ne permettent donc pas d'effectuer une synchronisation des déroulements. Elles ne fournissent qu'une information limitée dans le temps sur le statut du Workflow. Si le nom de l'objet concerné est indiqué (= objet via lequel l'élément de script est exécuté), ce dernier est également pris en compte et le code retour "Y" est toujours renvoyé. Exemples L'exemple vérifie si le Workflow "FIBU.FIN JOURNEE" est actif. Le nom du Workflow est transmis à l'aide d'une Variable de script. :SET &JP#= "FIBU.FINJOURNEE :SET &ACTIF# = SYS_STATE_JP_ACTIVE(&JP#) Rubriques connexes : Elément de script Description SYS_STATE_ACTIVE Vérifie si un objet est déjà actif. SYS_STATE_JOB_ACTIVE Vérification de l'état d'activation d'un Job. SYS_STATE_JOBS_IN_ GROUP Détermine le nombre de Jobs enregistrés en attente dans des Groupes. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 100 Chapter 3 Organisation fonctionnelle 3.3.16 TOGGLE_OBJECT_STATUS Arrêt ou démarrage du traitement automatique de certains types d'objets. Syntaxe TOGGLE_OBJECT_STATUS( RunID, Statut [,Tâches]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : nom UC4, littéral de script ou Variable de script Statut Statut du traitement devant être défini : Format : nom UC4, littéral de script ou Variable de script Valeurs autorisées : "STOP" et "GO" "STOP" - Stoppe le traitement automatique des Tâches. "GO" - Démarre le traitement automatique des Tâches. Tâches ALL : le traitement automatique des Tâches exécutées dans des Workflows, des Groupes et des Schedules s'arrête ou démarre automatiquement. Format : nom UC4, littéral de script ou Variable de script Code retour "0" : la modification du statut a réussi. Remarques La fonction de script modifie le traitement pour les Workflows, les Groupes, les Evènements, le Gestionnaire de File d'Attente et les Schedules. L'autorisation "Modifier avant l'Exécution" est nécessaire pour exécuter la fonction de script ! Exemple Dans l'exemple suivant, le numéro courant (RunID) d'un Evènement est déterminé et lu dans et Variable de script. Le traitement automatique de l'Evènement s'arrête. Le numéro courant (RunID) déterminé doit pour cela être transmis par la Variable de script. :SET &NUMRUN# = GET_UC_OBJECT_NR(DUMP.CONTROL) :SET &RET# = TOGGLE_OBJECT_STATUS(&NUMRUN#, "STOP") :PRINT &RET# Rubriques connexes : Elément de script Description TOGGLE_SYSTEM_STATUS Arrête ou démarre le traitement automatique de l'intégralité d'un Client. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 101 3.4 Lecture ou modification d'objets 3.4.1 :ADD_ATT Instruction de script : Ajoute des destinataires à un objet Alerte pendant l'exécution. Syntaxe :ADD_ATT RECIPIENT , Destinataire [, Groupe Calendrier, Calendrier] Elément de syntaxe Description/format RECIPIENT Nom de l'attribut à ajouter. Format : Nom UC4, Littéral de Script ou Variable de Script Valeur autorisée : "RECIPIENT" Destinataire Nom d'un Utilisateur, d'un Groupe Utilisateur ou adresse e-mail Format : Littéral de script ou Variable de script Groupe Calendrier Nom d'un objet Groupe Calendrier. Format : Littéral de script ou Variable de script Calendrier Calendrier à l'intérieur de ce Groupe Calendrier Format : Littéral de script ou Variable de script Remarques Cette instruction de Script peut être utilisée seulement dans l'onglet Traitement d'un objet Alerte. Elle ajoute l'Utilisateur ou le Groupe Utilisateur indiqué à la liste des Destinataires à informer. On peut aussi définir ainsi un Groupe Calendrier. Le destinataire n'est alors informé que si le Calendrier correspond. Les destinataires déjà saisis ne sont pas remplacés, car l'instruction de Script ne modifie pas l'objet Alerte L'ajout à la liste des destinataires n'est valable que pour son exécution. Le Rapport affiche clairement le destinataire ayant ajouté l'instruction de Script. Attention : l'Utilisateur doit être indiqué au formatNom d'utilisateur/département. Cela correspond au nom de l'objet Utilisateur. Exemples Dans l'exemple, l'Utilisateur "BU/UC4" est ajouté à la liste des destinataires responsables. Il n'est cependant averti que lorsque le Calendrier est vérifié. :ADD_ATT RECIPIENT, "BU/UC4", "DISPOSITION","JOUR_SEMAINE" Le deuxième exemple informe tous les membres du Groupe Utilisateur "ADMIN". :ADD_ATT RECIPIENT, "ADMIN" Rubriques connexes : 102 Chapter 3 Organisation fonctionnelle Elément de script Description :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT Définit ou modifie des attributs d'objets. :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte. Elément de script - Lecture ou modification d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.2 :ADD_COMMENT Instruction de script : Ajout d'un commentaire à une Tâche. Syntaxe :ADD_COMMENT [RunID] , Commentaire Elément de syntaxe Description/format RunID Numéro courant (RunID) de la Tâche à laquelle un commentaire doit être ajouté. Format : Littéral de script, Variable de script, chiffre Si vous n'indiquez aucun RunID, le commentaire est enregistré dans la Tâche qui appelle l'instruction de script. Commentaire Texte du commentaire Format : Littéral de script ou Variable de script Remarques Les commentaires comprennent également le nom d'un objet Utilisateur. L'Utilisateur responsable de l'activation de l'objet qui appelle l'instruction de script est automatiquement saisi. L'étendue du commentaire est essentiellement limitée à une ligne de script de 1024 caractères maximum. Automation Engine 103 Exemples L'exemple ajoute à la Tâche un commentaire qui est contenu dans la Variable de script &TEXTE#. :ADD_COMMENT ,&TEXTE# Dans le deuxième exemple, le commentaire est enregistré dans le Workflow le plus élevé. :SET &TOP_JP_RUNID# = SYS_ACT_TOP_NR() :ADD_COMMENT &TOP_JP_RUNID#,"Le redémarrage du Transfert de Fichier a réussi !" Rubriques connexes : Elément de script Description PREP_PROCESS_ COMMENTS Prépare le traitement d'une séquence de données (commentaires d'une Tâche) Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.3 :ATTACH_SYNC Instruction de script : Attribue un objet Sync à une Tâche. Syntaxe :ATTACH_SYNC [type d'objet,] [RunID], Objet Sync, [action du début], [action sur interruption], [action de fin], Sinon, [NEXT_OBJECT] Elément de syntaxe Description/format Type d'objet Description courte d'un objet activable Format : Littéral de script ou Variable de script RunID Numéro courant (RunID) de l'objet. Format: littéral de script, Variable de script ou chiffre Objet Sync Nom d'un objet Sync avec lequel la Tâche doit être synchronisée. Format: Littéral de script ou Variable de script Action de début Action qui doit être exécutée au début de la Tâche. Format: Littéral de script ou Variable de script Action sur interruption Action qui doit être exécutée à l'interruption de la Tâche. Format: Littéral de script ou Variable de script Action de fin Action qui doit être exécutée à la fin de la Tâche. Format: Littéral de script ou Variable de script 104 Chapter 3 Organisation fonctionnelle Sinon Traitement des Tâches, lorsque soit l'action de début, l'action d'interruption ou la Tâche de fin doivent être exécutées. Format : Littéral de script ou Variable de script Valeurs autorisées : "A", "W" ou "S" "A" - Interrompre (Abend) "W" - Attendre (Wait) "S" - Ignorer (Skip) NEXT_OBJECT L'objet Sync doit être attribué au successeur direct dans un Workflow. Format : Littéral de script ou Variable de script Remarques L'instruction de script permet d'ajouter un objet Sync à une Tâche déjà activée. L'attribution est temporaire, c'est-à-dire uniquement pour la durée de son exécution. Type d'objet est un paramètre facultatif, car le type d'objet peut être attribué de manière univoque par le numéro courant (RunID). L'instruction de script peut également être utilisée afin par exemple d'attribuer un Sync à une des Tâches suivantes dans le Workflow et d'influencer ainsi le traitement suivant. Pour la Tâche, dont le script contient l'instruction de script, l'option doit être définie sur Générer à l'Exécution. La Tâche suivante, qui doit être attribuée par un Sync, doit déjà être activée et posséder ainsi un RunID. Elle ne doit donc pas avoir été définie sur Générer à l'Exécution. Le paramètre NEXT_OBJECT permet d'attribuer un Sync au successeur direct d'une Tâche dans un Workflow. Cependant, la limitation prévoit qu'il n'est possible qu'un seul successeur existe. L'instruction de script permet également d'attribuer un Sync à chaque Tâche. Les conditions Sync pourraient ainsi par exemple être composées de manière variable. Le paramètre RunID ne doit pas être donné ici. Il faut cependant définir une virgule pour ces paramètres qui ne sont pas utilisés. L'option Générer à l'Exécution ne doit pas être activée dans ce cas. La vérification des objets Sync est déjà terminée lors de l'exécution du script. Si un Sync est attribué à une autre Tâche déjà activée, cela n'est généralement possible que pour des statuts spécifiques. La Tâche doit, soit ne pas encore être démarrée (code retour système < 1540), soit elle se trouve en statut d'attente (code retour système entre 1600 et 1700). Si la Tâche a un statut différent, une erreur de durée d'exécution se produit et le script s'interrompt. Attention : la vérification SYNC des Tâches a lieu toujours après le traitement du Script. Si l'élément de script est utilisé pour des objets Script, ces derniers sont synchronisés avec succès, mais ils n'exécutent plus aucun traitement par la suite. Exemples Dans le premier exemple, l'objet Sync "SYSTEM_0001_EXCLUSIVE_SYNC" est ajouté au Job "ARCHIV01". Si les actions correspondantes ne peuvent pas être effectuées, le Job est interrompu. :SET &RUNID# = GET_UC_OBJECT_NR(ARCHIV01) :ATTACH_SYNC &RUNID#,"SYSTEM_0001_EXCLUSIVE_ SYNC","USE","RELEASE","RELEASE","A" Dans le deuxième exemple, l'objet Sync de la Tâche suivante est affecté au Workflow. :ATTACH_SYNC ,"SYSTEM_0001_EXCLUSIVE.SYNC","USE","RELEASE","RELEASE","A","NEXT_ OBJECT" Automation Engine 105 Rubriques connexes : Elément de script Description SET_SYNC Exécute l'action définie d'un objet Sync. GET_SYNC Demande le statut ou la valeur actuelle d'un objet Sync. Elément de script - Lecture ou modification d'objets Sync Codes retour système des objets activables Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.4 :DELETE_VAR Instruction de script : Supprime une ou toutes les valeurs d'un objet Variable statique. Syntaxe :DELETE_VAR Variable [,Key] Elément de syntaxe Description/format Variable Nom de l'objet Variable dans lequel des contenus doivent être supprimés. Format : Nom UC4, Littéral de script ou Variable de script Clé Clé à supprimer, valeur comprise. Format : nom UC4, littéral de script ou Variable de script Remarques Attention: ce script ne peut être employé que pour les objets Variable statiques. Pour de plus amples informations, reportez-vous à la description de l'onglet Variable. L'instruction de script supprime toutes les lignes d'un objet Variable lorsque vous indiquez seulement le paramètre Variable. Utilisez en plus le paramètre Clé pour faire disparaître uniquement les lignes correspondantes de l'objet Variable. Au contraire, si vous indiquez un astérisque "*" dans la clé, tout le contenu de l'objet Variable est supprimé. Attention : vous ne pouvez pas utiliser de caractères génériques ! Vous ne pouvez donc pas filtrer sur plusieurs lignes avec "*" ou "?" dans le paramètre Clé ! Exemples Dans le premier exemple, l'instruction de script supprime tout le contenu. :DELETE_VAR "MAINTENANCE_BASE_DE_DONNEES" Le second exemple supprime seulement les lignes ayant la Clé "Client". 106 Chapter 3 Organisation fonctionnelle :DELETE_VAR "MAINTENANCE_BASE_DE_DONNEES", "Client" Rubriques connexes : Elément de script Description :PUT_VAR Enregistre une valeur dans un objet Variable statique. GET_VAR Indique la valeur d'un objet Variable. :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect. PREP_PROCESS_ VAR Prépare le traitement d'une séquence de données (valeurs d'un objet Variable). Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.5 :MODIFY_STATE Instruction de script : Modifie le code retour ou le texte du statut d'un Job une fois ce dernier terminé. Syntaxe :MODIFY_STATE Propriété=Valeur Elément de syntaxe Description/format Propriété Propriété pour la fin du Job. Format: variable de script ou nom UC4 Valeurs autorisées : "RETCODE", "STATUS_TEXT" "RETCODE" = Code retour du Job. "STATUS_TEXT" = Texte de statut d'un Job. Valeur Nouvelle assignation pour la propriété de fin du Job. Format: littéral de script, variable de script, nom UC4, chiffre sans guillemet ou fonction de script Pour "RETCODE" : Valeur numérique. Pour "STATUS_TEXT": chaîne de caractères alphanumérique, 32 caractères maximum. Remarques :MODIFY_STATE permet de modifier ultérieurement le code retour ou le texte de statut d'un Job. Cette instruction de script peut être utilisée uniquement dans l'onglet Post-Script. L'instruction de script peut être utilisée, par exemple, pour attribuer ultérieurement à un Job qui s'est terminé "techniquement" mais normalement, le statut ENDED_NOT_OK. Cela peut s'avérer nécessaire pour un Job pour lequel une erreur peut être détectée uniquement par l'analyse de son rapport (PREP_ PROCESS_REPORT). Automation Engine 107 La modification du code retour influence le statut du Job. Le statut résulte du code retour maximal qui a été défini pour une fin normale du Job (Onglet Exécution). Si le code retour défini est supérieur à ce code retour maximal, le statut ENDED_NOT_OK est défini. Si le code retour défini est inférieur ou égal au code retour maximal, le Job reçoit le statut ENDED_OK. Un texte de statut distinct peut aussi être défini pour une fin de Job. Il remplace le texte qui a affiché l'Agent Job dans la queue. Les modifications sont journalisées dans le rapport du Job, sous l'onglet "Post traitement". Vous pouvez aussi voir les valeurs modifiées dans la fenêtre des détails du Job. Exemple L'exemple montre un Job qui doit copier sous Windows un fichier qui n'existe pas. Normalement, le Job devrait se terminer avec le code retour "0". Seul le rapport de Job permettrait de voir que le fichier à copier n'a pas été trouvé. Dans le post traitement du Job, le rapport de Job est maintenant analysé. L'erreur concernant le fichier à copier est détectée et le code retour modifié. Le Job est ainsi interrompu. :SET &HND# = PREP_PROCESS_REPORT(,,,"*Ne pas trouver le fichier*") :PROCESS &HND# : MODIFY_STATESTATUS_TEXT="Fichiers introuvables" : MODIFY_STATE RETCODE=50 :ENDPROCESS 108 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description :EXIT Instruction permettant de terminer le traitement du script avec un code retour. GET_UC_OBJECT_ STATUS Indique le statut d'un objet activé. Elément de script - Lecture ou modification d'objets Exemples Définition du statut final en fonction du contenu du rapport Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.6 :PUT_ATT Instruction de script : Modifie la valeur d'un attribut pendant la génération. Syntaxe :PUT_ATT Attribut = Valeur Elément de syntaxe Description/format Attribut Nom de l'attribut auquel une valeur doit être attribuée. Format : Nom UC4 Valeur Valeur conforme qui doit être attribuée à l'attribut. Format : littéral de script, Variable de script ou fonction de script Remarques Par défaut, les objets sont exécutés avec les attributs qui les ont définis. L'instruction :PUT_ATT vous donne la possibilité de modifier un attribut dynamiquement pendant la génération, et de lui attribuer une nouvelle valeur. Cette valeur est valide pour la génération en cours et n'est pas enregistrée de manière permanente dans l'objet. La valeur qui peut être attribuée à un attribut est très étroitement connectée à l'environnement système. Ainsi par exemple, seul " " peut être attribué dans un Job en tant que type de démarrage pour un démarrage immédiat ou un Groupe déjà défini. D'autres données provoqueraient une erreur lors de la génération. Vous trouverez la liste des attributs de tous les objets (et les valeurs correspondantes possibles) dans le manuel de l'Utilisateur. Les attributs Jobs d'automatisation rapide peuvent changer avec la validation d'une nouvelle version d'un Agent RA. Dans ce cas, les commandes :PUT_ATT des versions d'Agent précédentes ne fonctionnent plus. UC4 recommande donc d'utiliser toujours des Variables d'objet pour les remplacements de champ à la place des commandes :PUT_ATT. Pour ce faire, procédez comme suit: 1. Supprimez la commande :PUT_ATT de l'onglet Job script ou Pré-script. Automation Engine 109 2. Ajoutez une variable plus la valeur à l'onglet Job Variables & Prompts. 3. Dans le champ qui doit être remplacé, saisissez à présent la Variable d'objet dans le format &<Variable>#. <Variable> représente le nom de Variable que vous avez défini dans l'onglet Variables & Prompts. La modification des attributs est évidemment utile uniquement avant l'exécution de l'objet. C'est pourquoi l'instruction :PUT_ATT ne peut pas être utilisée dans les onglets Post-Script. Attention : les attributs ont des longueurs maximales différentes ! :PUT_ATT ne vérifie pas si la valeur définie est plus longue que la longueur autorisée. La valeur est tronquée à la longueur maximale. Si l'option "Générer à l'Exécution" de l'objet est activée, vous ne pouvez pas modifier le Groupe avec :PUT-ATT. La résolution du Groupe Agent et la sélection de l'Agent sur lequel la Tâche est exécutée doivent avoir lieu avant l'exécution du script. La Variable :PUT_ATT vous permet dans ce cas de définir un nouvel Agent, mais pas un Groupe Agent. Vous avez cependant la possibilité de lire les Agents d'un Groupe Agent à l'aide de la fonction de script PREP_PROCESS_AGENTGROUP. Dans l'onglet !Script de l'objet Evènement, l'instruction de script :PUT_ATT n'a aucun effet ! Les attributs HOST et SYSLST_DB (de BS2000-Jobs) peuvent être définis uniquement dans le prétraitement avec :PUT_ATT ! :PUT_ATT ne modifie par le contenu des Variables de script. Dans l'onglet script, utilisez l'élément de script pour limiter le nombre d'exécutions max. parallèles (attribut : MAX_TACHES_SIMULTANEE), la limite sera alors contrôlée après l'exécution du script, lorsque la tâche sera générée à l'Exécution. Exemple : :SET &TYPE# = GET_ATT(EVENT_TYPE) :PUT_ATT EVENT_CHECK_METHOD2 = "FILE_STABLE" :PRINT &TYPE# Considérons que la Variable de script &TYPE# obtienne la valeur "FA" par le biais de la fonction GET_ ATT. Suite à l'exécution de la fonction PUT_ATT, le résultat obtenu est de type "FT", car l'attribut "FILE_ STABLE" fait partie des Evènements du système de fichiers. La Variable de script &TYPE# conserve malgré tout la valeur "FA". La modification d'attributs (par exemple: objet Login) d'un objet spécifique avec :PUT_ATT n'est pas possible lorsque l'Utilisateur a le droit d'écriture (W) sur l'ancienne valeur et aucun droit d'écriture sur la nouvelle valeur de l'attribut. Pour modifier la queue de la tâche (attribut QUEUE), utilisez l'élément de script :PUT_ATT dans le préscript. Veuillez alors tenir compte des points suivants : Si lors de la tâche, l'option Générer à l'Exécution est définie, la vérification de la queue (vérification des slots disponibles et du statut de la queue) sera exécutée avant le Pré-script. La tâche est certes démarrée dans une queue modifiée, mais la vérification est exécutée avec la queue saisie dans l'objet. La limite de la nouvelle queue n'est alors pas vérifiée et la tâche est éventuellement démarrée trop tôt. Si par exemple la queue CLIENT_QUEUE est saisie dans l'objet, la tâche sera dans tous les cas démarrée (dans la mesure où celle-ci n'est pas stoppée). 110 Chapter 3 Organisation fonctionnelle Exemple L'exemple illustre l'attribution d'un autre Agent pour l'objet. :PUT_ATT HOST = "UNIX02" Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte. Elément de script - Lecture ou modification d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.7 :PUT_ATT_APPEND Instruction de script : Etend le texte du message de l'Alerte pendant l'exécution. Syntaxe :PUT_ATT_APPEND CALL_TEXT = Texte Elément de syntaxe Description/format CALL_TEXT Nom de l'attribut dont la valeur doit être étendue. Format : nom UC4 ou Variable de script Valeur autorisée : "CALL_TEXT" Texte Texte devant être ajouté au texte de message existant. Format : littéral de script, nombre, Variable de script ou fonction de script Remarques Cette instruction de Script peut être utilisée seulement dans l'onglet Traitement d'un objet Alerte. Elle insère le texte indiqué à la fin du texte du message. Cela ne modifie pas le texte de message existant, l'instruction de Script ne modifiant pas l'objet Alerte. L'extension du texte du message s'applique uniquement à l'exécution de celui-ci. Si vous utilisez des espaces, les particularités suivantes s'appliquent (voir aussi les exemples) : l l Les espaces à la fin du texte à ajouter sont tronqués. Si le texte comporte uniquement des espaces, ceux-ci sont complètement ignorés. Automation Engine 111 Attention : pour des raisons techniques liées à la base de données, la longueur du texte transféré ne doit pas dépasser 8000 caractères. Exemples Dans l'exemple, l'heure actuelle est enregistrée dans une Variable de Script et placée dans le tampon de lecture. Un objet Alerte est ensuite activé. :SET &TIME# = SYS_TIME("HH:MM") :PUT_READ_BUFFERTIME# = "&TIME#" :SET &CALL# = ACTIVATE_UC_OBJECT(CALL, BACKUP.END) La Tâche d'envoi de message lit la valeur de la Variable de Script dans le tampon de lecture (READ). L'heure actuelle est ajoutée au texte du message. :READ &TIME#,, :PUT_ATT_APPENDCALL_TEXT = " &TIME# heure." Les exemples suivants vous montrent comment utiliser les espaces. Le texte de message est "Veuillez vérifier...". 1) Le texte s'affiche correctement par les espaces en tête. Attention : veillez à ne pas ajouter automatiquement un espace. :PUT_ATT_APPEND CALL_TEXT = " Démarrez les processus Serveur" Affichage : Veuillez vérifier le démarrage des processus serveur 2) Attention : les espaces à la fin du texte sont tronqués. :PUT_ATT_APPEND CALL_TEXT = " les processus Serveur " :PUT_ATT_APPENDCALL_TEXT = "démarrer" Affichage : Veuillez vérifier le démarrage des processus serveur 3) Si le texte comporte uniquement des espaces, il est également ignoré. :PUT_ATT_APPEND CALL_TEXT = " les processus Serveur" :PUT_ATT_APPENDCALL_TEXT = " " :PUT_ATT_APPENDCALL_TEXT = "démarrer" Affichage : Veuillez vérifier le démarrage des processus serveur Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte. Elément de script - Lecture ou modification d'objets 112 Chapter 3 Organisation fonctionnelle Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.8 :PUT_VAR Instruction de script : Enregistre les valeurs dans un objet Variable statique. Syntaxe :PUT[_VAR]Variable,[Clef], Valeur [, Valeur [, Valeur [, Valeur [, Valeur ] ] ] ] Elément de syntaxe Description/format Variable Nom de l'objet Variable à laquelle une valeur ou plusieurs valeurs doivent être attribuées. Format: Nom UC4 ou Variable de script Clé Lignes dans lesquelles les valeurs doivent être enregistrées. Format: littéral de script, Variable de script ou fonction script Valeur Entrées qui doivent être écrites dans les colonnes de valeur. Les valeurs qui ne correspondent pas aux colonnes sont supprimées. Les valeurs existantes sont remplacées. Format: littéral de script, nombre sans guillemets ou Variable de script Remarques Si une Variable dynamique est indiquée pour l'élément de script (Source: SQL, SQL interne, Multi ou Type de données), cela entraîne une erreur de durée d'exécution. Seuls des objets Variables statiques peuvent être remplis avec :PUT_VAR. Les règles suivantes sont applicables à l'enregistrement de valeurs dans un objet Variable : l l Si la Variable n'a pas encore de valeur, la Clef et la valeur sont ajoutées. Si la Variable possède la Clef indiquée, sa valeur est remplacée. Pour remplir plusieurs colonnes de valeurs d'une Variable, chaque valeur doit être séparée d'une virgule. Il existe un maximum de 5 colonnes de valeurs pour des Variables statiques. Vous ne devez pas indiquer le paramètre Clef si "pas de Clef" est sélectionné pour le paramètre "validité des Variables" dans l'onglet "Attributs". Dans ce cas, la Variable ne contient pas de valeur. Attention : si la Clef a été omise, il faut quand même définir les virgules correspondantes dans l'instruction. Les valeurs peuvent être ajoutées sans être séparées par une virgule. Les virgules représentent des séparateurs. Exemple: Remplissage des 5 colonnes de valeur :PUT_VAR VARA.TEST, "KEY1", Valeur1, Valeur2, Valeur3, Valeur4, Valeur5 Pour écrire une valeur dans une colonne qui contient une ou plusieurs virgules, cette dernière doit être indiquée par des guillemets simples ou doubles. Exemple: Dans la colonne de valeurs 1, s'inscrit la "Valeur1" et dans la valeur 2 la Automation Engine 113 "Valeur2,Valeur3,Valeur4" :PUT_VAR VARA.TEST, "KEY1", Valeur1, "Valeur2, Valeur3, Valeur4" Pour enregistrer une valeur dans une Variable qui affiche le type de données"Marque horaire", vous devez choisir un des formats suivants : l l l l "AAAA-MM-JJ HH:MM:SS" "AAMMJJ HHMMSS" "AAAAMMJJ HHMMSS" "AAAAMMJJHH24MISS" Pour le type de données "Heure", "Date" et "Nombre", la valeur doit être indiquée dans le format de sortie indiqué (onglet Attributs). Tenir compte de la remarque suivante pour le type de données "Nombre": Si le système tente d'enregistrer un nombre avec plusieurs chiffres après la virgule, tel que cela est autorisé dans le format de sortie, les décimales superflues seront supprimées. La fonction de script écrit également les valeurs dans l'objet Variable lorsque celui-ci vient d'être ouvert par un Utilisateur afin de ne pas empêcher le traitement. Si l'Utilisateur veut modifier et enregistrer l'objet Variable, il reçoit un avertissement lui indiquant que la Variable a été modifiée entretemps. Il peut alors décider s'il souhaite quand même enregistrer ou rejeter ses modifications. Pour le type de données "Texte", les espaces en tête de chaîne sont conservés. Les espaces à la fin de la chaîne sont en revanche tronqués. L'utilisation de l'instruction :PUT_VAR suivie de l'instruction :READ implique les particularités suivantes : En cas d'interruption manuelle de la génération du script à l'aide du bouton "Interrompre" ou en raison de valeurs par défaut non valides lors de l'exécution de l'instruction :READ (voir "Générer à l'Exécution"), la Variable UC4 conserve les valeurs définies à l'aide de l'instruction :PUT_VAR. Exemple L'exemple montre que la date du jour et l'heure du jour actuelles sont communiquées et enregistrées dans un objet Variable de type "Marque horaire". La date et l'heure du jour sont transmises à l'instruction de script sous forme de Variable de script. :SET &DATE# = SYS_DATE("AAAA-MM-JJ") :SET &HEURE# = SYS_TIME("HH:MM:SS") :PUT_VAR DATEDERESERVATION, , "&DATE# &HEURE#" La Variable "ATTRIBUTS" utilisée dans l'exemple suivant, contient le domaine de validité "Index libre". Par conséquent, il faut absolument indiquer laClef. :SET &PRIO# = GET_ATT("UC4_PRIORITY") :PUT_VAR ATTRIBUTE,"Priorité actuelle", &PRIO# Dans l'exemple suivant, le nom, le type d'objet et les informations concernant le parent d'une Tâche sont stockés sous le RunID de la Tâche dans l'objet Variable "OBJET_STATISTIQUE". :SET &NOMP# = SYS_ACT_PARENT_NAME() :SET &NUMP# = SYS_ACT_PARENT_NR() :SET &TYPEP# = SYS_ACT_PARENT_TYPE() :SET &NOM# = SYS_ACT_ME_NAME() :SET &NUM# = SYS _ACT_ME_NR() :SET &TYPE# = SYS_ACT_ME_TYPE() :PUT_VAR OBJEKT_STATISTIK, "&NUM#", "Nom d'objet: &NOM#", "Type d'objet: &TYPE#", "Nom du parent: &NOMP#", "RunID Parent: &NUMP#", "Nom du parent: &TYPEP#" 114 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description :PUT_VAR_COL Enregistre une valeur dans une colonne spécifique d'un objet Variable statique. :DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique. GET_VAR Indique la valeur d'un objet Variable. :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect. PREP_PROCESS_ VAR Prépare le traitement d'une séquence de données (valeurs d'un objet Variable). Elément de script - Lecture ou modification d'objets Variable Exemples : Affichages à l'aide de Cockpit Maintenance de la base de données avec options Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.9 :PUT_VAR_COL Instruction de script : Enregistre une valeur dans une colonne spécifique d'un objet Variable statique. Syntaxe :PUT_VAR_COLVariable, [Clé], Colonne, Valeur Elément de syntaxe Description/format Variable Nom de la Variable UC4 à laquelle une valeur doit être attribuée. Format : Nom UC4 ou Variable de script Clé Lignes dans lesquelles la valeur doit être enregistrée. Format : littéral de script, Variable de script ou fonction script Colonne Numéro de la colonne dans laquelle la valeur est saisie. Format : littéral de script, Variable de script ou nombre sans guillemets simples Valeurs autorisées : "1" à "5" Valeur Valeur qui doit être inscrite dans la ligne et la colonne indiquées de la Variable. Format : Littéral de script ou Variable de script Remarques Cette fonction script insère une valeur déterminée dans la ligne et la colonne indiquées dans un objet Variable. Contrairement à l'élément de script :PUT_VAR, les autres champs ne sont pas affectés. Si une Automation Engine 115 entrée existe déjà dans la ligne/colonne indiquée, cette valeur est remplacée. Si une Variable dynamique est indiquée pour l'élément de script (Source: SQL, SQL interne, Multi ou Type de données), cela entraîne une erreur de durée d'exécution. Seuls des objets Variable statique peuvent être remplis avec :PUT_VAR_COL. Lors de l'indication du numéro de colonne, veuillez noter que les objets Variable de type "statique" ne possèdent que cinq colonnes de valeurs. Lors de l'indication du numéro de colonne, la plage autorisée va de "1" (colonne de valeurs 1) à "5" (colonne de valeurs 5). La valeur de la colonne Clé ne peut pas être modifiée par l'élément de script. Le paramètre Clé n'est facultatif que lorsqu'une Variable statique est utilisée avec le paramètre "Plage de validité" - "Aucune clé". Dans ce cas, la Variable ne possède qu'une clé (*). Si la Clé indiquée n'est pas encore disponible, la saisie est recréée. Exemple Dans l'exemple suivant, le nom de la Tâche supérieure (Workflow) et le RunID spécifique sont déterminés. Puis le RunID est inscrit sous le nom du Workflow dans la colonne 3 de l'objet Variable "VARA.JOBP". :SET&JOBP# = SYS_ACT_PARENT_NAME() :SET&RUNID# = SYS _ACT_ME_NR() :PUT_VAR_COL VARA.JOBP, &JOBP#, "3", &RUNID# Rubriques connexes : :PUT_VAR Enregistre les valeurs dans un objet Variable statique. :DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique. GET_VAR Indique la valeur d'un objet Variable. :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect. PREP_PROCESS_ VAR Prépare le traitement d'une séquence de données (valeurs d'un objet Variable). Elément de script - Lecture ou modification d'objets Variable Exemples : Affichages à l'aide de Cockpit Maintenance de la base de données avec options Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.10 :REMOVE_ATT Instruction de script : Supprime des destinataires d'un objet Alerte pendant l'exécution. 116 Chapter 3 Organisation fonctionnelle Syntaxe :REMOVE_ATT RECIPIENT, Destinataire Elément de syntaxe Description/format RECIPIENT Nom de l'attribut à supprimer. Format : Nom UC4, Littéral de Script ou Variable de Script Valeur autorisée : "RECIPIENT" Destinataire Nom d'un Utilisateur, d'un Groupe Utilisateur ou adresse e-mail Format : littéral de script, Variable de script ou chiffre Vous pouvez utiliser les caractères génériques "*" et "?" dans les noms d'utilisateur ou de Groupe Utilisateur. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Remarques Cette instruction de Script ne peut être utilisée que dans l'onglet Traitement d'un objet Alerte Elle supprime l'Utilisateur ou le Groupe Utilisateur indiqué de la liste des Destinataires. Les destinataires saisis ne sont pas supprimés de manière permanente, car l'instruction de Script ne modifie pas l'objet Alerte. L'adaptation de la liste des destinataires s'applique uniquement à l'exécution de celui-ci. Faites attention, en utilisant les caractères généraux, à ne pas provoquer la suppression de tous les destinataires responsables. Cela entraînerait l'interruption du traitement du Script et l'affichage d'un message d'erreur. Le Rapport affiche clairement le destinataire ayant supprimé l'instruction de Script. Attention : l'Utilisateur doit être indiqué au formatNom d'utilisateur/département. Cela correspond au nom de l'objet Utilisateur. Si l'Utilisateur n'est pas trouvé, le Script s'interrompt. Exemples Dans l'exemple, l'Utilisateur "BU/UC4" est supprimé de la liste des destinataires responsables. :REMOVE_ATT RECIPIENT,"BU/UC4" Le deuxième exemple supprime tous les Utilisateurs du département "UC4". :REMOVE_ATT RECIPIENT,"*/UC4" Dans le troisième exemple, le Groupe Utilisateur "ADMIN" est supprimé. :REMOVE_ATT RECIPIENT,"ADMIN" Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. Automation Engine :PUT_ATT_APPEND Ajoute un élément au texte du message de l'Alerte pendant l'exécution. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte. 117 Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.11 :REPLACE_STRUCTURE Instruction de script : Remplace la structure d'un Workflow lors de son activation par la structure d'un autre Workflow. Syntaxe :REPLACE_STRUCTURE OBJ[ECT]=Workflow Elément de syntaxe Description/format Workflow Nom du Workflow dont la structure doit être utilisée. Format : Littéral de script ou Variable de script Remarques L'instruction de script permet de remplacer, pendant l'activation, la structure d'un Workflow particulier par la structure d'un autre Workflow. Autrement dit, le contenu de l'onglet "Workflow" est remplacé. Une erreur de durée d'exécution se produit lorsque le Workflow indiqué est introuvable. La modification de la structure du Workflow s'applique uniquement à l'exécution actuelle et n'affecte pas l'objet Workflow. Si vous lancez l'exécution d'un Workflow dans les statistiques, le moniteur affiche le Workflow dont la structure a été utilisée. Il ne faut pas utiliser l'instruction de script lorsque les modifications, par exemple lors de la définition des dépendances de calendrier, entraînent également des conditions temporelles dans les scripts Exemple Dans l'exemple, le Workflow "GS.JOUR" doit être lancé une seule fois le 31.12.2005 avec une structure de Workflow modifiée. Le Workflow modifié est exécuté dans le Workflow original avec les lignes de script suivantes. :IF "051231" = SYS_LDATE() : REPLACE_STRUCTURE OBJECT="GS.JOUR.MOD.051231" :ENDIF Rubriques connexes : 118 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.12 :SET_CALE Instruction de script : :SET_CALE - Ajoute ou supprime une date ou une période du Calendrier. Syntaxe :SET_CALEGroupe calendrier, Calendrier,date1[,date2[,action]] Elément de syntaxe Description/format Groupe Calendrier Nom de l'objet Groupe Calendrier dans lequel ajouter ou supprimer une date ou une période. Format : Nom UC4, Littéral de script ou Variable de script Calendrier Nom du Calendrier dans lequel ajouter ou supprimer une date ou une période. Format : nom UC4, littéral de script ou Variable de script Date1 Date2 Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Action Indicateur pour l'ajout ou la suppression. Format : nom UC4, littéral de script ou Variable de script Valeurs autorisées : "ON" (par Défaut), "OFF" "ON" - Ajouter une Date/Période "OFF" - Retirer une Date/Période Remarques L'instruction de script vous permet d'ajouter une date/période à un objet Groupe Calendrier et de supprimer une date/période d'un Groupe Calendrier. Si une seule date doit être ajoutée ou supprimée, la donnée Date2 n'est plus nécessaire. Pour une période, il faut indiquer Date1 et Date2. L'indication du format de date est facultative. Si aucun format de date n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Si aucun Calendrier n'est indiqué, l'instruction de script crée un nouveau Calendrier de type "Statique". La plage de validité par défaut est l'année courante moins NOW_MINUS, plus NOW_PLUS. Les deux paramètres sont des clés configurées par l'administrateur UC4 dans la Variable UC4 UC_CLIENT_ SETTINGS. Vous pouvez néanmoins modifier ensuite la période de validité avec la fonction de script MODIFY_OBJECT. L'instruction de script ignore le fait qu'une date/période existe déjà en cas d'ajout, ou qu'aucune n'existe en cas de suppression. La fonction de script VALID_CALE vous permet de vérifier si une date est indiquée dans le Calendrier. Automation Engine 119 Attention : il ne faut pas que l'instruction de script déclenche un calcul dynamique de calendrier ! L'objet Groupe Calendrier doit être ouvert et enregistré manuellement ! Exemples Dans le premier exemple, une date est ajoutée à l'objet Groupe Calendrier "DISPOSITION" et au Calendrier "BU". :SET_CALE DISPONIBILITE, "BU", "AA-MM-JJ:01-12-24" Le deuxième exemple supprime la date d'aujourd'hui de cet objet Groupe Calendrier. :SET &AUJOURD'HUI# = SYS_DATE() :SET_CALE "DISPONIBILITE","BU",&AUJOURD'HUI#,, OFF Le troisième exemple transmet le début et la fin de la semaine courante. Cela a pour effet d'établir la période dans l'objet Groupe Calendrier. :SET &AUJOURD'HUI# = SYS_DATE() :SET &DEBUT# = FIRST_OF_PERIOD (&AUJOURD'HUI#, "WW") :SET &FIN# = LAST_OF_PERIOD (&AUJOURD'HUI#, "WW") :SET_CALEDISPONIBILITE, BU, &DEBUT#, &FIN# Rubriques connexes : Elément de script Description VALID_CALE Vérifie qu'une date est contenue dans un Calendrier. Elément de script - Lecture ou modification d'objets Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.13 :SET_CONDITION Instruction de script : Définit l'heure de début la plus ancienne dans les Workflows. Syntaxe :SET_CONDITION Condition[= Valeur] Elément de syntaxe Description/format Condition Condition de démarrage devant être définie. Format : Littéral de script ou Variable de script Valeurs autorisées : "EARLIEST_START_TIME", "JOBP_EARLIEST_ START_TIME" "EARLIEST_START_TIME" = Heure de début la plus ancienne d'une Tâche dans le Workflow. "JOBP_EARLIEST_START_TIME" = Heure de début la plus ancienne d'un Workflow. 120 Chapter 3 Organisation fonctionnelle Valeur Heure de début la plus ancienne devant être définie. Format : Littéral de script ou Variable de script Format : "JJ/HH:MM" Valeur par défaut : "00/00:00" Remarques L'instruction de script fonctionne uniquement dans un Workflow. L'heure de début la plus ancienne définie avec la fonction s'applique uniquement à l'exécution actuelle de l'objet. La marque horaire réglable dans les propriétés de la Tâche n'est pas modifiée. L'heure de début la plus ancienne peut également être transmise lors de l'exécution à la fonction de script GET_CONDITION. Pour définir l'heure de début la plus ancienne, les corrélations suivantes s'appliquent : l l l L'instruction de script "EARLIEST_START_TIME" définit l'heure de début la plus ancienne de la Tâche dans laquelle le script est exécuté. Cette instruction de script n'est pas autorisée lorsque l'option "Générer à l'Exécution" (onglet Attributs) est définie pour la Tâche. Dans ce cas, la Tâche a déjà été lancée lors du traitement du script. L'instruction de script "JOBP_EARLIEST_START_TIME", utilisée dans le script d'une Tâche, définit l'heure de début la plus ancienne du Workflow. Cette instruction de script n'est pas non plus autorisée avec l'option "Générer à l'Exécution". L'instruction de script "JOBP_EARLIEST_START_TIME" ne peut être utilisée dans le script d'un Workflow que pour définir l'heure de début la plus ancienne d'un Workflow supérieur. Une erreur se produit s'il n'existe pas de Workflow supérieur. Pour l'heure de début la plus ancienne du Workflow, il s'agit de chaque moment qui a été enregistré dans la case DEBUT du Workflow. Exemple L'exemple montre l'instruction de script dans le script d'une Tâche exécutée dans un Workflow. L'heure de début la plus ancienne de la Tâche et du Workflow est définie et générée dans le protocole d'activation. :SET_CONDITION "EARLIEST_START_TIME"="00/10:19" :SET_CONDITION "JOBP_EARLIEST_START_TIME"="00/10:18" :SET &RETJOBS# = GET_CONDITION ("EARLIEST_START_TIME") :SET &RETJOBP# = GET_CONDITION ("JOBP_EARLIEST_START_TIME") :PRINT "Nouvelle heure de début la plus ancienne:",&RETJOBS# :PRINT "Nouvelle heure de début la plus ancienne du Workflow:", &RETJOBP# Rubriques connexes : Elément de script Description GET_CONDITION Indique l'heure de début la plus ancienne des Workflows. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 121 3.4.14 :XML_CLOSE Instruction de script : Fermeture d'un document XML. Syntaxe :XML_CLOSE Remarques Cette instruction de Script ferme un document XML une fois le traitement effectué. Il faut d'abord appeler cette instruction de Script avant de pouvoir ouvrir un autre document XML en vue du traitement avec XML_OPEN. Dans la version 6.00A, cette instruction de Script a été renommée de :XML_CLOSE_DOCU en :XML_ CLOSE. L'ancien style d'écriture est toujours pris en charge. Exemple L'onglet "Détails" d'une documentation structurée a été fermé après un traitement réussi. :SET &XMLDOCU# = XML_OPEN("GS.JOUR", "@Détails") !... :XML_CLOSE Rubriques connexes : Elément de script Description XML_OPEN Ouvre un document XML en vue du traitement. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.15 GET_ATT Fonction script : Indique la valeur des attributs d'une Tâche pendant la génération. Syntaxe GET_ATT(Attribut) Elément de syntaxe Description/format 122 Chapter 3 Organisation fonctionnelle Attribut Nom de l'attribut dont la valeur doit être lue. Format : Nom UC4, Littéral de script ou Variable de script Code retour Valeur de l'attribut indiqué. Remarques La fonction de script GET_ATT permet de lire l'attribut indiqué d'un objet pendant la génération. Seuls peuvent être utilisés les attributs qui appartiennent à cet objet. Vous trouverez la liste des attributs de tous les objets (et les valeurs correspondantes possibles) dans le manuel de l'Utilisateur. Les attributs spécifiques pour les Jobs RA s'affichent sous forme d'infobulle pour les champs correspondants de l'interface Utilisateur. Exemple : Job FTP RA, onglet: "FTP", infobulle pour le champ "Agent à distance connecté": ftpConnectionName. Pour faire apparaître l'infobulle, bougez le pointeur de la souris sur le champ/élément de contrôle dans l'interface Utilisateur et attendez un court instant. Attention : la valeur d'un attribut peut également être une espace " " ! Cela se produit lorsqu'aucune valeur n'a été définie (par exemple: la zone de texte de l'index d'archivage est vide). Si la Tâche s'exécute dans un Groupe Agent, alors la fonction GET_ATT(HOST) renvoie le nom de l'Agent sur lequel la Tâche est réellement exécutée, et non le nom du Groupe Agent. Si vous indiquez le nom d'une Variable de script ou d'objet en tant qu'attribut dans l'objet (voir : Lecture et modification d'attributs), la lecture de l'attribut à l'aide de la fonction GET_ATT() renvoie non pas le nom de la Variable mais le contenu de la Variable indiquée. Si vous ne souhaitez pas que les Variables soient résolues, utilisez le script GET_ATT_PLAIN. Exemples L'exemple détermine le premier index d'archivage d'un objet et le transmet à une Variable de script. :SET &DEBUT# = GET_ATT(ARCHIVE_KEY1) On peut également utiliser une Variable de script au sein de la fonction. :SET &ATT# = "JOBREPORT_FILE" :SET &START# = GET_ATT(&ATT#) Dans cet exemple, la fonction est utilisée pour formuler une condition. :IF GET_ATT(GROUP) = " " !... :ENDIF Exemple d'utilisation d'une Variable de script dans le champ Attribut d'un objet. La Variable "&DST#" est indiquée en tant que fichier cible d'un objet Transfert de Fichier. Le script suivant permet de définir l'attribut, d'attribuer une valeur à la Variable et de lire l'attribut. La valeur renvoyée ne correspond pas au nom de la Variable "&DST#", mais à la valeur de la Variable "C:\Temp\test2.txt". :PUT_ATT FT_DST_FILE="&&DST#" :SET &DST# = "C:\Temp\test2.txt" :SET &ZIEL# = GET_ATT(FT_DST_FILE) :PRINT "Fichier cible : &CIBLE#" Automation Engine 123 Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. :PUT_ATT_ APPEND Etend le texte du message de l'Alerte pendant l'exécution. GET_ATT_PLAIN Indique la valeur des attributs d'une Tâche pendant la génération sans suppression des Variables. GET_ATT_ SUBSTR Indique une partie du texte du message de l'Alerte. Elément de script - Lecture ou modification d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.16 GET_ATT_PLAIN Fonction script : Indique la valeur des attributs d'une Tâche pendant la génération sans suppression des Variables. Syntaxe GET_ATT_PLAIN(Attribut) Elément de syntaxe Description/format Attribut Nom de l'attribut dont la valeur doit être lue. Format : Nom UC4, Littéral de script ou Variable de script Code retour Valeur de l'attribut indiqué. Remarques Cette fonction script permet de lire les attributs de l'objet pendant le processus de génération. Le comportement est similaire à celui du Script GET_ATT. Il diffère toutefois en ce que les Variables de Script, d'objet et prédéfinies ne sont pas remplacées dans l'attribut. C'est donc le nom de la Variable, et non sa valeur, qui est déterminé. Ces Variables sont toujours résolues pour le Script GET_ATT. Les caractères de remplacement des objets Variables indiqués entre parenthèses { } ne sont pas remplacés par un des deux Scripts. 124 Chapter 3 Organisation fonctionnelle A partir de la version 9.00A, le Dialogue des attributs lit les attributs avec cette fonction script. Le contenu réel de l'attribut est maintenant toujours affiché dans le dialogue et non plus la valeur remplacée par des Variables. Attention : consultez également les remarques contenues dans la description de GET_ATT. Exemple Dans l'exemple suivant, le nom d'une Variable de Script est indiqué dans un attribut ; une valeur doit lui être attribuée. Le contenu de l'attribut est ensuite déterminé avec et sans valeur de Variable de remplacement et les informations sont émises dans le protocole d'activation. :PUT_ATT INT_ACCOUNT = "&&test#" :SET&test# = "test" :SET&att# = GET_ATT(INT_ACCOUNT) :SET&attplain# = GET_ATT_PLAIN(INT_ACCOUNT) :PRINT"Nom Variable = &attplain#" :PRINT"Valeur Variable = &att#" Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. GET_ATT_SUBSTR Indique une partie du texte du message de l'Alerte. Elément de script - Lecture ou modification d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.17 GET_ATT_SUBSTR Fonction script : Indique une partie du texte du message de l'Alerte. Syntaxe GET_ATT_SUBSTR(CALL_TEXT, début, longueur) Elément de syntaxe Description/format CALL_TEXT Nom de l'attribut dont la valeur doit être partiellement lue. Format : nom UC4 ou Variable de script Valeur autorisée : "CALL_TEXT" Automation Engine Début Position à laquelle la lecture doit commencer. Format : nombre ou Variable de script Longueur Nombre de caractères devant être lus. Format : nombre ou Variable de script 125 Codes retour Partie du texte du message. " " : la zone indiquée ne se trouve pas dans le texte du message. Remarques Cette fonction de script peut être utilisée seulement dans l'onglet Traitement d'un objet Alerte. Elle détermine une partie du texte du message de l'Alerte. Lorsque l'instruction :PUT_ATT_APPEND se trouve avant la fonction de script, la partie est extraite du texte du message développé. Exemple Dans l'exemple, les 20 premiers caractères du texte du message sont lus. :SET &EXTRAIT# = GET_ATT_SUBSTR(CALL_TEXT,1,20) Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :REMOVE_ATT Supprime des destinataires d'un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. :PUT_ATT_APPEND Etend le texte du message de l'Alerte pendant l'exécution. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.18 GET_CONDITION Fonction script : Indique l'heure de début la plus ancienne des Workflows. Syntaxe GET_CONDITION(condition) Elément de syntaxe Description/format 126 Chapter 3 Organisation fonctionnelle Condition Condition de démarrage devant être déterminée. Format : Littéral de script ou Variable de script Valeurs autorisées : "EARLIEST_START_TIME", "JOBP_EARLIEST_ START_TIME" "EARLIEST_START_TIME" = Heure de début la plus ancienne d'une Tâche dans le Workflow. "JOBP_EARLIEST_START_TIME" = Heure de début la plus ancienne d'un Workflow. Code retour Heure de début la plus ancienne au format "JJ/HH:MM" de la Tâche ou du Workflow. Remarques La fonction de script ne peut qu'être définie dans le cadre d'un Workflow. L'heure de début la plus ancienne peut être définie dans les propriétés de la Tâche et dans la case DEBUT d'un Workflow. Elle peut également être définie pour le temps d'exécution à l'aide de l'instruction de script :SET_CONDITION. Pour transmettre l'heure de début la plus ancienne, les points suivants s'appliquent : l l l "EARLIEST_START_TIME" permet à la fonction de script de transmettre l'heure de début la plus ancienne de la Tâche dans le script de laquelle elle est exécutée. Si la fonction de script est utilisée avec "JOBP_EARLIEST_START_TIME" dans le script d'une Tâche, elle renvoie l'heure de début la plus ancienne du Workflow. Dans le script d'un Workflow, la fonction de script ne peut qu'être utilisée avec "JOBP_ EARLIEST_START_TIME" lorsque ce Workflow est exécuté dans un Workflow supérieur. L'heure de début la plus ancienne du Workflow supérieur est retournée. Une erreur se produit s'il n'existe pas de Workflow supérieur. Pour l'heure de début la plus ancienne du Workflow, il s'agit de chaque moment qui a été enregistré dans la case DEBUT du Workflow. Exemple Par exemple, on utilise dans le script d'une Tâche la fonction de script qui s'exécute dans un Workflow. L'heure de début la plus ancienne de la Tâche et du Workflow est déterminée et affichée dans le protocole d'activation. :SET &RETJOBS# = GET_CONDITION ("EARLIEST_START_TIME") :SET &RETJOBP# = GET_CONDITION ("JOBP_EARLIEST_START_TIME") :PRINT "Heure de début la plus ancienne de la Tâche :", &RETJOBS# :PRINT "Heure de début la plus ancienne du Workflow :", &RETJOBP# Automation Engine Rubriques connexes : Elément de script Description :SET_CONDITION Définit l'heure de début la plus ancienne dans les Workflows. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.19 GET_OBJECT_TYPE Fonction script : Indique le type d'objet de la Tâche. Syntaxe GET_OBJECT_TYPE(nom d'objet) Elément de syntaxe Description/format Nom d'objet Nom de l'objet dont le type doit être déterminé Format : littéral de script ou Variable de script Codes retour Forme abrégée du type d'objet "20223" - L'objet n'existe pas. 127 128 Chapter 3 Organisation fonctionnelle Remarques La fonction script recherche tout d'abord l'objet dans le Client sur lequel le script est exécuté, puis dans le Client système 0000. L'instruction de script :ON_ERROR permet de définir la réaction en cas de nom d'objet erroné. Vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Exemple En effet, GS.JOUR est un objet de type "Workflow". :SET &TYPE_OBJET# = GET_OBJECT_TYPE("GS.JOUR") Rubriques connexes : Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.20 GET_OH_IDNR Fonction script : Indique le numéro interne d'un objet. Syntaxe GET_OH_IDNR(nom de l'objet, Client ) Elément de syntaxe Description/format Nom d'objet Nom de l'objet Format : Littéral de script ou Variable de script Client Numéro du Client dans lequel se trouve l'objet Format : nombre ou Variable de script Code retour Numéro interne de l'objet "0" - L'objet n'existe pas. Remarques Chaque objet reçoit un numéro interne lors de sa création. Automation Engine 129 Exemple L'exemple suivant génère le numéro interne de l'objet "MAWI.TAG" se trouvant dans le Client 98. :SET &RET# = GET_OH_IDNR("MAWI.TAG",98) Rubriques connexes : Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.21 GET_STATISTIC_DETAIL Fonction script : Détermine les détails à partir d'un enregistrement statistique d'un objet activable. Syntaxe GET_STATISTIC_DETAIL([RunID] , Detail [, nom d'objet]) Elément de syntaxe Description/format RunID Numéro courant de l'exécution (RunID) à 10 caractères Format : Variable de script ou chiffre Détail Information qui doit être déterminée à partir de l'enregistrement statistique. Format : nom UC4, littéral de script ou Variable de script Vous trouverez, dans les remarques, un tableau récapitulant les valeurs autorisées. Nom d'objet Nom de l'objet dont l'enregistrement statistique doit être lu. Format : Littéral de script ou Variable de script Code retour Détail issu d'un enregistrement statistique Remarques Attention : Les Utilisateurs doivent utiliser l' Autorisation "S" pour chaque objet, afin de pouvoir exécuter cette fonction script. La fonction script peut être utilisée dans les configurations suivantes : l l l RunID, Détails ou RunID, Détails, nom d'objet Le RunID permet d'identifier clairement l'enregistrement statistique à lire. Détails, nom d'objet Le dernier enregistrement statistique de l'objet indiqué est lu. Détails L'enregistrement statistique actuel de l'objet à partir duquel la fonction script est appelée est utilisé 130 Chapter 3 Organisation fonctionnelle pour déterminer les détails. Certaines valeurs ne sont donc pas encore disponibles (comme la durée de traitement du script). Formulez la fonction script avec précaution. Pour les valeurs qui ne peuvent pas encore être déterminées au moment de l'exécution du script, les valeurs par défaut suivantes sont renvoyées : l l l Pour les chaînes de caractères : " " Pour les nombres : 0 Pour les dates et la marque horaire : 0000-00-00 00:00:00 Il peut, toutefois, également s'agir de valeurs issues des détails statistiques lus (par exemple: Code retour 0) ! Si aucun enregistrement statistique n'est trouvé, la fonction script renvoie une chaîne vide. Cela ne provoque pas l'interruption du script ! L'erreur peut cependant être interceptée avec le script :ON_ERROR. Le deuxième paramètre nécessite l'indication du détail statistique à lire. Le tableau suivant vous indique quelles valeurs peuvent être déterminées : Détail Description ACCOUNT Compte interne ACTIVATION_TIME Date et heure de l'activation au format "AAAA-MM-JJ HH:MM:SS" ARCHIVE_KEY_1 Index d'archivage 1 ARCHIVE_KEY_2 Index d'archivage 2 CANCEL_FLAG Interruption de la Tâche Codes retour : " " - La Tâche n'a pas été interrompue "m" - La Tâche a été interrompue manuellement CHECK_COUNT Nombre de vérifications de l'objet Evènement COMPRESSION_RATE Niveau de compression Codes retour : "0" - Aucun "1" - Normal "2" - Renforcé " " - Valeur par défaut CPU_TIME Temps CPU utilisé DST_CODE_TABLE Nom de la Table de Codes cible pour les Transferts de Fichiers DST_FILE_ATTRIBUTES Attributs du fichier cible pour les Transferts de Fichiers DST_FILE_NAME Nom du fichier cible pour les Transferts de Fichiers DST_HOST Nom de l'Agent cible pour les Transferts de Fichiers et les Jobs DST_HOST_TYPE Type d'hôte de l'Agent cible pour les Transferts de Fichiers Codes retour : "BS2000", "GCOS8", "MPE", "MVS", "NSK", "OS400", "UNIX", "VMS" et "WINDOWS" DST_LOGIN_INFO Ensemble des infos de connexion de l'objet Login cible du Transfert de Fichier DST_LOGIN_NAME Nom de l'objet Login cible Automation Engine 131 DURATION Durée d'exécution en secondes END_TIME Heure de fin de l'objet au format "AAAA-MM-JJ HH:MM:SS" EVENTID Premier RunID des Evènements de systèmes de fichiers ou de console FILE_SIZE Nombre d'octets du fichier transféré IO_COUNT Nombre d'entrées/de sorties KERNEL_TIME Temps système utilisé LAST_ERR_INS Insertion de message LAST_ERR_NR Numéro de la dernière erreur qui s'est produite LAST_RESTART_POINT Dernier point de reprise exécuté LDATE Date logique au format "AAAA-MM-JJ HH:MM:SS" MOD_COUNT Nombre de modifications apportées à l'objet NAME Nom de l'objet OBJECT_TYPE Type d'objet OCCURENCE_COUNT Nombre d'Evènements survenus (pour les objets Evènement) PARENT_ACT RunID de la Tâche parent (activator) PARENT_PRC RunID de la Tâche parent (processor) POSTSCRIPT_START_ TIME Heure de début du post traitement au format "AAAA-MM-JJ HH:MM:SS" PROCESS_ID N° TSN/processus RECORDS Transferts de fichiers texte : nombre de lignes ou d'enregistrements transférés. Transferts de fichiers binaires : 0 REFERENCE_NR RunID de référence pour la reprise RESTART Reprise Codes retour : "Y" - Il s'agit d'une reprise. "N" - Il ne s'agit pas d'une reprise. RESTART_POINT Point de reprise à partir duquel la Tâche est démarrée RETURN_CODE Code retour RUNID RunID de l'enregistrement statistique sélectionné SRC_CODE_TABLE Nom de la Table de Codes source pour les Transferts de Fichiers SRC_FILE_ATTRIBUTE Attributs du fichier source pour les Transferts de Fichiers SRC_FILE_NAME Nom du fichier source pour les Transferts de Fichiers SRC_HOST Nom de l'Agent source pour les Transferts de Fichiers SRC_HOST_TYPE Type d'hôte de l'Agent source pour les Transferts de Fichiers Codes retour : "BS2000", "GCOS8", "MPE", "MVS", "NSK", "OS400", "UNIX", "VMS" et "WINDOWS" SRC_LOGIN_INFO Ensemble des infos de connexion de l'objet Login source du Transfert de Fichier 132 Chapter 3 Organisation fonctionnelle SRC_LOGIN_NAME Nom de l'objet Login source START_TIME Heure de début de l'objet au format "AAAA-MM-JJ HH:MM:SS" STATUS Statut (code retour système) de l'exécution (par exemple, "1850") TRANSFERRED_BYTE_ COUNT Nombre d'octets transférés USER_ID Nom d'utilisateur au format "NOM/DEPARTEMENT" USER_TIME Temps utilisateur utilisé Exemple La ligne suivante est utilisée dans un objet Transfert de Fichier. Elle lit le nom du fichier à transférer dans l'exécution actuelle. :SET &FICHIERSOURCE# = GET_STATISTIC_DETAIL(,SRC_FILE_NAME) Dans ce deuxième exemple, c'est l'heure de début de la Tâche parent qui est lue. :SET &NOM# = SYS_ACT_PARENT_NAME() :SET &DEBUT# = GET_STATISTIC_DETAIL(,START_TIME,&NOM#) Dans cet exemple, la fonction script détermine l'heure d'activation de l'objet GS.JOUR. :SET &NUMRUN# = GET_UC_OBJECT_NR("GS.JOUR") :SET &ACTIVATION# = GET_STATISTIC_DETAIL(&NUMRUN#, ACTIVATION_TIME) Rubriques connexes : Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.22 GET_SYNC Fonction script : Demande le statut ou la valeur actuelle d'un objet Sync. Syntaxe GET_SYNC(Sync, type) Elément de syntaxe Description/format Sync Nom d'un objet Sync dont le statut ou la valeur actuel(le) doit être déterminé (e). Format : Nom UC4, Littéral de script ou Variable de script Type Indique si le statut actuel ou la valeur actuelle doit être déterminé(e). Format : nom UC4, littéral de script ou Variable de script Valeurs autorisées : "STATE" et "VALUE" "STATE": statut actuel "VALUE" : valeur actuelle Automation Engine 133 Codes retour Statut actuel de l'objet Sync. Valeur actuelle de l'objet Sync. Remarques La fonction de Script indique les paramètres actuels d'un objet Sync qui se trouvent aussi dans l'onglet "Attributs". Exemple Les lignes de Script suivantes font référence à l'exemple Utilisation de Sync pour accéder aux Jobs. :SET &ADMIN# = GET_SYNC("DB.STATUS","STATE") :IF &ADMIN# = "EXCLUSIF" : PRINT "Le Job administrateur utilise actuellement la base de données de manière exclusive." :ENDIF :SET &RET# = GET_SYNC("DB.STATUS","VALUE") :IF &RET# = 0 : PRINT "Aucun Job n'accède actuellement à la base de données." :ELSE : PRINT "Des Jobs &RET# accèdent en ce moment à la base de données." :ENDIF Rubriques connexes : Elément de script Description SET_SYNC Exécute l'action définie d'un objet Sync. :ATTACH_SYNC Attribue un objet Sync à une Tâche. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.23 GET_VAR Fonction script : Indique la valeur d'un objet Variable. Syntaxe GET_VAR(Variable [, [ Clef ] [, Colonne] ]) Elément de syntaxe Description/format Variable Nom d'une Variable UC4 dont les valeurs doivent être lues. Format: Nom UC4, Littéral de script ou Variable de script 134 Chapter 3 Organisation fonctionnelle Clé Lignes de valeur de la Variable de la colonne Clef (Variables statiques) ou de la première colonne vide (Variable dynamique) Format: Nom UC4, Littéral de script ou Variable de script Colonne Numéro de la colonne dont les valeurs doivent être utilisées. Format: littéral de script, Variable de script ou nombre sans guillemets simples Valeurs autorisées : Variables statiques : "KEY" (colonne Clef), de "1" à "5" (Colonne de valeurs de 1 à 5) Variables dynamiques: "RESULT" (colonne Résultat), de "1" à n (Colonne de valeurs 1 à n) Codes retour Valeur/s de la Variable " " - L'entrée n'existe pas ou ne contient pas de valeur. Remarques Les valeurs peuvent être lues avec le script tant à partir d'objets de Variables statiques que dynamiques. Lors de l'accès aux Variables dynamiques, une résolution s'effectue, ainsi la valeur est déterminée directement par la source de données (base de données, variable, répertoire). Si pour une quelconque raison, une erreur survient lors de la résolution d'objets de Variables dynamiques, cela entraîne une erreur de durée d'exécution! Si le paramètre Clef n'est pas indiqué, la première ligne est automatiquement utilisée. Pour les objets de Variables statiques dont le domaine de validité est défini comme "Index libre", il faut toutefois toujours indiquer une Clef! S la colonne manque, la colonne Valeur 1 (pour les objets Variable statiques) utilise automatiquement la colonne résultats (Source de Variables : SQL, SQL interne, Multi) ou bien la colonne Liste fichiers (Source de Variables : liste de fichiers). Pour les Variables dont la source Liste de fichiers, soit il faut omettre la colonne ou bien utiliser la valeur "1". Comme il n'existe qu'une colonne, la Clef indiquée comprend la valeur retournée. Comme valeur pour colonne le domaine de 1 (première colonne de valeur) au dernier numéro de colonne de la Variable est autorisé. Attention: les Variables statiques possèdent au maximum 5 colonnes de valeur. Pour lire la colonne de résultats (Variables dynamiques hormis la "Liste de fichiers"), il faut utiliser la valeur "RESULT" pour colonne. Si le script est utilisé en relation avec :FILL et qu'aucune colonne n'est indiquée, toutes les valeurs de la ligne de Variables sont enregistrées dans le tableau de script. Le format de la valeur correspond au format de sortie qui est défini par l'onglet Attributs. La fonction de script permet également de lire les variables de l'Agent. Pour accéder à une Clef qui commence par le caractère &, il faut indiquer deux fois ce caractère. Sinon, cette expression est interprétée comme une Variable de script et essaie de la résoudre. Exemple: Accès à la clef "&clef" dans l'objet Variable VARA.TEST :SET&TEST# = GET_VAR(VARA.TEST,"&&clef") Automation Engine 135 Pour les Variables dynamiques, la valeur de la colonne résultat (Paramètre Clef) est indiquée dans le format qui définit la valeur dans la source de données (base de données SQL, objet Variable MULTI). Le format de sortie de la variable ne joue aucun rôle dans le processus! Pour les Variables statistiques, il est possible d'indiquer la valeur spéciale "KEY" pour la colonne. Avec cette dernière, vous avez la possibilité de vérifier si une clé existe dans l'objet Variable. Si l'élément de script renvoie une valeur vide, la clé n'existe pas. Si la clé est renvoyée, alors l'entrée existe. Dans l'exemple suivant, l'élément de script renvoie "Test" lorsque la clé existe, et "" dans le cas contraire : :SET &KEY# = GET_VAR(VARA.TEST, "Test","KEY") Exemples L'exemple détermine la valeur d'une Variable et la transmet à une Variable de script. :SET &TEST# = GET_VAR(GS_FIN, "Jour d'écriture") On peut également utiliser une Variable de script au sein de la fonction. :SET &VAR# = "GS_FIN" :SET &GUELT# = "Jour d'écriture" :SET &TEST# = GET_VAR(&VAR#, &GUELT#) Dans cet exemple, la fonction est utilisée pour formuler une condition. :IF GET_VAR(GS_FIN, "JOUR D'ECRITURE") = SYS_DATE("DDMMYY") !... :ENDIF Rubriques connexes : Elément de script Description :DELETE_VAR Supprime une ou toutes les valeurs d'un objet Variable statique. :PUT_VAR Enregistre les valeurs dans un objet Variable statique. :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect. GET_SCRIPT_VAR Indique les valeurs des Variables de script par accès indirect. PREP_PROCESS_ VAR Prépare le traitement d'une séquence de données (valeurs d'un objet Variable). Elément de script - Lecture ou modification d'objets Variables Agent Exemples : Maintenance de la base de données avec options Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.24 MODIFY_TASK Fonction script : Modifie les Workflows en cours. Informations générales 136 Chapter 3 Organisation fonctionnelle La modification d'un Workflow en cours d'exécution se fait en plusieurs étapes, avec la fonction MODIFY_ TASK : 1. 2. 3. 4. Arrêtez l'exécution du Workflow avec "STOP_MODIFY". Faites vos modifications. Activez celles-ci avec "COMMIT". Redémarrez l'exécution du Workflow avec "GO". Les paramètres de la fonction script doivent être organisés dans un certain ordre. Si vous omettez des paramètres, il faut quand même indiquer les virgules correspondantes (voir les exemples suivants). Utilisez "START" ou "END" pour modifier les propriétés des cases à cocher START ou END. Attention : l'onglet Résultat (Propriétés du Workflow) n'existe plus à partir de la version 9.00A et ne peut donc plus être modifié avec l'élément de script ! Le script ne permet pas d'arrêter ou de poursuivre l'exécution du propre Workflow, ni de le modifier par la suite. Codes retour Automation Engine 137 Généralités : "0" - Modifications réussies. "9" - L'utilisateur n'est pas autorisé à modifier la Tâche indiquée à l'exécution. "20437" - La marque horaire n'a pas été indiquée dans le format "JJ/HH:MM". "20591" - Le Workflow avec ce RunID n'existe pas ou est inactif. "20738" - La Tâche se trouve dans un statut dans lequel la modification ne peut pas être prise en compte. "20739" - La Tâche ne peut pas être modifiée, car elle est actuellement modifiée par un autre utilisateur. "20740" - Indication d'un type d'objet non valide. "20741" - Le numéro courant et/ou le nom entrés ne correspondent à aucune Tâche. "20743" - La Tâche ne peut être modifiée, car le Workflow est toujours en cours d'exécution. "20744" - La Tâche ne peut pas être modifiée, car elle ne se trouve dans aucun statut modifiable. "20745" - La modification de la Tâche n'est pas admise, car la valeur n'est pas autorisée. "20746" - L'ajout d'une dépendance est impossible, car elle existe déjà. "20747" - La modification d'une dépendance est impossible, car elle se trouve dans aucun statut modifiable. "20748" - L'ajout d'une Tâche est impossible, car une autre Tâche se trouve déjà à cet emplacement. "20749" - Le type d'objet de la Tache indiquée n'est pas admis. "20750" - La fonction ne peut pas être exécutée pour la Tâche avec le RunID en raison d'une erreur précédente. "20752" - Une Tâche externe peut uniquement être remplacée par une autre Tâche externe. "20753" - Il est impossible de remplacer <DEBUT> par <FIN>. "20754" - <DEBUT> ne doit en aucun cas avoir de prédécesseur. "20755" - <FIN> ne doit en aucun cas avoir de successeur. "20756" - Les Tâches externes ne doivent en aucun cas avoir de prédécesseurs. "20757" - Une Tâche non valide a été indiquée lors de la modification d'une dépendance externe. "20758" - Il est impossible d'indiquer des dépendances externes. Avec ADD_TASK : Numéro courant de la Tâche à ajouter dans le Workflow "0" - La Tâche n'a pu être ajoutée. Avec REPLACE_TASK : Numéro courant de la nouvelle Tâche dans le Workflow "0" - La Tâche n'a pu être remplacée. Start, Stop et Commit Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] Syntaxe MODIFY_TASK (RunID, Statut [, FORCED] ) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script 138 Chapter 3 Organisation fonctionnelle Statut Statut du traitement devant être défini pour la Tâche Format : nom UC4, littéral de script ou Variable de script Valeurs autorisées : "COMMIT", "GO", "STOP" et "STOP_MODIFY" "COMMIT" - Reprend les modifications sans démarrer le Workflow. "GO" - Démarre le Workflow. Avec le paramètre FORCED, vous pouvez forcer le démarrage même s'il est ouvert pour modification dans le Moniteur. "STOP" - Arrête un Workflow. "STOP_MODIFY" - Arrête un Workflow pour le modifier. FORCED A utiliser avec le paramètre "GO". FORCED démarre un Workflow arrêté même si elle est ouverte pour modification dans le Moniteur. Les éventuelles modifications effectuées entre-temps par un autre Utilisateur sont perdues. Remarques La fonction script modifie le statut de Traitement du Workflow. Exemples Le Workflow "GS.JOUR" est arrêté pour modification. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RET# = MODIFY_TASK(&RUNID#, STOP_MODIFY) Le Workflow "GS.JOUR" est redémarré. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RET# = MODIFY_TASK(&RUNID#, GO, FORCED) Modification d'un Workflow [Start, Stop et Commit] [Modifier la structure d'un Workflow [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] Syntaxe MODIFY_TASK (RunID, Nom de l'objet,, ADD_TASK [, EXTERNAL [, Nom du Workflow]] ) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script Nom de l'objet Nom de l'objet dans lequel le Workflow doit être inclus. Format : littéral de script, chiffre ou Variable de script. ADD_TASK Ajoute une Tâche. EXTERNAL Ajoute une Tâche en tant que dépendance externe. Nom du Workflow Nom du Workflow dans lequel se trouve la dépendance externe Format : littéral de script ou Variable de script Automation Engine 139 Remarques La fonction script ajoute au Workflow une Tâche ou une dépendance externe. La Tâche est placée à un endroit libre du Workflow. Déplacez-la avec les fonctions MODIFY_TASK et MOVE_TASK. Attention, la Tâche ajoutée ne doit pas être reliée à d'autres Tâches. Tirez les lignes nécessaires en exécutant MODIFY_TASK avec ADD_DEPENDENCY. Attention, il faut mettre deux virgules après le paramètre Nom de l'objet. Le troisième paramètre est le numéro courant d'une Tâche dans le Workflow. Il n'a aucune importance pour l'ajout d'une Tâche. Exemple L'objet "FICHIER.ENTREE" est ajouté au Workflow "GS.JOUR". :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#,"FICHIER.ENTREE",, ADD_TASK) :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK (RunID, [Nom de la Tâche], [Numéro courant], REPLACE_TASK ,Nom de l'objet [, EXTERNAL [, Nom du Workflow]]) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom d'objet ou numéro courant de la Tâche du Workflow devant être remplacée. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Si plusieurs Tâches du même nom existent dans le Workflow et si aucun numéro courant n'est indiqué, la Tâche sera automatiquement utilisée avec le numéro le plus bas. REPLACE_TASK Remplace une Tâche. Nom d'objet Nom de l'objet devant remplacer la Tâche. Format : Littéral de script ou Variable de script EXTERNAL Remplace une dépendance externe. 140 Chapter 3 Organisation fonctionnelle Nom du Workflow Nom du Workflow dans lequel se trouve la dépendance externe. Format : Littéral de script ou Variable de script Remarques La fonction remplace la Tâche du Workflow par un autre objet. Le type de l'objet remplacé doit être respecté : une dépendance par une dépendance, une Tâche par une Tâche. Exemple La dépendance externe "GS.OBTENIR.FICHIERS" doit être remplacée par "GS.FICHIER.ENTREE". :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "GS.OBTENIR.FICHIERS",, REPLACE_TASK, "GS.FICHIER.ENTREE", EXTERNAL) :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], MOVE_TASK ,Colonne, Ligne) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom d'objet ou numéro courant de la Tâche du Workflow devant être déplacée. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Si plusieurs Tâches du même nom existent dans le Workflow et si aucun numéro courant n'est indiqué, la Tâche sera automatiquement utilisée avec le numéro le plus bas. MOVE_TASK Déplace une Tâche. Colonne Numéro de la colonne cible. Format : littéral de script, chiffre ou Variable de script. Automation Engine Ligne 141 Numéro de la ligne cible. Format : littéral de script, chiffre ou Variable de script. Remarques La fonction déplace une Tâche dans un Workflow. Exemple La Tâche "FICHIER.ENTREE" est déplacée vers la 4e ligne de la première colonne. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, MOVE_TASK, 1, 4) :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK(RunID, [nom de la Tâche], [numéro courant], ALIAS ,Alias) MODIFY_TASK(RunID, [nom de la Tâche], [numéro courant], ALIAS_PARENT ,Alias Parent) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom d'objet ou numéro courant de la Tâche du Workflow devant être modifiée. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Si plusieurs Tâches du même nom existent dans le Workflow et si aucun numéro courant n'est indiqué, la Tâche sera automatiquement utilisée avec le numéro le plus bas. ALIAS Modifie l'alias d'une Tâche ou dépendance externe dans le Workflow ALIAS_PARENT Modifie l'alias du Workflow des dépendances externes. Uniquement possible si la Tâche externe provient d'un autre Workflow. 142 Chapter 3 Organisation fonctionnelle Alias Alias Parent Alias pour la Tâche, dépendance externe ou pour le Workflow de la Tâche externe (uniquement pour les dépendances externes qui se réfèrent à une Tâche dans un autre Workflow) Format : nom UC4, littéral de script, chiffre ou Variable de script Les mêmes restrictions sont valables pour l'alias que pour le nom de l'objet : Longueur maximale : 200 caractères Caractères autorisés: A-Z, 0-9, $, @, _, . et # Remarques La fonction script modifie l'alias d'une Tâche ou dépendance externe dans un Workflow. L'alias peut uniquement être modifié par des Tâches du Workflow et des dépendances externes qui ont été nouvellement ajoutées avec l'élément de script. Pour ce faire, utilisez le paramètre ADD_TASK. Nous recommandons toujours d'indiquer le numéro courant pour effectuer la modification au niveau de la Tâche appropriée ! Cela est surtout nécessaire si plusieurs Tâches portant le même nom d'objet se trouvent dans le Workflow. Vous obtenez le numéro courant comme code retour de la fonction script si vous ajoutez une Tâche (ADD_TASK). Exemple La Tâche "FICHIER.ENTREE" est ajoutée au Workflow "MAWI.TAG" et son alias est modifié sur "ALIAS.FT". :SET&RUNID# = GET_UC_OBJECT_NR("MAWI.TAG") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&NR# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, ADD_TASK) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",&NR#,ALIAS,ALIAS.FT) :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Onglet Généralités [Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], CHECKPOINT, Marque horaire [, Fuseau horaire] [, objet d'alerte]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Automation Engine Nom de la Tâche Numéro courant 143 Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. CHECKPOINT Place ou retire un point de contrôle Marque horaire Marque horaire pour le point de contrôle Format : Littéral de script ou Variable de script Valeurs autorisées : Marque horaire au format "JJ/HH:MM" - place un point de contrôle à cette heure "NONE" - Retire le point de contrôle Fuseau horaire Nom d'un objet Fuseau horaire. Format : Littéral de script ou Variable de script Fuseau horaire pour lequel la marque horaire doit être convertie. Objet d'alerte Objet devant être démarré lorsque le point de contrôle est dépassé. Format : Littéral de script ou Variable de script Remarques La fonction script ajoute ou retire du Workflow un point de contrôle Exemple L'objet "FICHIER.ENTREE" du Workflow "GS.JOUR" reçoit un point de contrôle. L'objet Alerte "EQUIPE DE JOUR" doit être démarré lorsque le point de contrôle est dépassé. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, CHECKPOINT, "00/15:00",,"EQUIPE DE JOUR") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Onglet "Au plus tôt" [Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] 144 Chapter 3 Organisation fonctionnelle Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], EARLIEST_ START, Marque horaire [, Fuseau horaire]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. EARLIEST_START Place ou retire une heure de début au plus tôt. Marque horaire Marque horaire pour l'heure de début au plus tôt Format : Littéral de script ou Variable de script Valeurs autorisées : Marque horaire au format "JJ/HH:MM" - place une heure de début au plus tôt à cette heure "NONE" - Retire l'heure de début au plus tôt Fuseau horaire Nom d'un objet Fuseau horaire. Format : Littéral de script ou Variable de script Fuseau horaire pour lequel la marque horaire doit être convertie. Remarques La fonction script ajoute ou retire du Workflow une heure de début au plus tôt. Exemple L'objet "FICHIER.ENTREE" du Workflow "GS.JOUR" reçoit une heure de début au plus tôt :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, EARLIEST_START, "00/18:00") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Automation Engine 145 Syntaxe MODIFY_TASK (RunID, [Nom de la Tâche], [Numéro courant], ACTIVE , Valeur) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. ACTIVE (Dés)active une Tâche. Valeur Valeurs autorisées : "YES" et "NO" "YES" - Active la Tâche Elle sera exécutée au moment prévu. "NO" - Désactive la Tâche. Elle ne sera pas exécutée au moment prévu Remarques La fonction (dés)active une Tâche du Workflow. Exemple La Tâche "FICHIER.ENTREE" du Workflow "GS.JOUR" doit être désactivée. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, ACTIVE, "NO") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK (RunID, [Nom de la Tâche], [Numéro courant], BREAKPOINT, Valeur) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script 146 Chapter 3 Organisation fonctionnelle Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. BREAKPOINT Place ou retire un point d'arrêt d'une Tâche. Valeur Valeurs autorisées : "YES" et "NO" "YES" - Place un point d'arrêt sur cette Tâche. "NO" - Retire le point d'arrêt de cette Tâche. Remarques La fonction place ou retire un point d'arrêt d'une Tâche. Exemple La Tâche "FICHIER.ENTREE" du Workflow "GS.JOUR" doit recevoir un point d'arrêt. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, BREAKPOINT, "YES") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Onglet "Dépendances" [Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], LATEST_ START, Marque horaire [, Fuseau horaire]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Automation Engine Nom de la Tâche Numéro courant 147 Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. LATEST_START Place ou retire une heure de début au plus tard. Marque horaire Marque horaire pour l'heure de début au plus tard Format : Littéral de script ou Variable de script Valeurs autorisées : Marque horaire au format "JJ/HH:MM" - place une heure de début au plus tard à cette heure "NONE" - Retire l'heure de début au plus tard Fuseau horaire Nom d'un objet Fuseau horaire. Format : Littéral de script ou Variable de script Fuseau horaire pour lequel la marque horaire doit être convertie. Remarques La fonction script ajoute ou retire du Workflow une heure de début au plus tard. Exemple L'objet "FICHIER.ENTREE" du Workflow "GS.JOUR" reçoit une heure de début au plus tard. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, LATEST_START, "00/10:00:00") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], LATEST_END, Marque horaire [, Fuseau horaire]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script 148 Chapter 3 Organisation fonctionnelle Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. LATEST_END Place ou retire une heure de fin au plus tard. Marque horaire Marque horaire pour l'heure de fin au plus tard Format : Littéral de script ou Variable de script Valeurs autorisées : Marque horaire au format "JJ/HH:MM" - place une heure de fin au plus tard à cette heure "NONE" - Retire l'heure de fin au plus tard Fuseau horaire Nom d'un objet Fuseau horaire. Format : Littéral de script ou Variable de script Fuseau horaire pour lequel la marque horaire doit être convertie. Remarques La fonction script ajoute ou retire du Workflow une heure de fin au plus tard. Exemple L'objet "FICHIER.ENTREE" du Workflow "GS.JOUR" reçoit une heure de fin au plus tard. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, LATEST_END, "00/18:00") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], DEPENDENCY_STATE_ MATCH , Valeur ) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Automation Engine Nom de la Tâche Numéro courant 149 Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. DEPENDENCY_ STATE_MATCH Détermine le nombre de statuts des prédécesseurs devant correspondre. Valeur Valeurs autorisées : "*ALL" et "NON" "ALL" - Tous les statuts doivent correspondre "ONE" - Au moins un statut doit correspondre Remarques La fonction détermine le nombre de statuts des prédécesseurs devant correspondre pour que la Tâche puisse être exécutée. Exemple Tous les prédécesseurs de la Tâche "FICHIER.ENTREE" du Workflow "GS.JOUR" doivent avoir le statut attendu. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, DEPENDENCY_STATE_MATCH, "ALL") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK (RunID, [nom de la Tâche du successeur], [numéro courant], Dépendance,[nom de la Tâche source] , [numéro courant], statut) Elément de syntaxe Description/format RunID Numéro courant (RunID) du Workflow activé Format : littéral de script, chiffre ou Variable de script 150 Chapter 3 Organisation fonctionnelle Nom de la Tâche du successeur Numéro courant Nom ou numéro de la Tâche du successeur. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Dépendances Pour modifier les dépendances Valeur autorisées : "ADD_DEPENDENCY", "MODIFY_DEPENDENCY" et "REMOVE_DEPENDENCY" "ADD_DEPENDENCY" - Ajoute une dépendance "MODIFY_DEPENDENCY" - Modifie une dépendance "REMOVE_DEPENDENCY" - Retire une dépendance Nom de la Tâche Numéro courant Nom ou numéro de la Tâche dont la dépendance doit être modifiée. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Statut Statut attendu de la Tâche précédente à la fin de l'exécution. Format : Littéral de script ou Variable de script Valeurs autorisées : "Statut de fin" et "NONE" "Statut de fin" - Par ex : ENDED_OK "NONE" - Le statut de fin n'est pas contrôlé. "REMOVE_DEPENDENCY" n'a pas besoin de statut. Remarques La fonction script ajoute ou retire du Workflow une dépendance. Elle relie aussi avec des lignes des Tâches entre elles Exemple La case START est reliée à 4 Tâches. Le statut de fin, que la Tâche 9 attend de son prédécesseur, Tâche 8, devient "ANY_OK". La dépendance et donc la ligne entre les Tâches 10 et 11 sont alors supprimées. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#,, 4, ADD_DEPENDENCY, "START",, "ENDED_OK") :SET&RET# = MODIFY_TASK(&RUNID#,, 9, MODIFY_DEPENDENCY,, 8,"ANY_OK") :SET&RET# = MODIFY_TASK(&RUNID#,, 11, REMOVE_DEPENDENCY,, 10, "ENDED_OK") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Automation Engine 151 Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], DEPENDENCY_ELSE_ ACTION , Action Sinon[ , objet d'Alerte] ) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. DEPENDENCY_ ELSE_ACTION Détermine l'action devant être exécutée si la dépendance attendue n'apparaît pas. Action Sinon Valeurs autorisées :"ABORT", "BLOCK", "BLOCK_ABORT" et "SKIP" "ABORT" - La Tâche et le Workflow sont interrompus. "BLOCK" - Le Workflow est suspendu à la Tâche précédente. "BLOCK_ABORT" - Le Workflow est suspendu à la Tâche précédente et envoie, la cas échéant, un signal d'arrêt au Workflow supérieur. "SKIP" - La Tâche est ignorée. Objet d'alerte Objet devant être démarré lorsque le point de contrôle est dépassé. Format : Littéral de script ou Variable de script Remarques La fonction script détermine l'action devant être exécutée si la dépendance attendue n'apparaît pas. Exemple La Tâche "FICHIER.ENTREE" du Workflow "GS.JOUR" doit être ignorée si la dépendance attendue n'apparaît pas. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, DEPENDENCY_ELSE_ACTION, "SKIP") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) 152 Chapter 3 Organisation fonctionnelle Onglet Exécution [Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] [Onglet "Dépendance externe"] Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], Option d'exécution Valeur) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. Option d'exécution Option d'exécution devant être modifiée. Valeurs autorisées : "RUNTIME_USE_TASK_SETTINGS" - Utiliser la configuration MRT/SRT de la Tâche "RUNTIME_MRT_NONE" - Pas de durée maximale d'exécution "RUNTIME_MRT_FIXED" - Durée maximale d'exécution fixe "RUNTIME_MRT_ERT" - Durée maximale d'exécution = ERT + % "RUNTIME_MRT_TIME" - Durée maximale d'exécution = date actuelle + une période définie "RUNTIME_SRT_NONE" - Pas de durée minimale d'exécution "RUNTIME_SRT_FIXED" - Durée minimale d'exécution fixe "RUNTIME_SRT_ERT" - Durée minimale d'exécution = ERT - % "RUNTIME_ELSE_ACTION" - Action Sinon si la durée d'exécution est différente Automation Engine Valeur 153 La valeur dépend de l'option d'exécution. Pour "RUNTIME_USE_TASK_SETTINGS" : "YES" et "NO" "YES" - Utiliser les options d'exécution de la Tâche "NO" - Utiliser les options d'exécution des propriétés Pour "RUNTIME_MRT_NONE" : Valeur autorisée : Pour "RUNTIME_MRT_FIXED" : Valeur fixe au format HH:MM:SS Pour "RUNTIME_MRT_ERT" : Pourcentage Pour "RUNTIME_MRT_TIME" : "JJ/HH:MM" [, Fuseau horaire] "JJ" - Nombre de jours à ajouter à la date actuelle "HH:MM" - Heure Fuseau horaire dans lequel la marque horaire doit être convertie Pour "RUNTIME_SRT_NONE" : Valeur autorisée : Pour "RUNTIME_SRT_FIXED" : Valeur fixe au format HH:MM:SS Pour "RUNTIME_SRT_ERT" : Pourcentage Pour "RUNTIME_ELSE_ACTION" : Action Sinon [, objet d'alerte] Action Sinon - "CANCEL" (Interrompre/arrêter la Tâche) et "NONE" (Pas d'action Sinon) Objet d'alerte à démarrer si la durée d'exécution est dépassée. Remarques La fonction script modifie les paramètres d'exécution du Workflow. Exemple Si l'exécution de la Tâche "FICHIER.ENTREE" dure plus que deux heures, l'objet Alerte "EQUIPE DE JOUR" est démarré. La durée minimale d'exécution est sans importance. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RETMRT# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, RUNTIME_MRT_FIXED, "2:00:00") :SET &RETSRT# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, RUNTIME_SRT_NONE) :SET &RETACT# = MODIFY_TASK(&RUNID#, "FICHIER.ENTREE",, RUNTIME_ELSE_ ACTION,"CANCEL", "EQUIPE DE JOUR") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Onglet "Dépendance Externe" [Start, Stop et Commit] [Modifier la structure d'un Workflow] [Onglet Généralités] [Onglet "Au plus tôt"] [Onglet "Dépendances"] [Onglet Exécution] Onglet "Dépendance externe"] 154 Chapter 3 Organisation fonctionnelle Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant],EXTERNAL_ SATISFACTION , Délai d'exécution [, Durée]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. EXTERNAL_ SATISFACTION Définit le délai d'exécution. Satisfaction du Temps de référence Validité du délai d'exécution Format : Littéral de script ou Variable de script Valeurs autorisées : "LOGICAL_DATE", "LAST_EXECUTION", "BEFORE_ START" et "AFTER_START" "LOGICAL_DATE" - Valable seulement s'il est activé avec la même date logique "LAST_EXECUTION" - Depuis la dernière exécution du Workflow "BEFORE_START" - Dans les limites d'une période avant le démarrage du Workflow "AFTER_START" - Après le démarrage du Workflow Durée Période pour l'option "BEFORE_START" au format "HH:MM:SS" Format : Littéral de script ou Variable de script Remarques La fonction définit le délai d'exécution d'une dépendance externe. Exemple Le délai d'exécution de la dépendance externe "GS.FICHIERS.CHERCHER" commence au démarrage du Workflow. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "GS.OBTENIR.FICHIERS",, EXTERNAL_ SATISFACTION, "AFTER_START") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Automation Engine 155 Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], EXTERNAL_STATUS , Statut) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. EXTERNAL_STATUS Définit ou supprime le statut attendu. Statut Statut attendu de la Tâche externe à la fin de l'exécution. Format : Littéral de script ou Variable de script Valeurs autorisées : "Statut de fin" et "NONE" "Statut de fin" - Par ex : ENDED_OK "NONE" - le système vérifie uniquement si la Tâche s'est terminée dans le délai imparti. Son statut n'a alors aucune importance. Remarques La fonction définit le statut attendu d'une dépendance externe. Exemple La dépendance externe "GS.FICHIER.CHERCHER" du Workflow "GS.JOUR" doit avoir le statut "ENDED_OK". :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "GS.OBTENIR.FICHIERS",, EXTERNAL_STATUS, "ENDED_OK") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) 156 Chapter 3 Organisation fonctionnelle Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], EXTERNAL_ELSE_ ACTION , Action [, objet d'alerte]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. EXTERNAL_ELSE_ ACTION Définit l'action à exécuter si la Tâche externe n'a pas atteint au moins une fois le statut attendu dans le délai imparti ou si elle ne s'est pas terminée. Action Valeurs autorisées : "WAIT", "SKIP" et "CANCEL" "WAIT" - Attendre "SKIP" - Ignorer "CANCEL" - Interrompre le Workflow Objet d'alerte Objet devant être démarré lorsque le délai d'attente est dépassé. Format : Littéral de script ou Variable de script Remarques La fonction définit l'action Sinon d'une dépendance externe. Exemple Le Workflow "GS.JOUR" est interrompue si la dépendance externe sur "GS.FICHIER.CHERCHER" n'apparaît pas comme prévue. L'objet Alerte "EQUIPE DE JOUR" doit alors être démarré. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "GS.OBTENIR.FICHIERS",, EXTERNAL_ELSE_ ACTION, "CANCEL", "EQUIPE DE JOUR") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Syntaxe MODIFY_TASK(RunID, [Nom de la Tâche], [Numéro courant], EXTERNAL_TIMEOUT_ ACTION , Durée du délai d'attente , Action [, objet d'alerte]) Automation Engine Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script Nom de la Tâche Numéro courant Nom ou numéro de la Tâche précédente du Workflow. Format : littéral de script, chiffre ou Variable de script. 157 Une Tâche dans un Workflow est identifiée par l'un ou l'autre. Vous pouvez entrer celui que vous voulez. Si vous entrez les deux, ils doivent bien sûr correspondre. Attention, le numéro courant n'est pas le RunID. C'est le numéro de la Tâche dans le Workflow (par ex."3" pour la troisième Tâche dans a liste). Le numéro courant est signalé dans la case de la Tâche. EXTERNAL_ TIMEOUT_ACTION Définit la période pendant laquelle le système doit attendre avant d'effectuer l'action Sinon "WAIT". Durée du délai d'attente Durée du délai d'attente au format "HH:MM:SS" Format : Littéral de script ou Variable de script Action Valeurs autorisées : "WAIT", "SKIP" et "CANCEL" "WAIT" - Attendre "SKIP" - Ignorer "CANCEL" - Interrompre le Workflow Objet d'alerte Objet devant être démarré lorsque un délai d'attente apparaît. Format : Littéral de script ou Variable de script Remarques La fonction définit les paramètres du délai d'attente d'une dépendance externe. Exemple La dépendance externe "GS.OBTENIR.FICHIERS" doit être ignorée au bout d'une heure. :SET&RUNID# = GET_UC_OBJECT_NR("GS.JOUR") :SET&RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY) :SET&RET# = MODIFY_TASK(&RUNID#, "GS.OBTENIR.FICHIERS",, EXTERNAL_TIMEOUT_ ACTION, "01:00:00", "SKIP") :SET&RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT) :SET&RETGO# = MODIFY_TASK(&RUNID#, GO) Rubriques connexes : Elément de script Description MODIFY_UC_OBJECT Modifie l'attribut d'un objet activé. Elément de script - Activation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 158 Chapter 3 Organisation fonctionnelle 3.4.25 MODIFY_UC_OBJECT Fonction script : Modifie l'attribut d'un objet activé. Syntaxe MODIFY_UC_OBJECT(RunID, attribut, valeur) Elément de syntaxe Description/format RunID Numéro courant (RunID) de l'objet activé Format : littéral de script, chiffre ou Variable de script. Si l'attribut EARLIEST_STARTTIME a été utilisé, sa valeur n'est pas le RunID de la Tâche, mais celui du Workflow dans lequel la Tâche se trouve. Attribut Attribut qui doit être modifié. Format : nom UC4 ou Variable de script Valeur Valeur définie pour l'attribut. Format : nom UC4, littéral de script, chiffre ou Variable de script Codes retour Automation Engine 159 "0" - La modification de l'attribut est réussie. "20342" - Cet attribut n'est pris en charge. Les codes retour de l'attribut GAP sont : 20534 - "0" n'est pas permis. 20591 - Le RunID n'a pas été trouvé. 20860 - Il ne s'agit pas d'une Tâche périodique. 20861 - L'option "Avec un intervalle de..." n'a pas été sélectionnée dans la Tâche périodique. Les codes retour des attributs GOIMM, EARLIEST_STARTTIME et REMOVE_DEPENDENCY sont : "20378" - Le Workflow n'a pas été trouvé. "20840" - Il existe plusieurs instances de cette Tâche dans le Workflow. "20841" - Cette Tâche n'existe pas dans le Workflow. Les codes retour de l'attribut GR_MAX_PAR_JOBS sont "11121" - Le RunID n'a pas été trouvé. "20460" - La valeur de l'attribut n'est pas dans la plage 1-999. Les codes retour de l'attribut IGNORE_SYNC sont : "11191" - Le RunID n'a pas été trouvé. Les codes retour de l'attribut GR_MAX_PAR_JOBS sont "20591" - Le RunID n'a pas été trouvé. "20587" - La valeur de l'attribut n'est pas dans la plage 0-999. Les codes retour de l'attribut RELEASE sont : "11016" - Le Workflow à modifier n'existe pas. "11510" - Le Workflow n'est pas actif. "20540" - Le RunID n'a pas été trouvé. Les codes retour de l'attribut RESPONSE sont : "20539" - Pas d'Alerte avec ce RunID. "20538" - La valeur n'est pas correcte. "11151" - La valeur donnée ne correspond pas au type d'Alerte (Message, Requête, Alerte). "11060" - La paire Alerte/Valeur n'est pas prise en charge. "11061" - L'Alerte a déjà été acceptée par un autre Utilisateur. "11062" - La confirmation de l'Alerte vient d'un Utilisateur qui n'est pas dans l'objet Alerte. "11064" - Le rejet de l'Alerte vient d'un Utilisateur qui n'est pas dans l'objet Alerte. "20859" - La réaction à cette Alerte vient d'un Utilisateur inactif dans l'objet Alerte. Remarques Les attributs cités dans le tableau peuvent être modifiés par des objets activés. Les nouvelles valeurs s'appliquent à l'exécution actuelle de la Tâche et ne sont donc pas enregistrées dans l'objet. Type d'objet Attribut Valeur CALL RESPONSE Réaction à une Alerte. "OK" = confirmation de l'Alerte (Message). "YES" = Répondre positivement à l'Alerte (Requête). "NO" = Répondre négativement à l'Alerte (Requête). "ACCEPT" = Accepter l'Alerte (Alerte). "REJECT" = Rejeter l'Alerte (Alerte). "DONE" = Traiter l'Alerte (Alerte) 160 Chapter 3 Organisation fonctionnelle JOBG GR_MAX_PAR_ JOBS Nombre maximum de Tâches exécutées en parallèle dans un Groupe. 1 à 999 Tâches exécutées en parallèle. JOBP RELEASE Numéro courant (RunID) de la Tâche bloquée dans le Workflow. Libération d'un Workflow bloqué. Pour les trois attributs suivants, la Tâche à modifier doit avoir le statut "Attente de précondition". GOIMM La Tâche d'un Workflow démarre immédiatement Nom de la Tâche. Elle ne doit s'afficher qu'une seule fois dans le Workflow. EARLIEST_ STARTTIME Modification de l'heure de début la plus ancienne d'une Tâche dans un Workflow Indiquez l'heure de début la plus ancienne ou le mot clé "OFF". Dans les deux cas, la fonction de script a également besoin du nom de la Tâche. Syntaxe du paramètre Valeur : Nom de la Tâche, [format de l'heure;]heure ou Nom de la Tâche, OFF L'heure de début est attribuée à la Tâche ou en modifie une déjà définie. La fonction de script attend le format d'heure "HHMMSS" lorsque vous n'en définissez pas de particulière. Le mot clé "OFF" supprime l'heure de début la plus ancienne. Attention, vous ne pouvez modifier avec la fonction de script MODIFY_UC_OBJECT que l'heure de début la plus ancienne. Le nombre de jours après lequel une Tâche doit démarrer sera toujours 0 si vous utilisez l'attribut EARLIEST_STARTTIME. Vous ne pouvez définir aucune valeur. A partir de la version 8 de Operations Manager, le script MODIFY_ TASK permet de définir, sous la forme "JJ/HH.MM", l'heure de début au plus tôt d'une Tâche dans un Workflow activé. REMOVE_ DEPENDENCY Suppression de la dépendance avec le prédécesseur direct La Tâche ignore le statut de fin attendu du prédécesseur indiqué. Par conséquent, le traitement de cette Tâche se poursuit si tous les autres prédécesseurs sont déjà terminés. Syntaxe du paramètre Valeur : nom de la Tâche [, nom du prédécesseur ] Lorsque vous n'indiquez pas de prédécesseur, tous les prédécesseurs sont ignorés et la Tâche démarre immédiatement. Automation Engine 161 CALL, JOBF, PRIORITY JOBP, Priorité de la JOBS, Tâche JSCH, SCRI Valeurs autorisées : 0 à 255 Tâches du Workflow IGNORE_ CONDITIONS Démarre immédiatement une Tâche de Workflow qui se trouve dans le statut Pré-conditions". Le paramètre Valeur ne doit pas être spécifié. Tâches du Workflow CHECK_ CONDITIONS Recommencer la vérification des conditions/instructions d'une tâche de Workflow qui se trouve dans le statut "En attente des Préconditions". Le paramètre Valeur ne doit pas être spécifié. CALL, IGNORE_ EVNT, QUEUE JOBF, JOBG, JOBP, JOBQ,JOBS, JSCH, SCRI Démarre immédiatement une tâche se trouvant dans un statut d'attente en raison de slots de Queue insuffisants. Le paramètre Valeur ne doit pas être spécifié. Tous les objets activables Les paramètres Sync sont ignorés. La valeur n'a aucune importance, cependant ce paramètre doit être spécifié. IGNORE_SYNC Exemple : MODIFY_UC_OBJECT(&RUNNR#, IGNORE_SYNC, "") Tâches périodiques GAP Modifie l'intervalle de temps entre les exécutions d'une Tâche périodique. Valeur en minutes Tous les objets exécutables SET_EXPRESS Démarre immédiatement une tâche qui se trouve dans le statut "En attente de ressources" (JOBS, JOBF et JOBD). Valeurs autorisées : "ON" et "OFF" Vous pouvez modifier cette Tâche avec cette fonction, si elle est déjà créée mais qu'elle se trouve encore en statut d'attente. Elle ne doit pas avoir été définie sur Générer à l'Exécution. Utilisez l'instruction de script :PUT_ATT si vous désire qu'une Tâche soit modifiée dès sa création. L'instruction de script :ON_ERROR permet de définir la réaction en cas d'erreur. Comme indiqué auparavant, vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemples Le premier exemple montre comment confirmer une Alerte (Requête). Pour ce faire, le numéro courant (RunID) doit au préalable avoir été déterminé et enregistré dans la Variable de script "&RUNNR#". :SET &RUNNR# = ACTIVATE_UC_OBJECT("équipe de nuit") !... :SET &MODOBJ# = MODIFY_UC_OBJECT( &RUNNR#, RESPONSE, OK) 162 Chapter 3 Organisation fonctionnelle Dans le deuxième exemple, un Groupe est activé et le numéro courant (RunID) est enregistré dans une Variable de script. Le nombre de Tâches exécutées en parallèle dans le Groupe est défini sur "1". Les Tâches enregistrées en attente ne sont ensuite traitées qu'en série. :SET &RUNNR# = ACTIVATE_UC_OBJECT("GRP7") :SET &MODOBJ# = MODIFY_UC_OBJECT( &RUNNR#, GR_MAX_PAR_JOBS, 1) Les exemples suivants montrent des modifications d'une Tâche exécutée dans un Workflow. !Le Job "GS.FIN" doit démarrer immédiatement. :SET &RUNNR# = GET_UC_OBJECT_NR(GS.JOUR) :SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, GOIMM, "GS.FIN") !Le Job "GS.FIN" doit être exécuté au plus tôt à 15h00. :SET &RUNNR# = GET_UC_OBJECT_NR(GS.JOUR) :SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, EARLIEST_ STARTTIME,"GS.FIN","150000") !Le Job "GS.FIN" doit ignorer l'heure de début la plus ancienne. :SET &RUNNR# = GET_UC_OBJECT_NR(GS.JOUR) :SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, EARLIEST_STARTTIME,"GS.FIN", OFF) !Le Job "GS.FIN" doit ignorer la dépendance envers le prédécesseur "GS.TOUS_LES_JOURS". :SET &RUNNR# = GET_UC_OBJECT_NR(GS.JOUR) :SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, REMOVE_DEPENDENCY,"GS.FIN", "GS.TOUS_LES_JOURS") Rubriques connexes : Elément de script Description :ADD_ATT Ajoute des destinataires à un objet Alerte pendant l'exécution. :PUT_ATT Modifie la valeur d'un attribut pendant la génération. GET_ATT Indique la valeur des attributs d'une Tâche pendant la génération. MODIFY_TASK Modifie les Chaînes de traitements en cours. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.26 SET_SYNC Fonction script : Exécute l'action définie d'un objet Sync. Syntaxe SET_SYNC(Sync, action) Elément de syntaxe Description/format Automation Engine Sync Nom d'un objet Sync dont l'action doit être exécutée. Format : Nom UC4, Littéral de script ou Variable de script Action Action d'un objet Sync devant être exécutée. Format : nom UC4, littéral de script ou Variable de script 163 Codes retour "Y" - L'action a pu être exécutée pour l'objet Sync. "N" - L'action n'a pas pu être exécutée pour l'objet Sync. Remarques Vous pouvez définir les actions pour un objet Sync dans l'onglet "Sync". La possibilité d'exécuter ou non une action dépend de ces définitions, car chacune d'entre elles ne peut uniquement être exécutée dans un statut déterminé. Attention : pour l'exécution de l'élément de script, les droits d'écriture (W) sur l'objet Sync indiqué sont requis ! Exemple L'exemple suivant définit l'action "EXCLUSIF" pour l'objet Sync "DB.STATUS". :SET &RET#=SET_SYNC("DB.STATUS","EXCLUSIF") :IF &RET# = "Y" : PRINT "Le statut EXCLUSIF de l'objet Sync a été défini !" :ELSE : PRINT "Le statut EXCLUSIF de l'objet Sync n'a pas été défini !" :ENDIF Rubriques connexes : Elément de script Description GET_SYNC Demande le statut ou la valeur actuelle d'un objet Sync. :ATTACH_SYNC Attribue un objet Sync à une Tâche. Elément de script - Lecture ou modification d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.27 XML_BEAUTIFY Fonction script : Préparation du style d'affichage d'un document XML. Syntaxe XML_BEAUTIFY (référence) 164 Chapter 3 Organisation fonctionnelle Elément de syntaxe Description/format Référence Référence au document XML à la structure duquel vous souhaitez appliquer un style d'affichage Format : Littéral de script ou Variable de script Code retour "0" - Le contenu du document XML a été bien préparé. Remarques La fonction de script prépare le style d'affichage d'un document XML avant que ce dernier ne soit écrit dans un fichier XML à l'aide de XML_PRINTINTOFILE. Pour que la fonction de script accède à un élément, une référence doit lui être transmise. Cette dernière est fournie par des scripts qui peuvent se positionner dans le document XML, comme XML_GET_FIRST_ CHILD, XML_GET_NEXTSIBLING ou XML_SELECT_NODE. La fonction de script prépare l'élément, ses sous-éléments et les attributs correspondants. Vous pouvez également utiliser la référence retournée par XML_OPEN pour préparer le style d'affichage de l'intégralité du document XML. Si vous n'utilisez pas la fonction de script XML_BEAUTIFY, les informations du document XML sont écrites les unes à la suite des autres (sans retour à la ligne) dans un fichier. Ce fichier est par conséquent difficilement lisible si vous l'ouvrez avec un éditeur de texte tel que le Bloc-notes. Exemples L'intégralité de la structure de la documentation est tout d'abord préparée afin d'être plus lisible, puis affichée dans le fichier "Docu.xml". :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &RET1#= XML_BEAUTIFY(&XMLDOCU#) :SET &RET2# = XML_PRINTINTOFILE("C:\UC4\XML_ Documentation\Docu.xml",&XMLDOCU#) :XML_CLOSE Le second exemple affiche dans un fichier les éléments "Description" et "Objets", ainsi que leurs attributs. :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) :SET &RET1#= XML_BEAUTIFY(&HND#) :SET &RET2# = XML_PRINTINTOFILE("C:\UC4\XML_Documentation\Docu.xml",&HND#) :XML_CLOSE Rubriques connexes : XML_PRINTINTOFILE Affiche le document XML dans un fichier Elément de script - Lecture ou modification d'objets Documentation structurée Automation Engine 165 www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.28 XML_GET_ATTRIBUTE Fonction script : indication la valeur d'un attribut d'un élément. Syntaxe XML_GET_ATTRIBUTE (référence, @attribut) Elément de syntaxe Description/format Référence Référence à l'élément dont vous souhaitez déterminer la valeur d'attribut Format : Littéral de script ou Variable de script Attribut Nom de l'attribut commençant par "@" Format : Littéral de script ou Variable de script Codes retour Contenu de l'attribut. " " - L'attribut n'a aucune valeur ou l'élément ne comporte pas d'attribut. Remarques Cette fonction de Script permet de lire la valeur d'attribut d'un élément dans un document XML. Pour que la fonction de script accède à l'élément, une référence doit lui être transmise. Cette dernière est fournie par des scripts qui peuvent se positionner dans un document XML, comme XML_GET_FIRST_ CHILD, XML_GET_NEXTSIBLING, XML_SELECT_NODE ou XML_OPEN. La documentation structurée comporte deux types d'attribut distincts, "Texte" et "Liste", tous deux lisibles par XML_GET_ATTRIBUTE. La fonction de script ne peut traiter plus de 1024 caractères. Sinon, elle ne renvoie aucun code retour. Faites par conséquent attention à la longueur de l'attribut. Exemple L'exemple suivant permet de déterminer la valeur de l'attribut "Nom" (de type Liste) et celle de l'attribut "Titre" (de type Texte). Les contenus "Henri" et "Disposition 2008" sont affichés dans le rapport d'activation. 166 Chapter 3 Organisation fonctionnelle :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") : : : : : : SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) SET &HND# = XML_GET_NEXTSIBLING(&HND#) SET &NOM# = XML_GET_ATTRIBUTE(&HND#, "@Nom") PRINT"Valeur d'attribut : &NOM#" SET &TITRE# = XML_GET_ATTRIBUTE(&HND#, "@Titre") PRINT"Valeur d'attribut : &TITRE#" :XML_CLOSE Rubriques connexes : Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.29 XML_GET_CHILD_COUNT Fonction script : Compte les sous-éléments d'un élément. Syntaxe XML_GET_CHILD_COUNT (référence) Elément de syntaxe Description/format Référence Référence à l'élément dont vous souhaitez compter les sous-éléments Format : Littéral de script ou Variable de script Code retour Nombre de sous-éléments. Automation Engine 167 Remarques La fonction de Script détermine le nombre de sous-éléments d'un élément. Pour que la fonction de script accède à l'élément, une référence doit lui être transmise. Cette dernière est fournie par des scripts qui peuvent se positionner dans le document XML, comme XML_GET_FIRST_ CHILD, XML_GET_NEXTSIBLING, XML_SELECT_NODE ou XML_OPEN. Attention : seuls les sous-éléments qui figurent dans le niveau suivant de la structure sont dénombrés. La fonction de Script ne détermine pas le nombre total de sous-éléments d'un élément. Exemple L'exemple affiche dans le rapport d'activation le nombre de sous-éléments "2". :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &NR# = XML_GET_CHILD_COUNT(&XMLDOCU#) :PRINT "Nombre de sous-éléments de Content : &NR#" :XML_CLOSE Rubriques connexes : Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.30 XML_GET_FIRST_CHILD Fonction script : Détermine le premier sous-élément d'un élément 168 Chapter 3 Organisation fonctionnelle Syntaxe XML_GET_FIRST_CHILD (référence) Elément de syntaxe Description/format Référence Référence de l'élément dont vous souhaitez déterminer le sous-élément Format : Littéral de script ou Variable de script Code retour Réfère au premier sous-élément " " - L'élément n'a pas de sous-élément. Remarques La fonction de script détermine le premier sous-élément d'un élément dans le document XML. Pour que la fonction de script accède au premier sous-élément, une référence doit lui être transmise. Cette référence est utilisée par certains scripts pour se positionner dans le document XML et le modifier. Le tout premier descripteur est celui retourné par XML_OPEN. Il renvoie, par exemple, à l'élément racine "Content" de la documentation structurée. Si XML_GET_FIRST_CHILD décale le positionnement d'un niveau vers la droite dans la structure, XML_GET_NEXTSIBLING sert à déterminer l'élément de même niveau suivant. Exemple Dans l'exemple suivant, le nom du premier sous-élément "Description" est déterminé. :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) : : : : : : IF &HND# <> "" SET &NOM# = XML_GET_NODE_NAME(&HND#) PRINT "Sous-élément : &NOM#" ELSE PRINT "Pas de sous-élément." ENDIF Automation Engine 169 :XML_CLOSE Rubriques connexes : Elément de script Description XML_GET_LAST_CHILD Détermine le dernier sous-élément d'un élément. XML_GET_NEXTSIBLING Détermine l'élément suivant. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.31 XML_GET_LAST_CHILD Fonction script : Détermine le dernier sous-élément d'un élément. Syntaxe XML_GET_LAST_CHILD (référence) Elément de syntaxe Description/format Référence Référence de l'élément dont vous souhaitez déterminer le sous-élément Format : Littéral de script ou Variable de script Code retour Référence au dernier sous-élément " " - L'élément n'a pas de sous-élément. Remarques La fonction script détermine le dernier sous-élément d'un élément dans le document XML. Pour que la fonction script accède au dernier sous-élément, une référence doit lui être transmise. Cette référence indique la position dans le document XML. Le tout premier descripteur est celui retourné par XML_OPEN. Il renvoie, par exemple, à l'élément racine "Content" de la documentation structurée. XML_GET_LAST_CHILD descend d'un niveau dans la structure, en partant de l'élément indiqué. XML_GET_NEXTSIBLING au contraire sert à déterminer l'élément suivant au même niveau. Exemple Dans l'exemple suivant, le nom du dernier sous-élément "Info" est déterminé à partir de l'élément principal "Content". 170 Chapter 3 Organisation fonctionnelle :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Details") :SET &HND# = XML_GET_LAST_CHILD(&XMLDOCU#) : : : : : : IF &HND# <> "" SET &NOM# = XML_GET_NODE_NAME(&HND#) PRINT "Dernier sous-élément : &NOM#" ELSE PRINT "Pas de sous-élément." ENDIF :XML_CLOSE Rubriques connexes : Elément de script Description XML_GET_FIRST_CHILD Détermine le premier sous-élément d'un élément XML_GET_NEXTSIBLING Détermine l'élément suivant. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.32 XML_GET_NEXTSIBLING Fonction script : Détermine l'élément suivant. Syntaxe XML_GET_NEXTSIBLING (référence) Automation Engine Elément de syntaxe Description/format Référence Référence à l'élément dont vous souhaitez déterminer le successeur Format : Littéral de script ou Variable de script Codes retour Référence à l'élément suivant de même niveau. " " - L'élément n'est suivi d'aucun élément. Remarques La fonction de script détermine l'élément de même niveau suivant dans le document XML. Pour que la fonction de script accède à l'élément suivant, une référence doit lui être transmise. Cette référence est utilisée par certains scripts pour se positionner dans le document XML et le modifier. Si XML_GET_NEXTSIBLING sert à déterminer l'élément de même niveau suivant, XML_GET_ FIRST_CHILD permet de connaître le premier sous-élément. Exemple Le premier sous-élément, nommé "Description", constitue le point de départ de l'exemple. Tous les éléments de même niveau suivants sont déterminés et affichés dans le protocole d'activation. En l'occurrence, il s'agit uniquement de l'élément "Contacts". :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) : : : : : WHILE &HND# <> "" SET &NOM# = XML_GET_NODE_NAME(&HND#) PRINT "Elément : &NOM#" SET&HND# = XML_GET_NEXTSIBLING(&HND#) ENDWHILE :XML_CLOSE 171 172 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description XML_GET_FIRST_CHILD Détermine le premier sous-élément d'un élément Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.33 XML_GET_NODE_NAME Fonction script : indication du nom d'un élément. Syntaxe XML_GET_NODE_NAME (référence) Elément de syntaxe Description/format Référence Référence à un l'élément dont vous souhaitez déterminer le nom Format : Littéral de script ou Variable de script Code retour Nom de l'élément Remarques Cette fonction de Script permet de lire le nom d'un élément dans un document XML. La référence de l'élément doit être transmise à la fonction de script. Cette dernière est fournie par des scripts qui peuvent se positionner dans le document XML, comme XML_GET_FIRST_CHILD, XML_ GET_NEXTSIBLING ou XML_SELECT_NODE. XML_OPEN indique la référence du premier élément. La fonction de script ne peut traiter plus de 1024 caractères. Sinon, elle ne renvoie aucun code retour. Faites par conséquent attention à la longueur du nom de l'élément. Exemple L'exemple détermine tous les éléments situés au même niveau. Leurs noms ("Description" et "Contacts") sont affichés dans le rapport d'activation. Automation Engine :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) : : : : : WHILE &HND# <> "" SET &NOM# = XML_GET_NODE_NAME(&HND#) PRINT "Elément : &NOM#" SET&HND# = XML_GET_NEXTSIBLING(&HND#) ENDWHILE :XML_CLOSE Rubriques connexes : Elément de script Description XML_GET_NODE_TEXT indication du texte d'un élément. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.34 XML_GET_NODE_TEXT Fonction script : indication du texte d'un élément. Syntaxe XML_GET_NODE_TEXT (référence) Elément de syntaxe Description/format 173 174 Chapter 3 Organisation fonctionnelle Référence Référence à l'élément dont vous souhaitez déterminer le texte Format : Littéral de script ou Variable de script Codes retour Texte de l'élément. " " - L'élément n'a pas de texte. Remarques Cette fonction de script permet de lire le texte d'un élément dans un document XML. Pour que la fonction de script accède à l'élément, une référence doit lui être transmise. Cette dernière est fournie par des scripts qui peuvent se positionner dans le document XML, comme XML_GET_FIRST_ CHILD, XML_GET_NEXTSIBLING, XML_SELECT_NODE ou XML_OPEN. La fonction de script XML_GET_ATTRIBUTE permet d'obtenir le contenu d'un attribut de type texte. La fonction de script ne peut traiter plus de 1024 caractères. Sinon, elle ne renvoie aucun code retour. Faites par conséquent attention à la longueur du texte de l'élément. Exemple L'exemple suivant renvoie le texte "Objets correspondants" de l'élément "Objets" dans le protocole d'activation. :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) :SET &HND# = XML_GET_FIRST_CHILD(&HND#) :WHILE &HND# <> "" : SET &NOM# = XML_GET_NODE_NAME(&HND#) : SET &TXT#= XML_GET_NODE_TEXT(&HND#) : PRINT "Texte de l'élément &NOM#: &TXT#" : SET &HND#= XML_GET_NEXTSIBLING(&HND#) Automation Engine :ENDWHILE :XML_CLOSE Rubriques connexes : Elément de script Description XML_GET_NODE_NAME indication du nom d'un élément. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.35 XML_OPEN Fonction script : Ouvre un document XML en vue du traitement. Syntaxe XML_OPEN (source, [nom d'objet], @documentation) XML_OPEN (source, [RunID], Rapport ) Elément de syntaxe Description/format Source Origine du document XML Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "DOCU" et "REPORT" "DOCU" - Documentation structurée "REPORT" - Rapport d'un Job SAP Pour les documentations structurées Nom d'objet Nom de l'objet Format : Littéral de script ou Variable de script S'il s'agit de l'onglet de l'objet considéré, ce paramètre est facultatif. Documentation Nom de l'onglet de documentation commençant par "@" Format : Littéral de script ou Variable de script Pour les rapports RunID Numéro courant (RunID) de la tâche dont le rapport doit être ouvert. Format : Littéral de script ou Variable de script S'il s'agit du rapport de l'objet considéré, ce paramètre est facultatif. Rapport Type du rapport XML 175 176 Chapter 3 Organisation fonctionnelle Code retour Référence du document XML Remarques La fonction de Script ouvre un document XML en vue du traitement. Il peut s'agir d'une documentation structurée ou du rapport d'un Job SAP. Pour ajouter des descriptions et explications plus précises aux objets, vous pouvez utiliser les onglets de documentation. Ces derniers sont définis dans les variables UC4 UC_OBJECT_DOCU de chaque type d'objet. Caractérisée par un "@" placé en tête, la documentation structurée constitue une forme spéciale d'affichage. Vous pouvez lire la documentation structurée avec des scripts spéciaux. Les rapports des Jobs SAP sont enregistrés sous forme de documents XML. Ils contiennent, par exemple pour XI_GET_CHANNEL, la liste des canaux de communication sélectionnés. Le code retour de la fonction de Script est un descripteur, la référence du document XML. Ce descripteur est utilisé comme paramètre par certains scripts avec lesquels vous modifiez le document XML. :XML_CLOSE ferme le document XML. Vous ne pouvez ouvrir qu'un seul document XML à la fois. La fonction de Script XML_OPEN_DOCU a été renommée XML_OPEN dans la version 6.00A. L'ancien style d'écriture est toujours pris en charge. Exemple L'onglet "Détails" de l'objet "GS.JOUR" est ouvert pour être complété. :SET &DOCUXML# = XML_OPEN(DOCU,"GS.JOUR", "@Détails") Rubriques connexes : Elément de script Description :XML_CLOSE Fermeture d'un document XML. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 177 3.4.36 XML_PRINTINTOFILE Fonction script : affichage de la structure des éléments dans un fichier XML. Syntaxe XML_PRINTINTOFILE (fichier, référence) Elément de syntaxe Description/format Fichier Nom et chemin du fichier XML Format : Littéral de script ou Variable de script Référence Référence à l'élément dont vous souhaitez afficher la structure Format : Littéral de script ou Variable de script Code retour "0" - La structure a bien été écrite dans le fichier. Remarques La fonction de script écrit la structure d'un élément et de tous ses sous-éléments dans un fichier XML donné. Pour que la fonction de script accède à un élément, une référence doit lui être transmise. Cette dernière est fournie par des scripts qui peuvent se positionner dans le document XML, comme XML_GET_FIRST_ CHILD, XML_GET_NEXTSIBLING ou XML_SELECT_NODE. La fonction de script affiche cet élément, ses sous-éléments et les attributs correspondants dans un fichier. Vous pouvez également utiliser la référence retournée par XML_OPEN pour afficher l'intégralité de la structure. Les informations de la structure de l'élément sont écrites les unes à la suite des autres (sans retour à la ligne) dans le fichier indiqué. Ce fichier est par conséquent difficilement lisible si vous l'ouvrez avec un éditeur de texte tel que le Bloc-notes. Avant d'appliquer la fonction de script, vous pouvez utiliser XML_ BEAUTIFY pour présenter le contenu du fichier de façon à ce qu'il soit plus lisible. Mais vous avez également la possibilité d'afficher le fichier dans Microsoft Internet Explorer par exemple. La structure de l'élément apparaît alors clairement. Attention : si un fichier existe déjà, il est remplacé sans qu'aucun message de demande de confirmation n'apparaisse. Exemple L'intégralité de la structure de la documentation est tout d'abord préparée afin d'être plus lisible, puis affichée dans le fichier "Docu.xml". :SET &XMLDOCU# = XML_OPEN(DOCU,,"@Détails") :SET &RET1#= XML_BEAUTIFY(&XMLDOCU#) :SET &RET2# = XML_PRINTINTOFILE("C:\UC4\XML_ Documentation\Docu.xml",&XMLDOCU#) :XML_CLOSE 178 Chapter 3 Organisation fonctionnelle Le second exemple affiche dans un fichier les éléments "Description" et "Objets", ainsi que leurs attributs. :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET &HND# = XML_GET_FIRST_CHILD(&XMLDOCU#) :SET &RET1#= XML_BEAUTIFY(&HND#) :SET &RET2# = XML_PRINTINTOFILE("C:\UC4\XML_Documentation\Docu.xml",&HND#) :XML_CLOSE Rubriques connexes : Elément de script Description XML_BEAUTIFY Préparation du style d'affichage de la structure d'un élément. Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.4.37 XML_SELECT_NODE Fonction script : Détermination d'un élément quelconque Syntaxe XML_SELECT_NODE(référence, élément) Elément de syntaxe Description/format Référence Référence à l'élément servant de point de départ Format : Littéral de script ou Variable de script Elément Nom de l'élément recherché, accompagné du chemin à partir du point de départ Format : Littéral de script ou Variable de script Codes retour Référence à l'élément recherché. " " - L'élément recherché n'existe pas. Remarques La fonction de Script détermine un élément quelconque dans le document XML. Pour que la fonction de Script se positionne dans un premier temps au niveau d'un élément, une référence doit lui être transmise. Cet élément constitue le point de départ de la recherche dans la structure. L'élément (indiqué avec son chemin) est recherché à partir de cet emplacement. Automation Engine 179 Les références sont utilisées par certains scripts pour se positionner dans le document XML et le modifier. La toute première référence est celle retournée par XML_OPEN. Elle renvoie à l'élément racine. Elle peut être utilisée par XML_SELECT_NODE pour déterminer un élément directement à partir de cet emplacement. La fonction de Script peut également obtenir la référence à l'aide de XML_GET_FIRST_ CHILD ou de XML_GET_NEXTSIBLING. Vous disposez donc de moyens souples pour accéder aux éléments des structures très complexes. Attention : la recherche porte uniquement sur les éléments qui constituent un sous-élément du point de départ. Exemple L'exemple détermine un élément directement à partir de l'élément racine "Content". Le texte de l'élément "Objets" est affiché dans le rapport d'activation. :SET &XMLDOCU# = XML_OPEN(DOCU,"DISPOSITION","@Détails") :SET&HND# = XML_SELECT_NODE(&XMLDOCU#, "Description/objets") :SET &TEXT# = XML_GET_NODE_TEXT(&HND#) :PRINT "Texte de l'élément : &TEXT#" :XML_CLOSE Rubriques connexes : Elément de script - Lecture ou modification d'objets Documentation structurée www.w3c.org/TR/xmlbase Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 180 Chapter 3 Organisation fonctionnelle 3.5 Elaboration et traitement des Scripts 3.5.1 :DATA Instruction de script : déclare explicitement une ligne de Script en tant que ligne DATA. Syntaxe :DATA Instruction Elément de syntaxe Description/format Instruction Instruction pour le système cible. Format : Littéral de script ou Variable de script Remarques Les lignes DATA contiennent des instructions pour les étapes de traitement dans le système cible. Toutes les lignes de Script autres que les lignes de commentaires (commençant par un point d'exclamation) ou les instructions de Script (introduites par un signe deux-points) sont automatiquement considérées comme des lignes DATA. Cependant, si une telle ligne DATA commence elle-même par deux points, cela crée un conflit car les instructions de Script sont également caractérisées par deux points. Dans ce cas, la ligne DATA doit être déclarée de manière explicite à l'aide de l'instruction :DATA-. Il est également possible d'écrire l'instruction sans guillemets. Dans ce cas on tient compte de tous les caractères jusqu'à la fin de la ligne. Les Variables de Script contenues dans l'instruction sont remplacées. Les lignes DATA ne peuvent être utilisées que dans le type d'objet Job. Exemple Cet exemple d'un traitement batch sur PC définit une ramification inconditionnelle vers un libellé à partir duquel il faut effectuer un traitement des erreurs. Comme les libellés dans un traitement batch sur PC commencent avec un signe deux-points, cette ligne DATA doit être explicitement exécutée avec l'instruction :DATA. !... MESSAGE D'ERREUR GOTO !... : DATA ":MESSAGE D'ERREUR" !... Rubriques connexes : Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 181 3.5.2 :DEFINE Instruction de script : Déclaration d'une Variable de script avec un type spécifique de données. Syntaxe :D[EFINE] nom de Variable, type de données [, taille du tableau] Elément de syntaxe Description/format Nom de Variable Nom de la Variable de script qui est de nouveau créée en indiquant le type de données. Format : Variable de script Type de données Type de données de la Variable déclarée. Valeurs autorisées : "unsigned", "string", "float" ou "signed" unsigned : nombres entiers positifs sans signes signed : nombres entiers avec signes float : nombres à virgule flottante string : chaîne de caractères, texte L'indication des types de données s'effectue sans guillemet ! Taille du tableau Si la Variable de script doit être créée sous forme de tableau, la taille est définie via ce paramètre. Format : nombre sans guillemets Valeurs autorisées : 1 à 99 999 Remarques Il est possible de créer des Variables de script directement avec le script :SET. L'attribution de la valeur s'effectue alors simultanément. Ceci est cependant uniquement autorisé si les valeurs indiquées correspondent aux types de données "string" ou "unsigned" ! Si la Variable est affectée à un nombre à virgule flottante ou à un nombre négatif, une erreur de script apparaît. Toute déclaration de Variables qui ont déjà été utilisées est impossible ! Ceci est applicable pour les Variables d'objets et script, y compris les définitions dans l'onglet "Variables & Prompts" ! L'attribution directe de la valeur d'un autre type de données fonctionne uniquement pour les Variables de script qui ont été créées avec :SET et uniquement avec des nombres entiers positifs et des chaînes ! Il est impossible d'attribuer une valeur à une Variable de script déclarée qui ne se trouve pas dans la plage autorisée du type de données défini ! Si lors de l'utilisation du script :DEFINE, aucun type de données ou un type de données non valide est indiqué, une erreur de script apparaît. Les différents types de données possèdent les plages de valeurs suivantes : Type de données Plage de valeurs unsigned 0 à +9 999 999 999 999 999 signed -9 999 999 999 999 999 à +9 999 999 999 999 999 182 Chapter 3 Organisation fonctionnelle string de 1 à 1 024 caractères flottant -9999999999999999.9999999999999999 à +9999999999999999.9999999999999999 L'indication du paramètre Taille du tableau permet de créer la Variable de script sous forme de tableau avec la longueur définie. La taille ne doit alors pas dépasser la valeur 99 999. Attention aux spécificités d'utilisation des Tableaux de script. Les crochets [] ne sont pas nécessaires dans la déclaration du tableau. Utilisez l'instruction de script :FILL pour remplir les tableaux de script avec plusieurs valeurs différentes. Exemples Déclaration de plusieurs Variables avec différents types de données et attribution de valeur consécutive : :DEFINE &a#, unsigned :DEFINE&b#, signed :DEFINE&c#, float :DEFINE&d#, string :SET&a# = 12 :SET&b# = -5 :SET&c# = 0.50 :SET&d# = "string" L'attribution suivante génère une erreur, car les types de données ne correspondent pas : :DEFINE &unsigned#, unsigned :DEFINE &string#, signed :SET &unsigned# = 12 :SET &string# = &unsigned# Dans l'exemple suivant, l'attribution est valable, car la Variable "&unsigned#" avec la fonction script CONVERT est convertie dans le type de données approprié : :DEFINE&unsigned#, unsigned :DEFINE&string#, signed :SET&unsigned# = 12 :SET&string# = CONVERT(string,&unsigned#) Si une Variable de script est créée avec le script :SET, une attribution directe de la valeur des types de données "unsigned" et "string" est possible. :SET&setvar#= 12 :SET&setvar2#="string" :SET&setvar# = &setvar2# Le dernier exemple montre la création et le remplissage d'un tableau avec les valeurs à partir d'un objet Variable. :DEFINE&array#, unsigned, 5 :FILL&array#[] = GET_VAR(VARA1, ARRAY) Rubriques connexes : Elément de script Description :SET Attribue une valeur à une Variable de script. Scripts - Elaboration et traitement des scripts Automation Engine 183 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.3 :EXT_REPORT_OFF L'instruction de script: désactive la journalisation du script d'une Tâche. Syntaxe :EXT_REPORT_OFF Remarque Le rapport de script est également compris dans le rapport détaillé qui contient l'intégralité des lignes de script de l'objet. Par défaut, il n'est pas créé et doit être ainsi activé par l'administrateur UC4 dans la variable UUC_CLIENT_SETTINGS d'UC4, à l'aide de la Clef "EXT_REPORTS". Il est également possible de réaliser cela pour un seul objet dans l'onglet En-tête. Utilisez l'instruction de script :EXT_REPORT_OFF lorsque chaque ligne de script ou l'intégralité du script ne doit pas être comprise dans le rapport. La journalisation est suspendue jusqu'à la fin de script ou l'instruction :EXT_REPORT_ON. Dans le rapport de script, une ligne de conseil s'affiche, indiquant le nombre de lignes de script qui ne sont pas journalisées. **** EXT_REPORT_OFF_ON: 0005 lignes supprimées *** Attention : les contenus des Includes doivent également être journalisés si le paramètre EXT_ REPORT=OFF n'est pas utilisé lors de leur Appel. Exemple La journalisation d'une partie du script est ignorée dans l'exemple. :EXT_REPORT_OFF :INC JOCO2UC.SET.GLOBALS :PUT_ATT FT_SRC_FILE = '$&JOCO_USERID.&COB85_ERRLST_PREF_BS2.&PRGMNAME' :PUT_ATT FT_DST_FILE = '&PC_PATH\&PRGMNAME_ERRLST.TXT' :EXT_REPORT_ON Rubriques connexes : Elément de script Description :EXT_REPORT_ON Active la journalisation du script d'une Tâche. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 184 Chapter 3 Organisation fonctionnelle 3.5.4 :EXT_REPORT_ON L'instruction de script: active la journalisation du script d'une Tâche. Syntaxe :EXT_REPORT_ON Remarque Le rapport de script est également compris dans le rapport détaillé qui contient l'intégralité des lignes de script de l'objet. Par défaut, il n'est pas créé et doit être ainsi activé par l'administrateur UC4 dans la variable UUC_CLIENT_SETTINGS d'UC4, à l'aide de la clé "EXT_REPORTS". Il est également possible de réaliser cela pour un seul objet dans l'onglet En-tête. Utilisez l'instruction de script :EXT_REPORT_OFF lorsque chaque ligne de script ou l'intégralité du script ne doit pas être comprise dans le rapport. La journalisation est suspendue jusqu'à la fin de script ou l'instruction :EXT_REPORT_ON. Beachten Sie, dass auch die Inhalte von Includes protokolliert werden, sofern bei deren Aufruf nicht der Parameter EXT_REPORT=OFF verwendet wurde. Exemple La journalisation d'une partie du script est ignorée dans l'exemple. :EXT_REPORT_OFF :INC JOCO2UC.SET.GLOBALS :PUT_ATT FT_SRC_FILE = "$&JOCO_USERID.&COB85_ERRLST_PREF_BS2.&PRGMNAME" :PUT_ATT FT_DST_FILE = "&PC_PATH\&PRGMNAME_ERRLST.TXT" :EXT_REPORT_ON Rubriques connexes : Elément de script Description :EXT_REPORT_OFF Désactive la journalisation du script d'une Tâche. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.5 :FILL Instruction de script : Enregistre plusieurs valeurs dans un Tableau de script. Syntaxe :FILL Tableau de script =Valeurs Automation Engine Elément de syntaxe Description/format Tableau de script Nom de la Variable de script qui a été définie comme tableau. Les crochets doivent être indiqués sans contenu. Format : Variable de script Valeurs Valeurs qui doivent être enregistrées dans le tableau. Les fonctions de script GET_PROCESS_LINE ou GET_VAR doivent être utilisées. Format : Fonction script 185 Remarques La fonction script sert à enregistrer plusieurs valeurs simultanément dans un tableau de script. Les tableaux doivent être créés avant l'attribution de valeur avec :DEFINE après spécification de la taille du tableau. Pour le transfert des valeurs, la fonction script GET_PROCESS_LINE, STR_SPLIT ou GET_ VAR doit être utilisée. Les valeurs sont toujours inscrites à partir du premier élément (index = 1) dans le tableau. Si le nombre de valeurs à enregistrer dépasse la capacité du tableau, seules les premières valeurs qui trouvent une place dans le tableau sont enregistrées. Si le tableau est plus grand que les valeurs déterminées, les valeurs restantes sont inchangées. Le tableau de script doit être indiqué avec des crochets vides []. Exemple Dans le premier exemple, les valeurs d'un objet Variable sont enregistrées avec GET_VAR dans le tableau. :DEFINE&ARRAY#, string, 20 :FILL&ARRAY#[] = GET_VAR(VARA.TEST, KEY1) :PRINT"Première valeur de la variable VARA.TEST de la Clé KEY1: &ARRAY#[1]" Dans le deuxième exemple, les colonnes de la première ligne d'un fichier log (UC4 Automation Engine) sont enregistrées dans le tableau. :DEFINE&ARRAY#, string, 20 :SET&HND# = PREP_PROCESS_FILE(WIN01, "C:\UC4\AUTOMATIONENGINE\TEMP\CPsrv_ log_001_00.txt""*""COL=LENGTH""LENGTH_ TAB,,,='8=DATUM,1,6=ZEIT,7,200=TEXT'") : FILL&ARRAY#[] = GET_PROCESS_LINE(&HND#) :SET &RUNVAR# = 1 :SET &LEN# = LENGTH(&ARRAY#[]) :WHILE &RUNVAR# < &LEN# :P"Line &RUNVAR#: &ARRAY#[&RUNVAR#]" :SET &RUNVAR# = &RUNVAR# + 1 :ENDWHILE Rubriques connexes : Elément de script Description GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. GET_VAR Indique la valeur d'un objet Variable. 186 Chapter 3 Organisation fonctionnelle FIND Recherche un Tableau de script et retourne l'Index correspondant. LENGTH Détermine la longueur d'un Tableau de script. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.6 :GENERATE Instruction de script : Contrôle la gestion des lignes de script pendant le traitement du script. Syntaxe :GEN[ERATE] Mode de génération Elément de syntaxe Description/format Mode de génération Modes de génération pour la reprise : l l l ON_RESTART_ALWAYS Les lignes de script sont toujours exécutées, indépendamment du point de reprise. ON_RESTART_CHECK Les lignes de script ne sont pas exécutées lorsqu'elles se trouvent avant le point de reprise. ON_RESTART_NEVER Les lignes de script ne sont jamais exécutées, indépendamment du point de reprise. Modes de génération pour les lignes DATA : l l l UPPER_CASE Transformation du texte de toutes les lignes DATA en majuscules. LOWER_CASE Transformation du texte de toutes les lignes DATA en minuscules. CASE_UNCHANGED Rétablit l'état initial de la casse. Aucune conversion n'est effectuée. Remarques Plusieurs expressions peuvent être passées à l'instruction :GENERATE en tant que mode de génération. Le mode de génération contrôle d'une part la gestion des lignes de script pendant la reprise d'un objet activable. D'autre part, il permet de définir la casse dans les lignes DATA. Reprise d'objets activables Lors de la reprise d'objets activables, on peut définir grâce au mode de génération la manière dont les lignes de script doivent être gérées lors du traitement de script. Cette définition reste valable jusqu'à la prochaine instruction : l l :GENERATE contenant un des trois modes de génération pour la reprise, ou jusqu'à la prochaine instruction :RESTART. Automation Engine 187 Si on n'utilise pas l'instruction :GENERATE, toutes les lignes de script sont traitées jusqu'à la première instruction :RESTART lors de la reprise et en outre, les lignes qui se trouvent après le point de reprise indiqué. Majuscules et minuscules En général, le texte des lignes DATA d'un script est conservé et transféré au système cible tel qu'il a été installé. Les Variables de script qui apparaissent dans les lignes DATA constituent une exception. Ces Variables sont fournies et modifiées en conséquence lors de l'activation d'un objet contenant un tel script. Pour certains systèmes cibles, il peut être nécessaire de transférer les lignes DATA d'un script dans un certain style d'écriture. Par exemple, le système d'exploitation BS2000 ne traite que le langage JCL (Job Control Language) en majuscules, de sorte que les Scripts de la plate-forme UC4 Automation doivent être préparés en conséquence. L'instruction :GENERATE met à votre disposition différents modes de génération qui vous permettent de créer des scripts indépendamment des restrictions de chaque système cible. Exemples Le premier exemple montre l'application lors de la reprise d'objet et les différentes sorties dans le rapport qui résultent des points de reprise. :PRINT "Début du script" :RESTART R1 :PRINT "Point R1" :GENERATEON_RESTART_ALWAYS :PRINT "ON_RESTART_ALWAYS" :GENERATEON_RESTART_CHECK :RESTART R2 :PRINT "Point R2" :RESTART R3 :PRINT "Point R3" :GENERATEON_RESTART_NEVER :PRINT "Fin du script" Reprise à partir de R1 : 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 12:17:05 12:17:05 12:17:05 12:17:05 12:17:05 - U0020408 U0020408 U0020408 U0020408 U0020408 Début du script Point R1 ON_RESTART_ALWAYS Point R2 Point R3 - U0020408 U0020408 U0020408 U0020408 Début du script ON_RESTART_ALWAYS Point R2 Point R3 Reprise à partir de R2 : 2005-01-31 2005-01-31 2005-01-31 2005-01-31 12:17:23 12:17:23 12:17:23 12:17:23 Reprise à partir de R3 : 2005-01-31 12:17:48 - U0020408 Début du script 2005-01-31 12:17:48 - U0020408 ON_RESTART_ALWAYS 2005-01-31 12:17:48 - U0020408 Point R3 188 Chapter 3 Organisation fonctionnelle Le second exemple montre la transformation du texte des lignes DATA d'un script en majuscules. :GEN UPPER_CASE fs $uc4. Rubriques connexes : :RESTART Définit des points de reprise dans un objet activable. Scripts - Elaboration et traitement des scripts Reprise d'objets activables Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.7 :IF... :ELSE... :ENDIF Instructions de script : Analyser et exécuter une expression suivant les instructions du résultat. Syntaxe :IF Condition [Instructions] [:ELSE] [Instructions Sinon] :ENDIF Elément de syntaxe Description/format Condition Une expression formulée au moyen d'un littéral de script, d'une variable de script, d'une fonction de script, d'expressions numériques ou d'opérateurs, et qui fournit un résultat "Vrai" ou "Faux". Instructions Une ou plusieurs instructions qui sont exécutées lorsque la condition fournit la valeur "Vrai". Format : Instruction de script Instructions Sinon Une ou plusieurs instructions qui sont exécutées lorsque la condition fournit la valeur "Faux". Format : Instruction de script Remarques L'instruction IF est une structure de contrôle avec laquelle vous pouvez traiter le script en fonction du résultat d'une condition. Il s'agit alors d'une expression logique. Si la condition est remplie ("Vrai"), les instructions sont exécutées. Si la condition n'est pas remplie ("Faux"), les instructions Sinon de :ELSE sont exécutées. Si le bloc IF ne comporte aucune branche :ELSE, le script est poursuivi avec la prochaine ligne après :ENDIF. Vous pouvez également emboîter des blocs IF, sans limitation de profondeur. Automation Engine 189 Un bloc IF ne doit pas nécessairement contenir une branche ELSE. Le mot-clé OR permet de lier une condition avec plusieurs valeurs ou plusieurs conditions individuelles. Une condition a la structure suivante : ValeurOpérateur de comparaisonValeur de comparaison[OR Valeur de comparaison...] Exemple : :IF &ABT# = "EDV" OR "UC4" Jusqu'à 13 OU doivent exister dans la condition. La formulation d'une condition contient l'un des opérateurs de comparaison suivants : Opérateur Code Règle = EQ L'expression est "Vrai" lorsqu'au moins une valeur de comparaison correspond à la valeur. <> NE L'expression est "Vrai" lorsqu'aucune valeur de comparaison n'est égale à la valeur. < > <= >= LT GT LE GE L'expression est "Vrai" lorsqu'une valeur de comparaison remplit la clef indiquée. Comme les Variables de script n'ont pas un type de données explicite et peuvent donc contenir aussi bien des chiffres que des chaînes de caractères, il faut respecter les points suivants lors des comparaisons : La comparaison est toujours numérique lorsque le contenu des valeurs de comparaison est numérique. Le fait qu'une Variable soit indiquée avec ou sans apostrophes n'a donc aucune importance. La condition suivante retourne "Vrai" : :IF "0" = "0" S'il n'y a aucune valeur numérique, la comparaison qui en résulte est alphanumérique. La condition suivante retourne "Faux" : :IF "0" = "abc" La longueur des chaînes de caractères n'est pas vérifiée lors de la comparaison. La condition suivante retourne "Vrai", car "M" précède "U" dans l'alphabet. :IF "Henri" < "UC4" Vous devez prédéfinir les Variables de script qui apparaissent dans la condition. Pour les conditions qui contiennent plusieurs fois le mot-clé OR, un comportement différent peut se produire, en fonction de l'opérateur. Exemple : dans ce cas, l'une des valeurs doit convenir afin de remplir la condition. :IF &WD# = "LU" OR "MA" OR "ME" La condition suivante est cependant uniquement remplie lorsque la Variable ne correspond à aucune des trois valeurs. 190 Chapter 3 Organisation fonctionnelle :IF &WD# <> "JE" OR "VE" OR "SA" Exemples Ces exemples montrent différentes possibilités de formulation de la condition. Alors que les exemples 1 à 3 mettent en relation une Variable de script avec une ou plusieurs valeurs de comparaison, l'exemple 4 analyse le code retour d'une fonction de script. :IF &UTILISATEUR# = "TSOS" !... :ENDIF :IF &DAT1# EQ &DAT2# OR " " !... :ENDIF :IF &UTILISATEUR# <> "TSOS" OR "SERVICE" OR SYS_USER_NAME() !... :ENDIF :IF GET_ATT(OO) = "J" !... :ENDIF Rubriques connexes : Elément de script Description :WHILE... :ENDWHILE Définition d'une boucle permettant de répéter l'exécution de parties du script. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.8 :INCLUDE Instruction de script : Associe un objet Include à un script. Syntaxe :INC[LUDE] objet Include [ChaîneAncienne = ChaîneNouvelle][,NOFOUND=IGNORE][,EXT_ REPORT=OFF] Elément de syntaxe Description/format Objet Include Nom de l'objet Include à associer. Entrez le nom complet de l'objet Include. Les Variables de Script ne sont pas autorisées. ChaîneAncienne Chaîne de caractères du Script de l'objet Include qui doit être remplacée par ChaîneNouvelle. Format : Littéral de script Automation Engine ChaîneNouvelle 191 Chaîne de caractères qui remplace ChaîneAncienne dans le Script de l'objet Include. Format : Littéral de script 50 caractères maximum NOFOUND=IGNORE Si l'objet Include indiqué n'est pas trouvé, aucune erreur ne se produit. EXT_REPORT=OFF Le contenu de l'objet Include n'est pas consigné dans les rapports détaillés. Au lieu de cela, une ligne de conseil s'affiche. Remarques Dans les Scripts UC4, de nombreux objets suivent les mêmes étapes de traitement. Pour ne pas avoir à les écrire et à les gérer dans chaque Script, il existe les objets Include. Ceux-ci comportent dans leur Script les éléments de Scripts récurrents et souvent utilisés. Pour faire communiquer un objet Include avec un autre objet, on utilise l'instruction :INCLUDE. Le Script de l'objet Include est généré en plus lors de l'activation de l'objet. ChaîneAncienne et ChaîneNouvelle sont optionnels. Ces instructions peuvent être utilisées pour remplacer une chaîne de caractères de l'objet Include par une nouvelle chaîne. Cette attribution n'est valide que pour la génération en cours et ne modifie pas l'objet Include. Exemples L'exemple illustre l'association d'un objet Include. Pour ce faire, un nouveau nom "$GSTEST." est attribué au lieu de la chaîne de caractères "$GS." de l'objet Include. :INC GS.ATTRIBUTIONSFICHIERS "$GS." = "$GSTEST." Dans l'exemple, un Include Utilisateur est exécuté. S'il n'y en a pas, aucune erreur ne se produit. :INCLUDE HEADER.WINDOWS.USER.HEAD ,NOFOUND=IGNORE Dans le troisième exemple, on empêche que le contenu de l'objet Include soit consigné dans les rapports détaillés. :INC GS.ATTRIBUTIONSFICHIERS ,EXT_REPORT=OFF Rubriques connexes : :INC_SCRIPT Association d'un script à un autre script du même objet. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.9 :INC_SCRIPT Instruction de script : Association d'un script à un autre script du même objet. 192 Chapter 3 Organisation fonctionnelle Syntaxe :INC_SCRIPT(ID script) Elément de syntaxe Description/format ID script Numéro qui identifie le script d'un objet. Format : nombre sans guillemets Valeurs autorisées : "0", "1" et "2" "0" - Associe le script (pour les Jobs et Evènements uniquement) "1" - Associe le Pré-traitement (pour les Jobs uniquement), associe le !Script (pour les Evènements uniquement) "2" - Associe le Post-traitement (pour les Jobs uniquement) Remarques Cette instruction de script a été implémentée, pour des raisons internes, pour qu'un script puisse être appelé dans un en-tête. Ce script peut contenir certains attributs définis nécessaires à l'en-tête (un autre hôte par exemple) Il vous servira par exemple à réaliser certaines demandes z/OS-JCL. L'instruction de script peut aussi être utilisée "normalement" pour exécuter un script dans un autre script, même plusieurs fois. Les deux scripts doivent appartenir au même objet. C'est pourquoi cette instruction de script ne peut qu'être utilisée que dans des Jobs ou des Evènements. Seuls ceux-ci ont plusieurs onglets pour les scripts. Nous vous recommandons d'utiliser l'instruction de script :INCLUDE pour élaborer votre script de manière modulaire. Exemple L"onglet Pré-Script d'un Job comporte une commande DIR. Le pré-script est associé à l'onglet Script. :INC_SCRIPT (1) Vous pouvez ensuite détecter dans le rapport de Job une exécution en double de la commande DIR. La première fois dans l'en-tête (défini dans l'onglet "Pré-Script"). La seconde utilisation est entre l'en-tête et le pied de page (par l'instruction de script dans l'onglet Script). Rubriques connexes : Elément de script Description :INCLUDE Associe un objet Include à un script. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.10 :JCL_CONCAT_CHAR Instruction de script : création de lignes JCL jusqu'à une taille maximale de 2 Ko. Automation Engine 193 Syntaxe :JCL_CONCAT_CHAR [Caractères] Elément de syntaxe Description/format Caractère Caractère unique qui joue le rôle de caractère de liaison pour les lignes JCL suivantes. Format : Littéral de script ou Variable de script Remarques L'instruction de script permet d'associer plusieurs lignes d'un script comprenant un JCL à une seule ligne JCL. Ce traitement se produit à la génération du Job. Les lignes JCL ainsi constituées peuvent contenir jusqu'à 2047 caractères. Toutefois, la longueur de chaque ligne de script est limitée à 1024 caractères. L'instruction de script crée ainsi une autre possibilité de contourner la limitation de longueur d'une ligne de script. Ceci n'était possible auparavant que par la variable de script dans le JCL. En remplaçant les variables lors du traitement du script, on peut alors générer des lignes JCL ayant plus de 1024 caractères. Les lignes de script qui doivent constituer une ligne JCL se terminent par le caractère indiqué. Les lignes de script sont associées les unes aux autres à cette position. La dernière ligne de script qui appartient à la ligne JCL se termine sans le caractère. Le caractère lui-même n'est pas compris dans la ligne JCL obtenue. Les espaces, qui se situent dans la ligne de script immédiatement avant le caractère, sont repris dans la ligne JCL. Les espaces au début des lignes de script sont éliminés. Il est ainsi possible de rappeler chaque instruction JCL. Ceci améliore la lisibilité du script. Plusieurs lignes JCL peuvent être composées successivement. La nouvelle exécution de l'instruction de script sans paramètre termine ce traitement des lignes de script. Si aucun caractère n'est indiqué lors de l'utilisation du script, il n'est pas possible de relier plusieurs lignes JCL. L'inscription de script ne possède aucune fonction dans ce cas. Attention : il n'est pas possible de résumer plusieurs lignes de commande ! Le script ne peut associer que des lignes qui appartiennent à une commande. Les lignes JCL qui sont ajoutées via l'onglet Forms par les Jobs SAP, JMX, PeopleSoft et de la base de données, et qui sont d'une certaine longueur, sont automatiquement réparties par cet élément de script dans plusieurs lignes. Si vous utilisez l'onglet Forms, l'élément de script ne devrait donc pas être ajouté manuellement dans l'onglet Script de ce Job, car cela risquerait d'entraîner des problèmes ! Exemple Dans l'exemple, l'astérisque (*) est défini comme le caractère qui permet d'associer les lignes de script. L'exécution d'un utilitaire du serveur MS SQL s'ensuit avec certains paramètres. Le paramètre EXIT, qui comprend une instruction SQL, se trouve dans une nouvelle ligne de script. L'instruction SQL elle-même a été répartie sur plusieurs lignes de script. :JCL_CONCAT_CHAR "*" ISQL.EXE /U SA /P /S BUNTWS02 /t 10 /d UC4 /Q * "EXIT(UPDATE OH SET OH_EXPKZ = 1 * WHERE OH_MANDANT = 01 * AND (OH_OTYP_TYP <> 'FOLD') * 194 Chapter 3 Organisation fonctionnelle AND OH_LOEKZ = 0)" :JCL_CONCAT_CHAR Rubriques connexes : Elément de script Description :JCL_SUBSTITUTE Remplace une chaîne de caractères du JCL par une autre chaîne de caractères. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.11 :JCL_SUBSTITUTE Instruction de script : Remplace une chaîne de caractères du JCL par une autre chaîne de caractères. Syntaxe :JCL_SUBSTITUTE [Ancienne chaîne de caractères, Nouvelle chaîne de caractères] Elément de syntaxe Description/format Ancienne chaîne de caractères Chaîne de caractères devant être remplacée. Format : Littéral de script ou Variable de script Nouvelle chaîne de caractères Chaîne de caractères remplaçant l'ancienne chaîne de caractères. Format : Littéral de script ou Variable de script Remarques A la génération d'un Job, l'instruction de Script remplace n'importe quelle chaîne de caractères dans le JCL (Job Control Language). Le nombre de caractères dans l'ancienne chaîne de caractères peut différer de celui de la nouvelle chaîne de caractères. On peut aussi remplacer seulement un caractère unique. L'instruction de Script sert, par exemple, à répondre à des demandes spéciales du JCL du z/OS. On utilise ici le caractère "&". Des conflits peuvent survenir, car ces caractères sont utilisés dans UC4 pour définir des Variables de Script. Les chaînes saisies sont remplacées par l'instruction de Script à partir de la ligne. Elles sont remplacées jusqu'à la ligne du Script dans laquelle l'instruction de Script est réaffichée avec ou sans paramètre. Exemple Dans cet exemple, le caractère "$" est remplacé par le caractère "&". :JCL_SUBSTITUTE "$", "&" REPORTS=($REP) SORT=TIME :JCL_SUBSTITUTE RANGE=$RAN Automation Engine 195 Le Job généré comporte donc les lignes suivantes : REPORTS=(&REP) SORT=TIME RANGE=$RAN Rubriques connexes : Elément de script Description :JCL_CONCAT_CHAR création de lignes JCL jusqu'à une taille maximale de 2 Ko. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.12 :PSET Instruction de script : Attribue une valeur à une Variable d'objet. Syntaxe :PSET Variable d'objet = valeur Elément de syntaxe Description/format Variable d'objet Nom de la Variable d'objet avec un "&" en tête, qui doit recevoir une valeur. Format : Variable de script Valeur Valeur attribuée à la Variable d'objet. Format : littéral de script, Variable de script ou fonction script Remarques Les Variables d'objet sont saisies dans l'onglet "Variables & Prompts" de l'objet. L'instruction de script définit la valeur en tant que Variable d'objet dans la Tâche et la fait passer également aux Tâches supérieures (parents) jusqu'au processeur (par exemple, Workflow ou Schedule). Il existe une Variable d'objet du même nom, sa valeur est ainsi écrasée par la nouvelle valeur. Autrement, l'instruction de script ajoute la nouvelle Variable d'objet à la Tâche. Les étapes suivantes se déroulent à l'exécution de :PSET : 1. Remplacement ou ajout de la Variable d'objet dans la Tâche elle-même. 2. Remplacement ou ajout de la Variable d'objet dans la Tâche parent. 3. Si la Tâche parent n'est pas le processeur, :PSET passe à la Tâche suivante la plus élevée et y remplace ou ajoute la Variable d'objet. 4. La troisième étape est répétée jusqu'à ce que le processeur soit atteint. La valeur modifiée ou la Variable d'objet supplémentaire est applicable seulement pour l'exécution de la Tâche. La valeur elle-même n'est pas enregistrée durablement dans l'objet. 196 Chapter 3 Organisation fonctionnelle Attention : le paramètre "Générer à l'Exécution" est très important pour les objets ! Lorsque le script a déjà été généré, les modifications ultérieures n'ont plus d'effet sur le contenu des Variables d'objet. Attention : les Tâches ne s'appliquent nécessairement aux Variables d'objet. Dans chaque objet, vous définissez si des Variables d'objet doivent être héritées des Tâches supérieures et dans ce cas, lesquelles. Attention : :PSET ne doit pas à son tour passer les Variables d'objet auw Workflow le plus élevé dans les Workflows imbriqués. Les Variables d'objet sont remplacées ou ajoutées uniquement dans le Workflow contenant la Tâche qui exécute l'instruction de script. Attention : les Variables d'objet héritées qui n'ont pas été définies dans la Tâche ne sont ensuite disponibles en cas de reprise que lorsque la Tâche se trouve encore dans la Fenêtre d'Activités ! Si une reprise avait été exécutée pour le Job dans l'exemple suivant, il pourrait alors accéder seulement à la Variable d'objet &HOST# si le Transfert de Fichier et le Workflow se trouvaient encore dans la Fenêtre d'Activités. Exemple Un Workflow comporte deux objets nommés "GS.DONNEES.CHERCHER" et "GS.FIN". Le paramètre "Générer à l'Exécution" de ces deux objets est défini de sorte que leur script est créé uniquement lorsque les objets sont dans l'ordre dans le Workflow. Le Transfert de Fichier vérifie l'environnement et modifie la Variable d'objet &HOST# si nécessaire. :PSET &HOST# = "unix01" Le Job suivant utilise cette Variable d'objet dans son script. Une modification avec :PSET s'applique également au Job, car il hérite de toutes les Variables d'objet de son parent. Rubriques connexes : Elément de script Description :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation. :SET Attribue une valeur à une Variable de script. :SET_SCRIPT_ VAR Définit les valeurs des Variables de script par accès indirect. Automation Engine 197 Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.13 :RESTART Instruction de script : Définit des points de reprise dans un objet activable. Syntaxe :RESTART Point de reprise [, Texte de reprise] Elément de syntaxe Description/format Point de reprise Désignation du point de reprise. Format : Désignation du point de reprise sans guillemets 8 caractères max. Texte de reprise Description du point de reprise. Format : littéral de script ou variable de script 24 caractères max. Remarques L'instruction :RESTART permet de définir des points de reprise dans un objet activable. Les points de reprise vous permettent d'exécuter un objet activable à partir d'une étape spécifique. Pour ce faire, le point de reprise souhaité doit être indiqué dans l'instruction Exécuter avec options. 198 Chapter 3 Organisation fonctionnelle Dans le texte de reprise, décrivez le point de reprise qui s'affichera en tant qu'information supplémentaire dans les protocoles d'exécution. L'indication d'un texte de reprise est facultative. La manière dont est traitée le script lors de la reprise dépend de l'instruction :GENERATE ! Si vous n'utilisez pas ce script, toutes les lignes de script sont traitées jusqu'à la première instruction :RESTART ainsi que toutes les lignes qui se trouvent après le point de reprise indiqué. Les fonctions de script SYS_LAST_RESTART_POINT et SYS_LAST_RESTART_TEXT permettent de lire le dernier point de reprise exécuté, ainsi que le texte correspondant. Exemple L'exemple suivant définit un point de reprise intitulé "REORG" avec un texte de reprise. :RESTART REORG, "Commencer la réorganisation" Rubriques connexes : :GENERATE Contrôle la gestion des lignes de script pendant le traitement du script. RESTART_UC_OBJECT Répète l'exécution d'une tâche. SYS_ACT_RESTART Détermine si l'objet a été activé en mode de reprise. SYS_ACT_RESTART_ME_ NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise. SYS_LAST_RESTART_ POINT Indique la désignation du point de reprise précédent dans le script. SYS_LAST_RESTART_TEXT Indique le texte du point de reprise précédent dans le script. SYS_RESTART_POINT Indique le point de reprise utilisé pour l'exécution de l'objet. Scripts - Elaboration et traitement des scripts Reprise d'objets activables Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.14 :RSET Instruction de script : Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation. Syntaxe :RSETVariable de script [= Valeur] Elément de syntaxe Description/format Variable de script Nom de la Variable de script qui doit recevoir une valeur. Format : Variable de script Valeur Valeur qui est attribuée à la Variable de script. Format : littéral de script, nombre, Variable de script ou fonction de script Automation Engine 199 Remarques L'instruction de script enregistre simultanément la valeur attribuée à la Variable de script dans le rapport d'activation. Lors de l'attribution de la valeur, la ligne suivante est alors écrite dans le protocole d'activation : AAAA-MM-JJ HH:MM:SS - La Variable U0020206 '&VAR#' a été enregistrée avec la valeur "Valeur". Il est possible de consigner des valeurs de Variables de script dans le rapport avec le script :RSET ainsi qu'avec :READ. La valeur enregistrée peut être utilisée de différentes manières. D'une part, une reprise de l'affichage avec la valeur enregistrée est exécutée. L'attribution de valeur reliée à l'instruction de script n'est pas exécutée dans les cas de reprise. Si cette Variable de script est introuvable, l'activation est interrompue. Si la Variable de script a été enregistrée plusieurs fois, la dernière valeur attribuée est prise sans avertissement. D'autre part, l'instruction de script peut être aussi utilisée pour transmettre le contenu d'une Variable de script pour les Jobs entre le Script et le Post-Script. Une valeur est attribuée à la Variable de script dans l'onglet Script. L'instruction de script est réaffichée dans l'onglet Post-Script, mais sans attribution de valeur. La Variable de script contient alors la valeur du script enregistré en dernier dans le rapport d'activation. Attention: lors de la sauvegarde de la valeur d'une Variable de script dans le rapport d'activation avec le script :RSET, les types de données "signed" et "float" sont automatiquement convertis en "string". Si la Variable est de type "unsigned", ce type de données est conservé. Un :RSET dans le script des Workflows entraîne la génération d'un Objet variable qui est également transmis aux Tâches de Workflows subordonnées (dans la mesure où l'héritage est activé dans les Tâches enfant). Si le nom de cet objet variable se recoupe avec celui des tâches de Workflow, cela peut provoquer une erreur lors de leur génération (voir : Variable de script - Syntaxe). Veillez donc à ce que les noms de Variable se terminent toujours par un caractère spécial afin d'éviter des recoupements. Exemple Dans l'exemple, l'onglet Post-Script permet d'accéder à une Variable de script dont la valeur a été définie dans l'onglet Script. Onglet Script : :RSET &TEXTE# = "test" :SET &NOMBRE# = 1 :RSET &NOMBRE# = ADD(&NOMBRE#,1) Onglet "Post traitement" : :RSET &TEXTE# :RSET &NOMBRE# :PRINT &TEXTE# :PRINT &NOMBRE# Les valeurs "test" et "2" sont transmises à l'onglet "Post traitement" et écrites dans le protocole d'activation. 200 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description :PSET Attribue une valeur à une Variable d'objet. :SET Attribue une valeur à une Variable de script. :SET_SCRIPT_VAR Définit les valeurs des Variables de script par accès indirect. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.15 :SET Instruction de script : Attribue une valeur à une Variable de script. Syntaxe :S[ET]Variable de script = Valeur Elément de syntaxe Description/format Variable de script Nom de la Variable de script qui doit recevoir une valeur. Format : Variable de script Valeur Valeur qui est attribuée à la Variable de script. Format : littéral de script, Variable de script ou fonction script Remarques Attention aux spécificités d'utilisation des variables de script. Si la Variable indiquée n'existe pas encore, elle est créée. Dans ce cas, la Variable ne possède qu'un type de donnée spécifique. Les termes arithmétiques peuvent également être résolus avec le script. Pour un complément d'information, voir: Calcul. Si des Variables prédéfinies sont indiquées en tant que valeur entre parenthèses ( ), les valeurs numériques indiquent p.ex. &$CLIENT# ; ainsi elles sont automatiquement transformées selon le format par défaut à 16 caractères. Exemples L'exemple illustre l'attribution d'un nom de fichier à la Variable de script "&FICHIER#". :SET &FICHIER# = "L.LST.FICHIER" Dans l'exemple, la Variable de script reçoit la date du jour actuelle retournée par une fonction de script. :SET &AUJOURD'HUI# = SYS_DATE(AAMMJJ) Bien sûr, une Variable de script peut aussi prendre en charge des chiffres. :SET &NOMBRE# = 1 Automation Engine 201 On peut également attribuer une valeur à une autre Variable de script. :SET &NR#= &NOMBRE# Rubriques connexes : Elément de script Description :DEFINE Déclare une Variable de script avec un type spécifique de données. :PSET Attribue une valeur à une Variable d'objet. :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation. :SET_SCRIPT_ VAR Définit les valeurs des Variables de script par accès indirect. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.16 :SET_SCRIPT_VAR Instruction de script : Définit les valeurs des Variables de script par accès indirect. Syntaxe :SET_SCRIPT_VARVariable de Script = Valeur Elément de syntaxe Description/format Variable de script Caractères de remplacement pour le nom de la Variable de Script devant recevoir des valeurs. Format : Littéral de script ou Variable de script Valeur Valeur qui est attribuée à la Variable de script. Format : littéral de Script, Variable de Script ou fonction de Script Remarques L'instruction de Script définit les valeurs de Variable de Script sans devoir indiquer explicitement le nom de la Variable de Script. On peut accéder aux Variables de Script indirectement, par un caractère de remplacement que l'on pourrait soi-même nommer Variable. Il est ainsi possible de définir aisément les valeurs de nombreuses Variables de Script, dans une boucle de processus par exemple. L'instruction de Script remplace par une ligne de Script unique les nombreuses instructions de conditions qui étaient auparavant nécessaires. Une chaîne de caractères, à partir de laquelle le nom d'une Variable de Script est créé, est transmise à l'instruction de Script à l'aide d'une Variable de Script. La chaîne de caractères ne doit pas commencer par "&", qui identifie une Variable de Script. Il faut au moins indiquer les premières lettres du nom de variable (sans &) nécessaires pour identifier clairement la Variable de Script. L'instruction de Script crée un nom valide pour la Variable de Script et lui attribue une valeur. 202 Chapter 3 Organisation fonctionnelle Une erreur se produit lorsqu'il faut accéder à une Variable de Script qui n'existe pas. Si la chaîne de caractères indiquée trouve le nom de plusieurs Variables de Script, aucune valeur n'est attribuée. Vous devez donc choisir la chaîne de caractères de manière à ce que la Variable de Script puisse être clairement identifiée. L'instruction de Script ne peut être utilisée pour créer des Variables de Script. Il faut d'abord les créer avec l'instruction :SET et leur donner une valeur initiale. Lors de l'utilisation de l'élément de script, veillez à ce que les noms des variables de Script ne soient pas sensibles à la casse. Ce qui signifie : Indiquez des caractères de remplacement (variable de Script) qui se distinguent uniquement par la syntaxe ; l'accès sera ainsi toujours à la même variable de Script. Exemple L'exemple se base sur un objet Variable et un Job. Les noms (Clé) et les valeurs (Valeur 1) des Variables de Script sont enregistrés dans l'objet Variable. Dans le Script du Job, le nom de la Variable de Script est ensuite lu dans une boucle de processus à partir de la colonne Clé de l'objet Variable. Ensuite, la valeur de la Variable de Script est lue à partir de la 2e colonne. Les valeurs transmises dans le Script sont ensuite attribuées aux Variables "&FIN#", "&DEBUT#" et "&ULTIMO#". :SET &FIN# ="" :SET &START# = "" :SET &ULTIMO# = "" :SET &HANDLE# = PREP_PROCESS_VAR("SCRIPT_VARA") :PROCESS &HANDLE# : SET &VARIABLE# = GET_PROCESS_LINE(&HANDLE#,1) : SET &VALEUR# = GET_PROCESS_LINE(&HANDLE#,2) : SET_SCRIPT_VAR &VARIABLE#=&VALEUR# : PRINT "&VARIABLE# = &VALEUR#" :ENDPROCESS :CLOSE_PROCESS &HANDLE# L'instruction PRINT permet d'imprimer les valeurs des objets Variable dans le protocole d'activation (Clé = Valeur 1). Extrait du rapport : Automation Engine 203 2005-02-03 13:46:59 - U0020408 Fin = 20051027 2005-02-03 13:46:59 - U0020408 Début = 20051024 2005-02-03 13:46:59 - U0020408 Ultimo = 20051031 Rubriques connexes : Elément de script Description GET_SCRIPT_ VAR Indique les valeurs des Variables de script par accès indirect. :PSET Attribue une valeur à une Variable d'objet. :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation. :SET Attribue une valeur à une Variable de script. L'instruction peut être écrite sous forme longue ou abrégée. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.17 :WAIT Instruction de script : Le traitement du script est interrompu pour une période donnée. Syntaxe :WAIT Durée Elément de syntaxe Description/format Heure Durée d'attente en secondes. Format: Variable de script ou chiffre Remarques L'instruction de script permet d'interrompre le traitement du script pour une période définie dans durée. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple L'élaboration du script est interrompue pendant 10 secondes. :WAIT 10 Rubriques connexes : 204 Chapter 3 Organisation fonctionnelle Elément de script Description :STOP Interruption du traitement d'un script. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.18 :WHILE... :ENDWHILE Instructions de script : Définition d'une boucle permettant de répéter l'exécution de parties du script. Syntaxe :WHILECondition [Instructions] :ENDWHILE Elément de syntaxe Description/format Condition Une expression formulée au moyen d'un littéral de script, d'une variable de script, d'une fonction de script, d'expressions numériques ou d'opérateurs, et qui fournit un résultat "Vrai" ou "Faux". Instructions Une ou plusieurs instructions qui sont exécutées lorsque la condition a la valeur "Vrai". Format : Instruction de script Remarques L'instruction :WHILE est une structure de contrôle avec laquelle vous pouvez répéter des parties du Script en fonction du résultat d'une condition. Il s'agit alors d'une expression logique. Si la condition est remplie ("Vrai"), les instructions sont exécutées. La condition est ensuite à nouveau évaluée et les instructions réexécutées lorsque le résultat est "Vrai". Cela se répète jusqu'à ce que la condition ne soit plus remplie ("Faux"). Dans ce cas-là, le Script continue jusqu'à la prochaine ligne après :ENDWHILE. Attention : vérifiez qu'une condition d'interruption se produit pour ne pas créer une boucle sans fin. Vous pouvez également emboîter des blocs WHILE, sans limitation de profondeur. Une condition a la structure suivante : ValeurOpérateur de comparaisonValeur de comparaison[OR Valeur de comparaison...] Exemple : :WHILE &DEPT# = "INFORMATIQUE" OR "UC4" Jusqu'à 13 OU doivent exister dans la condition. La formulation d'une condition contient l'un des opérateurs de comparaison suivants : Opérateur Code Règle Automation Engine 205 = EQ L'expression est "Vrai" lorsqu'au moins une valeur de comparaison correspond à la valeur. <> NE L'expression est "Vrai" lorsqu'aucune valeur de comparaison n'est égale à la valeur. < > <= >= LT GT LE GE L'expression est "Vrai" lorsqu'une valeur de comparaison remplit la clef indiquée. Comme les Variables de script n'ont pas un type de données explicite et peuvent donc contenir aussi bien des chiffres que des chaînes de caractères, il faut respecter les points suivants lors des comparaisons : La comparaison est toujours numérique lorsque le contenu des valeurs de comparaison est numérique. Le fait qu'une Variable soit indiquée avec ou sans apostrophes n'a donc aucune importance. La condition suivante retourne "Vrai" : :WHILE "0" = "0" S'il n'y a aucune valeur numérique, la comparaison qui en résulte est alphanumérique. La condition suivante retourne "Faux" : :WHILE "0" = "abc" La longueur des chaînes de caractères n'est pas vérifiée lors de la comparaison. La condition suivante retourne "Vrai", car "M" précède "U" dans l'alphabet. :WHILE "Henri" < "UC4" Exemple Dans l'exemple, le système demande un nom et un département à l'Utilisateur. Cette requête est répétée jusqu'à ce que l'Utilisateur indique un nom autre que le sien. :SET &REPETER# = "J" :WHILE &REPETER# = "J" :SET &DEPT# = SYS_USER_DEP() :SET &NOM# = SYS_USER_NAME() :BEGINREAD : READ &DEPT#,"08","Veuillez indiquer le département", &DEPT#, "M" : READ &NOM#,"08","Veuillez indiquer le nom", &NOM#, "M" : ENDREAD :IF SYS_LAST_ERR_NR() <> 0 : STOP :ELSE : IF SYS_USER_NAME() = &NOM# : SET &REPETER#= "Y" : SET_LAST_ERR 10006, "Le nom ne peut pas être le vôtre" :ELSE : SET &REPETER#= "N" : ENDIF : ENDIF :ENDWHILE Rubriques connexes : 206 Chapter 3 Organisation fonctionnelle Elément de script Description :IF... :ELSE... :ENDIF Analyser et exécuter une expression suivant les instructions du résultat d'évaluation. Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.19 FIND Fonction script : Recherche un Tableau de script et retourne l'Index correspondant. Syntaxe FIND(Tableau de Script, Terme de recherche[, Position de départ]) Elément de syntaxe Description/format Tableau de script Nom du Tableau de Script dans lequel effectuer la recherche. Format : Variable de script Terme de recherche Chaîne de caractères ou nombre sur lesquels porte la recherche. Format : Format : littéral de chaîne, nombre sans guillemets, Variable de Script Position de départ Index à partir duquel la recherche doit commencer. Format : Format : nombre sans guillemets, Variable de Script Codes retour Index du tableau dans lequel le terme de recherche a été trouvé. 0 = Aucun résultat de recherche Remarques La recherche de terme de recherche est réalisée pour toutes les valeurs de tableau de Script à partir de l'index position de départ. Si aucune position de départ n'est indiquée, la recherche s'effectue sur l'ensemble du tableau (à partir de l'index 1). Si la recherche a réussi, l'index de tableau dans lequel le texte ou le nombre a été trouvé en premier est retourné. Pour poursuivre la recherche dans le reste du tableau, il faut utiliser l'index suivant du résultat précédent comme position de départ. Si la recherche ne donne aucun résultat, le code retour de la fonction script est 0. Le tableau de Script doit être indiqué avec des crochets vides []. Les tableaux de Script doivent être créés avec :DEFINE, qui permet aussi de déterminer le type de données et la taille. Les champs du tableau auxquels aucune valeur spécifique n'a encore été attribuée possèdent la valeur par défaut "" (type de données : chaîne) ou 0 (types de données numériques). La recherche avec FIND n'est donc judicieuse que lorsque le tableau a aussi été rempli en conséquence. Les éléments de tableau peuvent être définis individuellement en saisissant l'index :SET. L'instruction de Script :FILL permet d'enregistrer plusieurs valeurs différentes simultanément dans un tableau. Automation Engine 207 Exemples L'exemple montre la création et l'initialisation d'un tableau avec les valeurs issues d'un objet Variable. Ensuite, une recherche sur WIN s'effectue dans tout le tableau et tous les résultats s'inscrivent dans le protocole d'activation. :DEFINE&array#, string, 5 :FILL&array#[] = GET_VAR(VARA.WIN, AGENTS) :SET&search# = FIND(&array#[], "WIN", 1) :WHILE&search# <> 0 :PRINT"WIN trouvé à la position : &search#" :SET&search# = &search# + 1 :SET &search# = FIND(&array#[], "WIN",&search#) :ENDWHILE Rubriques connexes : Elément de script Description :FILL Enregistre plusieurs valeurs dans un Tableau de script. LENGTH Détermine la longueur d'un Tableau de script. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.20 GET_SCRIPT_VAR Fonction script : Indique les valeurs des Variables de script par accès indirect. Syntaxe GET_SCRIPT_VAR(Variable de Script) Elément de syntaxe Description/format Variable de script Caractère de remplacement pour les noms des Variables de Script dont les valeurs doivent être lues. Format : nom UC4, littéral de Script ou Variable de Script Remarques La fonction de Script lit les valeurs des Variables de Script sans que les noms de ces dernières ne doivent être clairement indiqués. On peut accéder aux Variables de Script indirectement, par un caractère de remplacement que l'on pourrait soi-même nommer Variable. Cela permet de demander les valeurs de plusieurs Variables de Script en toute simplicité, dans une boucle de processus, par exemple. La fonction de Script remplace donc plusieurs instructions de conditions jusqu'à présent nécessaires par une seule ligne de Script. Une chaîne de caractères, à partir de laquelle le nom d'une Variable de Script est créé, est transmise à la fonction de Script à l'aide d'une Variable de Script. Il n'est donc pas nécessaire de commencer la chaîne de caractères par le signe "&", qui signale une Variable de Script. Il faut au moins indiquer les premières 208 Chapter 3 Organisation fonctionnelle lettres du nom de variable nécessaires pour identifier clairement la Variable de Script. Si l'indication n'est pas claire, la valeur de la première variable correspondante sera lue. Le nom de variable est recherché à partir de & ou du caractère suivant. Si la chaîne de caractères indiquée ne correspond au début d'aucun nom de Variable, une erreur se produit. Le Script permet également de déterminer les valeurs des Variables Objet et PromptSet. Exemple L'exemple se base sur un objet Variable et un Job. Les noms des Variables de Script sont enregistrés dans l'objet Variable. Dans le Script du Job, le nom de la Variable de Script est ensuite lu dans une boucle de processus à partir de l'objet Variable. Celui-ci est transmis à la Variable "&VALEUR#". Le nom de la Variable de Script et sa valeur sont affichés dans le rapport d'activation. Cette valeur peut apparaître dans une instruction PRINT à l'aide de la Variable de Script "&VALEUR#" qui contient successivement le contenu de "&FIN#", "&START#" et "&ULTIMO#". :SET &FIN# ="20051027" :SET &START# ="20051024" :SET &ULTIMO# = "20051031" :SET &HANDLE# = PREP_PROCESS_VAR("SCRIPT_VARA") :PROCESS &HANDLE# : SET &VARIABLE# = GET_PROCESS_LINE(&HANDLE#,1) : SET &VALEUR# = GET_SCRIPT_VAR(&VARIABLE#) : PRINT "&VARIABLE# = &VALEUR#" :ENDPROCESS :CLOSE_PROCESS &HANDLE# Extrait du rapport : 2005-02-03 12:51:23 - U0020408 Fin = 20051027 2005-02-03 12:51:23 - U0020408 Début = 20051024 2005-02-03 12:51:23 - U0020408 Ultimo = 20051031 Rubriques connexes : Elément de script Description Automation Engine :SET_SCRIPT_ VAR Définit les valeurs des Variables de script par accès indirect. :RSET Attribue une valeur à une Variable de script et l'enregistre dans le rapport d'activation. 209 Scripts - Elaboration et traitement des scripts Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.5.21 LENGTH Fonction script : Détermine la longueur d'un Tableau de script. Syntaxe LENGTH(Tableau de Scrip[, SIZE]) Elément de syntaxe Description/format Tableau de script Nom de la Variable de script qui a été déclarée comme tableau. Format : Variable de script SIZE Ignorer les éléments vides à la fin du tableau Codes retour Nombre d'éléments du tableau de script. Remarques Les tableaux de script doivent être créés avec l'élément de script :DEFINE. Le type de données et le nombre d'éléments y sont aussi déterminés. La taille du tableau peut ensuite être déterminée avec la fonction script LENGTH. Le tableau doit être indiqué avec des crochets vides. La taille maximale des tableaux de script est 99999. Si le tableau indiqué est introuvable ou qu'une Variable de script a été indiquée, une erreur de script se produit. Lorsque le paramètre SIZE est également spécifié, seul le nombre jusqu'au dernier élément de tableau complété est retourné. Tous les éléments vides à la fin du tableau ne sont donc pas pris en compte. Veuillez noter que la détermination de la taille jusqu'au dernier élément complété (paramètre SIZE) est possible uniquement lorsque le tableau présente le type de données "string". Pour tous les autres types de données, la taille complète du tableau est toujours retournée ! Exemples Dans l'exemple suivant, un tableau de script est créé, complété avec des valeurs issues d'un objet Variable, puis les valeurs s'affichent à l'aide d'une boucle. :DEFINE&ARRAY#, string, 5 :SET&LEN# = LENGTH(&ARRAY#[]) :SET&VAR# = 1 210 Chapter 3 Organisation fonctionnelle :FILL&ARRAY#[] = GET_VAR(VARA1, ARRAY) :WHILE&VAR# LE &LEN# :PRINT"Element &VAR# = &ARRAY#[&VAR#]" :SET&VAR# = &VAR# + 1 :ENDWHILE Rubriques connexes : Elément de script Description :FILL Enregistre plusieurs valeurs dans un Tableau de script. FIND Recherche un Tableau de script et retourne l'Index correspondant. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6 Traitement des erreurs et messages 3.6.1 :EXIT Instruction de script : Instruction permettant de terminer le traitement du script avec un code retour. Syntaxe :EXIT [Code retour] Elément de syntaxe Description/format Code retour Valeur qui doit être définie comme code retour. Format : chiffre, variable de script ou fonction de script Valeur par défaut : "0" Remarques L'instruction de script permet de terminer le traitement du script avec un code retour correspondant. Cette instruction est utilisée pour réagir aux conditions qui entraînent l'interruption de la Tâche. Par exemple, le contenu d'une Variable dans un objet script peut ainsi être vérifié et en fonction du résultat, la Tâche peut être poursuivie ou interrompue. Si l'instruction de script est utilisée sans code retour ou avec la valeur "0", le traitement du script se termine normalement à cet emplacement avec le code retour "0". La Tâche se poursuit tout de même : les Jobs sont initiés à partir du JCL généré, les Alertes sont affichées, etc. Des codes retour Utilisateurs peuvent également être indiqués en tant que codes retour. Le traitement de script est interrompu et la Tâche terminée anormalement (ENDED_NOT_OK). Si la génération à l'exécution est activée dans l'onglet Attributs de la Tâche, cela permet également de réagir à ce code retour Utilisateur au sein d'un Workflow. :EXIT termine le traitement du script. C'est pourquoi l'instruction ne peut pas être utilisée dans les onglets Post-Script. Dans ces cas, utilisez l'instruction :MODIFY_STATE. Automation Engine Exemple Le premier exemple termine le traitement de script avec le code retour 10. :EXIT 10 Rubriques connexes : :MODIFY_STATE Modifie le code retour ou le texte du statut d'un Job une fois ce dernier terminé. :STOP Interrompt l'activation d'un script. Elément de script - Traitement des erreurs et messages Codes retour système des objets activables Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.2 :ON_ERROR Instruction de script : Détermine les réactions associées à certaines erreurs ou certains messages de script. Syntaxe :ON_ERROR Réaction Elément de syntaxe Description/format Réaction Mot-clé pour la réaction aux erreurs et aux messages. Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "ABEND", "RESUME" (Par défaut) "ABEND" - Le traitement du Script est interrompu "RESUME" - Le traitement du Script recommence. Remarques L'instruction de Script détermine les fonctions de Script suivantes : ACTIVATE_UC_OBJECT LAST_OF_PERIOD AUTOFORECAST MODIFY_OBJECT CANCEL_UC_OBJECT MOVE_OBJECT CHANGE_LOGGING PREP_PROCESS_FILENAME CREATE_OBJECT REMOVE_OBJECT EXPORT RESTART_UC_OBJECT FIRST_OF_PERIOD SEND_MAIL GET_FILESYSTEM SEND_MSG 211 212 Chapter 3 Organisation fonctionnelle GET_OBJECT_TYPE SYS_SERVER_ALIVE GET_STATISTIC_DETAIL SYS_USER_ALIVE IMPORT UC4 travaille par défaut pour que le traitement de Script pour ces fonctions de Script ne soit pas interrompu lorsque certaines erreurs se produisent. Vous pouvez analyser l'erreur émise avec les fonctions de Script pour le traitement des erreurs. Le paramètre "ABEND" vous permet de forcer le Script à s'interrompre en cas d'erreur. Par contre, "RESUME" vous permet de continuer le Script et de lire les codes retour des fonctions répertoriées précédemment. Exemple L'exemple permet de définir la non-interruption du Script en cas d'erreur. Il cherche ensuite à vérifier la capacité d'enregistrement d'un lecteur non existant. Vous pouvez alors analyser l'erreur avec les fonctions de Script pour le traitement des erreurs. :ON_ERROR RESUME :SET &CHECK# = GET_FILESYSTEM('WIN21', 'Z:\', FILESYSTEM_SPACE_TOTAL) :SET &ERRNR# = SYS_LAST_ERR_NR :SET&ERRINS# = SYS_LAST_ERR_INS :SET&MESSAGE# = GET_MSG_TXT (&NUMERR#,&ERRINS#) Rubriques connexes : Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.3 :SEND_MSG Instruction de script : Envoie des messages à des Utilisateurs connectés à l'Interface Utilisateur. Syntaxe :SEND_MSG Nom, Département, Message Elément de syntaxe Description/format Nom Nom de l'Utilisateur devant recevoir le message. Format : littéral de script, Variable de script ou fonction de script Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Automation Engine Département 213 Département de l'Utilisateur devant recevoir le message. Format : littéral de script, Variable de script ou fonction de script Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Message Message devant être envoyé. Format : littéral de script, Variable de script ou fonction de script Remarques Cette instruction de Script permet d'envoyer des messages aux Utilisateurs. Ceux-ci s'affichent dans la fenêtre des messages correspondante. Le message n'étant envoyé qu'aux Utilisateurs connectés à l'Interface Utilisateur, il est recommandé d'utiliser le Script SYS_USER_ALIVE, qui permet de vérifier cette condition. Si l'Utilisateur n'existe pas, l'erreur "20698" se produit. L'instruction de Script :ON_ERROR permet de définir la réaction dans ce cas. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Les messages envoyés sont consignés ensemble et se trouvent dans la catégorie Messages du panneau de configuration. Le type de message est "Information" et la catégorie de message s'appelle "Message". Attention : les messages envoyés ne sont affichés que lorsque l'option "Afficher seulement les messages d'erreur et d'avertissement" de l'Interface Utilisateur n'est pas activée. Le privilège "Voir tous les messages de ce Client" permet également d'afficher les messages envoyés à d'autres Utilisateurs. Exemples L'Utilisateur connecté sous le nom "PHILIBERT" et dans le Département "INFORMATIQUE" de l'Interface Utilisateur reçoit une demande expresse de sauvegarde. Si l'Utilisateur n'est pas connecté à l'Interface Utilisateur, un objet Alerte est initié. :SET &RET# = SYS_USER_ALIVE("HENRI","INFORMATIQUE") :IF &RET# = "Y" : SEND_MSG "PHILIBERT","INFORMATIQUE","Veuillez lancer la sauvegarde !" :ELSE : SET &ACTOBJ# = ACTIVATE_UC_OBJECT(CALL,"EQUIPE DE JOUR") :ENDIF L'Utilisateur reçoit une Alerte identique. L'Utilisateur reçoit le même message Pour ce faire, on utilise une fonction de Script pour le département et une Variable de Script pour le message. :SET &MSG# = "Veuillez lancer la sauvegarde !" :SEND_MSG "PHILIBERT",SYS_USER_DEP(),&MSG# 214 Chapter 3 Organisation fonctionnelle Cet exemple utilise des caractères génériques pour envoyer le message à tous les Utilisateurs du département "INFORMATIQUE". :SEND_MSG "*","INFORMATIQUE","Veuillez lancer la sauvegarde !" Rubriques connexes : Elément de script Description SYS_USER_ALIVE Vérifie si l'Utilisateur est connecté à UC4 par une Interface Utilisateur. SEND_MAIL Envoie un e-mail à un Utilisateur. Elément de script - Traitement des erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.4 :SEND_SNMP_TRAP Instruction de script : Envoie une interruption SNMP. Syntaxe :SEND_SNMP_TRAPCode d'interruption, Paramètre[, Paramètre[, Paramètre]]... Elément de syntaxe Description/format Code d'interruption Code définissable librement auquel une gestion SNMP peut réagir. Format : nombre, Variable de script ou fonction de script Paramètres Informations supplémentaires qui peuvent être envoyées avec l'interruption SNMP. Format : nombre, littéral de script, Variable de script ou fonction de script Le numéro de Client doit être indiqué entre guillemets (ex. : "1000"). Remarques L'instruction de script envoie une interruption SNMP avec les paramètres indiqués à un système de gestion. Elle ne peut être utilisée qu'une fois tous les prérequis remplis pour la fonctionnalité SNMP. 10 paramètres maximum peuvent être joints. Ils peuvent être 5 chaînes de caractères maximum et 5 chiffres maximum. La position des chaînes de caractères et des nombres est exactement prescrite. D'abord viennent les chaînes de caractères, suivies des nombres. Au moins une chaîne de caractères doit être indiquée. Les codes d'interruption générés par UC4 et HP OpenView Integrator (codes d'interruption: 10000 10010) ne doivent pas être utilisés. Automation Engine 215 Exemples Le premier exemple montre un test simple. L'interruption SNMP 50000 envoie tous les paramètres possibles à un système de gestion. :SEND_SNMP_TRAP 50000,"Texte1","TEXTE2","TEXTE3","TEXTE4","TEXTE5",1,2,3,4,5 Dans le deuxième exemple, chaque date d'activation est ensuite transmise. Différentes interruptions sont envoyées selon qu'il s'agit d'une activation directe ou d'une activation dans un Workflow. Les deux interruptions se composent d'un code d'interruption et d'une chaîne de caractères formatée. :SET &NOM# =SYS_ACT_ME_NAME() :SET &ID# =SYS_ACT_ME_NR() :SET &JPNOM# =SYS_ACT_PARENT_NAME() :SET &CLIENT# =SYS_ACT_CLIENT() !Type d'interruption = alarme :SET &TYPE# = 4 !Degré d'importance de l'Evènement :SET &SEV# = 4 :IF "&JPNOM#" = "" : SEND_SNMP_TRAP 50001, "&CLIENT#","Erreur dans la Tâche &NOM# (&ID#)!",,,,&TYPE#,&SEV# :ELSE : SET &JPID# = SYS_ACT_PARENT_NR() : SEND_SNMP_TRAP 50002, "&CLIENT#","Erreur dans le Workflow &JPNAME# (&JPID#) pour la Tâche &NAME# (&ID#) !",,,,&TYPE#,&SEV# :ENDIF Le troisième exemple montre comment les dates d'activation transmises sont passées à l'instruction de script en tant que paramètres uniques. Les dates d'activation sont ainsi disponibles dans le système de gestion en tant que valeurs uniques et peuvent ensuite y être traitées plus facilement. :SET &NOM# =SYS_ACT_ME_NAME() :SET &ID# =SYS_ACT_ME_NR() :SET &JPNOM# =SYS_ACT_PARENT_NAME() :SET &CLIENT# =SYS_ACT_CLIENT() !Type d'interruption = alarme :SET &TYPE# = 4 !Degré d'importance de l'Evènement :SET &SEV# = 4 :IF &JPNOM# = "" : SEND_SNMP_TRAP 50001,"&CLIENT#","&NOM#",,"Erreur dans la Tâche!",,&TYPE#,&SEV#,&ID# :ELSE : SET &JPID = SYS_ACT_PARENT_NR() : SEND_SNMP_TRAP 50002,"&CLIENT#","&NAME#","&JPNAME#","Erreur dans le Workflow !",,&TYPE#,&SEV#,&ID#,&JPID# :ENDIF Si &ID# et/ou &JPID# sont envoyés en tant que chiffres et non en tant que chaînes de caractères, ils peuvent être transmis uniquement à partir du sixième paramètre. Des virgules doivent remplacer les paramètres omis qui sont prévus pour des chaînes de caractères. Rubriques connexes : 216 Chapter 3 Organisation fonctionnelle Elément de script Description SYS_SNMP_ ACTIVE Vérification de l'activation de la connexion SNMP (Simple Network Management Protocol) d'UC4. Elément de script - Traitement des erreurs et messages UC4 et SNMP Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.5 :SET_LAST_ERR Instruction de script : Définit le numéro et le texte de l'erreur Syntaxe :SET_LAST_ERR Numéro[, Insert] Elément de syntaxe Description/format Numéro Numéro d'erreur. Format : nombre, Variable de script ou fonction de script Insert Texte de l'erreur, partie variable du message d'erreur. Format : littéral de Script, Variable de Script ou fonction de Script Remarques L'instruction de Script :SET_LAST_ERR définit le numéro et le texte de l'erreur. Dans ce cas, l'instruction remplace le numéro de l'erreur et/ou la partie variable du dernier message d'erreur. L'indication d'Insert est facultative. Si Insert n'est pas indiqué, la partie variable du message d'erreur est une chaîne vide. Veillez à indiquer un message d'erreur valide. Vous trouverez la liste de tous les messages disponibles, avec leur texte, dans le manuel des messages. Si le message possède plusieurs parties variables, il faut les séparer par un "|". On trouve également l'ordre d'exécution dans le manuel des messages. :SET_LAST_ERR 0 permet de supprimer le numéro et le texte d'erreur. Vous pouvez obtenir tout le message d'erreur modifié avec GET_MSG_TXT. Exemple L'exemple définit le numéro d'erreur "20657" avec les deux parties variables du message. :SET_LAST_ERR 20657,"MAWI.TAG|20||OBJETS" :SET &ERRINS# = SYS_LAST_ERR_INS() :SET &ERRNR# = SYS_LAST_ERR_NR() :SET &MSG# = GET_MSG_TXT(&ERRNR#, &ERRINS#) :PRINT &MSG# Automation Engine 217 Extrait du manuel de messages : 20657 : erreur de durée d'exécution dans l'objet '&01' ligne '&02' : dossier cible '&04' introuvable. Texte du résultat de l'instruction de Script : U0020657 : erreur de durée d'exécution dans l'objet 'GS.JOUR' ligne '20' : dossier cible 'OBJETS' introuvable. Rubriques connexes : Elément de script Description SYS_LAST_ERR_INS Indique la partie variable du message d'erreur pour la dernière erreur survenue. SYS_LAST_ERR_NR Renvoie le numéro d'erreur de la dernière erreur survenue. SYS_LAST_ERR_ SYSTXT Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue Elément de script - Traitement des erreurs et messages Généralités sur les Scripts Script - Liste alphabétique Script - Division fonctionnelle 3.6.6 :STOP Instruction de script : Interrompt l'activation d'un script. Syntaxe :STOP [Mode Arrêt] Elément de syntaxe Description/format Mode d'arrêt Les expressions suivantes peuvent être passées à l'instruction :STOP en tant que mode d'arrêt : Aucune indication Interrompt le traitement d'un script et affiche le protocole d'activation avec le message U0010014. NOMSG, numéro du message[, texte du message] Termine l'activation de l'objet sans erreur. Un message peut être créé. MSG, Numéro d'erreur, Texte d'erreur Interrompt l'activation d'un objet avec un message d'erreur. Remarques :STOP interrompt l'activation d'un objet. C'est pourquoi l'instruction ne peut pas être utilisée dans les onglets Post-Script. Dans ces cas, utilisez l'instruction :MODIFY_STATE. Mode d'arrêt NOMSG 218 Chapter 3 Organisation fonctionnelle On peut utiliser l'instruction :STOP avec le mode d'arrêt NOMSG dans des objets qui ne nécessitent pas l'exécution par un Agent. Cela permet de travailler exclusivement avec des scripts et aussi, par exemple, de définir des Variables UC4. En outre, un message peut être créé dans le mode d'arrêt NOMSG. Le numéro de message est nécessaire pour la syntaxe mais n'est pas évalué. Le texte du message est enregistré dans les statistiques et envoyé en tant qu'élément de confirmation lors de l'exécution via CallAPI. Vous pouvez ainsi par exemple retourner au CallAPI le numéro courant (RunID) d'une Tâche démarrée. Comme le mode d'arrêt NOMSG termine l'activation d'une Tâche sans erreur, cette dernière n'est pas affichée en tant que Tâche interrompue dans les statistiques. Mode d'arrêt MSG Vous pouvez utiliser le mode d'arrêt MSG pour interrompre l'activation d'un objet avec un message d'erreur. Vous pouvez alors indiquer un numéro d'erreur et un texte d'erreur. Cela est particulièrement important pour les objets qui sont démarrés via le CallAPI de UC4. Les informations ainsi retournées représentent la seule possibilité de connaître le contenu de l'exécution du script. Les numéros d'erreur 50 à 59 sont réservés à l'Utilisateur. Le numéro d'erreur 50 provoque le code retour 4 et les numéros d'erreur 51 à 59 ferment l'utilitaire avec le code retour 8. Attention seuls les numéros d'erreur 50 à 59 peuvent être utilisés ! Les autres numéros d'erreur entraînent l'interruption du script, avec un message signalant que le numéro d'erreur indiqué n'est pas valide. Comme le mode d'arrêt MSG termine l'activation d'une Tâche avec erreur, cette dernière est affichée en tant que Tâche interrompue dans les statistiques (FAULT_OTHER : démarrage impossible). Si l'instruction :STOP est utilisée sans paramètre ou avec le mode d'arrêt MSG, le traitement du script s'interrompt avec une erreur. Un rollback de la base de données est alors effectué. Toutes les transactions non encore exécutées sont annulées. Si vous avez fourni des objets Variable dans le script, il est alors possible que les objets Variables existant au début du script aient déjà sauvegardé leurs nouvelles valeurs, qui ne sont cependant pas fournies à la fin du script. Le système inscrit les transactions dans la base de données UC4 (Commit) lorsque le traitement du script est interrompu. Ce moment survient l l l automatiquement à intervalles de 5 secondes, via des scripts tels que ACTIVATE_UC_OBJECT, GET_FILESYSTEM, :READ, PREP_ PROCESS, PREP_PROCESS_FILE, et par l'instruction de script :WAIT. L'instruction :WAIT 0 permet de forcer une interruption du traitement du script et donc une inscription (Commit) dans la base de données. Exemple L'exemple illustre le message d'erreur lié à l'activation correcte ou incorrecte d'un Job. :SET&AKTNR# = ACTIVATE_UC_OBJECT(JOBS, GS) :IF&AKTNR# = "0" : STOP MSG, 50, "Erreur lors de l'activation du Job MAWI." :SINON : PRINT"Le Job a été démarré avec le numéro d'activation &AKTNR#." :ENDIF Automation Engine 219 Rubriques connexes : Elément de script Description :EXIT Instruction permettant de terminer le traitement du script avec un code retour. :WAIT Le traitement du script est interrompu pour une période donnée. Script - Activer les objets Traitement des erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.7 GET_MSG_TXT Fonction script : Détermine le texte du message de la dernière erreur survenue. Syntaxe GET_MSG_TXT(Numéro[, Insert]) Elément de syntaxe Description/format Numéro Numéro d'erreur Format : Variable de script ou chiffre Le numéro d'erreur est également renvoyé par la fonction de Script SYS_ LAST_ERR_NR. Insert Partie Variable du message d'erreur Format : littéral de script ou Variable de script La partie Variable du message d'erreur est également renvoyée par la fonction de Script SYS_LAST_ERR_INS. Codes retour Texte du message de la dernière erreur survenue. " " - aucune erreur n'est survenue. Remarques Pour chaque Script sélectionné, l'utilisation de :ON_ERROR permet de poursuivre le Script malgré des erreurs. Dans ce cas, le message d'erreur peut être déterminé par la fonction. Le texte du message est déterminé sur la base du numéro et de la partie Variable du message d'erreur Insert. Auparavant, le numéro d'erreur peut être déterminé avec SYS_LAST_ERR_NR, et la partie Variable du message d'erreur peut être déterminée avec SYS_LAST_ERR_INS. La fonction de Script GET_MSG_TXT forme le message d'erreur UC4 complet avec ces données et avec les textes d'erreur constants. Le paramètre Insert ne doit pas être indiqué, lorsque le texte du message ne comporte aucune partie Variable. C'est notamment le cas des Textes de statut dont vous pouvez lire le numéro à l'aide de la fonction GET_STATISTIC_DETAIL. 220 Chapter 3 Organisation fonctionnelle Exemple L'exemple cherche à vérifier la capacité d'enregistrement d'un lecteur non disponible. Dans ce cas, une erreur se produit. Le numéro d'erreur et la partie Variable du message d'erreur sont lus. Ces informations permettent de déterminer le message d'erreur UC4 complet et de l'envoyer sous forme de message à l'Utilisateur. :SET &CHECK# = GET_FILESYSTEM("WIN21", "Z:\", FILESYSTEM_SPACE_TOTAL) :SET &NUMERR# = SYS_LAST_ERR_NR() :SET &ERRINS# = SYS_LAST_ERR_INS() :SET &MESSAGE# = GET_MSG_TXT(&NUMERR#,&ERRINS#) :SEND_MSGBU,BU,&MESSAGE# Dans le deuxième exemple, le texte du statut d'une Tâche est déterminé. :SET &STATUT# = GET_STATISTIC_DETAIL(&RUNID#, STATUS) :SET &TEXTE# = GET_MSG_TXT(&STATUT#) :PRINT &TEXTE# Le résultat pourrait ressembler à ce qui suit : ENDED_CANCEL - Arrêt forcé Rubriques connexes : Elément de script Description GET_MSG_TYPE Indique le type d'un numéro de message. SYS_LAST_ERR_INS Indique la partie variable du message d'erreur pour la dernière erreur survenue. SYS_LAST_ERR_NR Renvoie le numéro d'erreur de la dernière erreur survenue. Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.8 GET_MSG_TYPE Fonction script : Indique le type d'un numéro de message. Syntaxe GET_MSG_TYPE(numéro de message) Elément de syntaxe Description/format Numéro de message Numéro d'un message dont le type doit être lu. Format : Variable de script ou chiffre Codes retour Automation Engine 221 "A" : interruption "E" : erreur "I" : information "Q" : question "W" : avertissement " " : le numéro d'erreur n'existe pas. Remarques Les numéros d'erreur sont répartis en différents types tels que les avertissements et les messages d'erreur. La fonction script SYS_LAST_ERR_NR permet d'obtenir le numéro du dernier message survenu. Exemple Dans l'exemple suivant, l'administrateur UC4 est informé en cas de message d'erreur ou d'interruption. :SET &ERRNR# = SYS_LAST_ERR_NR() :SET &ERRTYP# = GET_MSG_TYPE(&ERRNR#) :IF &ERRTYP# = "A" OR "E" : SET &ERRINS# =SYS_LAST_ERR_INS() : SET &MESSAGE# = GET_MSG_TXT(&NUMERR#,&ERRINS#) : PRINT &MESSAGE# : SET &RET# = SEND_MAIL("[email protected]",,"Erreur en cours de traitement",&MESSAGE#) :ENDIF Rubriques connexes : Elément de script Description GET_MSG_TXT Détermine le texte du message de la dernière erreur survenue. SYS_LAST_ERR_INS Indique la partie variable du message d'erreur pour la dernière erreur survenue. SYS_LAST_ERR_NR Renvoie le numéro d'erreur de la dernière erreur survenue. Elément de script - Traitement des erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.9 SEND_MAIL Fonction script : Envoie un e-mail à un Utilisateur. Syntaxe SEND_MAIL(destinataire, [Cc], sujet, texte[, pièce jointe]) Elément de syntaxe Description/format 222 Chapter 3 Organisation fonctionnelle Destinataire Destinataire du message. Format : Littéral de script ou Variable de script Si l'e-mail doit être envoyé à plusieurs destinataires, les adresses doivent être séparées par des points-virgules. Cc Destinataires devant recevoir une copie de ce message. Format : littéral de script ou Variable de script Valeur par défaut : "" Objet Courte description du message. Format : Littéral de script ou Variable de script Texte Texte du message. Format : Littéral de script ou Variable de script Pièce jointe Chemin et nom des fichiers devant être envoyés en pièce jointe. Format : littéral de script ou Variable de script Valeur par défaut : "" Séparez chaque chemin par un point-virgule (;) lorsque vous souhaitez envoyer plusieurs fichiers. Codes retour "0" : l'e-mail a été correctement envoyé. "10034" : aucun hôte avec connexion e-mail n'est actif. "50006" : le serveur SMTP répond avec un code d'erreur. "50014" : la pièce jointe n'existe pas. "50027" : l'authentification sur le serveur STMP a échoué. "50028" : l'adresse du destinataire n'est pas valide et a été par conséquent refusée par le serveur SMTP. "50029" : connexion au serveur SMTP impossible. "50030" : erreur lors de la création du socket. "50031" : les informations hôte du serveur SMTP n'ont pas pu être déterminées. "50032" : la communication avec le serveur SMTP n'est plus possible. "50033" : aucune donnée ne peut être reçue par le serveur SMTP. "50034" : aucune donnée ne peut être envoyée au serveur SMTP. "50035" : initialisation des Windows Sockets impossible. "50036" : le nom d'hôte de l'ordinateur local ne peut pas être déterminé. Remarques L'envoi d'un e-mail dépend des possibilités proposées par la configuration du PC d'un Utilisateur. La fonction de script ne vérifie pas si le destinataire indiqué existe réellement. Le message est également envoyé à un mauvais destinataire. Si l'e-mail ne peut pas être envoyé, car par exemple la pièce jointe est introuvable ou la connexion e-mail n'est pas active, le script continue à s'exécuter. Dans ce cas, la fonction de script fournit un code Retour correspondant. L'instruction de script :ON_ERROR vous permet d'interrompre le traitement du script en cas d'erreur. Vous pouvez analyser l'erreur avec les fonctions de script pour le traitement des erreurs. Automation Engine 223 Attention : les e-mails avec ce script sont toujours envoyés via Automation Engine. Les fichiers à envoyer en pièces jointes doivent par conséquent se trouver sur l'ordinateur d'Automation Engine ou y être accessibles (chemin UNC). Attention : une ligne de script ne peut pas comporter plus de 1024 caractères ! Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. L'envoi d'e-mails requiert la configuration de la connexion d'e-mail. Exemples Dans le premier exemple, un e-mail est envoyé à un seul destinataire (aucune copie). Cet e-mail est accompagné d'une pièce jointe. :SET &OUT# = SEND_MAIL("[email protected]",,"Entretien","Rendez-vous aujourd'hui à 14 heures","/uc4/agenda") Ici, un e-mail contenant deux pièces jointes est envoyé à plusieurs personnes. :SET &OUT# = SEND_MAIL("[email protected];[email protected]",,"Réunion","Rendez-vous annulé","c:\uc4\agenda.doc;c:\uc4\rendez-vous.txt") Rubriques connexes : Elément de script Description :SEND_MSG Envoie des messages à des Utilisateurs connectés à l'Interface Utilisateur. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.10 SYS_LAST_ERR_INS Fonction script : Indique la partie variable du message d'erreur pour la dernière erreur survenue. Syntaxe SYS_LAST_ERR_INS () Codes retour Partie Variable du message de la dernière erreur survenue. " " - Es ist kein Fehler aufgetreten. 224 Chapter 3 Organisation fonctionnelle Remarques Pour chaque Script sélectionné, l'utilisation de :ON_ERROR permet de poursuivre le Script malgré des erreurs. Dans ce cas, la partie Variable du message d'erreur peut être déterminée par la fonction. La plupart des messages d'erreur ne proviennent pas seulement d'un texte donné. Les parties du message se rapportent par exemple aux noms d'objet ou aux lignes du Script. Ces parties variables du message d'erreur sont placées entre guillemets simples. Exemple de message d'erreur : U0020657 : erreur de durée d'exécution dans l'objet '&01' ligne '&02' : aucun objet portant le nom '&04' n'a été trouvé. Lorsque le message d'erreur s'affiche, les parties variables sont remplies en conséquence : U0020645 : erreur de durée d'exécution dans l'objet 'MOVE_OBJECT' ligne '0002' : aucun objet portant le nom 'GS.FIN.2005' n'a été trouvé. Exemple L'exemple cherche à vérifier la capacité d'enregistrement d'un lecteur. S'il n'y en a pas ou s'il est inaccessible, une erreur se produit. Le numéro d'erreur et la partie Variable du message d'erreur sont lus. Ces informations permettent de déterminer le message d'erreur UC4 complet et de l'envoyer sous forme de message à l'Utilisateur. : SET &CHECK# = GET_FILESYSTEM ( "WIN21G" , "Z:\" , FILESYSTEM_SPACE_ TOTAL) : SET &ERRINS# = SYS_LAST_ERR_INS () : IF &ERRINS# NE "" : SET &NUMERR# = SYS_LAST_ERR_NR () : SET &MESSAGE# = GET_MSG_TXT ( &NUMERR# , &ERRINS# ) : SEND_MSG BU,BU, &MESSAGE# : ENDIF Rubriques connexes : GET_MSG_TXT Détermine le texte du message de la dernière erreur survenue. GET_MSG_TYPE Indique le type d'un numéro de message. SYS_LAST_ERR_NR Renvoie le numéro d'erreur de la dernière erreur survenue. SYS_LAST_ERR_ SYSTXT Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.11 SYS_LAST_ERR_NR Fonction script : Renvoie le numéro d'erreur de la dernière erreur survenue. Automation Engine 225 Syntaxe SYS_LAST_ERR_NR () Codes retour Numéro de la dernière erreur survenue. "0" : aucune erreur n'est survenue. Remarques Pour chaque Script sélectionné, l'utilisation de :ON_ERROR permet de poursuivre le Script malgré des erreurs. Dans ce cas, le numéro d'erreur peut être déterminé par la fonction. Exemple L'exemple cherche à vérifier la capacité d'enregistrement d'un lecteur. S'il n'y en a pas ou s'il est inaccessible, une erreur se produit. Le numéro d'erreur et la partie Variable du message d'erreur sont lus. Ces informations permettent de déterminer le message d'erreur UC4 complet et de l'envoyer sous forme de message à l'Utilisateur. : SET &CHECK# = GET_FILESYSTEM ( "WIN21G" , "Z:\" , FILESYSTEM_SPACE_ TOTAL) : SET &NUMERR# = SYS_LAST_ERR_NR () : IF &NUMERR# NE "0" : SET &ERRINS# = SYS_LAST_ERR_INS () : SET &MESSAGE# = GET_MSG_TXT ( &NUMERR# , &ERRINS# ) : SEND_MSG BU,BU, &MESSAGE# : ENDIF Rubriques connexes : GET_MSG_TXT Détermine le texte du message de la dernière erreur survenue. GET_MSG_TYPE Indique le type d'un numéro de message. SYS_LAST_ERR_INS Indique la partie variable du message d'erreur pour la dernière erreur survenue. SYS_LAST_ERR_ SYSTXT Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.6.12 SYS_LAST_ERR_SYSTXT Fonction script : Détermine le texte d'erreur du système d'exploitation pour la dernière erreur survenue 226 Chapter 3 Organisation fonctionnelle Syntaxe SYS_LAST_ERR_SYSTXT () Codes retour Texte d'erreur du système d'exploitation de la dernière erreur survenue. " " - Es ist kein Fehler aufgetreten. Remarques La fonction de Script permet de déterminer le texte d'erreur affiché en cas d'erreur du système d'exploitation. Le code retour de la fonction de Script correspond à ce texte d'erreur ou à une chaîne vide lorsqu'aucune erreur n'est survenue. Exemple L'exemple cherche à vérifier la capacité d'enregistrement d'un lecteur. S'il n'y en a pas, une erreur se produit. Le texte d'erreur du système d'exploitation ("Le système ne peut pas trouver le chemin indiqué") est ensuite envoyé sous forme de message à un Utilisateur. : SET &CHECK# = GET_FILESYSTEM ( "WIN21G" , "Z:\" , FILESYSTEM_SPACE_ TOTAL) : SET &MESSAGE# = SYS_LAST_ERR_SYSTXT () : IF &MESSAGE# NE "" : SEND_MSG BU,BU, "Erreur système : &MESSAGE#" : ENDIF Rubriques connexes : SYS_LAST_ERR_NR Renvoie le numéro d'erreur de la dernière erreur survenue. Elément de script - Traitement des erreurs et messages Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7 Données d'activation 3.7.1 GET_PARENT_NAME Fonction script : Renvoie le nom de la Tâche supérieure (parent). Syntaxe GET_PARENT_NAME(RunID [, Type d'activation]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de la Tâche subordonnée. Automation Engine Type d'activation 227 Valeurs autorisées : ACT = Activator PRC = Processor (valeur par défaut) Codes retour Nom de la Tâche supérieure. "*SCRIPT" - La Tâche a été activée via CallAPI. " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script vous permet de déterminer le nom de la Tâche supérieure d'un objet appartenant à la classe des objets activables. En cas d'activation manuelle, il s'agit du nom de l'Objet Utilisateur (par ex. HENRI/UC4). Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Afin de déterminer le nom d'un Groupe, il faut activer "Générer à l'Exécution" (onglet Attributs) pour la Tâche qui utilise la fonction script. Sinon, le nom ne peut être défini que pour les Jobs en post-traitement. Exemple Dans l'exemple suivant, le numéro courant d'une Tâche, et ensuite son activateur, sont déterminés. :SET &RunID = GET_UC_OBJECT_NR(GS.FIN) :SET &RET# = GET_PARENT_NAME(&RunID, ACT) :PRINT "Nom de la Tâche supérieure : &RET#" Rubriques connexes : Elément de script Description GET_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure (parent). GET_PARENT_TYPE Renvoie le type d'objet de la Tâche supérieure (parent). Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.2 GET_PARENT_NR Fonction script : Renvoie le numéro courant (RunID) de la Tâche supérieure (parent). Syntaxe GET_PARENT_NR( RunID [, Type d'activation]) Elément de syntaxe Description/format 228 Chapter 3 Organisation fonctionnelle RunID Numéro courant (RunID) de la Tâche subordonnée. Type d'activation Valeurs autorisées : ACT = Activator PRC = Processor (valeur par défaut) Codes retour RunID de la Tâche supérieure. ID de session en cas d'activation manuelle (uniquement pour le type d'activation ACT) " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script vous permet de déterminer le numéro courant (RunID) de la Tâche supérieure d'un objet appartenant à la classe des objets activables. En cas d'activation manuelle, il s'agit de l'ID de session de l'Utilisateur. Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Afin de déterminer le RunID d'un Groupe, il faut activer "Générer à l'Exécution"(onglet Attributs) pour la Tâche qui utilise la fonction script. Sinon, le RunID ne peut être défini que pour les Jobs en posttraitement. Exemple Dans l'exemple suivant, le numéro courant d'une Tâche, et ensuite son activateur, sont déterminés. :SET &RunID = GET_UC_OBJECT_NR(GS.FIN) :SET &RET# = GET_PARENT_NR(&RunID, ACT) :PRINT "RunID de la Tâche supérieure : &RET#" Rubriques connexes : Elément de script Description GET_PARENT_NAME Renvoie le nom de la Tâche supérieure (parent). GET_PARENT_TYPE Renvoie le type d'objet de la Tâche supérieure (parent). Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.3 GET_PARENT_TYPE Fonction script : Renvoie le type d'objet de la Tâche supérieure (parent). Syntaxe GET_PARENT_TYPE( RunID[, Type d'activation]) Automation Engine Elément de syntaxe Description/format RunID Numéro courant (RunID) de la Tâche subordonnée. Type d'activation Valeurs autorisées : 229 ACT = Activator PRC = Processor (valeur par défaut) Codes retour Type d'objet de la Tâche supérieure. "USER" - Activation manuelle (uniquement pour le type d'activation ACT) "API" - Activation via CallAPI (uniquement pour le type d'activation ACT). " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script vous permet de déterminer le type d'objet de la Tâche supérieure d'un objet appartenant à la classe d'objet des objets activables. En cas d'activation manuelle, il s'agit de "USER". Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Pour déterminer le type d'objet d'un Groupe, il faut activer "Générer à l'Exécution" (onglet Attributs) pour la Tâche qui utilise la fonction de script. Sinon, le type d'objet ne peut être défini que pour les Jobs en post-traitement. Exemple Dans l'exemple suivant, le numéro courant d'une Tâche, et ensuite le type d'objet de son activateur, sont déterminés. :SET &RunID# = GET_UC_OBJECT_NR(MAWI.ABSCHLUSS) :SET &RET# = GET_PARENT_TYPE(&RunID#, ACT) :PRINT "Type de la Tâche supérieure: &RET#" Rubriques connexes : Elément de script Description GET_PARENT_NAME Renvoie le nom de la Tâche supérieure (parent). GET_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure (parent). Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.4 GET_UC_OBJECT_STATUS Fonction script : Indique le statut d'un objet activé. 230 Chapter 3 Organisation fonctionnelle Syntaxe GET_UC_OBJECT_STATUS([[Type d'objet], [ RunID], [ Demande]]) Elément de syntaxe Description/format Type d'objet Description courte du type d'objet activable. Format : Nom UC4, Littéral de script ou Variable de script Paramètre facultatif, car le type d'objet peut être attribué clairement par le numéro courant (RunID) (compatible avec la version 2.6xx). RunID Numéro courant (RunID) de l'objet activé Format : Littéral de script ou Variable de script Demande Information devant être transmise à l'objet activé Format : Littéral de script ou Variable de script Valeurs autorisées : "STATUS" (valeur par défaut), "RETCODE", "STATUS_ TEXT" "RETCODE" = demande le code retour de l'objet activé. "STATUS" = demande le code retour système actuel de l'objet activé. "STATUS_TEXT" = demande le texte du statut. Cette valeur est uniquement disponible dans les Jobs des Agents du système d'exploitation. Par exemple, le texte de statut des Jobs SAP ne peut pas être transmis. Codes retour Suivant le cas, le code retour, le statut ou le texte de statut de la Tâche est indiqué. " " - La Tâche indiquée n'existe pas. Remarques La fonction de script vous permet de définir le statut d'un objet appartenant à la classe des objets activables. La fonction de script renvoie également une valeur lorsque la Tâche n'est plus active. Elle est extraite de la statistique. Si aucune statistique n'est trouvée, le code retour est une chaîne vide. Tous les paramètres de la fonction de script sont facultatifs. Si vous utilisez uniquement le paramètre demande, il faut quand même indiquer les deux virgules. Exemple : :SET &STATUT# = GET_UC_OBJECT_STATUS( ,,"STATUS") Si le type d'objet et le numéro courant (RunID) ne sont pas indiqués, la fonction de script renvoie le statut de sa propre Tâche. Elle renvoie donc le statut de la Tâche qui utilise la fonction de script. Si le type d'objet ou le numéro courant (RunID) ne sont pas indiqués, les particularités suivantes s'appliquent. l l l Si le type d'objet est le seul paramètre indiqué, le code retour est le statut de sa propre Tâche. Le type d'objet doit alors correspondre au type d'objet de sa propre Tâche. Si le numéro courant (RunID) est le seul paramètre indiqué, le statut de sa propre Tâche ou le statut d'une autre Tâche peut être renvoyé. Si le numéro d'identification unique d'une autre Tâche est transmis à la fonction de script, les deux Tâches doivent être du même type d'objet. Si ce n'est pas le cas, le type d'objet de l'autre Tâche doit être indiqué clairement. Automation Engine 231 Si le type d'objet et le numéro courant (RunID) ne correspondent pas, une chaîne vide est renvoyée. Une chaîne vide est également renvoyée si aucune Tâche n'est trouvée pour le numéro courant (RunID) indiqué. Si aucune demande n'est utilisée, la fonction de script renvoie le code de statut. Le texte du statut peut également être défini pour des Jobs. Il s'agit du texte que l'agent Job a affiché dans la queue (trailer) ou qui a été modifié par :MODIFY_STATE. Pour les autres types d'objet, une chaîne vide est renvoyée. Exemple Dans le premier exemple, le Job "DB.USE" est activé pour ensuite définir son statut. Pour obtenir le numéro d'identification unique du Job, une autre fonction de script est utilisée. :SET &NUMJOB#= ACTIVATE_UC_OBJECT(JOBS,DB.USE) :SET &STATUT# = GET_UC_OBJECT_STATUS(JOBS,&NUMJOB#) :PRINT "Le statut du Job(&NUMJOB#) est &STATUT#" Le deuxième exemple détermine le statut d'une Tâche. Le statut est affiché dans le protocole d'activation. :SET &RET# = GET_UC_OBJECT_STATUS() :PRINT &RET# Dans le troisième exemple, le statut du Workflow (parent) dans lequel est exécuté un Job doit être défini dans le script du Job. Comme il existe différents types d'objet, le type d'objet et le numéro courant (RunID) du Workflow doivent être transférés à la fonction script. :SET &RUNNR# = SYS_ACT_PARENT_NR() :SET &STATUT# = GET_UC_OBJECT_STATUS (JOBP,&RUNNR#) :SEND_MSGBU,BU,"Le statut du Workflow est : &STATUT#." Le quatrième exemple renvoie le texte du statut d'un Job. :SET &RET# = GET_UC_OBJECT_STATUS(,,"STATUS_TEXT") :PRINT &RET# Rubriques connexes : Elément de script Description :MODIFY_STATE Modifie le code retour ou le texte du statut d'un Job une fois ce dernier terminé. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.5 GET_UC_OBJECT_NR Fonction script : Indique le numéro courant (RunID) d'un objet activé. Syntaxe GET_UC_OBJECT_NR( nom d'objet) 232 Chapter 3 Organisation fonctionnelle Elément de syntaxe Description/format Nom d'objet Nom d'un objet activable. Format : littéral de script ou Variable de script Code retour Numéro continu de l'objet activé " " : l'objet indiqué n'est pas actif. Remarques La fonction de script GET_UC_OBJECT_NR vous permet de déterminer le numéro courant (RunID) d'un objet appartenant à la classe des objets activables. Si l'objet a été activé plusieurs fois, le numéro courant (RunID) le plus ancien est renvoyé. Exemple Dans l'exemple suivant, on vérifie si la Tâche est active. :SET &RunID# = GET_UC_OBJECT_NR(&tâche#) :IF &RunID# = "" : STOP MSG,50,"&la Tâche# n'est pas active !" :ENDIF Rubriques connexes : Elément de script Description GET_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure (parent). SYS_ACT_TOP_NR Détermine le numéro d'exécution (RunID) du Workflow de plus haut niveau. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.6 SYS_ACT_HOST Fonction script : Détermine le nom de l'hôte. Syntaxe SYS_ACT_HOST() Code retour Nom de l'Agent de l'objet dans lequel la fonction de Script est exécutée. Automation Engine 233 Remarques La fonction de Script peut être utilisée dans des Evènements de type "système de fichiers" et "console" (onglet Traitement et !Script) ainsi que dans des onglets Traitement de Jobs. Attention : le nom renvoyé est celui de l'hôte de l'Evènement ou du Job exécuté en dernier. Celui-ci peut être différent de l'hôte défini si, par exemple, l'hôte d'un Job est modifié par l'Utilisateur dans le dialogue des attributs ou s'il est défini par un :PUT_ATT dans le pré-traitement. Exemple L'exemple illustre l'attribution d'un nom d'hôte à une Variable de Script. Cette Variable de Script est ensuite utilisée comme premier paramètre de la fonction de Script GET_FILESYSTEM pour compter les fichiers dans un répertoire temporaire. :SET &HOTE# = SYS_ACT_HOST() :SET &NOMBRE# = GET_FILESYSTEM(&HOTE#,"c:\temp\*.exe","PATH_FILE_COUNT") Rubriques connexes : SYS_HOST_ALIVE Vérifie si un hôte particulier est actif. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.7 SYS_ACT_JP Fonction script : Détermine si une tâche a été activée dans un Workflow. Syntaxe SYS_ACT_JP() Codes retour "Y" - La Tâche a été activée à partir d'un Workflow. "N" - La Tâche n'a pas été activée à partir d'un Workflow. Exemple Dans l'exemple, une Tâche a été lancée manuellement. Le code retour est par conséquent "N" et entraîne l'affichage du message "La Tâche n'est pas exécutée dans le Workflow" dans le protocole d'activation. :SET &RET# = SYS_ACT_JP() :IF &RET# = "Y" : PRINT "La Tâche est exécutée dans le Workflow" :ELSE : PRINT "La Tâche n'est pas exécutée dans le Workflow" :ENDIF 234 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description SYS_ACT_PARENT_NAME Renvoie le nom de la Tâche supérieure. SYS_ACT_PARENT_NR Renvoie le numéro courant (RunID) de la Tâche supérieure. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.8 SYS_ACT_ME_NAME Fonction script : Indique le nom de l'objet concerné. Syntaxe SYS_ACT_ME_NAME () Code retour Nom de l'objet dans lequel la fonction de Script est exécutée. Exemple Le nom et le statut d'un Job sont déterminés pendant son post-traitement. Si le Job ne se termine pas normalement (ENDED_OK - 1900), son interruption est indiquée par e-mail. :SET &NOM# =SYS_ACT_ME_NAME() :SET &STATUT# = GET_UC_OBJECT_STATUS() :IF &STATUT# <"1900" : SET &OUT# = SEND_MAIL("[email protected]",,"Interruption du Job","Job : &NOM# a été interrompu") :ENDIF Rubriques connexes : Elément de script Description SYS_ACT_ME_NR Indication du numéro courant (RunID) de l'objet considéré. SYS_ACT_ME_TYPE Indique le type de l'objet concerné. Elément de script - Données d'activation Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.9 SYS_ACT_ME_NR Fonction script : Indication du numéro courant (RunID) de l'objet considéré. Automation Engine 235 Syntaxe SYS_ACT_ME_NR() Code retour Numéro courant de l'objet dans lequel la fonction de Script est exécutée. Remarques En cas de reprise de la Tâche avec le RunID de référence, la fonction de Script indique ce RunID de référence, et non pas le RunID de l'exécution. Utilisez SYS_ACT_RESTART_ME_NR pour obtenir immédiatement le numéro courant de l'objet activé en mode de reprise. Exemple Dans l'exemple, le RunID d'une Tâche sert à obtenir des informations sur le parent. Si la Tâche a été démarrée par un Utilisateur, le nom de ce dernier s'affiche dans le protocole d'activation. Si le démarrage a été lancé par une Tâche, c'est le nom de cette Tâche qui s'affiche. :SET &RUNID# = SYS_ACT_ME_NR() :SET &NOMP# = GET_PARENT_NAME(, &RUNID#, "ACT") :PRINT "Nom du parent : &NOMP#" Rubriques connexes : Elément de script Description SYS_ACT_ME_NAME Indique le nom de l'objet concerné. SYS_ACT_ME_TYPE Indique le type de l'objet concerné. Elément de script - Données d'activation Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.10 SYS_ACT_ME_TYPE Fonction script : Indique le type de l'objet concerné. Syntaxe SYS_ACT_ME_TYPE() Code retour Acronyme du type de l'objet dans lequel la fonction de Script est exécutée. 236 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script détermine le type d'objet (forme abrégée) de l'objet concerné. Exemple Dans l'exemple, SYS_ACT_ME_TYPE est utilisé dans le Script d'un Job et le code retour "JOBS" s'affiche dans le protocole d'activation. :SET &RET# = SYS_ACT_ME_TYPE() :PRINT "Type d'objet : &RET#" Rubriques connexes : Elément de script Description SYS_ACT_ME_NAME Indique le nom de l'objet concerné. SYS_ACT_ME_NR Indication du numéro courant (RunID) de l'objet considéré. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.11 SYS_ACT_PARENT_NAME Fonction script : Indique le nom de la Tâche supérieure. Syntaxe SYS_ACT_PARENT_NAME ([type d'activation]) Elément de syntaxe Description/format Type d'activation Valeurs autorisées : ACT = Activator PRC = Processor (valeur par défaut) Codes retour Nom de la Tâche supérieure. "*SCRIPT" - La Tâche a été activée via CallAPI. " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script détermine le nom de la Tâche supérieure (parent). En cas d'activation manuelle, il s'agit du nom de l'Objet Utilisateur (par ex. HENRI/UC4). Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Automation Engine 237 Afin de déterminer le nom d'un Groupe, il faut activer "Générer à l'Exécution" (onglet Attributs) pour la Tâche qui utilise la fonction script. Sinon, le nom ne peut être défini que pour les Jobs en post-traitement. Exemples Dans le premier exemple, le système vérifie si la Tâche est exécutée dans un Groupe, un Workflow ou un Schedule. Le cas échéant, le nom de la Tâche est écrit dans le protocole d'activation. S'il n'y a pas de Tâche supérieure, cela est indiqué par une entrée dans le protocole d'activation. :SET &NOM# = SYS_ACT_PARENT_NAME() :IF &NOM# NE " " : PRINT "Le nom du parent est &NOM#." :ELSE : PRINT"Il n'y a pas de parent" :ENDIF Le deuxième exemple détermine l'activateur de la Tâche. Son nom est affiché dans le protocole d'activation. Si la Tâche a été activée manuellement, le protocole d'activation contient le nom et le département de chaque Utilisateur. :SET &NOM# = SYS_ACT_PARENT_NAME(ACT) :PRINT "La Tâche a été activée par &NOM#." Dans le troisième exemple, l'activateur d'une Tâche est déterminé de la même manière que dans le deuxième exemple. Si l'activation est réalisée par un CallAPI, une ligne correspondante est affichée dans le protocole d'activation, par exemple : 2004-01-27 13:19:36 - U0020408 La Tâche a été activée par *SCRIPT. Rubriques connexes : Elément de script Description SYS_ACT_PARENT_NR Indique le numéro courant (RunID) de la Tâche supérieure. SYS_ACT_PARENT_TYPE Indique le type d'objet de la Tâche supérieure. Elément de script - Données d'activation Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.12 SYS_ACT_PARENT_NR Fonction script : Indique le numéro courant (RunID) de la Tâche supérieure. Syntaxe SYS_ACT_PARENT_NR ([type d'activation]) Elément de syntaxe Description/format 238 Chapter 3 Organisation fonctionnelle Type d'activation Valeurs autorisées : ACT = Activator PRC = Processor (valeur par défaut) Codes retour RunID de la Tâche supérieure. ID de session en cas d'activation manuelle (uniquement pour le type d'activation ACT) " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script détermine le numéro courant (RunID) de la Tâche supérieure (parent). En cas d'activation manuelle, il s'agit de l'ID de session de l'Utilisateur. Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Afin de déterminer le RunID d'un Groupe, il faut activer "Générer à l'Exécution"(onglet Attributs) pour la Tâche qui utilise la fonction script. Sinon, le RunID ne peut être défini que pour les Jobs en posttraitement. Exemples Dans le premier exemple, le système vérifie si la Tâche est exécutée dans un Groupe, un Workflow ou un Schedule. Le cas échéant, le numéro courant (RunID) de la Tâche est écrit dans le protocole d'activation. S'il n'y a pas de Tâche supérieure, cela est indiqué par une entrée dans le protocole d'activation. :SET &NUM#= SYS_ACT_PARENT_NR() :IF &NUM# =" " : PRINT "Il n'y a pas de parent" :ELSE : :PRINT "Le RunID du parent est &NUM#." :ENDIF Le deuxième exemple détermine l'activateur de la Tâche. Le numéro courant (RunID) d'une Tâche est affiché dans le protocole d'activation lorsque l'activation est réalisée par une Tâche. Si la Tâche a été activée manuellement, le protocole d'activation contient le RunID de la session Utilisateur correspondante. :SET &NUM#= SYS_ACT_PARENT_NR(ACT) :PRINT "Le RunID du parent est &NR#." Rubriques connexes : Elément de script Description SYS_ACT_PARENT_NAME Indique le nom de la Tâche supérieure. SYS_ACT_PARENT_TYPE Indique le type d'objet de la Tâche supérieure. Elément de script - Données d'activation Exemples Alerte avec texte du message variable Automation Engine 239 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.13 SYS_ACT_PARENT_TYPE Fonction script : Indique le type d'objet de la Tâche supérieure. Syntaxe SYS_ACT_PARENT_TYPE(type d'activation) Elément de syntaxe Description/format Type d'activation Valeurs autorisées : ACT = Activator PRC = Processor (valeur par défaut) Codes retour Type d'objet de la Tâche supérieure. "USER" - Activation manuelle (uniquement pour le type d'activation ACT) "API" - Activation via CallAPI (uniquement pour le type d'activation ACT). " " - Il n'existe aucune Tâche supérieure (uniquement pour le type d'activation PRC). Remarques La fonction de script détermine le type d'objet de la Tâche supérieure (parent). En cas d'activation manuelle, il s'agit de "USER". Si vous n'indiquez pas de type d'activation, la fonction de script détermine le processeur. Pour déterminer le type d'objet d'un Groupe, il faut activer "Générer à l'Exécution" (onglet Attributs) pour la Tâche qui utilise la fonction de script. Sinon, le type d'objet ne peut être défini que pour les Jobs en post-traitement. Exemples Dans le premier exemple, le système vérifie si la Tâche est exécutée dans un Groupe, un Workflow ou un Schedule. Le cas échéant, le type d'objet de la Tâche est écrit dans le protocole d'activation. S'il n'y a pas de Tâche supérieure, cela est indiqué par une entrée dans le protocole d'activation. :SET &TYPE# = SYS_ACT_PARENT_TYPE() :IF &TYPE# =" " : PRINT "Il n'y a pas de parent" :ELSE : PRINT "l'objet du parent est de type &TYPE#." :ENDIF 240 Chapter 3 Organisation fonctionnelle Le deuxième exemple détermine l'activateur de la Tâche. Le type d'objet d'une Tâche est affiché dans le protocole d'activation lorsque l'activation est réalisée par une Tâche. Si la Tâche a été activée manuellement, le protocole d'activation contient l'entrée "La Tâche a été activée par USER". :SET &TYPE# = SYS_ACT_PARENT_TYPE(ACT) :PRINT "La Tâche a été activée par &TYPE#." Dans le troisième exemple, l'activateur d'une Tâche est déterminé de la même manière que dans le deuxième exemple. Si l'activation est réalisée par le CallAPI, une ligne correspondante est affichée dans le protocole d'activation, par exemple : 28.01.04 11:19:26 : la Tâche U0020408 a été activée par API. Rubriques connexes : Elément de script Description SYS_ACT_PARENT_NAME Indique le nom de la Tâche supérieure. SYS_ACT_PARENT_NR Indique le numéro courant (RunID) de la Tâche supérieure. Elément de script - Données d'activation Types d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.14 SYS_ACT_PREV_NAME Fonction script : Indique le nom de la Tâche précédente dans un Workflow. Syntaxe SYS_ACT_PREV_NAME() Codes retour Nom de la Tâche précédente "START" : La Tâche est la première du Workflow, car il s'agit du point de départ pour le prédécesseur. Remarques Seules les Tâches exécutées dans des Workflows peuvent contenir cette fonction de script. De même, la fonction de script est uniquement acceptée lorsqu'il y a exactement une Tâche précédente. S'il existe plusieurs prédécesseurs directs, une erreur de durée d'exécution se produit et le script s'interrompt. Exemple Le nom de la Tâche précédente dans un Workflow est affiché dans le protocole d'activation. Automation Engine 241 :SET &NOM# = SYS_ACT_PREV_NAME() :PRINT "Nom de la Tâche précédente : &NOM#." Rubriques connexes : Elément de script Description SYS_ACT_PREV_NR Indique le numéro courant (RunID) de la Tâche précédente dans un Workflow. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.15 SYS_ACT_PREV_NR Fonction script : Indique le numéro courant (RunID) de la Tâche précédente dans un Workflow. Syntaxe SYS_ACT_PREV_NR() Codes retour RunID de la Tâche précédente "0" : La Tâche est la première du Workflow, car il s'agit du point de départ pour le prédécesseur. Remarques Seules les Tâches exécutées dans des Workflows peuvent contenir cette fonction de script. De même, la fonction de script est uniquement acceptée lorsqu'il y a exactement une Tâche précédente. S'il existe plusieurs prédécesseurs directs, une erreur de durée d'exécution se produit et le script s'interrompt. Exemple Le numéro courant (RunID) de la Tâche précédente dans un Workflow est affiché dans le protocole d'activation. :SET &NUM#= SYS_ACT_PREV_NR() :PRINT "RunID de la Tâche précédente &NUM#." Rubriques connexes : Elément de script Description SYS_ACT_PREV_NAME Indique le nom de la Tâche précédente dans un Workflow. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 242 Chapter 3 Organisation fonctionnelle 3.7.16 SYS_ACT_PTTYP Fonction script : Indique le type de partenaire de l'Utilisateur. Syntaxe SYS_ACT_PTTYP() Codes retour "D" - activation par l'Interface Utilisateur "C" - activation par un CallAPI Remarques La fonction de Script détermine la manière dont une Tâche a été activée. Elle ne peut pas être utilisée pendant le post-traitement. Exemple L'exemple montre comment une ligne de conseil est écrite dans le protocole d'activation lorsque l'activation est réalisée par le CallAPI. :SET &PTTYP# = SYS_ACT_PTTYP() :IF &PTTYP# ="C" : PRINT "La Tâche a été activée par CallAPI." :ENDIF Rubriques connexes : Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.17 SYS_ACT_RESTART Fonction script : Détermine si l'objet a été activé en mode de reprise. Syntaxe SYS_ACT_RESTART() Codes retour "Y" - l'objet a été activé en mode de reprise. "N" - il ne s'agit pas d'une reprise. Automation Engine 243 Exemple Dans l'exemple, les étapes de traitement enregistrées dans un objet Include sont uniquement exécutées lorsque la Tâche est réalisée en reprise. :IF SYS_ACT_RESTART() = "Y" : INCLUDE "INCL.RESTART.PROC" :ENDIF Rubriques connexes : Elément de script Description :RESTART Définit des points de reprise dans un objet activable. SYS_ACT_RESTART_ME_ NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.18 SYS_ACT_RESTART_COUNT Fonction script : Indique le nombre de reprises de Tâches de Workflow qui sont exécutées par l'instruction RESTART TASK (Post-conditions) Syntaxe SYS_ACT_RESTART_COUNT() Code retour Nombre de reprises Remarques Le script permet de déterminer la fréquence à laquelle une Tâche a déjà été redémarrée au sein d'un Workflow via l'instruction RESTART TASK. Cette instruction peut être définie dans les propriétés des Tâches dans l'onglet "Post-conditions". Cette valeur peut également être appelée à l'aide de la Variable &$RESTART_COUNT#. Exemple Dans cet exemple, le nombre de reprises précédentes de la Tâche de Workflow est demandé et l'information est consignée dans le protocole d'activation. :SET &RCOUNT# = SYS_ACT_RESTART_COUNT() :IF &RCOUNT# = 0 : PRINT "Aucune reprise de la Tâche n'a encore été exécutée." :ELSE 244 Chapter 3 Organisation fonctionnelle : PRINT "Nombre de reprises: &RCOUNT#" :ENDIF Rubriques connexes : Elément de script Description :RESTART Définit des points de reprise dans un objet activable. SYS_ACT_RESTART Détermine si l'objet a été activé en mode de reprise. SYS_ACT_RESTART_ME_ NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.19 SYS_ACT_RESTART_ME_NR Fonction script : Indique le numéro courant (RunID) de l'objet activé en mode de reprise. Syntaxe SYS_ACT_RESTART_ME_NR() Code retour Numéro courant de l'objet dans lequel la fonction de Script est exécutée. Remarques La fonction de Script rend également le RunID concerné lorsque la Tâche a été activée normalement. Elle peut également être utilisée sans avoir vérifié au préalable si l'activation ou la reprise a été réalisée normalement. Attention : le comportement de SYS_ACT_ME_NR est différent en mode de reprise. Exemple Dans l'exemple, le numéro courant (RunID) d'une Tâche est écrit dans le protocole d'activation. Parmi les informations supplémentaires, il est indiqué si la Tâche a été exécutée normalement ou en reprise. :SET &RUNID# = SYS_ACT_RESTART_ME_NR() :IF SYS_ACT_RESTART = "Y" : PRINT "Job portant le RunID &RUNID# exécuté en reprise." :ELSE : PRINT "Job portant le RunID &RUNID# exécuté normalement." :ENDIF Rubriques connexes : Elément de script Description Automation Engine :RESTART Définit des points de reprise dans un objet activable. SYS_ACT_RESTART Détermine si l'objet a été activé en mode de reprise. 245 Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.20 SYS_ACT_TOP_NAME Fonction script : Indique le nom du Workflow le plus élevé. Syntaxe SYS_ACT_TOP_NAME() Codes retour Nom du Workflow de plus haut niveau " "- La Tâche n'a pas été activée par un Workflow. Exemple Dans l'exemple, les codes retour des fonctions de script sont comparés pour déterminer si la Tâche a été activée avec ou sans Workflow, ou dans le cadre de Workflows imbriqués. En fonction de cela, des messages sont envoyés à un Utilisateur. :SET &NOMT# = SYS_ACT_TOP_NAME() :SET &NOMP# = SYS_ACT_PARENT_NAME() :IF &NOMT = &NOMP# : IF &NOMT# = " " : SEND_MSG ADMIN,UC4,"La Tâche n'est pas exécutée dans un Workflow." : ELSE : SEND_MSG ADMIN,UC4,"La Tâche est exécutée dans le Workflow &TNAME#. Aucun Workflow supérieur." : ENDIF :ELSE : SEND_MSG ADMIN,UC4,"Nom du Workflow de plus haut niveau : &NOMT#." :ENDIF Rubriques connexes : Elément de script Description SYS_ACT_TOP_NR Détermine le numéro d'exécution (RunID) du Workflow de plus haut niveau. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 246 Chapter 3 Organisation fonctionnelle 3.7.21 SYS_ACT_TOP_NR Fonction script : Détermine le numéro d'exécution (RunID) du Workflow de plus haut niveau. Syntaxe SYS_ACT_TOP_NR() Codes retour RunID du Workflow de plus haut niveau " "- La Tâche n'a pas été activée par un Workflow. Exemple Dans l'exemple, les codes retour des fonctions de script sont comparés pour déterminer si la Tâche a été activée avec ou sans Workflow, ou dans le cadre de Workflows imbriqués. En fonction de cela, des messages sont envoyés à un Utilisateur. :SET &NUMT# = SYS_ACT_TOP_NR() :SET &NUMP# = SYS_ACT_PARENT_NR() :IF &NUMT# =&NUMP# : IF &NUMT# = " " : SEND_MSG ADMIN,UC4,"La Tâche n'est pas exécutée dans un Workflow." : ELSE : SEND_MSG ADMIN,UC4,"La Tâche est exécutée dans le Workflow avec le RunID &TNUM#. Aucun Workflow supérieur." : ENDIF :ELSE : SEND_MSG ADMIN,UC4,"RunID du Workflow de plus haut niveau : &NUMT#." :ENDIF Rubriques connexes : Elément de script Description SYS_ACT_TOP_NAME Indique le nom du Workflow le plus élevé. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.22 SYS_ACT_USERID Fonction script : Indique l'ID Utilisateur sous lequel le Job est exécuté. Syntaxe SYS_ACT_USERID () Code retour Automation Engine 247 Nom d'Utilisateur issu de l'objet Login. Remarques Cette fonction de Script peut être utilisée uniquement dans des Jobs. Elle détermine l'ID Utilisateur avec lequel un Job est exécuté. Elle est lue à partir des informations de connexion de l'objet Login qui a été défini dans l'onglet "Attributs" pour le Job. La fonction de Script indique le même résultat que GET_ATT avec l'attribut USERID. Exemple Dans l'exemple, l'ID Utilisateur et les informations de connexion complètes sont affichés dans le protocole d'activation. : SET &URET# = SYS_ACT_USERID () : SET &LRET# = GET_ATT (LOGIN_INFO) : PRINT "Utilisateur : &URET#" , "Informations de connexion complètes : &LRET#" Rubriques connexes : Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.23 SYS_LAST_RESTART_POINT Fonction script : Indique la désignation du point de reprise précédent dans le script. Syntaxe SYS_LAST_RESTART_POINT() Codes retour Nom du dernier point de reprise exécuté. " " - aucun point de reprise n'a été défini. Remarques Les points de reprise sont définis par l'élément de script :RESTART. Exemple Dans l'exemple, des fichiers sont enregistrés depuis le répertoire UC4. "BIN" est écrit en tant que point de reprise précédent dans le protocole d'activation. 248 Chapter 3 Organisation fonctionnelle :RESTART BIN, "Répertoire du programme" COPY C:\UC4G\BIN\*.* C:\BACKUP\UC4G\BIN\*.* /Y :INC DOS.ERRORLEVEL :SET &RET# = SYS_LAST_RESTART_POINT() :PRINT "Dernier point de reprise : &RET#" :RESTART DB,"Répertoire de la base de données" XCOPY C:\UC4G\DB\*.* C:\BACKUP\UC4G\DB\*.* /E /Y :INC DOS.ERRORLEVEL Rubriques connexes : Elément de script Description :RESTART Définit des points de reprise dans un objet activable. SYS_LAST_RESTART_TEXT Indique le texte du point de reprise précédent dans le script. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.24 SYS_LAST_RESTART_TEXT Fonction script : Indique le texte du point de reprise précédent dans le script. Syntaxe SYS_LAST_RESTART_TEXT() Codes retour Texte du dernier point de reprise exécuté. "Restart Point Nom du point de reprise" - un point de reprise a été défini sans texte. " " - aucun point de reprise n'a été défini. Remarques Les points de reprise sont définis par l'élément de script :RESTART. Exemples Dans le premier exemple, des fichiers sont enregistrés depuis le répertoire UC4. "Répertoire du programme" est écrit en tant que texte du point de reprise précédent dans le protocole d'activation. :RESTART BIN, "Répertoire du programme" COPY C:\UC4G\BIN\*.* C:\BACKUP\UC4G\BIN\*.* /Y :INC DOS.ERRORLEVEL :SET &RET# = SYS_LAST_RESTART_TEXT() :PRINT "Dernier point de reprise : &RET#" Automation Engine 249 :RESTART DB,"Répertoire de la base de données" XCOPY C:\UC4G\DB\*.* C:\BACKUP\UC4G\DB\*.* /E /Y :INC DOS.ERRORLEVEL Le deuxième exemple indique le résultat "Restart Point BIN", car aucun texte n'a été défini pour le point de reprise. :RESTART BIN :SET &RET# = SYS_LAST_RESTART_TEXT() :PRINT &RET# Rubriques connexes : Elément de script Description :RESTART Définit des points de reprise dans un objet activable. SYS_LAST_RESTART_POINT Indique la désignation du point de reprise précédent dans le script. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.7.25 SYS_RESTART_POINT Fonction script : Indique le point de reprise utilisé pour l'exécution de l'objet. Syntaxe SYS_RESTART_POINT() Codes retour Nom du point de reprise " " - Le Script n'est pas exécuté à partir d'un point de reprise donné ou, d'une manière générale, en mode de reprise. Remarques La fonction de Script détermine à partir de quel point de reprise le Script est traité lorsqu'une Tâche a été démarrée par Exécuter... sous l'indication d'un point de reprise. Les points de reprise sont définis par l'élément de script :RESTART. Exemple Dans l'exemple, des fichiers sont enregistrés depuis le répertoire UC4. En cas de reprise du Job sous l'indication "DB" en tant que point de reprise, seuls les fichiers provenant du répertoire de la base de données sont copiés (y compris tous les sous-répertoires). Un conseil correspondant s'affiche dans le protocole d'activation. :RESTART BIN, "Répertoire du programme" COPY C:\UC4G\BIN\*.* C:\BACKUP\UC4G\BIN\*.* /Y :INC DOS.ERRORLEVEL 250 Chapter 3 Organisation fonctionnelle :RESTART DB,"Répertoire de la base de données" XCOPY C:\UC4G\DB\*.* C:\BACKUP\UC4G\DB\*.* /E /Y :INC DOS.ERRORLEVEL :SET &RET# = SYS_RESTART_POINT() :PRINT "Le Script a été traité à partir du point &RET#." Rubriques connexes : Elément de script Description :RESTART Définit des points de reprise dans un objet activable. RESTART_UC_OBJECT Répète l'exécution d'une tâche. SYS_ACT_RESTART Détermine si l'objet a été activé en mode de reprise. SYS_ACT_RESTART_ME_ NR Indique le numéro courant (RunID) de l'objet activé en mode de reprise. SYS_LAST_RESTART_ POINT Indique la désignation du point de reprise précédent dans le script. SYS_LAST_RESTART_TEXT Indique le texte du point de reprise précédent dans le script. Elément de script - Données d'activation Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8 Données Utilisateur 3.8.1 IS_GROUP_MEMBER Fonction script : Vérifie qu'un Utilisateur appartient à un Groupe Utilisateur spécifique. Syntaxe IS_GROUP_MEMBER (Utilisateur, Groupe Utilisateur) Elément de syntaxe Description/format Utilisateur Nom d'un objet Utilisateur. Format : Littéral de script ou Variable de script Groupe Utilisateur Nom d'un objet Groupe Utilisateur. Format : Littéral de script ou Variable de script Codes retour "1" - L'Utilisateur est membre du Groupe. "0" - L'Utilisateur n'est pas membre du Groupe ou l'Utilisateur et/ou le Groupe Utilisateur n'existent pas. Automation Engine 251 Remarques La fonction de Script permet de vérifier si un Utilisateur est membre d'un Groupe Utilisateur. Tous deux doivent se trouver sur le Client où la fonction de Script est exécutée. Exemple L'exemple vérifie si l'Utilisateur "BU/UC4" est membre du Groupe "ADMIN". Le résultat s'affiche dans le protocole d'activation. :SET &USGR# ="ADMIN" :SET &MEMBER# = IS_GROUP_MEMBER("BU/UC4", &USGR#) :IF &MEMBER# = 1 : PRINT "Membre du Groupe &USGR#" :ELSE : PRINT "Non-membre du Groupe &USGR#" :ENDIF Rubriques connexes : Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8.2 SYS_ACT_CLIENT, SYS_USER_CLIENT Fonction script : Indique le numéro du Client actuel. Syntaxe SYS_ACT_CLIENT () SYS_USER_CLIENT () Code retour Numéro du Client actuel Remarques Le nombre renvoyé est un numéro de Client à 4 chiffres avec zéros en tête. Chacun sert de Client dans lequel la Tâche est exécutée et exécute la fonction de script. Exemple Le numéro du Client actuel est lu dans une Variable de Script. Une ligne avec cette information (par ex : "0003") est affiché dans le rapport. :SET &CLIENT# = SYS_ACT_CLIENT() :PRINT "Client actuel: &CLIENT#" 252 Chapter 3 Organisation fonctionnelle Rubriques connexes : Elément de script Description SYS_ACT_CLIENT_TEXT Indique le texte du Client actuel. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8.3 SYS_ACT_CLIENT_TEXT Fonction script : Indique le texte du Client actuel. Syntaxe SYS_ACT_CLIENT_TEXT () Codes retour Titre du Client actuel. " " - Aucun titre n'a été défini. Remarques La fonction de script renvoie le titre du Client, qui peut être entré dans l'onglet En-tête de l'objet Client. Chacun sert de Client dans lequel la Tâche est exécutée et exécute la fonction de script. Exemple Le texte du Client actuel est lu dans une Variable de script. Le résultat "Titre Client actuel : système de production" s'affiche dans le rapport. :SET &TXT#=SYS_ACT_CLIENT_TEXT() :PRINT "Titre Client actuel : &TXT#" Rubriques connexes : Elément de script Description SYS_ACT_CLIENT ou SYS_USER_CLIENT Indique le numéro du Client actuel. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8.4 SYS_USER_ALIVE Fonction script : Vérifie si l'utilisateur est connecté à UC4 par une Interface Utilisateur. Automation Engine 253 Syntaxe SYS_USER_ALIVE(nom, département) Elément de syntaxe Description/format Nom Nom de l'Utilisateur. Format : Littéral de script ou Variable de script Département Département de l'Utilisateur. Format : Littéral de script ou Variable de script Codes retour "Y" - L'utilisateur est connecté à l'Interface Utilisateur. "N" - L'utilisateur n'est pas connecté à l'Interface Utilisateur ou l'objet Utilisateur indiqué n'existe pas. Remarques La fonction de Script vérifie si un utilisateur est connecté à UC4. L'utilisateur est désigné par nom et par département (par ex.DUPONT/UC4). Seuls les utilisateurs d'un même Client peuvent être vérifiés. Les utilisateurs connectés à UC4 par un utilitaire ou un CallAPI ne sont pas reconnus. La fonction de Script renvoie "N" lorsque l'utilisateur n'est pas connecté ou que l'objet utilisateur n'existe pas dans le Client actuel. Dans ce dernier cas, vous pouvez réagir à cette erreur en utilisant l'instruction de Script :ON_ERROR et l'analyser à l'aide des fonctions de Script pour le traitement des erreurs. Selon le paramétrage, le script reprend ou est interrompu. Exemple L'exemple vérifie si un utilisateur est connecté à UC4. Le nom et le département sont transmis à la fonction de Script sous forme de Variable de Script. Le Script s'interrompt lorsque l'utilisateur "DUPONT/UC4" n'est pas défini. Le résultat s'affiche dans le protocole d'activation. :ON_ERROR ABEND :SET &USR# = "DUPONT" :SET &DEP# = "UC4" :SET &RET# = SYS_USER_ALIVE(&USR#, &DEP#) :PRINT&RET# Rubriques connexes : Elément de script Description SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré la Tâche. SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur génère les fichiers log. SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche. SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche. Scripts - Données Utilisateur 254 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8.5 SYS_USER_DEP Fonction script : Indique le département de l'Utilisateur qui a démarré la Tâche. Syntaxe SYS_USER_DEP() Code retour Département de l'Utilisateur Remarques La fonction de script détermine de département de l'Utilisateur (ex: "UC4" pour "MEIER/UC4") qui a démarré la Tâche. Attention : les Tâches peuvent être démarrées aussi bien manuellement que par l'élément de script "ACTIVATE_UC_OBJECT", à partir des Workflows et des Schedules. Donc par exemple, si la Tâche dans laquelle le script "SYS_USER_DEP" est exécuté est une partie d'un Schedule, la fonction de script indique le département de l'Utilisateur qui a démarré le Schedule. L'Utilisateur est également identifiable dans les Statistiques. Exemple Dans l'exemple, le département déterminé par la fonction de script est écrit dans le protocole d'activation à partir de la connexion. :SET &LOGDEP# = SYS_USER_DEP() :PRINT "Informations de connexion : Département de l'Utilisateur : &LOGDEP#." Rubriques connexes : Elément de script Description SYS_USER_ALIVE Vérifie si l'Utilisateur est connecté à UC4 par une Interface Utilisateur. SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur génère les fichiers log. SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche. SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 3.8.6 SYS_USER_LNAME Fonction script : Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche. Syntaxe SYS_USER_LNAME() Codes retour Prénom et nom de l'Utilisateur. " " - Le nom n'a pas été défini. Remarques La fonction de script détermine le prénom et le nom de l'Utilisateur (ex: "Hans Meier") qui a démarré la Tâche. Le nom complet est défini dans l'onglet Utilisateur de l'objet Utilisateur. Attention : les Tâches peuvent être démarrées aussi bien manuellement que par l'élément de script "ACTIVATE_UC_OBJECT", à partir des Workflows et des Schedules. Donc par exemple, si la Tâche dans laquelle le script "SYS_USER_LNAME" est exécuté est une partie d'un Schedule, la fonction de script indique le nom de l'Utilisateur qui a démarré le Schedule. Der Benutzer ist auch in der Statistikübersicht erkennbar. Exemple Dans l'exemple, le nom et le prénom déterminés par la fonction de script sont écrits dans le protocole d'activation à partir de la connexion. :SET &LOGLN# = SYS_USER_LNAME() :PRINT "Informations de connexion : Nom et prénom de l'Utilisateur : &LOGLN#." Rubriques connexes : Elément de script Description SYS_USER_ALIVE Vérifie si l'Utilisateur est connecté à UC4 par une Interface Utilisateur. SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré la Tâche. SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur génère les fichiers log. SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.8.7 SYS_USER_NAME Fonction script : Indique le nom de l'Utilisateur qui a démarré la Tâche. 255 256 Chapter 3 Organisation fonctionnelle Syntaxe SYS_USER_NAME() Code retour Nom de l'Utilisateur. Remarques La fonction de script détermine le nom de l'Utilisateur (ex: "MEIER" pour "MEIER/UC4") qui a démarré la Tâche. Attention : les Tâches peuvent être démarrées aussi bien manuellement que par l'élément de script "ACTIVATE_UC_OBJECT", à partir des Workflows et des Schedules. Donc par exemple, si la Tâche dans laquelle le script "SYS_USER_NAME" est exécuté est une partie d'un Schedule, la fonction de script indique le nom de l'Utilisateur qui a démarré le Schedule. Der Benutzer ist auch in der Statistikübersicht erkennbar. Exemple Dans l'exemple, le nom déterminé par la fonction de script est écrit dans le protocole d'activation à partir de la connexion. :SET &LOGN# = SYS_USER_NAME() :PRINT "Informations de connexion : Nom de l'Utilisateur : &LOGN#." Rubriques connexes : Elément de script Description SYS_USER_ALIVE Vérifie si l'Utilisateur est connecté à UC4 par une Interface Utilisateur. SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré la Tâche. SYS_USER_LANGUAGE Indique la langue dans laquelle le Serveur génère les fichiers log. SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9 Séquences de données 3.9.1 :CLOSE_PROCESS Instruction de script : Supprime une séquence de données au sein d'un script. Automation Engine 257 Syntaxe :CLOSE_PROCESS Référence Séquence de données Elément de syntaxe Description/format Référence Séquence de données Variable de Script contenant une référence séquence de données. Format : Variable de Script Remarques L'instruction de Script :CLOSE_PROCESS supprime une séquence de données qui n'est plus nécessaire. En particulier, le traitement imbriqué de séquences de données est mis à jour dans une mémoire de travail de Script. Les séquences de données sont préparées à partir des Scripts suivants : l l l l l l l PREP_PROCESS PREP_PROCESS_AGENTGROUP PREP_PROCESS_COMMENTS PREP_PROCESS_FILE PREP_PROCESS_FILENAME PREP_PROCESS_REPORT PREP_PROCESS_VAR Aucune autre valeur ne peut être attribuée aux Variables de Script qui contiennent une référence à une séquence de données. Elles ne peuvent être réutilisées que lorsque vous libérez l'instruction :CLOSE_ PROCESS. Après exécution de :CLOSE_PROCESS, la Variable ne contient aucune valeur. Exemple Dans l'exemple, supprime la séquence de données dont la référence est enregistrée dans les Variables de Script "&HND#". :CLOSE_PROCESS &HND# Rubriques connexes : Elément de script - Séquences de données Exemples Définition du statut final en fonction du contenu du rapport Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.2 :PROCESS... :TERM_PROCESS... :ENDPROCESS Instructions de script : définition d'une boucle pour le traitement par ligne d'une séquence de données. 258 Chapter 3 Organisation fonctionnelle Syntaxe :PROCESSRéférence Séquence de données [Instructions] :TERM_PROCESS :ENDPROCESS Elément de syntaxe Description/format :PROCESS Début de la boucle de processus Référence Séquence de données Référence de la séquence de données à traiter. Format : Variable de script Instructions Une ou plusieurs instructions qui sont exécutées lors de chaque cycle de la boucle. Format : Instruction de script :TERM_PROCESS Instruction pour quitter la boucle de processus. :ENDPROCESS Fin de la boucle de processus. Remarques Les instructions de Script :PROCESS et :ENDPROCESS permettent un traitement par ligne de la séquence de données. Les séquences sont préparées à partir des Scripts suivants : l l l l l l l PREP_PROCESS PREP_PROCESS_AGENTGROUP PREP_PROCESS_COMMENTS PREP_PROCESS_FILE PREP_PROCESS_FILENAME PREP_PROCESS_REPORT PREP_PROCESS_VAR A chaque cycle de la boucle, une nouvelle ligne de la séquence de données est lue. Cette opération se répète jusqu'à la fin de la ligne et la fermeture explicite de la boucle avec :TERM_PROCESS. La fonction de Script GET_PROCESS_LINE permet de communiquer le contenu de la ligne. Une séquence de données vide ne provoque pas de message d'erreur. Le traitement défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Exemple Dans l'exemple suivant, les répertoires d'un lecteur sont déterminés et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation. :SET &HND# = PREP_PROCESS("PC01","WINCMD","*DIR*","CMD=DIR C:") :PROCESS &HND# : SET &LIGNE# = GET_PROCESS_LINE(&HND#) : PRINT&LIGNE# :ENDPROCESS Rubriques connexes : Automation Engine 259 Elément de script - Séquences de données Exemples Définition du statut final en fonction du contenu du rapport Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.3 GET_PROCESS_LINE Fonction script : Détermine le contenu actuel des lignes d'une séquence de données. Syntaxe GET_PROCESS_LINE(Référence Séquence de données [, [Colonne] [, [STR_SUBSTITUTE_ VAR] [, Ligne ] ] ] ) GET_PROCESS_LINE(Référence Séquence de données [, [Colonne] [, [STR_SUB] [, Ligne ] ] ) Elément de syntaxe Description/format Référence Séquence de données Référence de la séquence de données à traiter. Format : Variable de script Colonne Accès à une colonne de la ligne de séquence de données. l l Séquence de données dont les lignes ont été réparties en colonnes. Format : Nombre sans guillemets, littéral de script ou Variable de script Valeurs autorisées : "1" à "22" ou nom de colonne Séquence de données d'une Variable UC4 Format : Nombre sans guillemets ou Variable de script Valeurs autorisées : "1", "2" jusqu'à n "1" = Clef ou Colonne Résultat. Colonne de valeurs des objets Variable de type "Liste de fichiers". "2" - "6" = Colonnes de valeurs des objets Variable statique "2" bis n = Nombre de colonnes de valeurs des objets Variable. Les Variables dynamiques (SQL, SQLI et Multi) peuvent contenir de nombreuses colonnes. Cela dépend de la source de données respective. Les Variables statiques ne comportent que 5 colonnes de valeurs (de "2" à "6"). Les Variables FILELIST comportent généralement une seule colonne qui est précisée par "1". l Séquence de données d'un commentaire Format : Nombre sans guillemets ou Variable de script Valeurs autorisées : "1", "2" et "3" "1" = Horodatage "2" = Nom de l'Utilisateur "3" = Texte des commentaires 260 Chapter 3 Organisation fonctionnelle STR_SUBSTITUTE_ VAR STR_SUB_VAR En outre, il faut rechercher les Variables de script contenues dans les lignes de la séquence de données et les remplacer par leurs valeurs correspondantes. Lorsque vous utilisez ce paramètre sans indiquer de colonne, il faut tout de même indiquer la virgule. Exemple : :SET &VALEUR# = GET_PROCESS_LINE(&HND#, ,STR_SUB_VAR) Ligne Ligne de la séquence de données à laquelle il faut accéder. Format : numéro sans guillemets, littéral de script ou Variable de script Remarques La fonction de script GET_PROCESS_LINE lit une ligne ou les colonnes d'une séquence de données. La séquence est préparée à partir des scripts suivants : l l l l l l l l l CREATE_PROCESS LOAD_PROCESS PREP_PROCESS PREP_PROCESS_AGENTGROUP PREP_PROCESS_COMMENTS PREP_PROCESS_FILE PREP_PROCESS_FILENAME PREP_PROCESS_REPORT PREP_PROCESS_VAR La fonction de script GET_PROCESS_LINE est utilisée dans les instructions de script :PROCESS et :ENDPROCESS, qui forment une boucle pour le traitement de la séquence de données et qui rendent disponible une nouvelle ligne de la séquence de données à chaque cycle de la boucle. Toutes les lignes d'une séquence de données peuvent également être réparties en colonnes. Cela est défini à l'aide des paramètres COL=LENGTH et COL=DELIMITER lors de la création de la séquence de données. L'accès à chaque colonne se fait par son numéro (1 - première colonne) ou par le nom de la colonne, s'il a été défini. Si vous n'indiquez pas de colonne ni n'utilisez "0", toutes les lignes sont retournées et donc toutes les colonnes. Lorsque les valeurs d'un objet Variable sont déterminées, la ligne actuelle contient la clef (Variable statique) ou la colonne de résultat (Variable dynamique) ainsi que les valeurs respectives. La valeur "1" pour Colonne est la clef/résultat, les valeurs "2" à "6" (Variables statiques) représentent la lecture de la colonne de valeurs respective. Si aucun format de résultat n'est défini dans l'objet Variable (SQL, SQLI, MULTI), alors la colonne Résultat correspond à la première colonne de valeur. Le nombre de colonnes de valeurs de Variables dynamiques possédant la source SQL, "SQL - interne" ou "Multi" n'est pas limité et est précisé selon les paramètres de l'objet Variable ou de la source de données. Les colonnes de commentaires peuvent également être appelées de cette manière. Si le numéro de colonne n'est pas indiqué lors de la séquence de données des objets Variable, la valeur de toutes les colonnes (y compris clef/résultat) sera retournée en étant séparée par le caractère "§§§". Un procédé particulier permet d'accéder aux moniteurs SAP. L'Agent SAP répartit les diverses lignes fournies par le moniteur SAP dans des colonnes fixes. Il enregistre le nom et la largeur des colonnes sous la forme d'une ligne d'en-tête dans le fichier qui doit être traité par le UC4 Automation Engine. GET_ PROCESS_LINE vous permet d'accéder aux colonnes suivantes : Automation Engine l l l l l l l 261 CONTEXT - Nom du contexte du moniteur PATH : chemin de la valeur, NAME - Nom de la valeur, VALUE : valeur actuelle, STATUT - Statut : 1 = vert, 2 = jaune, 3 = rouge, DATE - Date de la vérification TIME - Heure de la vérification. Vous pouvez indiquer en plus le paramètre STR_SUBSTITUTE_VAR pour lequel la forme abrégée STR_ SUB_VAR est valide. Cela a pour effet de rechercher les Variables de script contenues dans les lignes et de les remplacer par leurs valeurs correspondantes. La fonction liée à PREP_PROCESS_FILE est particulièrement utile. Préparez, dans un fichier, un texte contenant des Variables de script modifiables pour faciliter ensuite le traitement du texte. Quelle que soit la source dont provient la séquence de données (fichier, rapport, objet Variable, ...), les valeurs elles-mêmes sont définies dans le script (voir l'exemple 5 ci-dessous). L'accès à une ligne spécifique de la séquence de données est par ailleurs possible. Veuillez indiquer à cet effet le numéro de la ligne dans le paramètre correspondant de la fonction script. La première ligne possède le numéro 1. Les numéros de ligne des séquences de données peuvent également être déterminés avec l'élément de script GET_PROCESS_INFO. Attention : par défaut la fonction de script GET_PROCESS_LINE tronque les espaces compris à la fin des lignes lues. L'administrateur UC4 peut cependant désactiver ce comportement à l'aide du paramètre GET_PROCESS_LINE_RTRIM de la Variable UC4 UC_SYSTEM_SETTINGS. Exemples Dans le premier exemple, les répertoires d'un lecteur sont déterminés et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation. :SET &HND# = PREP_PROCESS("PC01","WINCMD","*DIR*","CMD=DIR C:") :PROCESS &HND# : SET &LIGNE# = GET_PROCESS_LINE(&HND#) : PRINT &LIGNE# :ENDPROCESS Dans le deuxième exemple, les valeurs d'une Variable UC4 sont déterminées et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation. :SET &HND#=PREP_PROCESS_VAR(UC_CLIENT_SETTINGS) :PROCESS &HND# : SET &RET1# = GET_PROCESS_LINE(&HND#,1) : SET &RET2# = GET_PROCESS_LINE(&HND#,2) : PRINT "&RET1# &RET2#" :ENDPROCESS Le troisième exemple lit toutes les lignes d'un fichier log de l'Interface Utilisateur qui retournent les informations par la base de données. La largeur et le nom des colonnes sont ainsi spécifiés. Les informations concernées s'affichent dans le protocole d'activation. Les espaces (colonnes 2 et 4) sont ignorés. :SET &HND# = PREP_PROCESS_FILE(WIN21, "F:\UC4\DIALOG\TEMP\UCDJ_LOGG_ 01.TXT","*DB-INFO*","COL=LENGTH","LENGTH_ TAB='8=DATE,1,6=HEURE,7,200=TEXTE'") :PROCESS &HND# : SET &COL1# = GET_PROCESS_LINE(&HND#,1) : SET &COL2# = GET_PROCESS_LINE(&HND#,3) : SET &COL3# = GET_PROCESS_LINE(&HND#,"TEXT") 262 Chapter 3 Organisation fonctionnelle : PRINT "&COL1# &COL2# &COL3#" :ENDPROCESS Le quatrième exemple lit le moniteur SAP "MON1" dans l'ensemble de moniteurs "UC4". Il faut accéder à toutes les colonnes des données du moniteur. Les lignes de la séquence de données s'affichent dans le protocole d'activation. :SET &HND# = PREP_PROCESS ("T01","R3MONITOR","*","MONSET=UC4","MONNAM=MON1","COL=FILE","UC_USER_ ID=UC4","UC_SAPMANDANT=001") :PROCESS &HND# : SET &CHEMIN# = GET_PROCESS_LINE(&HND#,"CHEMIN") : SET &NOM# = GET_PROCESS_LINE(&HND#,"NOM") : SET &VALEUR# = GET_PROCESS_LINE(&HND#,"VALEUR") : SET &STATUT# = GET_PROCESS_LINE(&HND#,"STATUT") : SET &DATE# = GET_PROCESS_LINE(&HND#,"DATE") : SET &TIME# = GET_PROCESS_LINE(&HND#,"TIME") : PRINT "&CHEMIN# &NOM# &VALEUR# &STATUT# &DATE# &HEURE#" :ENDPROCESS Définition de la largeur et du nom des colonnes du fichier (ligne d'en-tête) préparé par l'Agent SAP. COL=LENGTH,LENGTH_TAB='74=PATH,25=NAME,5=VALUE,2=STATUS,9=DATE,7=TIME' Dans le cinquième exemple, les lignes d'un fichier texte sont lues pour remplacer ensuite par leurs valeurs les Variables de scripts qui s'y trouvent et afficher les lignes modifiées dans le protocole d'activation. :SET &NOM# = SYS_ACT_ME_NAME() :SET &DATE# = SYS_DATE_PHYSICAL("MM/JJ/AAAA") :SET &HEURE# = SYS_TIME_PHYSICAL("HH:MM") :SET &JPNOM# = SYS_ACT_JPNAME() :SET &HND# = PREP_PROCESS_FILE ("WIN01","C:\UC4\REPORT.TXT") :PROCESS &HND# : SET &RET# = GET_PROCESS_LINE (&HND#,,STR_SUB_VAR) : PRINT &RET# :ENDPROCESS Extrait du fichier texte REPORT.TXT prédéfini : &DATE#/&HEURE# Rapport pour &NOM#: Activé par ProcessFlow : &JPNAME# Rubriques connexes : Elément de script - Séquences de données Exemples Définition du statut final en fonction du contenu du rapport Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 263 3.9.4 PREP_PROCESS Fonction script : Exécute avec l'aide d'objets Job spécifiques (Jobs d'Evènement) des commandes sur un ordinateur et fournit la sortie de console comme liste interne (séquence de données) qui peut être utilisée pour des traitements ultérieurs. Syntaxe PREP_PROCESS(Hôte, Job d'Evènement, [Filtre],Action[, Séparation des colonnes]... [, UC_LOGIN=Objet Login]) Elément de syntaxe Description/format Hôte Machine (nom de l'Agent) sur laquelle le Job d'Evènement est exécuté. Format : Littéral de script ou Variable de script Job d'Evènement Partie du nom du Job d'Evènement devant être exécutée. Format: Littéral de script ou Variable de script Filtre Valeur par défaut pour le contenu des lignes. La casse des caractères n'est pas prise en compte. Format : littéral de script ou Variable de script Valeur par défaut : "*" Action Attribution de valeur pour une Variable de script du Job d'Evènement. Format : littéral de script ou Variable de script Valeur par défaut : "" L'attribution de valeur possède sa propre syntaxe : Variable=Attribution Variable- nom de la Variable de script tirée du Job d'Evènement qui effectue l'attribution. L'indication est faite sans le signe "&" habituel dans les Variables de script. Attribution- valeur de la Variable de script. Action prioritaire (exécution de commande, de programme ou de données) devant être exécutée dans le système cible et attribution de valeur supplémentaire (variables du dialogue des attributs). Pour l'interrogation du système de fichiers UNIX, une syntaxe spéciale est applicable. 264 Chapter 3 Organisation fonctionnelle Séparation des colonnes Il est également possible de définir que les lignes de la séquence de données doivent être réparties en colonnes. Le format suivant s'applique : COL=Definition1[, Definition2]. Format : Littéral de script ou Variable de script Definition1: Valeurs autorisées : "NONE" (Valeur par défaut), "FILE", "LENGTH", "DELIMITER" "NONE" = Aucune répartition en colonnes. "FILE" = Utilisation des définitions de colonnes dans les premières lignes du fichier que l'Agent crée lorsque des Jobs d'Evènements, qui exécutent le script AP-JCL R3_GET_MONITOR démarrent (Pour "R3MONITOR" le Job Evènement prédéfini "EVENT.R3MONITOR" du Client système est utilisé pour le paramètre Job d'Evènement ). "LENGTH" = Largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= comme Definition2. "DELIMITER" = Les colonnes sont séparées par un délimiteur. Nécessite DELIMITER= comme Definition2. Definition2: Définit la largeur et le nom des colonnes (facultatif) ou le caractère de séparation. Format : Littéral de script ou Variable de script Valeurs autorisées : "LENGTH_TAB" et "DELIMITER" l "LENGTH_TAB" La largeur et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : largeur de colonne=[nom de colonne]. La largeur de colonne est définie par un nombre de caractères. Les définitions de colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des doubles guillemets servent de littéral de script pour la Definition2, les guillemets doivent dans le cas contraire être simples. Exemple : "COL=LENGTH,LENGTH_ TAB='10=Département,25=Responsable,10=Budget'" l "DELIMITER" La séparation des colonnes par des caractères est indiquée comme suit *Délimiteur*. "*" = caractère de séparation libre. Les caractères de séparation servent uniquement à la commande du Delimiter et n'apparaissent pas lors de l'affichage final. Delimiter = Chaîne de caractères de 10 caractères maximum qui sépare les colonnes. Les caractères d'une ligne sont renvoyés comme colonnes qui se trouvent avant, entre ou après la chaîne de caractères Delimiter. Lorsque le Delimiter n'est pas présent dans une ligne, aucune séparation des colonnes n'est possible. Si un seul guillemet sert de Délimiteur, la Definition2 doit être entre guillemets doubles et inversement. Valeur par défaut : point-virgule (;) Exemple : Automation Engine UC_LOGIN 265 Nom d'un objet Login. Format : Littéral de script ou Variable de script Attention : la fonction de script nécessite des données de connexion. Si vous n'indiquez pas le paramètre UC_LOGIN, le Job d'Evènement correspondant doit contenir des informations de connexion valides. Code retour Référence sur la séquence de données de la commande. Remarques Par exemple, la fonction de script PREP_PROCESS_FILE génère une séquence de données, avec ces données : l l l l commandes du système d'exploitation dans BS2000, MPE, UNIX, VMS et Windows, commandes de console BS2000^, interrogations du système de fichiers UNIX, moniteurs SAP, log système SAP et Jobs SAP Pour exécuter une commande de console BS2000 et pour interroger le système de fichiers UNIX, les programmes d'aide UC4 (UCYEBXXZ ou UCXE???F) doivent être installés. Les consoles et les commandes du système d'exploitation s'exécutent avec l'aide de Jobs d'Evènements, qui sont démarrés en arrière-plan sur l'ordinateur des Agents indiqués (Hôte). Les lignes Evènements d'une commande sont disponibles sous la forme d'une liste interne (Séquence de données) pour la valeur de retour de la fonction script. Les jobs d'Evènement possèdent le nom "EVENT.job d'Evènement". Par exemple, "EVENT." est un composant clairement défini du nom du Job, tandis que le "Job d'Evènement" peut être défini librement. La définition de ce type de Job d'Evènement est convertie en fonction de certains attributs et de l'élaboration générale des scripts. Les Jobs d'Evènement prédéfinis sont fournis dans le Client système 0000 (Dossier: PREP_PROCESS). Ils peuvent être utilisés directement ou en tant que modèles dans votre propre Client. Le contenu des Jobs d'Evènement peut être adapté suivant les besoins. Attention : vous devez modifier le déroulement du script dans EVENT.UNIXCMD si vous ne voulez pas que le rapport soit supprimé dans le cas où un code retour est supérieur à 0. Pour le traitement de la séquence de données préparée par PREP_PROCESS, les étapes internes suivantes s'exécutent: 1. Le job d'Evènement, défini avec les paramètre Job d'Evènement est activé (nom de Job: EVENT.Job d'Evènement). 2. Le Job d'Evènement est exécuté sur l'hôte et effectue une action indiquée dans le paramètre action. Celui-ci renvoie le résultat de l'action ligne par ligne dans une séquence de données. 3. Seules les lignes dont le contenu correspond au paramètre Filtre sont prises en compte. L'utilisation de ce paramètre est facultative. 4. N'importe quelle attribution de valeurs peut être indiquée comme paramètre action. Pour les commandes du système d'exploitation dans BS2000, MPE, UNIX, VMS et Windows ainsi que pour la commande de console BS2000, la variable est fournie en priorité avec la Variable de script "&CMD". Mais il est également possible d'attribuer des valeurs aux Variables de script disponibles dans le cadre du dialogue des attributs. Au début du Job d'Evènement et suivant le J ob d'Evènement l'objet Include correspondant est traité et fourni en interne dans le script sans que 266 Chapter 3 Organisation fonctionnelle le dialogue des attributs ne s'affiche. La requête sur les systèmes de fichiers UNIX utilise une Syntaxe spéciale pour les actions. 5. La séquence de données créées sur l'Hôte est transférée pour traitement par Transfert de fichier au UC4 Automation Engine. Le nom du fichier par défaut transféré par l'hôte au UC4 Automation Engine est "ERRRRRRR.TXT". Les caractères de remplacement suivants peuvent être utilisés pour les parties variables : l l E - Evènement RRRRRRR - Numéro courant (RunID) de la Tâche Attention : le RunID ne doit pas être représenté sous la forme d'un nombre, mais en tant que chaîne de caractères convertie (voir RUNNR2ALPHA). Par défaut, la fonction de script lit une ligne complète. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Pour ce faire, les définitions suivantes s'appliquent : l l l 22 colonnes maximum d'une longueur totale de 2 048 octets, Largeur de colonne maximale de 255 caractères et nom de colonne de 32 caractères maximum. GET_PROCESS_LINE vous permet d'accéder à chaque colonne. Le code retour de la fonction de script est la référence de la séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne et les colonnes correspondantes, de la séquence de données. Si la séquence de données ne contient pas le contenu recherché, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. L'élément de script ne peut être utilisé pour les hôtes z/OS et OS400 : Exemples Dans le premier exemple, une commande "/STA P" est posée sur la machine BS2000 "C70". L'extension nécessaire et le compte sont lus dans l'objet Login. :SET &TRAIT# = PREP_PROCESS("C70","BS2000CMD",,"CMD=/STA P","UC_ LOGIN=UC4ADMIN") Cet exemple pose dans la console BS2000 une commande pour afficher toutes les applications ouvertes. Aucun Filtre n'est indiqué pour le contenu des lignes. :SET &TRAIT# = PREP_PROCESS("C70","BS2000UCON",,"CMD=/BCDISP DISP=O","UC_ LOGIN=UC4ADMIN") Le troisième exemple détermine les répertoires d'un lecteur sur la machine Windows "WIN23". :SET &TRAIT# = PREP_PROCESS("WIN23","WINCMD","*DIR*","CMD=DIR C:","UC_ LOGIN=UC4ADMIN") Automation Engine 267 Le quatrième exemple lit le moniteur SAP "MON1" dans l'ensemble de moniteurs "UC4". Il faut accéder à toutes les colonnes des données du moniteur définies dans le fichier. L'Utilisateur et le Client SAP sont lus à partir de l'objet Login indiqué. :SET &HND# = PREP_PROCESS ("T46","R3MONITOR","*","MONSET=UC4","MONNAM=MON1","COL=FILE","UC_ LOGIN=UC4ADMIN") Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.5 PREP_PROCESS_AGENTGROUP Fonction script : Détermine les Agents d'un objet Groupe Agent grâce à des critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Syntaxe PREP_PROCESS_AGENTGROUP(Groupe Agent [, hôte] [, option de sélection] [, RunID]) Elément de syntaxe Description/format Groupe Agent Nom de l'objet Groupe Agent dont les Agents doivent être lus. Format : Nom UC4, Littéral de script ou Variable de script Hôte Filtre pour le nom d'Agent Format : littéral de script ou Variable de script 32 caractères maximum Valeur par défaut : "*" Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. 268 Chapter 3 Organisation fonctionnelle Option de sélection Méthode selon laquelle les Agents du Groupe Agent doivent être déterminés. Format : nom UC4, littéral de script ou Variable de script Valeurs autorisées : "BY_RULE" (valeur par défaut), "ALL" et "RUNNR" "BY_RULE" - la fonction script renvoie l'Agent sur lequel sera exécutée la prochaine Tâche selon le mode du Groupe Agent. "ALL" - tous les Agents du Groupe Agent sont déterminés "RUNNR" - Le ou les Agents déterminés dépendent d'une Tâche concrète. Le RunID du conteneur de Groupes Agents de cette dernière est indiqué dans le paramètre de même nom. Avec les Groupes Agents définis sur le mode "Tous", les options "BY_ RULE" et "ALL" renvoient les mêmes résultats. RunID Numéro courant (RunID) du conteneur de Groupes Agents. Format : littéral de script, Variable de script ou chiffre Si vous utilisez ce paramètre, le Script indique le ou les Agents sur lesquels la Tâche est exécutée. Vous ne devez préciser ce paramètre que si vous avez choisi l'option de sélection RUNNR. Code retour Référence à la séquence de données de l'objet Groupe Agent. Remarques La fonction script lit les Agents d'un objet Groupe Agent. Pour ce faire, les Agents lus peuvent être limités via des paramètres facultatifs. La référence à l'ensemble de la séquence de données est fournie par défaut. Le code retour de la fonction script est la référence d'une séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction script GET_PROCESS_LINE, vous accédez à toutes les lignes de la séquence de données. Celle-ci est divisée en deux colonnes que vous pouvez également lire de manière ciblée : 1. Nom de l'Agent 2. Statut de l'Agent ("Y" - L'Agent est actif ; "N" - L'Agent est inactif) Le statut est surtout important pour les Groupes Agents définis sur le mode "Tous". Pour ces Groupes Agents, la fonction script renvoie toujours tous les Agents sans vérifier s'ils sont actifs ou non. Grâce aux informations de statut, vous pouvez déterminer les Agents sur lesquels des Tâches peuvent réellement être exécutées. Même si vous ne souhaitez appliquer un filtre que sur la sélection et/ou sur le RunID, vous devez conserver les virgules précédentes. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Automation Engine 269 Exemple Le Script du premier exemple détermine tous les Agents d'un Groupe Agent dont le nom commence par "WIN". :SET &HND# = PREP_PROCESS_AGENTGROUP("GROUPE AGENT_WINDOWS","WIN*",ALL) :PROCESS &HND# : SET &AGENT# = GET_PROCESS_LINE(&HND#,1) : SET &STATUS# = GET_PROCESS_LINE(&HND#,2) : PRINT "Agent: &AGENT#" : PRINT "Status: &STATUS#" :ENDPROCESS :CLOSE_PROCESS &HND# Dans l'exemple suivant, une Tâche est reprise. La fonction script SYS_ACT_ME_NR renvoie dans ce cas le RunID de l'exécution initiale qui permet de déterminer le RunID du conteneur de Groupes Agents. Les Agents sur lesquels la Tâche a été exécutée à l'origine peuvent ainsi être lus. :SET &A_RUNNR# = SYS_ACT_ME_NR() :SET &P_RUNNR# = GET_PARENT_NR(&A_RUNNR#) :SET &HND# = PREP_PROCESS_AGENTGROUP("GROUPE AGENT_DB",,RUNNR,&P_RUNNR#) :PROCESS &HND# : SET &AGENT# = GET_PROCESS_LINE(&HND#,1) : SET &STATUS# = GET_PROCESS_LINE(&HND#,2) : PRINT "Agent: &AGENT#" : PRINT "Status: &STATUS#" :ENDPROCESS :CLOSE_PROCESS &HND# Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.6 PREP_PROCESS_COMMENTS Fonction script : Détermine les paramètres de Filtre de l'Marque horaire, de l'Utilisateur et du Texte des commentaires de Tâches et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. 270 Chapter 3 Organisation fonctionnelle Syntaxe PREP_PROCESS_COMMENTS([RunID] [,texte] [, Utilisateur]) Elément de syntaxe Description/format RunID Numéro courant (RunID) de la Tâche dont les commentaires doivent être lus. Format : Littéral de script, Variable de script, chiffre Si vous n'indiquez aucun RunID, les commentaires de la Tâche qui exécute l'instruction de Script sont lus. Texte Filtre permettant de rechercher une expression dans le texte des commentaires Format : littéral de script ou Variable de script 200 caractères maximum Valeur par défaut : "*" Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Utilisateur Filtre permettant de rechercher le nom d'un objet Utilisateur Format : littéral de script ou Variable de script 200 caractères maximum Valeur par défaut : "*" Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Même si vous ne souhaitez appliquer un Filtre que sur le nom d'utilisateur, vous devez conserver la première virgule. Exemple : :SET &HND# = PREP_PROCESS_COMMENTS(,,"DUPONT/UC4") Code retour Référence sur la séquence de données des commentaires. Remarques La fonction script lit les commentaires d'une Tâche. Vous pouvez limiter les résultats à l'aide des paramètres Texte et Utilisateur. Le filtrage tient compte de la casse des données entrées. Attention : indiquer une chaîne vide "" pour le filtrage équivaut à entrer "*" : toutes les valeurs sont alors renvoyées. Le code retour de la fonction script est la référence d'une séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction script GET_PROCESS_LINE , vous accédez à tous les commentaires de la Tâche. Si le commentaire ne contient pas les valeurs recherchées, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Automation Engine 271 Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Exemples Les commentaires suivants sont fournis : Le premier exemple prend en compte tous les commentaires et affiche l'Utilisateur et le texte avec l'instruction :PRINT. :SET &HND# = PREP_PROCESS_COMMENTS() :PROCESS &HND# : SET &UTILISATEUR# = GET_PROCESS_LINE(&HND#,2) : SET &TEXTE# = GET_PROCESS_LINE(&HND#,3) : PRINT "&UTILISATEUR#: &TEXTE#" :ENDPROCESS :CLOSE_PROCESS &HND# Dans le deuxième exemple, seules les entrées de Monsieur Dupont sont lues et indiquées avec un horodatage. :SET &HND# = PREP_PROCESS_COMMENTS(,,"DUPONT/UC4") :PROCESS &HND# : SET &HEURE# = GET_PROCESS_LINE(&HND#,1) : SET &TEXTE# = GET_PROCESS_LINE(&HND#,3) : PRINT "&HEURE#: &TEXTE#" :ENDPROCESS :CLOSE_PROCESS &HND# 272 Chapter 3 Organisation fonctionnelle Dans le troisième exemple, la fonction script a été exécutée à partir d'une autre Tâche. Le RunID correspondant est donc utilisé. Tous les commentaires qui contiennent le mot "fichier" sont renvoyés. :SET &RUNID# = GET_UC_OBJECT_NR(GS.OBTENIR.FICHIERS) :SET &HND# = PREP_PROCESS_COMMENTS(&RUNID#,"*fichier*") :PROCESS &HND# : SET &TEXTE# = GET_PROCESS_LINE(&HND#,3) : PRINT "commentaire : &TEXTE#" :ENDPROCESS :CLOSE_PROCESS &HND# Rubriques connexes : Elément de script Description :ADD_COMMENT Ajout d'un commentaire à une Tâche. :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.7 PREP_PROCESS_FILE Fonction script : Détermine grâce aux critères de filtrage par ligne le contenu d'un fichier texte qui se trouve sur un ordinateur indiqué et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Syntaxe PREP_PROCESS_FILE(Hôte, Fichier,[ Filtre][, COL=Definition1[, Definition2]][, UC_LOGIN=Objet Login]) Elément de syntaxe Description/format Hôte Machine (nom de l'Agent) sur laquelle se trouve le fichier. Format : Littéral de script ou Variable de script Fichier Nom du fichier texte, avec son chemin complet, devant être lu. Format : Littéral de script ou Variable de script Vous pouvez déterminer le nom d'un fichier appartenant à un Generation Data Group à l'aide de la fonction de script GET_FILESYSTEM. Automation Engine Filtre 273 Valeur par défaut pour le contenu des lignes. La casse des caractères n'est pas prise en compte. Format : littéral de script ou Variable de script Valeur par défaut : "*" Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Definition1 Définit si les lignes doivent être réparties en colonnes. Format : Littéral de script ou Variable de script Valeurs autorisées : "NONE" (Valeur par défaut), "FILE", "LENGTH", "DELIMITER" "NONE" = Aucune répartition en colonnes. "FILE" = Les colonnes sont définies dans le fichier. "LENGTH" = Largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= comme Definition2. "DELIMITER" = Les colonnes sont séparées par un caractère de séparation. Nécessite DELIMITER= comme Definition2. 274 Chapter 3 Organisation fonctionnelle Definition2 Définit la largeur et le nom des colonnes (facultatif) ou le caractère de séparation. Format : Littéral de script ou Variable de script Valeurs autorisées : "LENGTH_TAB" et "DELIMITER" l "LENGTH_TAB" La largeur et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : largeur de colonne=[nom de colonne]. La largeur de colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des doubles guillemets servent de littéral de script pour la Definition2, les guillemets doivent dans le cas contraire être simples. Exemple : "LENGTH_ TAB='10=Département,25=Responsable,10=Budget'" l "DELIMITER" Le caractère de séparation est indiqué comme suit *Délimiteur*. "*" = caractère de séparation libre. Délimiteur = chaîne de 10 caractères maximum, séparant les colonnes. Si un seul guillemet sert de Délimiteur, la Definition2 doit être entre guillemets doubles et inversement. Valeur par défaut : point-virgule (;) Exemple : "DELIMITER=*'*" 'DELIMITER=@"@' Vous pouvez également introduire des tabulations dans les caractères de séparation : 'DELIMITER=<TAB>' UC_LOGIN Nom d'un objet Login. Format : Littéral de script ou Variable de script Code retour Référence sur la séquence de données du fichier. Remarques La fonction de script PREP_PROCESS_FILE prépare le contenu d'un fichier texte, un fichier LOG ou de trace par exemple, qui sera traité ultérieurement à l'aide du script UC4. Automation Engine 275 Par défaut, la fonction de script lit une ligne complète. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Pour ce faire, les définitions suivantes s'appliquent : l l l 22 colonnes maximum d'une longueur totale de 2 048 octets, Largeur de colonne maximale de 255 caractères et nom de colonne de 32 caractères maximum. Les colonnes peuvent également être auto-définies dans le fichier (première colonne). Exemple : COL=LENGTH,LENGTH_TAB='74=PATH,25=NAME,5=VALUE,2=STATUS,9=DATE,7=TIME' GET_PROCESS_LINE vous permet d'accéder à chaque colonne. Le paramètre facultatif UC_LOGIN permet de transmettre le nom d'un objet Login à la fonction de script. L'accès au fichier à lire et son transfert de l'hôte au UC4 Automation Engine sont exécutés à l'aide des données d'identification définies dans le Login. Les Utilisateurs doivent bénéficier du privilège "Transfert de Fichier : exécuter sans indiquer l'ID Utilisateur" lorsque la fonction de script PREP_ PROCESS_FILE doit être utilisée sans le paramètre UC_LOGIN. Le code retour de la fonction script est la référence d'une séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne et les colonnes correspondantes, de la séquence de données. Si le fichier ne contient pas le contenu recherché, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. PREP_PROCESS_FILE n'est pris en charge que par des Agents de système d'exploitation. L'utilisation en relation avec des Agents n'est pas possible pour les bases de données, les applications Oracle, PeopleSoft, SAP, JMX ou Rapid Automation. Attention : le traitement de fichiers extrêmement larges a une influence sur les performances de l'Agent. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemples L'exemple prépare toutes les lignes d'un fichier contenant la chaîne "Start". Les lignes s'affichent dans le protocole d'activation. :SET &HND#=PREP_PROCESS_FILE (WIN21,"F:\UC4\DIALOG\TEMP\INPUT.TXT","*Start*") :PROCESS &HND# : SET &LIGNE#=GET_PROCESS_LINE(&HND#) : PRINT &LIGNE# :ENDPROCESS Dans le deuxième exemple, toutes les lignes d'un fichier sont lues. La largeur et le nom des colonnes ont été définis dans le fichier. Les informations d'identification au WIN21 sont lues à partir de l'objet Login indiqué. 276 Chapter 3 Organisation fonctionnelle :SET &HND# = PREP_PROCESS_FILE(WIN21, "C:\LOG.TXT", ,"COL=FILE",'UC_ LOGIN=UC4FT') Le troisième exemple lit toutes les lignes d'un fichier log de l'Interface Utilisateur qui retournent les informations par la base de données. La largeur et le nom des colonnes sont ainsi spécifiés. Des colonnes sans nom sont des espaces sans importance. :SET &HND# = PREP_PROCESS_FILE(WIN21, "F:\UC4\DIALOG\TEMP\UCDJ_LOGG_ 01.TXT","*DB-INFO*","COL=LENGTH","LENGTH_ TAB='8=DATE,1,6=HEURE,7,200=TEXTE'") La tabulation est définie ici comme caractère de séparation. La fonction de script affiche ensuite la fonction de script dans la troisième colonne. :SET &HND# = PREP_PROCESS_FILE(UNIX01, "/uc4/test.txt",,"COL=DELIMITER",'DELIMITER=<TAB>') :PROCESS &HND# : SET &LIGNE# = GET_PROCESS_LINE(&HND#0,3) : PRINT &LIGNE# :ENDPROCESS Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Script - Division fonctionnelle Script - Liste alphabétique 3.9.8 PREP_PROCESS_FILENAME Fonction script : Détermine une liste avec le nom des fichiers qui se trouvent sur l'ordinateur indiqué et met cette dernière à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Syntaxe PREP_PROCESS_FILENAME(hôte, nom de fichier, [caractères génériques], [sous-dossier], [filtre] [,COL=Définition1[, Définition2]] [,"UC_LOGIN=objet Login"] ) Elément de syntaxe Description/format Hôte Machine (nom de l'Agent) sur laquelle se trouvent les fichiers. Format : Littéral de script ou Variable de script Automation Engine Nom du fichier 277 Chemin et nom du fichier à rechercher. Format : Littéral de script ou Variable de script Dans le nom du fichier, les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Dans les chemins, aucun caractère générique n'est autorisé. C'est le paramètre Caractères génériques qui détermine si la casse doit être respectée dans un nom de fichier. Caractères génériques Indique si le nom de fichier a été saisi avec des caractères génériques. Format : Littéral de script ou Variable de script le paramètre a également une incidence sur la vérification de la syntaxe du nom de fichier ! Valeurs autorisées : "Y" (valeur par défaut) et "N" "Y" = nom de fichier avec caractères génériques, la syntaxe n'est pas prise en compte "N" = nom de fichier sans caractères génériques, la syntaxe est prise en compte Sous-dossier Indique si des sous-dossiers ou des sous-répertoires doivent être inclus dans la recherche. Format : Littéral de script ou Variable de script Valeurs autorisées : "Y" et "N" (valeur par défaut). "Y" = sous-dossiers ou sous-répertoires inclus. "N" = sous-dossiers ou sous-répertoires non pris en compte. Filtre Possibilité supplémentaire de filtrer les lignes de la séquence de données. Format : Littéral de script ou Variable de script La casse des caractères n'est pas prise en compte. Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Par défaut : "*" Definition1 Définit si les lignes de la séquence de données doivent être réparties en colonnes. Format : Littéral de script ou Variable de script Valeurs autorisées : "NONE" (Valeur par défaut), "LENGTH", "DELIMITER" "NONE" = Pas de répartition en colonnes. "LENGTH" = Largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= comme Definition2. "DELIMITER" = Les colonnes sont séparées par un caractère de séparation. Nécessite DELIMITER= comme Definition2. 278 Chapter 3 Organisation fonctionnelle Definition2 Définit la largeur et le nom des colonnes (facultatif) ou le caractère de séparation. Format : Littéral de script ou Variable de script Valeurs autorisées : "LENGTH_TAB" et "DELIMITER" l "LENGTH_TAB" La largeur et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : largeur de colonne=[nom de colonne]. La largeur de colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des doubles guillemets servent de littéral de script pour la Definition2, les guillemets doivent dans le cas contraire être simples. Exemple : "LENGTH_TAB='3=Laufwerk,100=Nom de fichier" l "DELIMITER" Le caractère de séparation est indiqué comme suit *Délimiteur*. "*" = caractère de séparation libre. Délimiteur = chaîne de 10 caractères maximum, séparant les colonnes. Si un seul guillemet sert de Délimiteur, la Definition2 doit être entre guillemets doubles et inversement. Valeur par défaut : point-virgule (;) Exemple : "DELIMITER=*'*" 'DELIMITER=@"@' Objet Login Nom d'un objet Login. Format : Littéral de script ou Variable de script L'ensemble de l'impression UC_LOGIN=objet Login doit être défini entre guillemets. Code retour Référence sur la séquence de données de la liste de fichier. Remarques La fonction de script PREP_PROCESS_FILENAME met à disposition une liste de noms de fichiers qui seront traités ultérieurement à l'aide du script UC4. L'Agent détermine et prépare les fichiers sur l'hôte sous forme de séquence de données. La fonction de script détermine les fichiers à répertorier à l'aide du paramètre Nom de Fichier. Si le Nom de Fichier contient une désignation du lecteur, les fichiers trouvés sont également répertoriés avec la Automation Engine 279 désignation du lecteur. Il est possible de définir si les sous-dossiers ou les sous-répertoires doivent être pris en compte. La liste de fichiers trouvés peut en outre être filtrée. Les caractères génériques, les sous-dossiers, les filtres et les paramètres à répartir en colonnes sont facultatifs. Si un paramètre de cette série est omis, sa virgule doit tout de même être définie. L'exécution de la fonction de script peut se terminer par chacun des paramètres facultatifs. Aucune virgule n'est ensuite nécessaire. La definition2 ne doit pas être utilisée sans la definition1. Par défaut, la fonction de script GET_PROCESS_LINE lit l'ensemble des lignes d'une séquence de données. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Pour ce faire, les définitions suivantes s'appliquent : l l l 22 colonnes maximum d'une longueur totale de 2 048 octets, Largeur de colonne maximale de 255 caractères et nom de colonne de 32 caractères maximum. GET_PROCESS_LINE vous permet d'accéder à chaque colonne. Le paramètre facultatif UC_LOGIN permet de transmettre le nom d'un objet Login à la fonction de script. PREP_PROCESS_FILENAME utilise les données de connexion définies dans l'objet Login. Cela permet par exemple d'accéder à des lecteurs réseau liés. Les Utilisateurs doivent bénéficier du privilège "Transfert de Fichier : exécuter sans indiquer l'ID utilisateur" lorsque la fonction de script PREP_ PROCESS_FILENAME doit être utilisée sans le paramètre UC_LOGIN. Le code retour de la fonction script est la référence d'une séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne et les colonnes correspondantes, de la séquence de données. Si la liste de fichiers ne contient pas le contenu recherché, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. PREP_PROCESS_FILE n'est pas prise en charge par les Agents pour les applications (Oracle Applications, PeopleSoft ou SAP). Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Exemples L'exemple répertorie tous les documents HTML provenant de l'aide en ligne de la documentation UC4. L'utilisation de caractères générique est explicitement indiquée. :SET &HND# = PREP_PROCESS_FILENAME ("WIN01","c:\uc4\documenation\webhelp\german\uc*.htm","Y",,,,"UC_LOGIN=WIN_ LOGIN") :PROCESS &HND# : SET &LINE#=GET_PROCESS_LINE(&HND#) : PRINT &LINE# :ENDPROCESS 280 Chapter 3 Organisation fonctionnelle Le deuxième exemple génère une liste de toutes les Feuilles de style fournies avec la documentation UC4. Tous les sous-dossiers du répertoire de documentation doivent être recherchés. Le résultat ne contient pas de donnée sur le lecteur et s'affiche dans le rapport. :SET &HND# = PREP_PROCESS_FILENAME("WIN01", "\uc4\documentation\uc*.css","Y","Y",) :PROCESS &HND# : SET &LINE#=GET_PROCESS_LINE(&HND#) : PRINT &LINE# :ENDPROCESS Le troisième exemple crée une liste de tous les programmes UC4. Les lignes ont été réparties en colonnes. Les colonnes sont séparées par une barre oblique. Lors du traitement de la séquence de données, on accède à la 5e colonne qui contient les noms de fichier des programmes. :SET &HND# = PREP_PROCESS_FILENAME ("WIN01","c:\uc4\server\bin\*.exe",,,,"COL=DELIMITER","DELIMITER=*\*") :PROCESS &HND# : SET &LIGNE# = GET_PROCESS_LINE(&HND#0,5) : PRINT &LIGNE# :ENDPROCESS Le quatrième exemple se base sur le troisième. Mais ici un filtre est défini pour que seul le nom de fichier de l'UC4 Automation Engine s'affiche dans le protocole d'activation. :SET &HND# = PREP_PROCESS_FILENAME ( "WIN01" ,"c:\uc4\server\bin\*.exe",,,"*server*","COL=DELIMITER","DELIMITER=*\*") :PROCESS &HND# : SET &LIGNE# = GET_PROCESS_LINE(&HND#0,5) : PRINT &LIGNE# :ENDPROCESS Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.9 PREP_PROCESS_REPORT Fonction script : Détermine les lignes de rapport des objets activables à l'aide de critères de filtrage et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Automation Engine 281 Syntaxe PREP_PROCESS_REPORT([Type d'objet] ,[RunID] ,[Type de rapport] [,Filtre] [,COL=Definition1] [,Definition2]) Elément de syntaxe Description/format Type d'objet Description courte du type de l'objet appartenant à la classe des objets activables. Il est également possible de préparer le rapport du Client dans lequel cette fonction de script est utilisée. Dans ce cas, la description courte est "CLNT". Format : Nom UC4, Littéral de script ou Variable de script Paramètre facultatif, car le type d'objet peut être attribué clairement par le numéro courant (RunID) (compatible avec la version 2.6xx). RunID Numéro courant (RunID) de la Tâche dont le rapport doit être traité. Format : Variable de script ou chiffre Si le rapport d'une autre Tâche doit être analysé, l'option "Générer à l'Exécution" (onglet Attributs) doit être activée. Il est inutile d'indiquer un RunID pour le rapport du Client. Type de rapport Code pour le Type de rapport. Format : nom UC4, littéral de script ou Variable de script Filtre Valeur par défaut pour le contenu des lignes. La casse des caractères n'est pas prise en compte. Les caractères génériques * et ? sont pris en charge pour le filtre. Pour *, il s'agit d'un caractère de remplacement pour un nombre de caractères au choix (également aucun) et ? représente un caractère quelconque. Les caractères génériques peuvent alors être indiqués à plusieurs reprises. Format : littéral de script ou Variable de script Valeur par défaut : "*" Definition1 Définit si les lignes doivent être réparties en colonnes. Format : Littéral de script ou Variable de script Valeurs autorisées : "NONE" (Valeur par défaut), "LENGTH", "DELIMITER" "NONE" = Pas de répartition en colonnes. "LENGTH" = Largeurs de colonnes prédéfinies. Nécessite LENGTH_TAB= comme Definition2. "DELIMITER" = Les colonnes sont séparées par un caractère de séparation. Nécessite DELIMITER= comme Definition2. 282 Chapter 3 Organisation fonctionnelle Definition2 Définit la largeur et le nom des colonnes (facultatif) ou le caractère de séparation. Format : Littéral de script ou Variable de script Valeurs autorisées : "LENGTH_TAB" et "DELIMITER" l "LENGTH_TAB" La largeur et le nom des colonnes (facultatif) sont indiqués sous la forme suivante : largeur de colonne=[nom de colonne]. La largeur de colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des doubles guillemets servent de littéral de script pour la Definition2, les guillemets doivent dans le cas contraire être simples. Exemple : "LENGTH_ TAB='10=Département,25=Responsable,10=Budget'" l "DELIMITER" Le caractère de séparation est indiqué comme suit *Délimiteur*. "*" = caractère de séparation libre. Délimiteur = chaîne de 10 caractères maximum, séparant les colonnes. Si un seul guillemet sert de Délimiteur, la Definition2 doit être entre guillemets doubles et inversement. Valeur par défaut : point-virgule (;) Exemple : "DELIMITER=*'*" 'DELIMITER=@"@' Code retour Référence sur la séquence de données du rapport. Remarques La fonction de script prépare le contenu du rapport d'objets activables pour un autre traitement par le script UC4. Le rapport est lu dans la base de données UC4 et préparé sous forme de séquence de données. Si vous accédez à un rapport d'une Tâche qui exécute la fonction de script, vous pouvez omettre les paramètres RUNID et Type de rapport. Dans ce cas, la fonction de script détermine elle-même le RunID.Pensez toutefois à définir les virgules faisant partie des paramètres. Par défaut, le rapport de Job ("REP") est utilisé pour les Jobs et le rapport d'activation ("ACT") est utilisé pour les autres Tâches. Chaque rapport de Job peut être analysé dans l'onglet "Post-Script". En fonction du résultat, il est possible de définir la fin définitive du Job à l'aide de l'instruction de script :MODIFY_STATE. Automation Engine 283 Si vous accédez à une Tâche déjà terminée, mais dont le rapport est encore incomplet, la fonction de script l'attend. Par défaut, la fonction de script lit toutes les lignes du rapport. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Pour ce faire, les définitions suivantes s'appliquent : l l l 22 colonnes maximum d'une longueur totale de 2 048 octets, Largeur de colonne maximale de 255 caractères et nom de colonne de 32 caractères maximum. GET_PROCESS_LINE vous permet d'accéder à chaque colonne. Le rapport est enregistré dans la langue dans laquelle le logging d'UC4 Automation Engine est réalisé. Le code retour de la fonction script est la référence d'une séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne et les colonnes correspondantes, de la séquence de données. Si le rapport ne contient pas le contenu recherché, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemples Le premier exemple recherche toutes les lignes d'un rapport de Job dans lequel se trouve le lecteur C: . Les lignes complètes s'affichent dans le protocole d'activation. :SET &HND# = PREP_PROCESS_REPORT("JOBS",, "REP", "*C:\*") :PROCESS &HND# : SET &RET# = GET_PROCESS_LINE(&HND#) : PRINT &RET# :ENDPROCESS Le deuxième exemple se base sur un Job qui a interrogé les noms de fichier pour un traitement par l'Utilisateur. Les noms de fichier ont été enregistrés dans le rapport d'activation. Si le guillemet est utilisé comme délimiteur, les noms de fichier peuvent être lus. Ils s'affichent dans le protocole d'activation. :SET &RUNNR# = GET_UC_OBJECT_NR("MAWI.TAG") :SET &HND# = PREP_PROCESS_REPORT(, &RUNNR#, "ACT",,"COL=DELIMITER","DELIMITER=*'*") :PROCESS &HND# : SET &RET# = GET_PROCESS_LINE(&HND#0,1) : PRINT &RET# :ENDPROCESS Dans le troisième exemple, le propre rapport de Job est évalué dans l'onglet Post-script d'un Job. Cela permet de déterminer si une erreur est survenue lors de la copie d'un fichier sous Windows. La fonction de script est exclusivement appelée avec le paramètre Filtre. Les virgules qui précèdent représentent le type d'objet, le numéro courant (RunID) et le type de rapport REP. 284 Chapter 3 Organisation fonctionnelle :SET &HND# = PREP_PROCESS_REPORT(,,,"*Ne pas trouver le fichier*") :PROCESS &HND# : SEND_MSG BU,BU,"Erreur survenue lors de la copie." : MODIFY_STATE RETCODE=50 :ENDPROCESS Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Exemples Définition du statut final en fonction du contenu du rapport Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.9.10 PREP_PROCESS_REPORTLIST Fonction script : Détermine la liste de sorties enregistrées des Jobs déjà effectués et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Syntaxe PREP_PROCESS_REPORTLIST([RunID][, filtre]) Elément de syntaxe Description/format RunID RunID d'un Job déjà exécuté dont le résultat enregistré (les rapports internes ainsi que les fichiers de résultat de Job) doit être déterminé. Format : Nom UC4, Littéral de script ou Variable de script Si le paramètre n'est pas spécifié, le script se réfère à l'objet lui-même. Le script doit ensuite être utilisé dans l'onglet "Post-traitement" uniquement ; il n'est sinon pas possible de déterminer toutes les données de résultat de Job. Filtre Filtre sur le nom d'un fichier de résultat de Job. Les caractères génériques * (remplacement de plusieurs caractères au choix) et ? (remplacement d'un caractère exactement) peuvent être utilisés plusieurs fois. Format : Variable de script ou litéral de script Code retour Référence à la séquence de données de la liste du résultat de Job. Automation Engine 285 Remarques La fonction script détermine la liste des résultats de Job enregistrés stockés dans l'onglet "Répertoire" du dialogue Rapport. Elle inclut aussi bien les fichiers externes que les rapports standard. Le code retour de la fonction script est une référence de la séquence de données. Cette dernière peut être transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS, ce qui génère une boucle. Le nombre de cycles de la boucle correspond au nombre d'entrées du résultat de Job. La fonction script GET_PROCESS_LINE permet d'accéder aux différentes colonnes (8 au total) d'une seule ligne. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Si le paramètre Filtre n'est pas spécifié, tous les fichiers de résultat de Job sont alors utilisés (correspond à Filtre = *). Les colonnes suivantes peuvent être lues pour chaque entrée : Numéro Valeur de colonne 1 Type de rapport (par exemple : ACT, REP, REV01, etc.) Les fichiers de résultat de Job externes portent les noms suivants : l l $NNN - Fichiers qui ont été enregistrés de façon statique (Onglet Résultat") #NNN - Fichiers qui ont été enregistrés de façon dynamique (Script :REGISTER_ OUTPUTFILE) NNN - Numéro courant à 3 chiffres 2 Moment auquel la création du résultat de Job a été lancé. Format : YYYY-MM-DD HH:MM:SS 3 Moment auquel la création du résultat de Job s'est terminée. Format : YYYY-MM-DD HH:MM:SS 4 Titre (uniquement pour les Jobs SAP) 5 S'agit-il d'un rapport XML? (uniquement pour les Jobs SAP) Valeurs possibles : "0" - Non "1" - Oui 6 Chemin et nom entièrement qualifiés du fichier de résultat de Job externe ou du rapport de Job (type de rapport = REP). Cette colonne reste vide pour les rapports standard (tels que ACT). 7 Le résultat de Job se trouve-t-il sur l'Agent? Valeurs possibles : "0" - Non "1" - Oui 286 8 Chapter 3 Organisation fonctionnelle Le résultat de Job est-il enregistré dans la base de données UC4? Valeurs possibles : "0" - Non "1" - Oui Exemple 1 Dans le premier exemple (le plus simple), le nom et le chemin des fichiers de résultat de la dernière exécution du Job JOBS.WIN.OUTPUT sont lus et enregistrés dans le protocole d'activation. :SET &RUNID# = GET_STATISTIC_DETAIL(,RUNID,JOBS.WIN.OUTPUT) :SET&HND# = PREP_PROCESS_REPORTLIST(&RUNID#) :PROCESS&HND# : SET&FILENAME# = GET_PROCESS_LINE(&HND#, 6) : IF&FILENAME# = "" : ELSE : PRINT"Nom de fichier = &FILENAME#" : ENDIF :ENDPROCESS Exemple 2 Dans l'exemple ci-dessous, deux fichiers sont générés par un Job Windows et enregistrés comme résultat de Job. Les lignes suivantes se trouvent dans l'onglet Script du Job. dir C:\temp >> C:\temp\test.txt :REGISTER_OUTPUTFILE"C:\temp\test.txt","N" dir C:\windows >> C:\temp\test2.txt :REGISTER_OUTPUTFILE"C:\temp\test2.txt","N" Dans l'onglet Post-traitement du Job, la liste de résultat de Job complète est demandée avec l'élément de script PREP_PROCESS_REPORTLIST et les différentes colonnes de chaque ligne sont écrites dans le protocole de Job avec une boucle Process. Un Transfert de Fichier, qui transfère le fichier vers un autre ordinateur, est lancé pour chaque fichier de résultat externe. L'Agent, le Login du Job et le chemin complet du fichier sont transmis à l'objet Transfert de Fichier. :PSET&AGENT_JOB# = GET_ATT(HOST) :PSET&LOGIN_JOB# = GET_ATT(LOGIN) :SET&HND# = PREP_PROCESS_REPORTLIST() :PROCESS&HND# : SET&RH_TYPE# = GET_PROCESS_LINE(&HND#, 1) : SET&START_TIME# = GET_PROCESS_LINE(&HND#, 2) : SET&END_TIME# = GET_PROCESS_LINE(&HND#, 3) : SET&TITLE# = GET_PROCESS_LINE(&HND#, 4) : SET&IS_XML# = GET_PROCESS_LINE(&HND#, 5) : SET&FILENAME# = GET_PROCESS_LINE(&HND#, 6) : SET&ON_AGENT# = GET_PROCESS_LINE(&HND#, 7) : SET&IN_DB# = GET_PROCESS_LINE(&HND#, 8) : PRINT"Type de rapport = &RH_TYPE#" : PRINT "Début = &START_TIME#" : PRINT"Fin = &END_TIME#" : PRINT"Titre = &TITLE#" Automation Engine 287 : PRINT"Rapport XML? = &IS_XML#" : PRINT"Nom de fichier = &FILENAME#" : PRINT"Sur l'Agent? = &ON_AGENT#" : PRINT"Dans la base de données? = &IN_DB#" : IF&FILENAME# = "" : PRINT"Pas de fichier de résultat externe" : ELSE : IF&ON_AGENT# = 1 : PSET&FT_FILE# = &FILENAME# : SET&AKT# = ACTIVATE_UC_OBJECT(JOBF.OUTPUTHANDLING,,,,,PASS_VALUES,) : ENDIF :ENDIF : PRINT :ENDPROCESS Les données du Job activé sont maintenant saisies comme Agent source et Login dans le script de l'objet Transfert de Fichier. Le chemin et le nom du fichier de résultat de Job externe sont également spécifiés comme fichier source. Le nom du fichier source est repris comme cible et le chemin est remplacé par "C:\output\". :PUT_ATT FT_SRC_HOST = &AGENT_JOB# :PUT_ATT FT_SRC_LOGIN = &LOGIN_JOB# :PUT_ATT FT_SRC_FILE = &FT_FILE# :SET&POS# = STR_FIND_REVERSE(&FT_FILE#, "\") + 1 :SET&FNAME# = STR_CUT(&FT_FILE#, &POS#) :SET&DST_FILENAME# = STR_CAT("C:\output\",&FNAME#) :PUT_ATT FT_DST_FILE = &DST_FILENAME# Rubriques connexes : Elément de script Description PREP_PROCESS_ REPORT Détermine les lignes de rapport des objets activables à l'aide de critères de filtrage et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. :PROCESS... :TERM_PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_ LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Exemples Définition du statut final en fonction du contenu du rapport Exécution d'un MBean Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 288 Chapter 3 Organisation fonctionnelle 3.9.11 PREP_PROCESS_VAR Fonction script : Détermine une liste de valeurs d'un objet Variable à l'aide de critères de sélection et met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. Syntaxe PREP_PROCESS_VAR(Variable [, clé [, valeur [, colonne]]]) Elément de syntaxe Description/format Variable Nom de l'objet Variable dont les valeurs doivent être lues. Format : Nom UC4, Littéral de script ou Variable de script Clé Filtre pour la clé/colonne. Format : littéral de script ou Variable de script 64 caractères maximum Valeur par défaut : "*" Pour les Variables dynamiques, la colonne Clé est toujours la première colonne de valeurs. La colonne Résultat est créée une fois les entrées de variable déterminées. Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Valeur Filtre pour la valeur. Format : littéral de script ou Variable de script 64 caractères maximum Valeur par défaut : "*" Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Colonne Colonne de valeurs à laquelle se réfère le filtre pour la valeur Format : littéral de script, nombre sans guillemets ou Variable de script Les caractères génériques ne sont pas autorisés ! Valeurs autorisées : Variables statiques : "1" à "5" Variables dynamiques : "1" à n Même si vous ne souhaitez appliquer un filtre que sur la valeur, vous devez conserver la virgule précédente. Exemple : :SET &HND# = PREP_PROCESS_VAR("MAINTENANCE BD",,"CLIENT", 1) Code retour Référence à la séquence de données de l'objet Variable. Remarques La fonction de script lit les valeurs d'un objet Variable. Pour ce faire, les valeurs lues peuvent être limitées via les paramètres facultatifs clef et valeur. Pour ces paramètres, il est possible d'utiliser les caractères Automation Engine 289 génériques "*" et "?". Attention aux majuscules et aux minuscules ! Valeur se réfère au contenu d'une colonne de valeurs. Avec la colonne, vous définissez le numéro de la colonne de valeurs qui doit être parcourue. Si la colonne n'est pas indiquée, la première colonne de valeurs est automatiquement utilisée. Les Variables statiques possèdent 5 colonnes de valeurs. Le nombre de colonnes de variables dynamiques n'est pas limité et dépend de la source de données ou des paramètres dans l'objet Variable. L'utilisation du paramètre Colonne est possible uniquement en relation avec la valeur ! Si le filtre Valeur n'est pas spécifié, la saisie d'une colonne sera alors non valide ! Le script ne permet pas de sélectionner certaines colonnes ! Les entrées de variable filtrées sont par conséquent retournées avec les valeurs de toutes les colonnes, y compris la Clé ou la colonne Résultats. Attention : il est impossible d'utiliser des caractères génériques pour la valeur lorsqu'il s'agit d'une Variable dont le type de données est un "nombre". La fonction renvoie toutes les entrées ou chacune de celles qui contiennent exactement la valeur indiquée. Attention : indiquer une chaîne vide "" pour le filtrage équivaut à entrer "*" : toutes les valeurs sont alors renvoyées. Si vous n'indiquez ni la clé ni la valeur, toutes les entrées de l'objet Variable seront utilisées. Le code retour de la fonction script est une référence de la séquence de données. Cette dernière est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de script GET_PROCESS_LINE vous pouvez maintenant accéder à chacune des lignes de l'objet Variable. Si l'objet Variable ne contient pas les valeurs recherchées, aucun message d'erreur n'apparaît. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé. Les noms des objets VARA contenant une Variable doivent être indiqués entre guillemets ; sinon, un message d'erreur s'affiche. Aucune autre valeur ne peut être attribuée à la Variable de script contenant la référence de la séquence de données. La Variable ne peut être réutilisée que lorsque vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS. Attention : pour les variables dynamiques (SQL, SQLI, MULTI), le nombre de lignes disponibles avec le paramètre SQLVAR_MAX_ROWS (UC_SYSTEM_SETTINGS) est limité. Cela signifie : si le paramètre est par exemple défini sur 1 000, les objets Variable ne renvoient que les 1 000 premières lignes. L'accès aux lignes restantes avec le script PREP_PROCESS_VAR est alors impossible ! Le paramètre peut être défini au maximum sur 20 000. Exemples L'objet Variable suivant est indiqué : 290 Chapter 3 Organisation fonctionnelle Dans le premier exemple, toutes les valeurs sont déterminées et s'affichent dans une boucle de processus avec l'instruction :PRINT dans le protocole d'activation. :SET &HND# = PREP_PROCESS_VAR(MAINTENANCE BD) :PROCESS &HND# : SET &GB#= GET_PROCESS_LINE(&HND#,1) : SET &VALEUR# = GET_PROCESS_LINE(&HND#,2) : PRINT "&GB# &VALEUR#" :ENDPROCESS :CLOSE_PROCESS &HND# Dans le deuxième exemple, seules les entrées dont la clé commence par "Client" sont lues. :SET &HND# = PREP_PROCESS_VAR(MAINTENANCE BD,"CLIENT*") :PROCESS &HND# : SET &GB#= GET_PROCESS_LINE(&HND#,1) : SET &VALEUR# = GET_PROCESS_LINE(&HND#,2) : PRINT "&GB# &VALEUR#" :ENDPROCESS :CLOSE_PROCESS &HND# Rubriques connexes : Elément de script Description :CLOSE_PROCESS Supprime une séquence de données au sein d'un script. :PROCESS... :TERM_ PROCESS... :ENDPROCESS Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande. GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Séquences de données Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 291 3.10 Traitement d'Evènement 3.10.1 GET_CONSOLE, GET_EVENT_INFO Fonction script : Lit les données des Evènements de console, de fichier ou de base de données survenus. Syntaxe GET_CONSOLE(Mot clé[, Index]) GET_EVENT_INFO(Mot clé[, Index]) Elément de syntaxe Description/format Mot clé Indique quelle partie du message doit être lue. Format : Nom UC4, Littéral de script ou Variable de script Les mots clés pour chaque plate-forme sont expliqués dans les tables cidessous. Index Peut seulement être utilisé conjointement aux mots clés INSERT, RESULT1 et RESULT2. Format : littéral de script, nombre ou Variable de script. Valeur par défaut : 1 Pour INSERT : Accès aux champs à 16 bits d'un message de console sur z/OS ou à la partie Variable du texte d'Alerte (Insert) d'un message OS/400. Pour RESULT1 et RESULT2 : Numéro de colonne de la requête SQL (Evènement de la base de données) Mots clés Mot clé ACCESS ACTIVATION STATE ALERT_ OPTION CATEGORY CHANNEL Cons ole BS20 00 Cons ole z/OS Cons ole OS/4 00 Cons ole SAP (ABA P) Cons Cons ole ole SAP SAP (XI) (Java) Cons ole Wind ows Systè Système me de de fichiers fichie automati rs que z/OS Base de donn ées 292 Chapter 3 Organisation fonctionnelle DDNAME EVENT_ ADDITIONAL_ PARM EVENT_ COUNTOFJO BS EVENT_GUID EVENT_ID EVENT_ PARM EVENT_ PROCESSST ATE EVENT_ SERVER EVENT_ STATE EVENT_TYPE FILENAME FILESIZE ID INFO_ ACTION INFO_TEXT INSERT INSERT_ COUNT JOB_ ABENDED JOB_ENDED JOB_ID JOB_NAME LPAR_NAME MEMGEN MSG_ DESCRIPTOR MSG_FILE_ LIBRARY Automation Engine MSG_ FILENAME MSG_ID MSG_KEY MSG_LEVEL MSG_ LIBRARY_ USED MSG_MISC MSG_ SEVERITY MSG_TEXT MSGNR MSGTYPE, MSGTYP OS_NAME PARTY PROCESSID PROGRAM_ NAME REPLY_ID RESULT RESULT1 RESULT2 RETCODE RETCODE_ STATE SEND_JOB SEND_JOB_ NUMBER SEND_ USER_ PROFILE SERVICE 293 294 Chapter 3 Organisation fonctionnelle SMS_ MANAGEMEN T_CLASS SMS_DATA_ CLASS SMS_ STORAGE_ CLASS SOURCE STATE STEP_NAME SYS_NAME SYSPLEX_ NAME TIMESTAMP TYPE USER Attention : l'utilisation de mots clefs, listés dans la colonne "Système de Fichiers", n'est possible que pour les Evènements systèmes de fichiers avec le paramètre pour la "Vérification" tant "FILE_SIZE" ou "vide" (avec ou sans combinaison de "FILE_STABLE" ou "FILE_CHANGED") qu'avec "PATH_FILE_ COUNT" (toutefois seulement en combinaison avec "FILE_STABLE" ou "FILE_CHANGED"). Description Mot clé Description ACCESS Accès au fichier. Valeur autorisée : "CLOSE" - Fermeture du fichier ACTIVATIONSTATE Statut de l'adaptateur Valeurs autorisées : "STARTED" et "STOPPED" ALERT_OPTION Indique si et quand un signal d'avertissement SNA est créé, et si un message est envoyé. Valeurs autorisées : "*DEFER" - Le signal d'avertissement est envoyé après l'analyse locale du problème. "*IMMED" - Un signal d'avertissement est immédiatement envoyé en même temps que le message. L'attribut "Autoriser l'alarme" doit être défini sur "*YES" pour la file d'attente des messages. "*NO" - Aucun signal d'avertissement n'est envoyé. "*UNATTEND" - Un signal d'avertissement est envoyé uniquement lorsque le système est exécuté en mode non surveillé. Pour ce faire, le statut d'Alerte doit avoir l'attribut de réseau (ALRSTS) "*UNATTEND". CATEGORY Catégorie de l'Evènement Automation Engine 295 CHANNEL Canal de communication DDNAME Désignation DD EVENT_ ADDITIONAL_PARM Paramètres supplémentaires des évènements du planificateur Java de SAP. EVENT_ COUNTOFJOBS Nombre de Jobs SAP ayant été déclenchés (ABAP) EVENT_GUID Numéro d'instance de l'Evènement SAP (ABAP) EVENT_ID ID de l'Evènement (ABAP /Evènement Java) EVENT_PARM Paramètres d'Evènement SAP (ABAP /Evènement Java) EVENT_ PROCESSSTATE Statut du traitement SAP (ABAP) EVENT_SERVER Serveur d'Evènements SAP (ABAP) EVENT_STATE Statut de l'Evènement SAP (ABAP) EVENT_TYPE Type d'Evènement du planificateur Java dans SAP. FILENAME Nom du fichier Pour les Evènements de systèmes de fichiers avec des caractères génériques, la valeur suivante est renvoyée comme nom de fichier : l l *ALL - Lorsque l'option "Vérifier tous les fichiers" est activée. *ONE- Lorsque l'option "Vérifier tous les fichiers" est désactivée. FILESIZE Taille du fichier ID Identifiant message INFO_ACTION Action Valeurs autorisées : "Y" et "N" "Y" - un objet a été activé. "N" - aucune activation d'objet n'a eu lieu. INFO_TEXT Nom de l'objet activé. INSERT Index permet d'accéder à une partie variable spécifique du message. INSERT_COUNT Détermine le nombre de parties variables du message. JOB_ABENDED Statut de fin du Job ayant fermé le fichier Valeurs autorisées : "Y" et "N" "Y" - le Job s'est terminé de façon anormale. "N" - le Job s'est terminé normalement. JOB_ENDED Statut du Job ayant fermé le fichier Valeurs autorisées : "Y" et "N" "Y" - le Job est terminé. "N" - le Job est encore en cours. JOB_ID Désignation d'identification du Job JOB_NAME Nom du Job LPAR_NAME Renvoie le nom du LPAR. MEMGEN Nom du membre ou numéro de génération 296 Chapter 3 Organisation fonctionnelle MSG_DESCRIPTOR Description du message dans un champ de 16 bits. Bit 01(correspond à X'80') = SYSTEM_FAILURE - Défaillance système Bit 02 (correspond à X'40') = IMMEDIATE_ACTION - Action immédiate requise Bit 03 (correspond à X'20') = EVENTUAL_ACTION - Action requise Bit 04 (correspond à X'10') = SYSTEM_STATUS - Etat du système Bit 05 (correspond à X'08') = IMMEDIATE_COMMAND - Réponse de commande immédiate Bit 06 (correspond à X'04') = JOB_STATUS - Etat du Job Bit 07 (correspond à X'02') = APPLICATION - Programme/processeur de l'application Bit 08 (correspond à X'01') = OUT_OF_LINE - Hors ligne Bit 09 (correspond à X'80') = OPERATOR_REQUEST - Requête de l'opérateur Bit 10 (correspond à X'40') = TRACK_COMMAND_R - Suivi des réponses de commande Bit 11 (correspond à X'20') = CRITICAL_ACTION - Action d'évaluation critique Bit 12 (correspond à X'10') = IMPORTANT_INFO - Informations importantes Bit 13 (correspond à X'08') = PREVIOUSLY_AUTO - Précédemment automatisé Bit 14 (correspond à X'04') - Réservé Bit 15 (correspond à X'02') - Réservé Bit 16 (correspond à X'01') - Réservé MSG_FILE_LIBRARY Nom de la bibliothèque contenant le fichier du message ou les valeurs utilisées par le programme d'envoi "*CURLIB" ou "*LIBL". MSG_FILENAME Nom du fichier de message contenant le message reçu. MSG_ID Identifiant message du message reçu. En cas de message improvisé, une espace est renvoyée. MSG_KEY Clé de message du message reçu. Valeur à 4 chiffres au format hexadécimal X'xxxxxxxx'. MSG_LEVEL Niveau d'urgence du message dans un champ de 16 bits. Bit 01(correspond à X'80') = WTOR - WTOR Bit 02 (correspond à X'40') = IMMEDIATE_ACTION - Action immédiate Bit 03 (correspond à X'20') = CRITICAL_ACTION - Action critique requise Bit 04 (correspond à X'10') = EVENTUAL_ACTION - Action requise Bit 05 (correspond à X'08') = INFO - Information Bit 06 (correspond à X'04') = BROADCAST Bit 07 (correspond à X'02') - Réservé Bit 08 (correspond à X'01') - Réservé Bit 09 (correspond à X'80') - Réservé Bit 10 (correspond à X'40') - Réservé Bit 11 (correspond à X'20') - Réservé Bit 12 (correspond à X'10') - Réservé Bit 13 (correspond à X'08') - Réservé Bit 14 (correspond à X'04') - Réservé Bit 15 (correspond à X'02') - Réservé Bit 16 (correspond à X'01') - Réservé Automation Engine 297 MSG_LIBRARY_ USED Nom effectif de la bibliothèque utilisée pour envoyer le message. La bibliothèque peut contenir des instructions Override et n'est donc pas nécessairement celle dans laquelle le message se trouve actuellement. MSG_MISC Diverses informations supplémentaires sur le message dans un champ de 16 bits. Bit 01(correspond à X'80') = DISPLAY_UD_MSG - afficher les message UD Bit 02 (correspond à X'40') = DISPLAY_ONLY_UD_MSG - afficher uniquement les messages UD Bit 03 (correspond à X'20') = QUEUE_BY_ID_ONLY - trier selon ID Bit 04 (correspond à X'10') = QUEUE_BY_AUTO - trier selon automatisation Bit 05 (correspond à X'08') = QUEUE_BY_HARDCOPY - trier selon version papier Bit 06 (correspond à X'04') - Réservé Bit 07 (correspond à X'02') - Réservé Bit 08 (correspond à X'01') - Réservé Bit 09 (correspond à X'80') = ECHO_OPERATOR_CMD - commande echo opérateur Bit 10 (correspond à X'40') = ECHO_INTERNAL_CMD - commande echo interne Bit 11 (correspond à X'20') = RESULT_OF_WTL_MACRO - résultat de la macro wtl Bit 12 (correspond à X'10') - Réservé Bit 13 (correspond à X'08') - Réservé Bit 14 (correspond à X'04') - Réservé Bit 15 (correspond à X'02') - Réservé Bit 16 (correspond à X'01') - Réservé MSG_SEVERITY Sévérité du message reçu. Valeurs autorisées : "0" à "99". MSG_TEXT Texte du message (valeur par défaut) MSGNR Numéro de message MSGTYPE, MSGTYP Type de message Valeur autorisée spécialement pour OS/400 : "01" - Fin "02" - Diagnostic "04" - Information "05" - Requête "06" - Copie "08" - Demande "10" - Demande guidée "14" - Remarque (exception déjà traitée) "15" - Message d'arrêt (exception déjà traitée) "16" - Remarque (exception pas encore traitée) "17" - Message d'arrêt (exception pas encore traitée) "21" - Réponse, validité non vérifiée "22" - Réponse, validité vérifiée "23" - Réponse, message par défaut "24" - Réponse, réponse par défaut du système "25" - Réponse issue de la liste de réponses du système 298 Chapter 3 Organisation fonctionnelle OS_NAME Nom du système d'exploitation défini par IBM dans le message de console. Actuellement toujours "MVS". PARTY Partenaire PROCESSID Numéro de Tâche (TSN) dans le message de console. PROGRAM_NAME Désignation du programme REPLY_ID Reply ID du message de console. RETCODE Code retour du Job dans le format converti RETCODE_STATE Filtrage sur le code retour Valeurs autorisées : "Y" et "N" "Y" - Le code retour a été filtré. "N" - Le code retour n'est pas important dans le cadre de la résolution de l'Evènement. RESULT Indique si la condition a été remplie pour les Evènements du système de fichiers dotés des vérifications FILESIZE ou PATH_FILE_COUNT. Valeurs autorisées : "Y" et "N" "Y" - la condition a été remplie. "N" - la condition n'a pas été remplie. RESULT1 RESULT2 RESULT1 et RESULT2 permettent d'accéder aux résultats de la requête SQL pour les valeurs "valeur 1" et "valeur 2" respectivement. Indiquez pour l'index le numéro de la colonne à partir de laquelle la valeur doit être lue. Attention : l'Evènement de la base de données ne lit que les 10 premières colonnes. Le contenu des colonnes excédant 255 caractères est tronqué. La fonction de Script renvoie le code retour " " en cas de tentative d'accès à une colonne qui n'existe plus. SEND_JOB Nom du Job dans lequel le message reçu a été envoyé. SEND_JOB_NUMBER Numéro du Job dans lequel le message reçu a été envoyé. SEND_USER_ PROFILE Nom du profil d'Utilisateur qui a envoyé le message reçu. SERVICE Service SMS_ MANAGEMENT_ CLASS SMS_DATA_CLASS SMS_STORAGE_ CLASS Nom de la classe SOURCE Source de l'Evènement Automation Engine STATE 299 Etat Valeurs possibles : "*" "ERROR" "OK" "INACTIVE" "UNKNOWN" "UNREGISTERED" STEP_NAME Nom du step de Job SYS_NAME Nom Système défini par l'Utilisateur SYSPLEX_NAME Nom SYSPLEX TIMESTAMP Date et heure du message de console. TYPE Type d'Evènement Valeurs autorisées : "I" - Information "W" - Avertissement "E" - Erreur "S" - Surveillance : réussie "F"- Surveillance : erronée USER Utilisateur Remarques Les Scripts GET_CONSOLE et GET_EVENT_INFO vous offrent la possibilité de fournir des informations sur l'Evènement survenu. La syntaxe est la même dans les deux Scripts. La fonction de Script GET_CONSOLE permet de fournir les données de message lorsque survient un Evènement de console. Il s'agit de composants définis du message de console qui peuvent être indiqués avec un mot clé. La fonction renvoie par défaut le texte du message. La fonction de Script peut être utilisée dans un Evènement de type Console. Le message de console peut ainsi être lu dans BS2000 et z/OS. Dans OS/400, la fonction de Script sert à obtenir des informations provenant de la file d'attente des messages. Le fichier INI de l'Agent OS/400 permet de définir la file d'attente à surveiller. GET_EVENT_INFO vous permet de lire les informations du Script des Evènements systèmes de fichiers. Pour ce faire, de nombreux mots clefs sont disponibles spécialement pour z/OS. Spécificités de plates-formes z/OS Les mots clés MSG_DESCRIPTOR, MSG_LEVEL et MSG_MISC ont une particularité. Il s'agit de champs à 16 bits dont chaque bit a une signification particulière. La fonction de Script permet d'interroger chaque bit. L'index permet d'indiquer le bit en tant que valeur ou constante. Le code retour de la fonction de Script est "1" (le bit est défini) ou "0" (le bit n'est pas défini). OS/400 300 Chapter 3 Organisation fonctionnelle Lorsque INSERT_COUNT sert de mot clef, le nombre de parties variables d'un message OS/400 peut être défini. Lorsque INSERT sert de mot clé et qu'un index est indiqué, on accède à une partie Variable spécifique du message. En option, Index peut être indiqué exclusivement pour INSERT. Si aucun index n'est indiqué, la fonction renvoie la première partie Variable du message. Exemples La fonction de Script GET_CONSOLE indique dans l'exemple le numéro de Tâche du processus qui déclenche l'Evènement. :SET &NUMTACHE#=GET_CONSOLE(PROCESSID) Dans le deuxième exemple, le nombre de parties variables du message (insertions) est indiqué en premier dans un message OS/400. Une boucle de processus est ensuite exécutée dans laquelle toutes les insertions sont écrites dans le rapport d'activation. :SET &COUNT# = GET_CONSOLE("INSERT_COUNT") :SET &IDX# = 1 :WHILE &COUNT# > 0 : SET &INSERT# = GET_CONSOLE("INSERT", &IDX#) : SET &HELP# = FORMAT(&IDX#, "000") : PRINT "INSERT[&HELP#] = '&INSERT#'" : SET &IDX# = ADD(&IDX#, 1) : SET &COUNT# = SUB(&COUNT#, 1) :ENDWHILE Les lignes suivantes sont journalisées dans le rapport d'activation : 20010110/235011.000 20010110/235011.000 20010110/235011.000 20010110/235011.000 20010110/235011.000 20010110/235011.000 - U0020408 U0020408 U0020408 U0020408 U0020408 U0020408 INSERT[001] INSERT[002] INSERT[003] INSERT[004] INSERT[005] INSERT[006] = = = = = = 'QPFRMON' 'QPGMR' '007982' '23:48:43' '10/01/01' '0' Le troisième exemple détermine un composant du message de console dans z/OS. Le bit 03 permet d'accéder au mot clef MSG_DESCRIPTOR. Le bit 03 est indiqué parfois en tant que valeur, d'autres fois en tant que constante. :SET &RET# = GET_CONSOLE("MSG_DESCRIPTOR", 3) :SET &RET# = GET_CONSOLE("MSG_DESCRIPTOR", "EVENTUAL_ACTION") L'exemple suivant montre un extrait de Script dans lequel un nom de fichier est déterminé et le contenu du fichier est lu ligne par ligne. :SET &NOMDEFICHIER# = GET_EVENT_INFO (FILENAME) :SET &HND# = PREP_PROCESS_FILE ("MVSHOST", &NOMDEFICHIER#) Le cinquième exemple liste les valeurs d'une requête SQL (pour la "valeur 1") au sein d'un Evènement de base de données. Résultats SQL : Nom Prénom Emplacement Henri Jean Paris Le prénom est spécifié comme suit : :SET &PRENOM# = GET_EVENT_INFO (RESULT1, 2) Automation Engine 301 La ligne suivante renseigne l'emplacement : :SET &EMPLACEMENT# = GET_EVENT_INFO (RESULT1, 3) Rubriques connexes : Elément de script Description GET_BIT Vérifie si un bit particulier est défini dans un champ de bit. Scripts - Traitement d'Evènement Exemples Réaction à des Evènements externes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.10.2 GET_FILESYSTEM Fonction script : Détermine les différentes valeurs de système de fichiers à partir d'une machine à l'emplacement correspondant au chemin indiqué. Syntaxe GET_FILESYSTEM([Hôte],[Chemin],Valeur du système de fichiers[,Unité de mesure] [,Inclure sous-répertoires]) Elément de syntaxe Description/format Hôte Nom de l'Agent qui s'exécute sur la machine d'après laquelle les informations doivent être déterminées. Format : Nom UC4, Littéral de script ou Variable de script Si vous n'indiquez pas le nom de l'hôte, le dernier Agent utilisé avec la fonction de script GET_FILESYSTEM est réutilisé. Les valeurs ne sont pas à nouveau déterminées, mais seules sont affichées celles de la dernière exécution. 302 Chapter 3 Organisation fonctionnelle Chemin On entre ici les fichiers ou systèmes de fichiers pour lesquels les informations doivent être déterminées. Vous pouvez désigner ici, indépendamment du système cible, des noms de fichier, des lecteurs, des volumes, des chemins, des extensions, des Generation Data Groups (GDG) etc., qualifiés ou avec des caractères génériques. Vous pouvez utiliser les caractères génériques "*" et "?". "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Attention : dans Windows, les caractères génériques "*" et "?" peuvent uniquement être utilisés pour les noms de fichiers et non pas pour les dossiers au sein du chemin ! Format : nom UC4, littéral de script ou Variable de script Si vous n'indiquez pas le nom du chemin, on se sert du dernier chemin utilisé avec la fonction de script GET_FILESYSTEM. Les valeurs ne sont pas à nouveau déterminées, mais seules sont affichées celles de la dernière exécution. Terminez toujours la saisie du chemin par une barre oblique inversée "\*" sous Windows. Vous obtiendrez ainsi un message d'erreur des fonctions de script pour le traitement des erreurs si le chemin spécifié n'existe pas. Exemple : C:\UC4\* Il est nécessaire d'indiquer un ou plusieurs volumes avec le préfixe "VOL=". Exemple : "VOL=ALG*1" fournit des informations sur tous les volumes commençant par "ALG" et finissant par "1". Tous les autres caractères peuvent se trouver entre. En l'occurrence, il s'agit exactement de quatre caractères, car le nom d'un volume contient 8 caractères. Pour désigner les Generation Data Groups, le caractère générique "*" doit être utilisé uniquement entre parenthèses. Automation Engine Valeur de système de fichiers 303 La fonction de script peut déterminer les informations suivantes : PATH_SPACE_ALLOCATED - Espace mémoire ou espace disque alloué PATH_SPACE_RELEASE - Espace mémoire pouvant être libéré (uniquement BS2000) PATH_SPACE_USED - Volume total occupé par les fichiers à l'emplacement indiqué PATH_SPACE_UNUSED - Espace mémoire ou espace disque inutilisé (uniquement BS2000) PATH_FILE_COUNT - Nombre de fichiers, PATH_FOLDER_COUNT - Nombre de répertoires (uniquement Windows et Unix), FILESYSTEM_SPACE_TOTAL - Capacité de stockage du disque (uniquement Windows), FILESYSTEM_SPACE_USED - Espace mémoire utilisé sur le disque (uniquement Windows), FILESYSTEM_SPACE_FREE - Espace mémoire disponible sur le volume (z/OS) ou le disque (Windows) Format : nom UC4, littéral de script ou Variable de script Unité de mesure En option, on peut indiquer sous quelle forme la valeur du système de fichiers doit être renvoyée. Si aucune unité de mesure n'est indiquée, le code retour est défini par l'hôte (valeur par défaut). Par exemple, une machine BS2000 renvoie la valeur "1" pour une page PAM. Cela correspond à 2048 octets. Si une unité de mesure est indiquée, le code retour est converti comme spécifié. Valeurs autorisées : "octets", "Ko", "Mo", "Go" ou "To". Format : nom UC4, littéral de script ou Variable de script La valeur par défaut est également utilisée en cas d'indication d'une unité de mesure non valide. Mais ensuite, la fonction de script ne s'interrompt pas si vous utilisez :ON_ERROR. Inclure SousRépertoires Paramètre indiquant si les sous-répertoires du chemin spécifié doivent être inclus. Valeurs autorisées : "Y" (valeur par défaut) et "N" Cette option n'est disponible que pour les Agents VMS-, UNIX- et Windows. Attention, activez cette option diminue les performances du système UC4. Codes retour Résultat pour la valeur recherchée dans le système de fichiers "0" : une erreur est survenue lors de la détermination de la valeur du système de fichiers (exception : PATH_FILE_COUNT, voir ci-dessous). 304 Chapter 3 Organisation fonctionnelle Remarques Ce script ne peut être utilisé en relation avec des Agents du système d'exploitation (Windows, UNIX, VMS, z/OS, OS/400, NSK et BS2000) ! Si une erreur survient lors de l'accès aux informations sur le système de fichiers (par ex. : chemin introuvable), le code de retour est "0". L'instruction de script :ON_ERROR permet de définir la réaction à cette erreur. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Pour PATH_FILE_COUNT, la fonction peut évidemment renvoyer 0 lorsque le répertoire ne contient aucun fichier. Pour détecter une erreur, vous devez donc utiliser en plus les fonctions de script pour le traitement des erreurs (par ex. SYS_LAST_ERR_NR) C'est par exemple le cas si l'hôte n'est pas actif. Il est ainsi possible de différencier si le code retour 0 se rapporte au nombre de fichiers ou à l'erreur survenue. Le code retour 0 est également affiché en cas d'autorisation d'accès manquante pour le dossier système (information de volume système, Windows). Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Paramètres facultatifs Hôte et Chemin Cas 1 : GET_FILESYSTEM peut être utilisé dans les onglets de traitement par tous les objets activables (p. ex. Workflow). Il faut toujours indiquer un hôte et un chemin lors de l'exécution de la fonction de script. On peut omettre les paramètres uniquement si GET_FILESYSTEM a déjà été exécuté une fois dans le script. Cependant, vous obtenez dans ce cas la même valeur que dans l'exécution précédente. En voici un exemple : :SET &Nbfichiers# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT) !lignes de script diverses :SET &Nbfichiers# = GET_FILESYSTEM(,, PATH_FILE_COUNT) !lignes de script diverses :SET &Nbfichiers# = GET_FILESYSTEM(WIN01, "C:\Temp", PATH_FILE_COUNT) La première exécution de GET_FILESYSTEM renvoie le nombre de fichiers dans le répertoire C:\Temp (par ex. 50). S'il faut ensuite supprimer des fichiers dans ce dossier, la deuxième utilisation de la fonction de script continuera à renvoyer 50. Néanmoins, la troisième exécution détermine une nouvelle valeur du système de fichiers et renvoie un nombre de fichiers inférieur. Cas 2 : La fonction de script GET_FILESYSTEM permet d'accéder à une ligne d'informations du système de fichiers et aux données d'utilisation de l'espace mémoire ou de l'espace disque à l'occurrence d'un Evènement de type "Système de fichiers". Toutes les informations venant de l'Agent sont ainsi transmises et peuvent être interrogées individuellement en indiquant la valeur du système de fichiers. La fonction script est alors exécutée sans indiquer d'hôte ni de chemin, car ces derniers sont déjà définis dans l'onglet Système de Fichiers de l'Evènement. OS/400 : Particularités des valeurs du système de fichiers Pour obtenir des valeurs valides sur le système de fichiers, indiquez à la fois une bibliothèque et un fichier. z/OS : Particularités des valeurs du système de fichiers Automation Engine 305 PATH_SPACE_ALLOCATED - l'espace mémoire attribué dans z/OS ne peut pas être déterminé. La fonction renvoie l'espace mémoire utilisé. PATH_SPACE_USED - espace mémoire utilisé. PATH_SPACE_UNUSED - est toujours nul, car cette valeur correspond à la différence entre PATH_ SPACE_ALLOCATED et PATH_SPACE_USED. Si on indique une désignation GDG, la fonction de script peut déterminer les valeurs de système de fichiers suivantes : PATH_SPACE_USED et PATH_FILE_COUNT. Particularités des valeurs de système de fichiers BS2000 par rapport à d'autres systèmes d'exploitation Vous pouvez différencier l'espace mémoire alloué de l'espace mémoire utilisé uniquement dans BS2000. Par exemple, 1000 pages PAM y sont réservées pour un fichier. Mais le contenu du fichier ne comporte que 100 pages PAM. Ce qui suit vaut pour d'autres systèmes d'exploitation comme UNIX, VMS et MPE : PATH_FILE_COUNT - Nombre de fichiers PATH_FOLDER_COUNT - Nombre de répertoires PATH_SPACE_USED - Volume total occupé par les fichiers à l'emplacement indiqué PATH_SPACE_TOTAL - identique à PATH_SPACE_USED et PATH_SPACE_ALLOCATED. Exemples Dans l'exemple, la fonction de script GET_FILESYSTEM sert à déterminer le nombre de fichiers disponibles et à déduire un message correspondant. Comme les deux premiers paramètres ne sont pas indiqués, il s'agit de l'extrait de script d'un Evènement. :SET &NOMBRE# = GET_FILESYSTEM(,,PATH_FILE_COUNT) :SEND_MSG "HENRI","INFORMATIQUE","&NOMBRE# fichiers ont été préparés pour le traitement." Dans l'exemple suivant, la fonction de script GET_FILESYSTEM est utilisée dans le script d'un Job. Toutes les informations disponibles sur le disque sont exécutées et affichées dans le protocole d'activation. :SET &E1# = GET_FILESYSTEM(WIN01,"E:\",FILESYSTEM_SPACE_TOTAL,MB) :SET &E2# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_USED,MB) :SET &E3# = GET_FILESYSTEM(,,FILESYSTEM_SPACE_FREE,MB) :PRINT "Espace de stockage d'un lecteur: &E1# MB" :PRINT "Mémoire utilisée : &E1# MB" :PRINT "Mémoire libre : &E3# MB" Les exemples suivants montrent l'utilisation de la fonction de script avec GDG : !Nombre de fichiers générés dans le Groupe TEST.XXX :SET &NOMDEFICHIER# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(*)", PATH_FILE_ COUNT) !Espace total occupé par la génération actuelle :SET &ESPACE# = GET_FILESYSTEM("MVSHOST", "TEST.XXX(0)", PATH_SPACE_USED) Rubriques connexes : Elément de script Description 306 Chapter 3 Organisation fonctionnelle :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Scripts - Traitement d'Evènement Exemples : Affichages à l'aide du Cockpit Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.10.3 GET_WIN_EVENT Fonction script : Détermine les entrées dans le protocole du système, de sécurité et d'application de Windows lorsqu'un Evènement se produit. Syntaxe GET_WIN_EVENT ( Mot clé[, Index] ) Elément de syntaxe Description/format Mot clé Nom du champ dont le contenu doit être déterminé pour cet Evènement. Format : Nom UC4 ou Variable de script CATEGORY : catégorie de l'Evènement EVENT_ID : ID de l'Evènement INSERT : accède à une certaine partie variable du message. INSERT_COUNT : détermine le nombre de parties variables du message. SOURCE : source de l'Evènement TIMESTAMP : date et heure TYPE : type d'Evènement USER : Utilisateur Index Accès aux parties variables du message dans le champ "Description" des détails d'Evènement. Format : littéral de script, nombre ou Variable de script. Par défaut : "1" Peut seulement être utilisé conjointement au mot clé INSERT (INSERT, index). Remarques La fonction de script est utilisée dans un Evènement de type "console" pour Windows. Ce type d'Evènement permet de surveiller l'affichage des Evènements de Windows. Cet Evènement se produit si une entrée correspondant aux définitions indiquées dans l'onglet "Détail" est détectée dans le protocole du système, de sécurité ou d'application. Les instructions de traitement de l'onglet ! Script sont automatiquement exécutées. GET_WIN_EVENT permet maintenant d'accéder à certaines informations de cette entrée par mot de passe. Si TYPE est utilisé comme mot clé, les codes retour de la fonction de script sont les suivants : "I" pour information, "W" pour avertissement, "E" pour erreur, "S" pour surveillance réussie ou "F" pour échec de la surveillance. Automation Engine 307 Dans Microsoft Windows, les textes des messages se composent de parties fixes et Variables. La fonction de script n'indique toutefois que les parties variables d'un message. Lorsque INSERT_COUNT sert de mot de passe, le nombre de parties variables des messages peut être défini. Lorsqu'INSERT sert de mot de passe et qu'Index est indiqué, il est possible d'accéder à une partie variable précise du message. En option, Index peut être indiqué exclusivement pour INSERT. Lorsqu'Index n'est pas indiqué, la fonction retourne la première partie variable du message. Exemples Dans l'exemple, le nombre de parties variables du message est déterminé en premier dans le champ "Description" du détail d'Evènement. Ce nombre est enregistré dans la Variable de script "&COUNT". Une boucle de processus est ensuite exécutée dans laquelle les deuxième et troisième parties variables du message (mot clé INSERT) sont écrites dans le rapport d'activation. : SET &COUNT# = GET_WIN_EVENT ( "INSERT_COUNT ") : SET &IDX# = 1 : WHILE &IDX# <= &COUNT# : SET &INSERT# = GET_WIN_EVENT ( "INSERT ", &IDX# ) : SET &HELP# = FORMAT ( &IDX# , "000" ) : PRINT "INSERT[&HELP#] = '&INSERT#'" : SET &IDX# = ADD ( &IDX# , 1) : ENDWHILE Voici un exemple de message de détail d'Evènement complet : l'Utilisateur "00432233778822#0001" a établi une connexion avec "T-Online" en utilisant l'appareil "AVMISDN1". Les parties variables du message sont consignées dans les lignes suivantes du rapport d'activation : 20010117/193135.000 - U0020408 INSERT[002] = 'T-Online' 20010117/193135.000 - U0020408 INSERT[003] = 'AVMISDN1' Rubriques connexes : Scripts - Traitement d'Evènement Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11 Statuts et utilisation du système 3.11.1 :DISCONNECT Instruction de script : Déconnexion du système UC4. Syntaxe :DISCONNECT Connexion, Nom Elément de syntaxe Description/format 308 Chapter 3 Organisation fonctionnelle Connexion Type de connexion. Format : Littéral de script, Variable de script, chiffre Valeurs autorisées : "USER", "HOST" et "HOSTGROUP" "USER" = Connexion d'un Utilisateur ou d'un Groupe Utilisateur. "HOST" = Connexion d'un Agent. "HOSTGROUP" = Connexion d'Agents d'un Groupe Agent. Nom Nom d'un Utilisateur, d'un Groupe Utilisateur, d'un Agent ou d'un Groupe Agent. Format : littéral de script, Variable de script ou chiffre Remarques L'instruction de Script permet de se déconnecter du système UC4. Les Utilisateurs ou les Groupes Utilisateurs doivent appartenir au même Client que l'objet dans le Script duquel cette instruction est utilisée. Un message de l'Interface Utilisateur informe l'Utilisateur de l'interruption de la connexion à UC4 Automation Engine et l'invite à se reconnecter. Si l'Utilisateur n'est pas activement connecté au système UC4, aucune erreur ne se produit. Par contre, si des Utilisateurs ou Groupes Utilisateurs ne sont pas valides, le traitement de Script s'interrompt avec un message d'erreur. :DISCONNECT, utilisé avec "HOST" ou "HOSTGROUP", n'arrête pas l'Agent, interrompt temporairement la connexion. L'Agent se reconnecte à UC4 Automation Engine dès que le prochain signal de sa vérification est envoyé. L'arrêt de la connexion à un Agent peut présenter un intérêt lorsqu'un nouveau processus de communication est démarré et que les Agents doivent être redistribués. Pour arrêter un Agent, utilisez le Script :TERMINATE. Vous pouvez également indiquer un Groupe Agent au lieu d'un seul Agent. La déconnexion se fait pour tous les Agents de ce Groupe. Un Utilisateur doit disposer du droit d'interruption pour l'Utilisateur ou l'Agent pour pouvoir exécuter cette instruction de script. Exemple L'exemple déconnecte l'Utilisateur "DUPONT/UC4" du système UC4. :DISCONNECT "USER", "DUPONT/UC4" Cet exemple déconnecte l'Agent WIN01 du système UC4. :DISCONNECT "HOST", "WIN01" Dans l'exemple suivant, tous les Agents de base de données sont déconnectés. :DISCONNECT "HOSTGROUP", "HOSTG_DB_UNIX" Rubriques connexes : Elément de script Description :TERMINATE Instruction permettant de mettre fin à un Agent, un processus de travail ou de communication Automation Engine :SHUTDOWN 309 Quitte un système UC4. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.2 :SET_UC_SETTING Instruction de script : Modifie les paramètres système au cours de l'exécution. Syntaxe :SET_UC_SETTING Paramètre, Composants, Valeur Elément de syntaxe Description/format Paramètre Paramètres système devant être modifiés. Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "WORKLOAD_MAX", "WORKLOAD_MAX_FT", "WORKLOAD_MAX_JOB", "SET_TRACE", "SERVER_MODE" "WORKLOAD_MAX" = Quantité maximale de ressources que l'Agent met à disposition pour les Transferts de Fichiers et les Jobs "WORKLOAD_MAX_FT" = Quantité maximale de ressources que l'Agent met à disposition pour les transferts de fichier "WORKLOAD_MAX_JOB" = Quantité maximale de ressources que l'Agent met à disposition pour les Jobs "SET_TRACE" = Options de trace pour les processus de travail d'un système UC4 ou d'un Agent. "SERVER_MODE" = Type de processus serveur. Composants Composants UC4 dont les paramètres système doivent être modifiés. Format : littéral de script, variable de script, nom UC4 ou fonction de script Pour "WORKLOAD_MAX", "WORKLOAD_MAX_FT" et "WORKLOAD_ MAX_JOB" : Nom d'un Agent actif ou d'un Groupe Agent Pour "SET_TRACE" : nom d'un système UC4 ou d'un Agent Pour "SERVER_MODE" : Nom du processus serveur. Valeur Nouvelle assignation pour le paramètre système. Format : littéral de script, Variable de script ou fonction de script Pour "WORKLOAD_MAX", "WORKLOAD_MAX_FT" et "WORKLOAD_ MAX_JOB" : Valeur entre "-1" et "100000" ou "UNLIMITED". Attention : les valeurs supérieures à 100000 sont interprétées comme "UNLIMITED" ! Pour "SET_TRACE" : options de trace à 16 caractères. Pour "SERVER_MODE" : type de serveur Les valeurs autorisées sont "D" pour la commutation au processus de dialogue et "W" pour la commutation au processus de travail. Veuillez noter qu'un processus de travail ne peut pas être changé en processus de dialogue lorsqu'il effectue un rôle de serveur ! 310 Chapter 3 Organisation fonctionnelle Remarques L'instruction de script :SET_UC_SETTING permet de modifier trois paramètres système. Les modifications sont valables jusqu'à l'attribution d'une nouvelle valeur ou lorsque les processus serveur ou l'Agent sont terminés. L'autorisation "Modification pendant l'exécution" et le privilège "Créer une information de diagnostic" sont nécessaires pour cela. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Si vous modifiez les options de trace des processus de travail (WP), les modifications sont valables pour tous ces processus. Il n'est pas possible de les modifier pour un seul de ces processus. Vous devez modifier les options de trace pour chaque processus de communication (CP), individuellement. Modification des options de trace La mise en œuvre d'options de trace permet de consigner dans un cas exceptionnel, à partir d'un script, le comportement du processus de travail et de l'Agent jusqu'au niveau du système. Pour la trace, il ne faut pas les arrêter. Comme cela peut entraîner d'importants volumes de données, il peut y avoir une perte des performances. La mise en œuvre d'options de trace ne devrait être effectuée qu'en rapport étroit avec le support technique. Pour modifier les options de trace, il faut indiquer le paramètre SET_TRACE. Dans les options de trace, la valeur est une chaîne de 16 caractères. Chaque caractère représente un indicateur de trace spécifique, par exemple le premier caractère d'une trace TCP/IP. L'ordre d'exécution des indicateurs de trace est identique à celui utilisé dans la boîte de dialogue "Propriétés" de la Supervision Système pour le processus serveur et les Agents. Attention : lors du redémarrage d'un seul processus de travail, celui-ci doit utiliser les options de trace définies dans le fichier INI. Toutes les autres options utilisent la valeur définie dans cette instruction de script, qui doit également être redémarrée. Exemples Dans le premier exemple, la quantité maximale de ressources que l'Agent WIN01 met à disposition pour les Jobs et les Transferts de Fichiers est définie sur 1000. Le résultat s'affiche pour vérification dans le protocole d'activation. :SET_UC_SETTING WORKLOAD_MAX, WIN01, 1000 :SET&RET# = GET_UC_SETTING(WORKLOAD_MAX_JOB, WIN01) :PRINT&RET# Dans le deuxième exemple, le nom du système UC4 est déterminé et la trace TCP/IP est activée pour son processus de travail. :SET&TRC# = GET_UC_SYSTEM_NAME() :SET_UC_SETTINGSET_TRACE, &TRC#,"1000000000000000" Dans l'exemple suivant, le processus serveur "UC4#WP003" devient un processus de dialogue, lorsque celui-ci est actif. :IFSYS_SERVER_ALIVE("UC4#WP003") = "Y" : SET_UC_SETTING"SERVER_MODE", "UC4#WP003", "D" :ELSE : SEND_MSG"ADMIN","UC4","Le processus de travail UC4#WP003 n'est pas Automation Engine 311 actif !" :ENDIF Rubriques connexes : Elément de script Description GET_UC_SETTING Lit les paramètres système actuels. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.3 :SHUTDOWN Instruction de script : Quitte un système UC4. Syntaxe :SHUTDOWN UC4 Elément de syntaxe Description/format UC4 Constante devant être indiquée pour quitter le système UC4. Format : Nom UC4, Littéral de script ou Variable de script Remarques Cette instruction de Script permet de terminer tous les processus de travail et de communication du système UC4. Pour des raisons de sécurité, par exemple pour éviter toute confusion avec le JCL, l'instruction de Script doit toujours être utilisée en combinaison avec les constantes UC4. On utilise :TERMINATE pour terminer tous les processus de travail et de communication ou les Agents. Un Utilisateur doit disposer du droit d'interruption pour le processus serveur afin de pouvoir exécuter cette instruction de Script. Exemple Dans l'exemple, on quitte le système UC4 lorsque l'heure actuelle du jour est après 20 heures. :IF SYS_TIME() > "200000" : SHUTDOWN UC4 :ENDIF Rubriques connexes : 312 Chapter 3 Organisation fonctionnelle Elément de script Description :DISCONNECT Déconnexion du système UC4. :TERMINATE Instruction permettant de mettre fin à un Agent, un processus de travail ou de communication Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.4 :TERMINATE Instruction de script : Instruction permettant de mettre fin à un Agent, les Agents d'un groupe d'Agents, un processus de travail ou de communication Syntaxe :TERMINATE [Connexion,] Nom Elément de syntaxe Description/format Connexion Type de connexion. Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "HOST" (Valeur par défaut), "HOSTGROUP" et "SERVER" "HOST" = Agent "HOSTGROUP" = Agents d'un Groupe Agent "SERVER" = processus de travail ou de communication. Nom Nom d'un Agent, d'un Groupe Agent, d'un processus de travail ou de communication. Format: Littéral de script ou Variable de script Remarques L'instruction de script permet d'arrêter des Agents ainsi que des processus de travail et de communication. Le paramètre Connexion ne doit pas être indiqué lorsque la fin d'un Agent doit être exécutée. Il faut cependant définir une virgule pour les paramètres qui ne sont pas utilisés. Vous pouvez également indiquer un Groupe Agent au lieu d'un seul Agent. L'arrêt se fait pour tous les Agents de ce Groupe qui appartiennent à se groupe. Si la connexion à un Agent est brièvement interrompue, il est conseillé d'utiliser le script :DISCONNECT. L'Agent se reconnecte au Serveur dès que le prochain signal pour la vérification de l'Agent est envoyé. :SHUTDOWN vous permet d'arrêter tous les processus de travail et de communication du système UC4. Un Utilisateur doit disposer du droit d'interruption pour le processus serveur ou l'Agent pour exécuter cette instruction de script. Automation Engine 313 Exemples Dans l'exemple, un processus de travail est arrêté. :TERMINATE SERVER,"UC4#WP001" Dans ce cas, l'Agent "WIN21" est arrêté. Le type de connexion est spécifié pour l'entrée. :TERMINATE ,"WIN21" Rubriques connexes : Elément de script Description :DISCONNECT Déconnexion du système UC4. :SHUTDOWN Quitte un système UC4. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.5 CHANGE_LOGGING Fonction script : Changement du fichier log. Syntaxe CHANGE_LOGGING (composants) Elément de syntaxe Description/format Composants Nom des composants dont le fichier de logging doit être changé. Format : Nom UC4 ou Variable de script Vous pouvez indiquer les composants suivants : l l l l Processus de communication Processus de travail Agent Groupe Agent Code retour "0" - Le changement du fichier de logging est réussi. "20223" - Le Groupe Agent saisi n'existe pas. "20722" - Le processus serveur, l'Agent ou le Groupe Agent saisis n'existent pas ou sont inactifs. Remarques Cette fonction de Script permet de forcer un changement de fichier de logging. Avec la Variable UC4 UC_SYSTEM_SETTINGS, l'administrateur UC4 peut définir, sur l'ensemble du système, la durée en jours ou la taille en mégaoctets au-delà de laquelle les fichiers de logging doivent être 314 Chapter 3 Organisation fonctionnelle changés. Il est possible de procéder à un changement temporaire du fichier log dans l'onglet "Propriétés" de la Supervision Système. Ces modifications s'appliquent dans ce cas jusqu'au prochain redémarrage. L'emplacement d'enregistrement des fichiers de logging est défini dans le fichier INI du Serveur ou de l'Agent. Si vous spécifiez un Groupe Agent, le fichier de logging de tous les Agents correspondants est changé. Aucun numéro d'erreur n'est renvoyé en tant que code retour si l'un des Agents n'est pas actif et si son fichier de logging ne peut être changé. Veuillez noter qu'un changement de log d'un processus de travail s'applique automatiquement à tous les processus de travail. Exemple Dans l'exemple, le fichier de logging est changé pour tous les processus de travail. :SET &RET# = CHANGE_LOGGING ("UC4#WP001") Rubriques connexes : Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.6 GET_UC_SERVER_NAME Fonction script : détermination du nom du processus de travail dans lequel le Script est exécuté. Syntaxe GET_UC_SERVER_NAME () Code retour Nom du processus de travail. Exemple Dans l'exemple, le nom du processus de travail (par ex. "UC4#WP001") est déterminé et affiché comme résultat dans le protocole d'activation. : SET &RET# = GET_UC_SERVER_NAME () : PRINT &RET# Rubriques connexes : Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 315 3.11.7 GET_UC_SETTING Fonction script : Lit les paramètres système actuels. Syntaxe GET_UC_SETTING(paramètres,composants, option) Elément de syntaxe Description/format Paramètre Paramètres système devant être lus. Format : Nom UC4, Littéral de script, Variable de script ou Valeurs autorisées : "WORKLOAD_ACTUAL_FT", "WORKLOAD_ ACTUAL_JOB", "WORKLOAD_MAX_FT", "WORKLOAD_MAX_JOB", "SET_TRACE", "SERVER_MODE", "SERVER_OPTIONS", "QUEUE" "WORKLOAD_ACTUAL_FT" = Quantité de ressources actuellement occupées mises à disposition par l'Agent pour les Transferts de Fichiers "WORKLOAD_ACTUAL_JOB" = Quantité de ressources actuellement occupées mises à disposition par l'Agent pour les Jobs "WORKLOAD_MAX_FT" = Quantité maximale de ressources mises à disposition par l'Agent pour les Transferts de Fichiers "WORKLOAD_MAX_JOB" = Quantité maximale de ressources mises à disposition par l'Agent pour les Jobs "SET_TRACE" = Options de trace pour les processus de travail d'un système UC4 "SERVER_MODE" = Type de processus serveur "SERVER_OPTIONS" = Paramètres du serveur "QUEUE" = Paramètre/valeur d'un objet Queue Composants Composants UC4 dont les paramètres système doivent être lus, en fonction du paramètre Paramètre. Format : nom UC4, littéral de script ou Variable de script Pour "WORKLOAD_ACTUAL_FT", "WORKLOAD_ACTUAL_JOB", "WORKLOAD_MAX_FT" et "WORKLOAD_MAX_JOB" : Nom de l'Agent. Pour "SET_TRACE" : nom du système UC4 Pour "SERVER_MODE" : nom du processus serveur. Pour "SERVER_OPTIONS", aucun composant n'est indiqué. Pour "QUEUE" : nom de l'objet Queue. Option Option/statut de l'objet Queue indiqué dont la valeur doit être lue. Format : nom UC4, littéral de script ou Variable de script Ce paramètre doit uniquement être indiqué si la valeur d'un objet Queue doit être lue (Paramètre = QUEUE). Valeurs autorisées : "ACTIVE_COUNT", "CONSIDER_ERT", "MAX_ SLOTS", "PRIORITY", "STATE" "ACTIVE_COUNT" = Nombre de slots de queue occupés "CONSIDER_ERT" = Prise en charge de l'ERT pour les exceptions "MAX_SLOTS" = Slot de queue maximum "PRIORITY" = Priorité actuelle (en cas d'exceptions, la valeur peut diverger de la priorité Standard) "STATE" = Statut queue actuel 316 Chapter 3 Organisation fonctionnelle Codes retour Pour "WORKLOAD_ACTUAL_FT" et"WORKLOAD_ACTUAL_JOB" : Quantité de ressources actuellement occupées mises à disposition par l'Agent pour les Transferts de Fichiers ou les Jobs. "UNKNOWN" - Aucune limitation des ressources pour l'Agent. Pour "WORKLOAD_MAX_FT" et "WORKLOAD_MAX_JOB": Quantité maximale de ressources mises à disposition par l'Agent pour les Transferts de Fichiers ou les Jobs "UNLIMITED" - Les ressources sont illimitées. Pour "SET_TRACE" : Options de trace des processus de travail. "0" - Aucune option de trace n'a été définie. Pour "SERVER_MODE" : "C" - processus de communication (CP) "P" - processus de travail primaire (PWP) "W" - processus de travail (WP) "D" - processus de dialogue (DWP) "N" - processus non-stop (NWP) " " - le processus serveur n'est pas actif. Pour "SERVER_OPTIONS" : chaîne de caractères contenant les options du serveur. Pour "QUEUE" - "ACTIVE_COUNT" : nombre de slots de queue utilisés Pour "QUEUE" - "CONSIDER_ERT" : "1" - L'ERT est pris en compte au démarrage des tâches en rapport avec les exceptions queue "0" - L'ERT n'est pas pris en compte Pour "QUEUE" - "MAX_SLOTS" : nombre maximal de slots de queue "UNLIMITED" - Les slots de queue sont illimités Pour "QUEUE" - "PRIORITY" : Priorité de queue actuelle Pour "QUEUE" - "STATE": "0" = GO "1" = STOP Remarques Les options de trace peuvent être définies dans la catégorie "Serveur" de Supervision Système. 16 domaines (par ex. TCP/IP) sont disponibles dans ce cadre. La fonction de script fournit un nombre à 16 chiffres servant de code retour, chaque numéro correspondant à l'un de ces domaines. L'administrateur UC4 définit les options du serveur dans la variable UC_SYSTEM_SETTINGS d'UC4, à l'aide de la Clef SERVER_OPTIONS. La fonction de script vous indique la chaîne de caractères complète. Utilisez le script MID, SUBSTR ou STR_CUT pour lire une option spéciale du serveur. Le script permet d'ouvrir les Transactions ouvertes dans la base de données UC4. Automation Engine 317 Exemple L'exemple détermine la quantité maximale de ressources que l'Agent WIN01 met à disposition pour des Jobs. Le résultat s'affiche dans le protocole d'activation. :SET &RET# = GET_UC_SETTING(WORKLOAD_MAX_JOB, "WIN01") :PRINT &RET# Le deuxième exemple lit les options de trace des processus de travail du système UC4 nommé "UC4PROD". :SET &RET# = GET_UC_SETTING(SET_TRACE, "UC4PROD") L'exemple suivant détermine le type de processus serveur "UC4#WP003". :SET &RET# = GET_UC_SETTING(SERVER_MODE, "UC4#WP003") Les lignes de script suivantes lisent le troisième paramètre à partir des options du serveur, qui détermine si les enregistrements statistiques doivent être vérifiés en cas de démarrage à froid. :SET &RET# = GET_UC_SETTING(SERVER_OPTIONS) :SET &OPTION# = SUBSTR(&RET#,3,1) L'exemple suivant présente la détermination du statut actuel d'un objet queue et l'affiche dans le protocole d'activation : :SET &RET# = GET_UC_SETTING(QUEUE,QUEUE.JOBS,STATE) :IF &RET# = 0 : PRINT "La queue QUEUE.JOBS est active" :ELSE : PRINT "La queue QUEUE.JOBS est interrompue" :ENDIF Dans l'exemple suivant, le maximum de slots actuel est lu à partir d'un objet Queue et écrit dans le rapport d'activation. :SET &RET# = GET_UC_SETTING(QUEUE,QUEUE.JOBS,MAX_SLOTS) : PRINT "Queue QUEUE.JOBS - Max Slots : &RET#" Rubriques connexes : Elément de script Description :SET_UC_SETTING Modifie les paramètres système au cours de l'exécution. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.8 GET_UC_SYSTEM_NAME Fonction script : Détermine le nom du système UC4. Syntaxe GET_UC_SYSTEM_NAME () 318 Chapter 3 Organisation fonctionnelle Code retour Nom du système UC4 Exemple Dans l'exemple, le nom du système UC4 (par ex. "UC4PROD") est déterminé et affiché comme résultat dans le protocole d'activation. : SET &RET# = GET_UC_SYSTEM_NAME () : PRINT &RET# Rubriques connexes : Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.9 ILM Fonction script : Contrôle la fonctionnalité ILM. Installation [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Syntaxe ILM (INSTALLED) Elément de syntaxe Description/format INSTALLED Demande si la base de données UC4 a été partitionnée avec ILM Remarques La fonction script renvoie les codes retour suivants : "Y" - Le partitionnement a été installé avec ILM "N" - La base de données UC4 n'a pas été partitionnée Exemple :SET &ILM# =ILM(INSTALLED) Statut [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Automation Engine 319 Syntaxe ILM (ACTIVE) Elément de syntaxe Description/format ACTIVE Demande si ILM est actif Remarques La fonction script renvoie les codes retour suivants : "Y" - ILM est actif. Autrement dit, de nouvelles partitions ont été créées et des désactivations ont eu lieu (ne concerne que le Serveur MS SQL Server). "N" - ILM n'est pas actif, aucun changement de partition n'a lieu, ni aucune désactivation (cette dernière ne concerne que le Serveur MS SQL Server). Exemple :SET &ILM# =ILM(ACTIVE) Démarrage et arrêt [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Syntaxe ILM (START) ILM (STOP) Elément de syntaxe Description/format START Active ILM STOP Désactive ILM Remarques Si ILM est actif, de nouvelles partitions sont créées et des désactivations ont lieu (ne concerne que le Serveur MS SQL Server). Si ILM n'est pas actif, aucun changement de partition n'a lieu, ni aucune désactivation (cette dernière ne concerne que le Serveur MS SQL Server). La fonction script renvoie la valeur "0", lorsque le démarrage ou l'arrêt ont été correctement exécutés, ou le numéro de l'erreur qui s'est produite. Exemple ILM est désactivé. 320 Chapter 3 Organisation fonctionnelle :SET &ILM# =ILM(STOP) Désactivation [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Syntaxe ILM (SWITCHOUT [, Vérification]) Elément de syntaxe Description/format SWITCHOUT Déclenche une désactivation pour la partition la plus ancienne. Vérification Paramètre indiquant si une vérification doit être exécutée avant la désactivation Valeurs autorisées : "CHECK" (valeur par défaut) et "NOCHECK" "CHECK" - Le système vérifie avant la désactivation si la partition concernée contient des enregistrements de Tâches encore actives. Si tel est le cas, la désactivation n'est pas exécutée. "NOCHECK" - La désactivation est exécutée sans vérification préalable. Remarques Les désactivations appartiennent au Serveur MS SQL Server. L'exécution de cette fonction n'est donc pas pertinente pour les bases de données Oracle. Attention : la fonction script déclenche une désactivation, mais elle n'y met pas fin ! La fonction script renvoie la valeur "0", lorsque la désactivation a été correctement exécutée, ou le numéro de l'erreur qui s'est produite. Attention : le nombre de partitions en ligne que l'administrateur UC4 définit dans la Variable UC4 UC_ ILM_SETTINGS avec la clé ONLINE_PARTITIONS n'est pas pris en compte ! Exemple : Il existe 4 partitions en ligne. En exécutant plusieurs fois la fonction script, vous pouvez obtenir qu'il ne reste plus que 3, 2 ou 1 partition en ligne. La désactivation ne peut pas être effectuée pour la partition actuelle. Il doit toujours y avoir au moins une partition en ligne. Une désactivation ne peut être effectuée sans entraîner la perte de données que si la partition ne contient aucun enregistrement de Tâches encore actives. Attention : une désactivation forcée malgré des Tâches actives ne doit être effectuée qu'après accord avec le support UC4 ! Exemple Une vérification a lieu avant la désactivation, car la valeur par défaut du second paramètre est "CHECK". Automation Engine 321 :SET &ILM# =ILM(SWITCHOUT) Vérification [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Syntaxe ILM (CHECK, numéro de partition) Elément de syntaxe Description/format CHECK Vérifie si des objets actifs sont disponibles dans la partition indiquée. Numéro de partition Numéro de la partition Format : Littéral de script ou Variable de script Remarques La fonction de script indique "0" si aucun objet actif n'est disponible dans la partition indiquée. Exemple La partition "25" est vérifiée. :SET &ILM# =ILM(CHECK, "25") Suppression d'une partition [Installation] [Statut] [Démarrage et arrêt] [Désactivation] [Contrôle] [Suppression d'une partition] Syntaxe ILM (DROP, Partition [, Contrôle]) Elément de syntaxe Description/format DROP Supprime la partition indiquée Partition Nom ou numéro de la partition Format : littéral de script ou Variable de script Lorsque vous indiquez le nom d'une table de Staging individuelle (MS SQL Server), le processus de suppression n'a pas lieu avec l'Utilisateur de la base de données ILM. Au contraire, l'Utilisateur de la base de données utilisé est celui que vous avez défini dans le fichier INI de l'UC4 Automation Engine dans la section [ODBC]. Ce dernier doit disposer des droits requis ! 322 Chapter 3 Organisation fonctionnelle Vérification Paramètre déterminant si une vérification doit être effectuée avant la suppression (uniquement pour les bases de données Oracle) Valeurs autorisées : "CHECK" (valeur par défaut) et "NOCHECK" "CHECK" - Le système vérifie avant la suppression si la partition concernée contient des enregistrements de Tâches encore actives. Si tel est le cas, le processus de suppression n'est pas exécuté. "NOCHECK" - Le processus de suppression est exécuté sans vérification préalable. Remarque Le paramètre Vérification n'est pas pertinent pour MS SQL Server, car seules des tables de Staging peuvent ici être supprimées. La vérification de ces tables a déjà eu lieu lors de la désactivation. Un dépôt ne peut être effectué sans entraîner la perte de données que si la partition ne contient aucun enregistrement de Tâches encore actives. La fonction script indique "0" si la partition indiquée a pu être supprimée avec succès. Exemple La partition "25" est supprimée. :SET &ILM# =ILM(DROP, "25") Rubriques connexes : Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.10 MODIFY_SYSTEM Fonction script : Exécute des actions ServiceManager ou des modifications de Queue. Informations générales Le script couvre deux Tâches différentes : 1. l'exécution d'actions d'un ServiceManager qui est connecté au système UC4. 2. la modification de valeurs d'objets Queue ou le changement de leur statut (GO/STOP). L'action de la fonction script à exécuter dépend des paramètres indiqués. A ce sujet, voir les descriptions de syntaxe ci-dessous. Veuillez noter que le démarrage de processus Serveur et d'Agents avec le script n'est possible que lorsqu'un ServiceManager correctement configuré et connecté au système UC4 est disponible. Dans ce cadre, tenez compte des paramètres dans l'objet Agent ou. Serveur. Codes retour Automation Engine 323 "0" - L'action définie de la fonction script a été exécutée avec succès. "11901" - L'objet Queue indiqué est introuvable dans le Client. "20836" - Une valeur non valide a été indiquée pour le paramètre MODE. "20837" - Indication d'une valeur non valide pour la priorité ou les Slots max. de l'objet Queue. "11677" - ServiceManager n'a pas pu être appelé : aucun CP démarré. "11678" - Serveur ou Agent non démarré. "11679" - Requête réussie du ServiceManager. "11680" - Aucune connexion n'a pu être établie au ServiceManager ou le processus indiqué est introuvable dans le ServiceManager. "11681" - ServiceManager n'a pas pu être appelé, car le type d'hôte indiqué n'est pas pris en charge. "11682" - ServiceManager n'a pas pu être appelé : l'Agent / le processus Serveur indiqué est introuvable. "11683" - ServiceManager n'a pas pu être appelé, car le serveur n'est pas connecté au ServiceManager indiqué ou que la même requête est déjà exécutée. Queue [ Queue ] [ ServiceManager ] Syntaxe MODIFY_SYSTEM(Action, Queue , Valeur) Elément de syntaxe Description/format Action Détermine quelle modification doit être apportée à des objets Queue. Format : littéral de script ou Variable de script Valeurs autorisées : "MODE", "MAX_SLOTS" ou "PRIORITY" "MODE" = statut de la Queue, démarrage / arrêt de l'exécution de Tâches de Queue "MAX_SLOTS" = nombre maximal de Tâches exécutées en parallèle (Max. Slots) "PRIORITY" = priorité de la Tâche Queue Nom de l'objet Queue à modifier. Format : littéral de script ou Variable de script Valeur Valeur pour le paramètre à modifier / statut (Action). Format : Littéral de script ou Variable de script Valeurs autorisées, en fonction de la modification sélectionnée : "MODE" : "GO" ou "STOP" "MAX_SLOTS" : nombre de "0" à "99999" ou "UNLIMITED" "PRIORITY" : nombre de "0" à "255" 324 Chapter 3 Organisation fonctionnelle Remarques Si le statut des objets Queue (Start/Stop) est modifié à l'aide de l'élément de script (action : MODE), le nouveau statut s'applique jusqu'à la prochaine modification. La modification de la priorité et des slots Queue maximum reste inchangée tant que les valeurs ne sont pas modifiées par une exception ou manuellement par un utilisateur. Si les slots maximum des objets Queue passent à "UNLIMITED", il n'y a pas de limitation pour les Tâches exécutées en parallèle. Exemple Dans l'exemple suivant, le statut de l'objet Queue "QUEUE.JOBS" est défini sur "GO". :SET&RET# = MODIFY_SYSTEM("MODE", "QUEUE.JOBS", "GO") :IF&RET# = "0" : PRINT"Le traitement de l'objet Queue QUEUE.JOBS a été activé avec succès." :ELSE : PRINT"QUEUE.JOBS: Erreur lors de la modification du statut sur GO." :ENDIF ServiceManager [ Queue ] [ ServiceManager ] Syntaxe MODIFY_SYSTEM(Action, Nom[, Mode Serveur]) Elément de syntaxe Description/format Action Détermine l'action qui doit être exécutée pour les Agents, les processus Serveur ou le système UC4. Format : littéral de script ou Variable de script Valeurs autorisées : "STARTUP", "TERMINATE", "CHANGE_MODE", "DISCONNECT" ou "SHUTDOWN" "STARTUP" = Démarrage d'un Agent ou d'un processus Serveur "TERMINATE" = Fermer l'Agent ou le processus Serveur. "SHUTDOWN" = Arrêt de tout le système UC4. "CHANGE_MODE" = Modification du mode d'un processus de travail Serveur (WP). "DISCONNECT" = Coupure et remise en place de la connexion de l'Agent. Nom Nom de l'Agent ou du processus Serveur qui doit être démarré, fermé ou dont le mode doit être modifié. Format : Littéral de script ou Variable de script Automation Engine Mode Serveur 325 Mode sur lequel le WP indiqué doit être modifié. Format : Littéral de script ou Variable de script Ce paramètre ne doit être indiqué que lorsque le mode d'un WP est modifié (action = CHANGE_MODE). Valeurs autorisées : "D": Processus de dialogue "W" : Processus de travail Remarques Le script MODIFY_SYSTEM permet aussi de démarrer ou de fermer des processus Serveur ou des Agents, ou de modifier le mode des processus de travail Serveur. L'action "STARTUP" n'est possible que lorsqu'un ServiceManager est disponible et que l'Agent ou le processus Serveur à démarrer a été correctement configuré. A ce sujet, voir les paramètres dans l'onglet Attributs de l'objet Agent ou Serveur. Pour arrêter le système UC4 avec "SHUTDOWN", la valeur "UC4" doit être utilisée pour le paramètre Name (voir : :SHUTDOWN). Le paramètre Mode Serveur doit être indiqué lorsque le mode d'un processus de travail Serveur doit être modifié (action : "CHANGE_MODE"). L'utilisation du paramètre Mode Serveur n'est pas valide avec les actions "STARTUP", "TERMINATE", "DISCONNECT" et "SHUTDOWN". Exemple Fermeture de l'Agent "WIN01" : :SET&ACT# = MODIFY_SYSTEM("TERMINATE", "WIN01") Rubriques connexes : Elément de script Description :SHUTDOWN Quitte un système UC4. SYS_HOST_ALIVE Vérifie si un hôte particulier est actif. SYS_SERVER_ALIVE Fonction permettant de vérifier si un processus serveur particulier est actif TOGGLE_SYSTEM_ STATUS Arrête ou démarre le traitement automatique de l'intégralité d'un Client. Elément de script - Lecture ou modification d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.11 SYS_BUSY_01 Fonction du Script : indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière minute. 326 Chapter 3 Organisation fonctionnelle Syntaxe SYS_BUSY_01() Code retour Utilisation en pourcentage des processus serveur du système UC4. Remarques Vous pouvez, avec la fonction de Script SYS_INFO déterminer la valeur en pourcentage de la charge de travail d'UC4 Automation Engine. Exemple L'utilisation des processus serveur est demandée. Si elle est supérieure à 80 %, un message est envoyé à un Utilisateur. :IF SYS_BUSY_01() > 80 : SEND_MSG BU,UC4,"La charge de travail du Serveur dépasse 80 %" :ENDIF Rubriques connexes : Elément de script Description SYS_BUSY_10 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant les 10 dernières minutes. SYS_BUSY_60 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière heure. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.12 SYS_BUSY_10 Fonction du Script : indique l'utilisation en pourcentage d'UC4 Automation Engine pendant les 10 dernières minutes. Syntaxe SYS_BUSY_10() Code retour Utilisation en pourcentage des processus serveur du système UC4. Automation Engine 327 Remarques Vous pouvez, avec la fonction de Script SYS_INFO déterminer la valeur en pourcentage de la charge de travail d'UC4 Automation Engine. Exemple L'utilisation des processus serveur est demandée. Si elle est supérieure à 80 %, un message est envoyé à un Utilisateur. :IF SYS_BUSY_10() > 80 : SEND_MSG BU,UC4,"La charge de travail du Serveur dépasse 80 %" :ENDIF Rubriques connexes : Elément de script Description SYS_BUSY_01 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière minute. SYS_BUSY_60 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière heure. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.13 SYS_BUSY_60 Fonction du Script : indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière heure. Syntaxe SYS_BUSY_60() Code retour Utilisation en pourcentage des processus serveur du système UC4. Remarques Vous pouvez, avec la fonction de Script SYS_INFO déterminer la valeur en pourcentage de l'utilisation en pourcentage des processus serveur. 328 Chapter 3 Organisation fonctionnelle Exemple L'utilisation d'UC4 Automation Engine est demandée. Si elle est supérieure à 80 %, un message est envoyé à un Utilisateur. :IF SYS_BUSY_60() > 80 : SEND_MSG BU,UC4,"La charge de travail du Serveur dépasse 80 %" :ENDIF Rubriques connexes : Elément de script Description SYS_BUSY_01 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant la dernière minute. SYS_BUSY_10 Indique l'utilisation en pourcentage d'UC4 Automation Engine pendant les 10 dernières minutes. Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.14 SYS_HOST_ALIVE Fonction script : Vérifie si un hôte particulier est actif. Syntaxe SYS_HOST_ALIVE(Hôte [, connexion]) Elément de syntaxe Description/format Hôte Nom du processus serveur dont l'activité doit être vérifiée. Format : Nom UC4 ou Variable de script Connexion Nom d'un objet Connexion R3 ou DB servant à vérifier la disponibilité du système SAP ou de la base de données. Format : nom UC4 ou Variable de script Entrez dans SAP un objet Connexion que vous avez défini dans l'onglet Agent de l'objet Agent ! Si un objet Connexion BD est indiqué, le paramètre Hôte est optionnel ! Ce paramètre peut uniquement être utilisé si un Agent SAP ou un Agent de base de données est indiqué pour l'Hôte ! Il n'est toutefois pas vérifié si l'Agent de base de données pour la résolution des variables SQL a été démarré. Codes retour Automation Engine 329 Lors de la saisie d'un hôte : "Y" - L'Agent est actif "N" - L'Agent est inactif Lors de l'entrée d'un objet Connexion. "Y" - L'Agent est actif et le système SAP ou la base de données est disponible. "N" - L'Agent est actif. Par contre, aucune connexion possible vers le système SAP ou la base de données. "?" - L'Agent est inactif. Impossible de savoir si le système SAP ou la base de données est disponible. Remarques Agents Système d'exploitation (SE) La fonction de script vérifie si l'Agent indiqué est actif. Le paramètre Connexion ne peut être donné. Agents ERP La valeur "N" est renvoyée pour les Agents ERP PeopleSoft, Oracle Applications et Siebel quand l'Agent est actif, mais Enterprise Business Solution n'est pas disponible. Pour les Agents SAP, vous avez le choix. Entrez simplement le paramètre Host si vous désirez vérifier le statut d'activité de l'Agent. Si vous désirez savoir si le système SAP est disponible, entrez l'objet Connexion SAP correspondant. Attention, l'Agent SAP se connecte seulement si besoin est (HTTP) ou se déconnecte après une inutilisation prolongée des connexions (ABAP). Si aucune connexion vers le système SYP n'existe lors de l'appel de SYS_HOST_ALIVE, une connexion est alors établie pour vérifier si celui-ci est disponible. Faites attention aux remarques importantes suivantes : l l l l Si le système SAP n'est pas disponible, vous devrez probablement vous attendre à un long dépassement de délai. Même si une connexion est déjà établie, une autre doit l'être aussi, car la première est déjà en cours d'utilisation. Cela permet de vérifier que le système SYP réagit vraiment. Cette nouvelle connexion peut éventuellement entraîner des problèmes si : La limite CPIC pour SAP est dépassée Dans ce cas, SYS_HOST_ALIVE renvoie le code retour "N", même si des Jobs sont en cours d'exécution via des connexions établies. La modification d'un objet Connexion est effective dès le redémarrage de l'Agent SAP. Agent de base de données Comme pour SAP, vous avez la possibilité d'indiquer uniquement l'Agent ou en plus un objet Connexion (de type : base de données). La saisie d'un objet Connexion vous permet également de vérifier la disponibilité de la base de données concernée. Exemple L'exemple vérifie que l'Agent Windows "WIN21" est actif. Dans le cas contraire, un message est envoyé à l'administrateur. :IF SYS_HOST_ALIVE("WIN21") = "N" : SEND_MSG"ADMIN","UC4","L'Agent WIN21 est inactif !" :ENDIF Le second exemple cherche à savoir si le système SAP est disponible pour l'Agent SAP01. 330 Chapter 3 Organisation fonctionnelle :SET &STATUS#= SYS_HOST_ALIVE("SAP01", "CONN.R3.ECC.ABAP") Rubriques connexes : Elément de script Description SYS_ACT_HOST Détermine le nom de l'hôte. Elément de script - Statuts et utilisation du système Exemples : Affichages à l'aide du Cockpit Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.15 SYS_INFO Fonction script : lecture des informations sur l'ensemble du système UC4. Version UC4 [Version UC4] [Utilisation] Syntaxe SYS_INFO(composants UC4, VERSION) Elément de syntaxe Description/format Composants UC4 Composants UC4 dont la version doit être déterminée Format : Littéral de script ou Variable de script Valeurs autorisées : "SERVER" et "INITIALDATA" "SERVER" : Serveur UC4 "INITIALDATA" : données initiales de la base de données UC4 VERSION Indique la version UC4 des composants Codes retour Version UC4, y compris le numéro de correctif "20863" : la valeur indiquée pour les composants UC4 n'est pas valide "20864" : le nom du second paramètre n'est pas "VERSION". Remarques La fonction script détermine la version de l'UC4 Automation Engine et des données initiales de la base de données UC4. Le format de la version UC4 comporte 12 caractères. Exemple : 6.00A732-505. Automation Engine Exemples Dans le premier exemple, la version de l'UC4 Automation Engine est lue. :SET &VERSION# = SYS_INFO(SERVER, VERSION) Le second exemple détermine la version des données initiales de la base de données UC4. :SET &VERSION# = SYS_INFO(INITIALDATA, VERSION) Utilisation [Version UC4] [Utilisation] Syntaxe SYS_INFO(MQPWP,BUSY, période) SYS_INFO(file d'attente des messages,COUNT) SYS_INFO(file d'attente des messages,LENGTH, période) Elément de syntaxe Description/format File d'attente des messages File d'attente des messages pour laquelle les informations doivent être déterminées Format : Littéral de script ou Variable de script Valeurs autorisées : "MQPWP", "MQWP" , "MQDWP", "MQOWP" et "MQRWP" "MQPWP" : file d'attente des messages du processus de travail primaire "MQWP" : file d'attente des messages du processus de travail "MQDWP" : file d'attente des messages du processus de dialogue "MQOWP" : file d'attente des messages des sorties "MQRWP" : file d'attente des messages des calculs de ressources BUSY Indique la charge de travail en pourcentage de l'UC4 Automation Engine. COUNT Indique le nombre de messages dans la file d'attente. LENGTH Indique la durée moyenne de traitement de la file d'attente des messages. Période Période utilisée pour le calcul de l'utilisation ou de la durée moyenne de traitement. Format : littéral de script ou Variable de script Valeurs autorisées : "01", "10" et "60" "01" : la dernière minute "10" : les dix dernières minutes "60" : la dernière heure Codes retour 331 332 Chapter 3 Organisation fonctionnelle "20876" : la file d'attente des messages n'existe pas. "20864" : le deuxième paramètre n'est pas valide. "20877" : la période ne correspond pas aux valeurs autorisées. Avec BUSY : charge de travail en pourcentage de l'UC4 Automation Engine Avec COUNT : nombre de messages dans la file d'attente Avec LENGTH : durée moyenne de traitement de la file d'attente des messages Remarques La fonction script détermine les données concernant les files d'attente des messages. La charge de travail en pourcentage de l'UC4 Automation Engine peut être demandée avec le mot-clé BUSY, mais aussi avec les fonctions de script SYS_BUSY_01, SYS_BUSY_10 et SYS_BUSY_60. Exemples Le premier exemple demande la charge de travail de l'UC4 Automation Engine pendant les 10 dernières minutes. Si elle est supérieure à 80 %, un message est envoyé à un Utilisateur. :IF SYS_INFO(MQPWP, BUSY, "10") > 80 : SEND_MSG MEIER,UC4,"La charge de travail de l'UC4 Automation Engine dépasse 80 %" :ENDIF Le deuxième exemple lit le nombre de messages se trouvant dans la file d'attente du processus de dialogue. :SET &NOMBRE# = SYS_INFO(MQDWP, COUNT) Le troisième exemple indique la durée de traitement actuelle de la file d'attente des messages du processus de travail pendant la dernière heure. :SET &DUREE# = SYS_INFO(MQWP, LENGTH, "60") Rubriques connexes : Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.16 SYS_SERVER_ALIVE Fonction script : Fonction permettant de vérifier si un processus serveur particulier est actif Automation Engine 333 Syntaxe SYS_SERVER_ALIVE (processus serveur) Elément de syntaxe Description/format Processus serveur Nom du processus serveur dont l'activité doit être vérifiée. Format : Littéral de script ou Variable de script Codes retour "Y" - Le processus serveur est actif "N" - Le processus serveur est inactif. "20349" - Le processus serveur n'existe pas. Remarques Si le processus serveur indiqué est introuvable, vous pouvez réagir à cette erreur en utilisant :ON_ ERROR et l'analyser à l'aide des fonctions de script pour le traitement des erreurs. Selon le paramétrage, le script reprend ou est interrompu. Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. Exemple L'exemple vérifie que le processus de travail "UC4#WP005" est actif. Dans le cas contraire, un message est envoyé à l'administrateur. :IF SYS_SERVER_ALIVE("UC4#WP005") = "Y" : SEND_MSG "ADMIN","UC4","Le processus de travail UC4#WP005 n'est pas actif !" :ENDIF Rubriques connexes : Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.17 SYS_SNMP_ACTIVE Fonction script : Vérification de l'activation de la connexion SNMP (Simple Network Management Protocol) d'UC4. Syntaxe SYS_SNMP_ACTIVE() 334 Chapter 3 Organisation fonctionnelle Codes retour "Y" - La connexion SNMP est active dans UC4. "N" - La connexion SNMP n'est pas active dans UC4. Exemple L'exemple vérifie si la connexion SNMP est active. Le résultat s'affiche dans le protocole d'activation. :SET &RET# = SYS_SNMP_ACTIVE() :PRINT &RET# Rubriques connexes : Elément de script Description :SEND_SNMP_TRAP Envoie une interruption SNMP. UC4 et SNMP Elément de script - Statuts et utilisation du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.18 SYS_USER_LANGUAGE Fonction script : Indique la langue dans laquelle le Serveur génère les fichiers log. Syntaxe SYS_USER_LANGUAGE() Codes retour "D" = allemand "E" = anglais "F" = français Remarques Vous pouvez définir, dans le fichier INI ucsrv.ini, avec le paramètre language =, la langue dans laquelle les fichiers Log du Serveur sont écrits. Cette fonction de Script détermine les codes de langue qui y sont entrés. Exemple Dans l'exemple, le code de langue écrit dans le protocole d'activation est déterminé par la fonction de Script. :SET &LOGLANG# = SYS_USER_LANGUAGE() :PRINT "La langue du Serveur est &LOGLANG#." Automation Engine 335 Rubriques connexes : Elément de script Description SYS_USER_ALIVE Vérifie si l'Utilisateur est connecté à UC4 par une Interface Utilisateur. SYS_USER_DEP Indique le département de l'Utilisateur qui a démarré la Tâche. SYS_USER_LNAME Indique le nom et le prénom de l'Utilisateur qui a démarré la Tâche. SYS_USER_NAME Indique le nom de l'Utilisateur qui a démarré la Tâche. Scripts - Données Utilisateur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.11.19 TOGGLE_SYSTEM_STATUS Fonction du script : arrête ou démarre le traitement automatique de l'intégralité d'un Client. Syntaxe TOGGLE_SYSTEM_STATUS(Statut) Elément de syntaxe Description/format Statut Modification de statut Format : Nom UC4, Littéral de script ou Variable de script Valeurs autorisées : "STOP" et "GO" "STOP" - Stoppe le traitement automatique d'un Client. "GO" - Démarre le traitement automatique d'un Client. Codes retour "0" - Le statut du Client a été modifié. "9" - Le statut du Client n'a pas été modifié, faute de privilège nécessaire.. Remarques La fonction de script définit le statut du système sur STOP ou sur GO. Le privilège "Modifier le statut du Système (STOP/GO)" est nécessaire pour exécuter la fonction de script ! Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die UC4-Datenbank geschrieben werden. 336 Chapter 3 Organisation fonctionnelle Exemple Dans l'exemple, le traitement automatique est arrêté. Le code retour de la fonction s'affiche dans le rapport. :SET &RET# = TOGGLE_SYSTEM_STATUS(STOP) :PRINT &RET# Rubriques connexes : Elément de script Description TOGGLE_OBJECT_STATUS Arrête ou démarre le traitement automatique des Chaînes de traitements, Groupes, Evènements ou Schedules. Elément de script - Statuts et utilisation du système Modification du statut du système Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12 Date et heure 3.12.1 ADD_DAYS Fonction de Script : Ajoute des joursà une date indiquée. Syntaxe ADD_DAYS(Date, Jours[, Groupe Calendrier, Calendrier]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ".Format : Littéral de script ou Variable de scriptIl est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Jours Nombre de jours qui doivent être calculés. Format : littéral de script, nombre sans guillemets ou Variable de script Groupe Calendrier Nom de l'objet Calendrier à prendre en compte pour le calcul. Format : nom UC4, littéral de Script ou Variable de Script Calendrier Nom du Calendrier à prendre en compte pour le calcul. Format : nom UC4, littéral de script ou Variable de script Code retour Automation Engine 337 Date au format indiqué "0" - Aucun jour n'a été attribué au Calendrier ou bien la date calculée est en dehors du Groupe Calendrier. "20327" - L'objet Calendrier n'existe pas. "20328" - le Calendrier n'existe pas dans l'objet Calendrier. Remarques La fonction de Script vous permet d'ajouter des jours à une date indiquée. Vous pouvez également exécuter les opérations de calcul indépendamment d'un Groupe Calendrier ou d'un Calendrier. On tient alors compte uniquement des jours définis dans le Calendrier. Si on indique un format de date spécifique, la date renvoyée correspond à ce format. Si aucun format de date spécifique n'est indiqué, la date doit être indiquée aux formats "AAMMJJ" ou "AAAAMMJJ". Elle est renvoyée au même format. Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Nous tenons en particulier à préciser qu'il est possible de définir un nombre de jours égal à zéro. Lorsque la date indiquée tombe dans le Calendrier, la date elle-même est renvoyée, sinon c'est la date valide suivante dans le Calendrier. Pour le calcul de la date, on tient compte de l'intervalle du Groupe Calendrier indiqué. Ce dernier dépend du paramètre configuré par l'administrateur UC4 dans la Variable UC4 UC_CLIENT_SETTINGS et dans les Clefs NOW_MINUS et NOW_PLUS. Si la date calculée tombe en dehors du Groupe Calendrier, la fonction de Script renvoie la valeur "0". Exemples Le premier exemple ajoute deux jours à une date indiquée. Le résultat ("000401") est affiché dans le protocole d'activation. :SET &DATE# = ADD_DAYS("000330", 2) :PRINT &DATE# Le deuxième exemple transmet la date par une Variable de Script. Comme aucun format de date n'est indiqué, chaque date utilise le format par défaut "AAMMJJ". Le résultat ("000401") est également affiché dans le protocole d'activation. :SET &DATE1# = "000330" :SET &DATE2# = ADD_DAYS(&DATE1#, 2) :PRINT &DATE2# Le troisième exemple détermine le prochain jour ouvré valide. On utilise ainsi les définitions de l'agenda de l'entreprise. Comme la date du jour actuelle n'est pas demandée au format par défaut, le format de date spécial doit également être indiqué pour la Variable de Script. :SET &DATEACT# = SYS_DATE("JJ.MM.AA") :SET &PROCHJOUROUVRE# = ADD_DAYS("JJ.MM.AA:&DATEACT#", 1, ENTREPRISE, JOUR OUVRE) Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période 338 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.2 ADD_PERIOD Fonction du Script : ajoute une période à une date donnée. Syntaxe ADD_PERIOD(date, format de la période:période[, format de sortie]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Format:Période Format : Littéral de script ou Variable de script Période : Saisie d'une période à ajouter à la date donnée. Format : Format prédéfini pour la Période. Deux points (:) ou un point-virgule (;) sont autorisés comme séparateur entre le format de la période et la période. Format de sortie Format prédéfini de la date déterminée. Format : Nom UC4, littéral de Script ou Variable de Script Valeur par défaut: "AAMMJJ" Code retour Date au format indiqué. Remarques La fonction de Script ajoute une année, un mois, un trimestre ou une semaine à la date indiquée. La fonction de Script reçoit une date. Une indication explicite du format de date est alors facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. La période est ajoutée à la date indiquée. Période est un chiffre. Si le résultat est une date devant être postérieure au 31.12.9999, cela génère une erreur. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une date au format "AAMMJJ" par défaut. Automation Engine 339 Exemples Le premier exemple ajoute 2 semaines au 6.3.2000. Le résultat (20.03.2000) est écrit dans le rapport. :SET &DATE#=ADD_PERIOD ("JJ.MM.AA:06.03.00","WW;2","JJ.MM.AAAA") :PRINT &DATE# Le deuxième exemple ajoute un trimestre au 31.1.2000. Le résultat (30.04.2000) est écrit dans le rapport. :SET &DATE#=ADD_PERIOD ("000131","Q:1","JJ-MM-AAAA") :PRINT &DATE# Dans le troisième exemple, une année est ajoutée au 29.2.2000. 28.02.2001 s'affiche dans le rapport, car l'année 2001 n'est pas une année bissextile. :SET &DATE#=ADD_PERIOD ("20000229","AA:0001",JJ.MM.AAAA) :PRINT &DATE# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.3 ADD_TIME Fonction du Script : ajoute deux heures. Syntaxe ADD_TIME(heure1,heure2 [,format de sortie]) Elément de syntaxe Description/format heure1 et heure2 Entrée d'une heure au format "HHMMSS". Format : Littéral de script ou Variable de script Il est possible d'indiquer l'heure dans un autre Format d'heure. Saisissez ainsi en premier le format d'heure souhaité suivi d'un séparateur (;) puis l'heure. L'indication du format d'heure est facultative. Format de sortie Code retour Heure au format indiqué Format prédéfini pour l'heure indiquée. Format : Nom UC4, littéral de Script ou Variable de Script Par défaut : "HHMMSS" 340 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script vous permet d'ajouter deux heures. Elle prend en compte le passage de 23:59:59 à 00:00:00. La fonction de Script reçoit 2 heures. L'indication d'un format d'heure spécifique est alors facultative. Si aucun format d'heure n'est utilisé, l'heure doit être indiquée au format standard "HHMMSS". Seul le pointvirgule peut être utilisé comme séparateur entre le format d'heure et l'heure. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une heure au format "HHMMSS" par défaut. Exemples Le premier exemple n'utilise pas de format d'heure. Le résultat ("130000") s'affiche dans le protocole d'activation. :SET &TIME# = ADD_TIME("120000","010000") :PRINT &TIME# Le deuxième exemple utilise un format d'heure et un format de sortie. Le résultat est "04:59:00". :SET &TIME# = ADD_TIME("235959", "HH;05", "HH:MM") :PRINT &TIME# Dans le troisième exemple, 71 secondes sont ajoutées à 23:59:59. Un format d'heure est utilisé, mais il n'y a pas de format de sortie. Le résultat ("000110") correspond au format standard. :SET &TIME# = ADD_TIME("HH:MM:SS;23:59:59", "SS;71") :PRINT &TIME# Semblable au troisième exemple. Mais le format de sortie est composé d'un paramètre spécial. Le résultat ("70") s'affiche en secondes dans le protocole d'activation. :SET &TIME# = ADD_TIME("HHMMSS;235959", "SS;71", SS) :PRINT &TIME# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.4 ADD_TIMESTAMP Fonction script : Additionne une durée à partir d'un horodatage. Syntaxe ADD_TIMESTAMP(Horodatage, Heure) Elément de syntaxe Description/format Automation Engine 341 Marque horaire Marque horaire à partir de la date et de l'heure ("AAAA-MM-JJ HH:MM:SS"). Format : Littéral de script ou Variable de script Heure Heure ("HH:MM:SS") devant être soustraite à l'horodatage. Format : Littéral de script ou Variable de script Valeurs autorisées : 0 à 99 (pour les HH, MM et SS) Code retour Horodatage au format "AAAA-MM-JJ HH:MM:SS" Remarques La fonction de Script additionne une heure au format "HH:MM:SS" à un horodatage donné au format "AAAA-MM-JJ HH:MM:SS". Il est pour cela calculé selon l'UTC : les heures d'été et d'hiver ne sont pas prises en compte. Etant donné que les heures, les minutes et les secondes ne peuvent pas dépasser la valeur maximale 99, le résultat de la fonction de Script peut être légèrement supérieur à 4 jours après l'horodatage d'origine. Exemple L'exemple ajoute 24 heures et une seconde à l'horodatage. Le résultat "01.01.2004 00:00:01" est affiché dans le protocole d'activation. :SET &RET# = ADD_TIMESTAMP("2003-12-31 00:00:00","24:00:01") :PRINT &RET# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.5 CALE_LOOK_AHEAD Fonction script : Détermine la date suivante en fonction des conditions de calendrier. Syntaxe CALE_LOOK_AHEAD([Date], JOBP\JSCH, numéro de Tâche) CALE_LOOK_AHEAD([Date], condition, groupe calendrier, calendrier [ [,groupe calendrier][,calendrier] ]...) Elément de syntaxe Description/format 342 Chapter 3 Organisation fonctionnelle Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. JOBP\JSCH Nom d'un Workflow ou d'un Schedule. Format : Littéral de script ou Variable de script Numéro de Tâche Numéro de la Tâche au sein de la Chaîne de traitements ou du Schedule. Format : Littéral de script ou Variable de script Condition Condition qui doit être réunie pour la détermination de la date. Format: Littéral de script ou Variable de script Valeurs autorisées : "ONE", "ALL", "NO" "ONE" - Une des conditions de Calendrier doit être réunie. "ALL" - Toutes les conditions de Calendrier doivent être réunies. "NO" - Aucune condition de Calendrier ne doit être réunie. Si aucune des conditions de Calendrier n'est remplie pour une Tâche, un espace est alors renvoyé. Dans ce cas, CALE_LOOK_AHEAD_MAX s'affiche dans le Moniteur de Schedule. Groupe Calendrier Nom d'un Calendrier. Format: Littéral de script ou Variable de script Calendrier Calendrier à l'intérieur de ce Groupe Calendrier Format: Littéral de script ou Variable de script Codes retour Date au format indiqué. " " - Cela ne remplit aucune condition du Calendrier. Remarques Vous pouvez utiliser la fonction script de deux façons différentes: En entrant un Workflow ou un Schedule, il est d'abord possible de déterminer la date suivante d'un objet correspondant, pour lequel il va être exécuté en raison des conditions de Calendrier définies. L'objet est défini par le numéro de la Tâche. Celui-ci s'affiche dans la vue graphique pour le Workflow et dépend à présent de l'ordre dans lequel les objets sont ajoutés dans le Workflow. Pour Schedule, la numérotation des objets correspond à l'ordre dans la liste de l'onglet "Schedule". La fonction script prend, entre autres, en charge le calcul de la date suivante lorsque qu'une, toutes ou aucune des conditions de Calendrier sont réunies. 5 paramètres maximum peuvent être indiqués avec votre Calendrier. L'administrateur UC4 peut définir pour chaque Client le nombre maximal de jours pris en compte lors de la détermination de la date valide suivante dans la Variable UC4 UC _CLIENT_SETTINGS avec la clef "CALE_LOOK_AHEAD_MAX". Il est possible d'indiquer une date à partir de laquelle les conditions de Calendriers doivent être vérifiées. L'indication du format de date est facultative. Si aucun format de date n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme Automation Engine 343 séparateur entre le format de date et la date. Si vous n'entrez pas de date, la date du jour sera utilisée pour le calcul. La date déterminée par la fonction de script est à présent soit au format standard soit au format que vous définissez dans le premier paramètre. Attention: les paramètres Groupe Calendrier et Calendrier doivent toujours être indiqués ensemble (voir exemple). Exemples Dans l'exemple suivant, la date suivante, à laquelle doit commencé l'objet avec le numéro de Tâche "3" dans le Workflow GS.JOUR, doit être déterminée. :SET &DATE# = CALE_LOOK_AHEAD("AAAAMMJJ:20041010","MAWI.TAG","3") Le deuxième exemple définit la date suivante, au cours de laquelle sont réunies toutes les conditions de Calendriers transmises. :SET &DATE# = CALE_LOOK_AHEAD(,"ALL","AGENDA_ENTREPRISE","JOURS_ OUVRES","AGENDA_ENTREPRISE","DISPOSITION01") Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.6 CONV_DATE Fonction script : Convertit le format d'une date. Syntaxe CONV_DATE(Date[, Nouveau format de date]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Nouveau format de date Nouveau format prédéfini pour la date indiquée. Format : Littéral de script ou Variable de script Code retour Date au nouveau format 344 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script convertit le format de date de la Date vers le nouveau format de date. L'entrée de l'ancien format de date et du nouveau format de date est facultative. Ils servent à indiquer le format dans lequel la fonction doit obtenir la date et renvoyer sa valeur. Si le l'ancien format de date n'est pas utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Si vous n'avez pas indiqué de nouveau format de date, le format par défaut "AAMMJJ" est renvoyé. Deux points ou un point-virgule sont autorisés comme séparateur entre l'ancien format de date et la date. Exemples Voici des exemples de conversion de date d'un format à l'autre. Le code renvoyé par la fonction de Script est transmis à une Variable de Script. L' ancien format de date ou le nouveau format de date est alors ignoré. Les codes retour sont "31.12.1999", "31-12-1999" et "991231". :SET &JOURREF# = CONV_DATE("JJMMAA:311299", "JJ.MM.AAAA") :SET &JOURREF# = CONV_DATE("991231", "JJ-MM-AAAA") :SET &JOURREF# = CONV_DATE("JJMMAA:311299") Rubriques connexes : Elément de script Description CONV_TIMESTAMP Convertit la date et l'heure pour un autre Fuseau horaire. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.7 CONV_TIMESTAMP Fonction script : Convertit la date et l'heure pour un autre Fuseau horaire. Syntaxe CONV_TIMESTAMP(Horodatage,[Fuseauhoraire1][,Fuseauhoraire2]) Elément de syntaxe Description/format Marque horaire Marque horaire à partir de la date et de l'heure ("AAAA-MM-JJ HH:MM:SS"). Format : Littéral de script ou Variable de script Fuseau horaire1 Nom d'un objet Fuseau horaire ou mot clé UTC. Fuseau horaire ou UTC attribué à l'horodatage. Format : littéral de script ou Variable de script Valeur par défaut : "UTC" Automation Engine Fuseau horaire2 345 Nom d'un objet Fuseau horaire. Fuseau horaire pour lequel la marque horaire doit être convertie. Format : Littéral de script ou Variable de script Code retour Horodatage au format "AAAA-MM-JJ HH:MM:SS". Remarques La fonction de Script convertit la date et l'heure au format "AAAA-MM-JJ HH:MM:SS" pour un autre fuseau horaire. Pour cela, le fuseau horaire précédent, à partir duquel commence le calcul, peut être indiqué par fuseau horaire1. Si le mot clé UTC est utilisé ou que ce paramètre est omis, l'UTC (Universal Time Coordinated) sert de base de calcul. Le fuseau horaire, pour lequel l'horodatage doit être converti, est désigné par fuseau horaire2. Si ce paramètre facultatif n'est pas indiqué, le fuseau horaire de l'objet ou du Client est utilisé lorsqu'aucun fuseau horaire n'a été défini pour l'objet lui-même. Si l'UTC ne sert pas de base de calcul, la conversion de l'heure pour le passage de l'heure d'été à l'heure normale est imprécise. Elle est indétectable si la première ou la deuxième apparition de cette heure est 02:30:00, par exemple. UC4 part toujours de la première apparition de l'heure pendant le passage à l'heure normale. Exemple L'exemple illustre la conversion de l'horodatage pour le changement d'année 2003/2004. Le calcul illustre la conversion de l'heure australienne de Sydney à l'heure européenne. Le résultat "31.12.03 14:00:00" est affiché dans le protocole d'activation. :SET &MEZ# = CONV_TIMESTAMP("2004-01-01 00:00:00","TZ.SYD","TZ.MEZ") :PRINT &MEZ# Rubriques connexes : Elément de script Description CONV_DATE Convertit le format d'une date. Scripts - Date et heure Heure Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.8 DAY_OF_YEAR Fonction script : Indique le jour actuel de l'année 346 Chapter 3 Organisation fonctionnelle Syntaxe DAY_OF_YEAR(Date) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Code retour Jour actuel d'une date de l'année. Remarques L'indication d'un format de date est facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemple L'exemple indique la valeur "366" en tant que jour actuel dans l'année. :SET &JOURACT# = DAY_OF_YEAR("JJ.MM.AA:31.12.00") Rubriques connexes : Elément de script Description SYS_TIME_PHYSICAL Définit l'heure du jour actuelle. SYS_DATE_PHYSICAL Détermine la date du jour actuelle. SYS_TIMESTAMP_PHYSICAL Indique la date et l'heure actuelles. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.9 DIFF_DATE Fonction du Script : détermine la différence (en jours) entre deux dates. Syntaxe DIFF_DATE(date1,date2) Automation Engine Elément de syntaxe Description/format date1 et date2 Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". 347 Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Code retour Nombre de jours entre les deux dates. Remarques La fonction de Script détermine la différence (en jours) entre la date1 et la date2. En l'occurrence, la date2 peut être antérieure ou postérieure à la date1. Pour les indications de dates, le format de date est facultatif. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemples Le premier exemple détermine la différence entre les dates. Ces dernières utilisent les formats par défaut "AAMMJJ" et "AAAAMMJJ". Le résultat "1" est affiché dans le rapport. :SET &DIFF# = DIFF_DATE("000330","20000331") :PRINT &DIFF# Le deuxième exemple montre l'attribution des dates données aux Variables de Script. La fonction de Script est appelée avec les Variables. Comme les dates n'utilisent pas de format par défaut, le format de date spécial doit également être indiqué pour les Variables de Script. Le résultat "366" est affiché dans le rapport. :SET &DATE1# = "01-01-2000" :SET &DATE2# = "01012001" :SET &DIFF# = DIFF_DATE("DD-MM-YYYY:&DATE1#","JJMMAAAA;&DATE2#") :PRINT &DIFF# Le troisième exemple a le même résultat que le deuxième. Mais ici, les Variables reçoivent le format de date et la date. :SET &DATE1# = "JJ-MM-AAAA:01-01-2000" :SET &DATE2# = "JJMMAAAA:01012001" :SET &DIFF# = DIFF_DATE(&DATE1#, &DATE2#) :PRINT &DIFF# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 348 Chapter 3 Organisation fonctionnelle 3.12.10 DIFF_TIME Fonction du Script : détermine la différence entre deux heures. DIFF_TIME(heure1,heure2 [,format de sortie]) Elément de syntaxe Description/format heure1 et heure2 Entrée d'une heure au format "HHMMSS". Format : Littéral de script ou Variable de script Il est possible d'indiquer l'heure dans un autre Format d'heure. Saisissez ainsi en premier le format d'heure souhaité suivi d'un séparateur (;) puis l'heure. L'indication du format d'heure est facultative. Format de sortie Format prédéfini pour l'heure indiquée. Format : Nom UC4, littéral de Script ou Variable de Script Par défaut : "HHMMSS" Code retour Heure au format indiqué Remarques La fonction de Script détermine la différence entre l'heure1 et l'heure2. L'écart calculé est l'écart entre l'heure d'avant et l'heure d'après. Le fait que l'heure d'après soit saisie dans heure1 ou heure2 n'a pas d'importance. La fonction de Script reçoit 2 heures. L'indication d'un format d'heure est alors facultative. Si aucun format de l'heure spécifique n'est utilisé, l'heure doit être indiquée au format standard "HHMMSS". Seul le pointvirgule peut être utilisé comme séparateur entre le format d'heure et l'heure. Si des paramètres spéciaux sont utilisés pour format heure, le calcul est réalisé avec le nombre d'heures, de minutes ou de secondes indiqué. Les informations manquantes sont systématiquement remplacées par "00". Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une heure au format "HHMMSS" par défaut. Exemples Le premier exemple détermine la différence entre les heures. Ces dernières utilisent le format par défaut "HHMMSS". Le résultat "003000" est affiché dans le rapport. :SET &DIFF# = DIFF_TIME("230000", "223000") :PRINT &DIFF# Dans cet exemple, un paramètre spécial est utilisé pour la deuxième heure. Ainsi, les heures et secondes correspondantes sont automatiquement "00". Un format de sortie est prédéfini. Le résultat "00:09" apparaît dans le rapport. :SET &DIFF# = DIFF_TIME("HH:MM:SS;00:01:30", "MM;11", "HH:MM") :PRINT &DIFF# Le deuxième exemple montre l'attribution des heures données aux Variables de Script. La fonction de Script est appelée avec les Variables. Comme les heures n'utilisent pas de format par défaut, le format Automation Engine 349 d'heure spécial doit également être indiqué pour les Variables de Script. Le résultat "120000" est affiché dans le rapport. :SET &HEURE1# = "00:00:00" :SET &HEURE2# = "12:00:00" :SET &DIFF# = DIFF_TIME("HH:MM:SS;&HEURE1#","HH:MM:SS;&HEURE2#") :PRINT &DIFF# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.11 FIRST_OF_PERIOD Fonction du Script : détermine le premier jour de la période pour une date donnée. Syntaxe FIRST_OF_PERIOD(date, format de la période[, format de sortie[, groupe calendrier, calendrier]]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Format de période Indication d'un format de période valide. Format : Littéral de script ou Variable de script Format de sortie Format prédéfini de la date déterminée. Format : littéral de script ou Variable de script Valeur par défaut : AAMMJJ, Groupe Calendrier Nom du Groupe Calendrier devant être pris en considération pour le début de la période. Format : nom UC4, littéral de Script ou Variable de Script Calendrier Nom du Calendrier devant être pris en considération pour le début de la période. Format : nom UC4, littéral de script ou Variable de script Codes retour Date du début de la période au format indiqué. "20327" - L'objet Groupe Calendrier n'existe pas. "20328" - Le Calendrier n'existe pas dans l'objet Groupe Calendrier. "20456" - La date de début de la période ne figure pas dans le Calendrier. 350 Chapter 3 Organisation fonctionnelle Remarques La fonction du Script détermine le premier jour de la période pour la date indiquée. La fonction de Script reçoit une date. L'indication du format de date est facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Le type de période (année, trimestre, mois ou année) est défini par le format de période. Le format de période spécial "WS" s'applique à cette fonction de Script. Ainsi, le premier jour d'une semaine commence toujours par le dimanche. "WW" au contraire indique automatiquement le lundi comme premier jour de la semaine. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une date au format "AAMMJJ" par défaut. Attention, si vous saisissez des Groupes Calendriers et des Calendriers, pensez à les séparer par des virgules si aucun Format de sortie n'est utilisé. Si vous utilisez des Groupes Calendriers et des Calendriers, la fonction de Script renverra le premier jour correspondant de la période. Si aucun jour n'est valide pour cette période, le résultat est une date nulle au format de date courant (par ex. 0000-00-00). L'instruction de script :ON_ERROR permet de définir la réaction à cette erreur. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Exemples Le premier exemple détermine le premier jour de la semaine pour le 29.03.2000. Le résultat 27.03.00 (lundi) est affiché dans le rapport. :SET &DATE# = FIRST_OF_PERIOD ("000329","WW","JJ.MM.AA") :PRINT &DATE# Lorsque le format de période spécial "WS" est utilisé, 26.03.00 (dimanche) apparaît comme résultat dans le protocole d'activation. :SET &DATE# = FIRST_OF_PERIOD ("JJ.MM.AA:29.03.00","WS","JJ.MM.AA") :PRINT &DATE# Dans le troisième exemple, le premier jour pertinent d'un trimestre est déterminé. Pour ce faire, aucun format de sortie n'est spécifié. :SET &DATE# = FIRST_OF_PERIOD ("000329", "Q", , DISPONIBILITE, JOUR SEMAINE) :PRINT &DATE# Rubriques connexes : Elément de script Description LAST_OF_ PERIOD Détermine le dernier jour de la période pour une date donnée. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Scripts - Date et heure Formats de date, d'heure et de période Automation Engine 351 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.12 LAST_OF_PERIOD Fonction du Script : détermine le dernier jour de la période pour une date donnée. Syntaxe LAST_OF_PERIOD(date, format de la période[, format de sortie[, groupe calendrier, calendrier]]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Format de période Indication d'un format de période valide. Format : Littéral de script ou Variable de script Format de sortie Format prédéfini de la date déterminée. Format : littéral de script ou Variable de script Valeur par défaut : AAMMJJ, Groupe Calendrier Nom du Groupe Calendrier devant être pris en considération pour la fin de la période. Format : nom UC4, littéral de Script ou Variable de Script Calendrier Nom du Calendrier devant être pris en considération pour la fin de la période. Format : UC4-Name, Script-Literal oder Script-Variable Codes retour Date de la fin de la période au format indiqué. "20327" - L'objet Groupe Calendrier n'existe pas. "20328" - Le Calendrier n'existe pas dans l'objet Groupe Calendrier. "20456" - La date de la fin de la période ne figure pas dans le Calendrier. Remarques La fonction du Script détermine le dernier jour de la période pour la date indiquée. Le code retour est une date. La fonction de Script reçoit une date. L'indication d'un format de date est alors facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Le type de période (année, trimestre, mois ou semaine) est défini par le format de période. Remarque : Le format de période spécial "WS" s'applique à cette fonction de Script. Ainsi, le dernier jour 352 Chapter 3 Organisation fonctionnelle d'une semaine commence toujours par le samedi. "WW" au contraire indique automatiquement le dimanche comme dernier jour de la semaine. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une date au format "AAMMJJ" par défaut. Attention : Attention, si vous saisissez des Groupes Calendriers et des Calendriers, pensez à les séparer par des virgules si aucun Format de sortie n'est utilisé. Si vous utilisez des Groupes Calendriers et des Calendriers, la fonction de Script renverra le premier jour correspondant de la période. Si aucun jour n'est valide pour cette période, le résultat est une date nulle au format de date courant (par ex. 0000-00-00). L'instruction de script :ON_ERROR permet de définir la réaction à cette erreur. Comme indiqué auparavant, vous pouvez l'analyser avec les fonctions de script pour le traitement des erreurs. Le traitement du script se poursuit. Toutefois, vous avez également la possibilité de l'interrompre. Exemples Le premier exemple détermine le dernier jour de la semaine pour le 29.03.2000. Le résultat 02/04/2000 (dimanche) est affiché dans le rapport, d'activation. :SET &DATE# = LAST_OF_PERIOD ("000329","WW","JJ.MM.AA") :PRINT &DATE# Lorsque le format de période spécial "WS" est utilisé, 01.04.00 (samedi) apparaît comme résultat dans le protocole d'activation. :SET &DATE# = LAST_OF_PERIOD ("JJ.MM.AA:29.03.00","WS","JJ.MM.AA") :PRINT &DATE# Dans le troisième exemple, le dernier jour pertinent d'un trimestre est déterminé. Pour ce faire, aucun format de sortie n'est spécifié. :SET &DATE# = LAST_OF_PERIOD ("000329", "Q", , DISPONIBILITE, JOUR SEMAINE) :PRINT &DATE# Rubriques connexes : Elément de script Description FIRST_OF_ PERIOD Détermine le premier jour de la période pour une date donnée. :ON_ERROR Détermine les réactions associées à certaines erreurs ou certains messages de script. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.13 SUB_DAYS Fonction de Script : Soustrait des joursà unedateindiquée. Automation Engine 353 Syntaxe SUB_DAYS(Date, Jours[, Groupe Calendrier, Calendrier]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Jours Nombre de jours qui doivent être calculés. Format : littéral de script, nombre sans guillemets ou Variable de script Groupe Calendrier Nom du Groupe Calendrier à prendre en compte pour le calcul. Format : nom UC4, littéral de Script ou Variable de Script Calendrier Nom du Calendrier à prendre en compte pour le calcul. Format : nom UC4, littéral de script ou Variable de script Code retour Date au format indiqué "0" - Aucun jour n'a été attribué au Calendrier ou bien la date calculée est en dehors du Groupe Calendrier. "20327" - L'objet Calendrier n'existe pas. "20328" - le Calendrier n'existe pas dans l'objet Calendrier. Remarques La fonction de Script vous permet de soustraire des jours d'une date indiquée. Vous pouvez également exécuter les opérations de calcul indépendamment d'un Groupe Calendrier ou d'un Calendrier. On tient alors compte uniquement des jours qui, par définition, sont valables dans le Groupe Calendrier. Si on indique un format de date spécifique, la date renvoyée correspond à ce format. Si le format de date n'est pas utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Elle est renvoyée au même format. Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Nous tenons en particulier à préciser qu'il est possible de définir un nombre de jours égal à zéro. Lorsque la date indiquée tombe dans le Calendrier, la date elle-même est renvoyée, sinon c'est la date valide précédente dans le Calendrier. Pour le calcul de la date, on tient compte de l'intervalle du Groupe Calendrier indiqué. Ce dernier dépend du paramètre configuré par l'administrateur UC4 dans la Variable UC4 UC_CLIENT_SETTINGS et dans les Clefs NOW_MINUS et NOW_PLUS. Si la date calculée tombe en dehors du Groupe Calendrier, la fonction de Script renvoie la valeur "0". Exemples Le premier exemple soustrait deux jours d'une date indiquée. Le résultat ("000330") est affiché dans le protocole d'activation. 354 Chapter 3 Organisation fonctionnelle :SET &DATE# = SUB_DAYS("000401", 2) :PRINT &DATE# Dans le deuxième exemple, une instruction de Script demande à l'Utilisateur le nombre de jours à libérer. Cette fonction permet de soustraire ce chiffre de la date du jour actuelle et de le saisir dans une Variable de Script. Comme aucun format de date n'est indiqué, chaque date utilise le format par défaut "AAMMJJ". :SET &DATEACT# = SYS_DATE() :READ &NOMBRE#,"00","Combien de jours à libérer?","08",N :SET &DATERET# = SUB_DAYS(&DATEACT#, &NOMBRE#) Le troisième exemple détermine la date actuelle. Deux jours en sont ensuite retirés. Comme la date du jour actuelle n'est pas demandée au format par défaut, le format de date spécial doit également être indiqué pour la Variable de Script. :SET &DATEACT# = SYS_DATE("JJ.MM.AA") :SET &JOURVAR# = SUB_DAYS("JJ.MM.AA:&DATEACT#", 2) Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.14 SUB_PERIOD Fonction script : Soustrait une période d'une date donnée Syntaxe SUB_PERIOD(date, format de la période:période[, format de sortie]) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Format:Période Format : Littéral de script ou Variable de script Période : Saisie d'une période à ajouter à la date donnée. Format : Format prédéfini pour la Période. Deux points (:) ou un point-virgule (;) sont autorisés comme séparateur entre le format de la période et la période. Format de sortie Code retour Format prédéfini de la date déterminée. Format : Nom UC4, littéral de Script ou Variable de Script Valeur par défaut: "AAMMJJ" Automation Engine 355 Date au format indiqué. Remarques La fonction de Script retire une année, un mois, un trimestre ou une semaine de la date indiquée. La fonction de Script reçoit une date. L'indication d'un format de date est alors facultative. Si aucun format de date n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. La période est soustraite de la date indiquée. Période est un chiffre. Si le résultat est une date devant être antérieure à l'année 0000, cela génère une erreur. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une date au format "AAMMJJ" par défaut. Exemples Le premier exemple soustrait 2 semaines au 05/07/2000. Le résultat (21/06/2000) est écrit dans le rapport. :SET &DATE#=SUB_PERIOD ("JJ.MM.AA:05.07.00","WW;2","JJ.MM.AAAA") :PRINT &DATE# Le deuxième exemple soustrait un trimestre au 31/07/2000. Le résultat (30.04.2000) est écrit dans le rapport. :SET &DATE#=SUB_PERIOD ("000731","Q:1","JJ-MM-AAAA") :PRINT &DATE# Dans le troisième exemple, une année est soustraite du 28.02.2001. Le résultat 28.02.2000 est affiché dans le rapport. :SET &DATE#=SUB_PERIOD ("20010228","AA:0001",JJ.MM.AAAA) :PRINT &DATE# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.15 SUB_TIME Fonction script : Soustraction d'une heure à une autre Syntaxe SUB_TIME(heure1,heure2 [,format de sortie]) Elément de syntaxe Description/format 356 Chapter 3 Organisation fonctionnelle heure1 et heure2 Entrée d'une heure au format "HHMMSS". Format : Littéral de script ou Variable de script Il est possible d'indiquer l'heure dans un autre Format d'heure. Saisissez ainsi en premier le format d'heure souhaité suivi d'un séparateur (;) puis l'heure. L'indication du format d'heure est facultative. Format de sortie Format prédéfini pour l'heure indiquée. Format : Nom UC4, littéral de Script ou Variable de Script Par défaut : "HHMMSS" Code retour Heure au format indiqué Remarques La fonction de Script vous permet de soustraire deux heures. Dabei wird der Wechsel von 00:00:00 auf 23:59:59 berücksichtigt. La fonction de Script reçoit 2 heures. L'indication d'un format de date est alors facultative. Si aucun format de l'heure spécifique n'est utilisé, l'heure doit être indiquée au format standard "HHMMSS". Seul le pointvirgule peut être utilisé comme séparateur entre le format d'heure et l'heure. Le format de sortie est facultatif. Si aucun format de sortie n'est utilisé, la fonction de Script renvoie une heure au format "HHMMSS" par défaut. Exemples Le premier exemple n'utilise pas de format d'heure. Le résultat ("110000") s'affiche dans le protocole d'activation. :SET &HEURE# = SUB_TIME("120000","010000") :PRINT &HEURE# Le deuxième exemple utilise un format d'heure et un format de sortie. Le résultat est "23:00:00". :SET &HEURE# = SUB_TIME("040000", "HH;05", "HH:MM") :PRINT &HEURE# Dans le troisième exemple, 31 secondes sont soustraites de 00:00:10. Un format d'heure est utilisé, mais il n'y a pas de format de sortie. Le résultat ("235940") correspond au format standard. :SET &HEURE# = SUB_TIME("HH:MM:SS;00:00:10", "SS;30") :PRINT &HEURE# Semblable au troisième exemple. Mais le format de sortie est composé d'un paramètre spécial. Le résultat ("86380") est produit par la conversion de 23:59:40 en secondes. :SET &HEURE# = SUB_TIME("HHMMSS;000010", "SS;30", SS) :PRINT &HEURE# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Automation Engine 357 Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.16 SUB_TIMESTAMP Fonction script : Soustrait une durée à partir d'un horodatage. Syntaxe SUB_TIMESTAMP (horodatage, heure ) Elément de syntaxe Description/format Marque horaire Marque horaire à partir de la date et de l'heure ("AAAA-MM-JJ HH:MM:SS"). Format : Littéral de script ou Variable de script Heure Heure ("HH:MM:SS") devant être soustraite de l'horodatage. Format : Littéral de script ou Variable de script Valeurs autorisées : 0 à 99 (pour les HH, MM et SS) Code retour Horodatage au format "AAAA-MM-JJ HH:MM:SS" Remarques La fonction de Script soustrait l'heure au format "HH:MM:SS" d'un horodatage indiqué au format "AAAAMM-JJ HH:MM:SS". Il est pour cela calculé selon l'UTC : les heures d'été et d'hiver ne sont pas prises en compte. Etant donné que les heures, les minutes et les secondes ne peuvent pas dépasser la valeur maximale 99, le résultat de la fonction de Script peut être légèrement supérieur à 4 jours avant l'horodatage d'origine. Exemple L'exemple soustrait une seconde de l'horodatage. Le résultat "31.12.03 23:59:59" est affiché dans le protocole d'activation. :SET &RET# = SUB_TIMESTAMP("2004-01-01 00:00:00", "00:00:01") :PRINT &RET# Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 358 Chapter 3 Organisation fonctionnelle 3.12.17 SYS_DATE Fonction script : Détermine la date du jour actuelle en vue du lancement du traitement de script. Syntaxe SYS_DATE([Format de date][,Fuseau horaire]) Elément de syntaxe Description/format Format de date Format prédéfini de la date déterminée. Format: littéral de Script ou Variable de Script Par défaut : "AAMMJJ" Fuseau horaire Nom d'un objet Fuseau horaire ou mot clé UTC. Format : littéral de Script ou Variable de Script Code retour Date du jour actuelle au format indiqué. Remarques Les fonctions de Script déterminent la date du jour actuelle. Un Fuseau horaire indiqué comme paramètre est pour cela pris en compte. Le format de date est facultatif. Il sert à déterminer le format dans lequel la fonction doit renvoyer sa valeur. Si vous n'avez pas indiqué de format de date, le format par défaut "AAMMJJ" est renvoyé. Le Fuseau horaire est également facultatif. Si la fonction de Script est exécutée sans ce paramètre, le Fuseau horaire de l'objet ou du Client est utilisé quand aucun Fuseau horaire n'a été défini pour l'objet luimême. Si un Fuseau horaire non défini a été indiqué, le calcul se fait automatiquement avec la valeur par défaut (Fuseau horaire du Client). Au lieu d'un Fuseau horaire, vous pouvez également utiliser le mot clé UTC. La date est alors transmise directement à l'UTC (Universal Time Coordinated). La date du jour actuelle est déterminée et "figée" au lancement du traitement de Script. La cohérence du Script est ainsi assurée. Si vous utilisez plusieurs fois la fonction de Script au sein d'un Script, la même date du jour est toujours renvoyée. Cela s'applique en particulier aussi lorsque le traitement de Script est interrompu par une instruction :WAIT pour une période spécifiée. Pour transmettre la date du jour déterminée à un objet Variable de type "horodatage" avec l'instruction :PUT_VAR, il faut utiliser les formats de date "AAMMJJ" (valeur par défaut), "AAAAMMJJ" ou "AAAAMM-JJ". En raison de la présence de l'enregistreur dans la Variable, ce format de date est perdu dans la plate-forme Windows. L'affichage de la date se base alors sur les paramètres régionaux dans le panneau de configuration de Windows. Exemples Le premier exemple détermine la date du jour actuelle et en transmet la valeur à une Variable de Script. Le deuxième exemple doit montrer qu'il est possible de saisir des paramètres spéciaux. Le jour de la semaine est défini et utilisé comme paramètre de fonction d'une Variable de Script. :SET &DATE# = SYS_DATE("JJ.MM.AAAA") Automation Engine 359 :SET &FORMAT# = "WW" :SET &JOUR_SEMAINE# = SYS_DATE(&FORMAT#) Si la fonction est utilisée sans indiquer de format de date, la syntaxe se présente comme dans l'exemple suivant. :IF SYS_DATE() = "990101" !... :ENDIF Le troisième exemple détermine la date du jour actuelle et l'enregistre dans un objet Variable de type "horodatage". On tient compte alors d'un Fuseau horaire défini pour l'heure d'Europe centrale. :SET &DATE# = SYS_DATE("AAAA-MM-JJ","TZ.MEZ") :PUT_VAR DATEDERESERVATION, , &DATE# Rubriques connexes : Elément de script Description CONV_DATE Convertit le format d'une date. DIFF_DATE Détermine la différence entre deux données de date en jours. SYS_DATE_PHYSICAL Détermine la date du jour actuelle. SYS_LDATE Détermine la date logique. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.18 SYS_DATE_PHYSICAL Fonction script : Détermine la date du jour actuelle. Syntaxe SYS_DATE_PHYSICAL ([Format de date][,Fuseau horaire]) Elément de syntaxe Description/format Format de date Format prédéfini de la date déterminée. Format: littéral de script ou Variable de script Valeur par défaut: "AAMMJJ" Fuseau horaire Nom d'un objet Fuseau horaire ou mot clé UTC. Format : Littéral de script ou Variable de script Code retour Date du jour actuelle au format indiqué. 360 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script détermine la date actuelle du jour. Un Fuseau horaire indiqué comme paramètre est pour cela pris en compte. Si la fonction de Script est utilisée plusieurs fois dans un Script, cela peut parfois entraîner des résultats différents (par exemple, un changement de date entre la première et la deuxième exécution). La fonction de Script est donc différente de SYS_DATE, qui détermine l'heure actuelle du jour au début du traitement du Script, puis la "gèle" pour garantir la cohérence de celui-ci. Le format de date est facultatif. Il sert à déterminer le format dans lequel la fonction doit renvoyer sa valeur. Si vous n'avez pas indiqué de format de date, le format par défaut "AAMMJJ" est renvoyé. Le Fuseau horaire est également facultatif. Si la fonction de Script est exécutée sans ce paramètre, le Fuseau horaire de l'objet ou du Client est utilisé quand aucun Fuseau horaire n'a été défini pour l'objet luimême. Si un Fuseau horaire non défini a été indiqué, le calcul se fait automatiquement avec la valeur par défaut (Fuseau horaire du Client). Au lieu d'un Fuseau horaire, vous pouvez également utiliser le mot clé UTC. La date est alors transmise directement à l'UTC (Universal Time Coordinated). Exemples Le premier exemple détermine la date du jour actuelle et en transmet la valeur à une Variable de Script. Le deuxième exemple doit montrer qu'il est possible de saisir des paramètres spéciaux. Le jour de la semaine est défini et utilisé comme paramètre de fonction d'une Variable de Script. :SET &DATE# = SYS_DATE_PHYSICAL('JJ.MM.AAAA') :SET &FORMAT# = 'WW' :SET &JOUR_SEMAINE# = SYS_DATE_PHYSICAL(&FORMAT#) Si la fonction est utilisée sans indiquer de format de date, la syntaxe se présente comme dans l'exemple suivant. :IF SYS_DATE_PHYSICAL() = '990101' !... :ENDIF Dans le troisième exemple, la date actuelle du jour est déterminée. On tient compte alors d'un Fuseau horaire défini pour l'heure d'Europe centrale. Le résultat s'affiche dans le protocole d'activation. :SET &DATE# = SYS_DATE_PHYSICAL('AAAA-MM-JJ','TZ.MEZ') :PRINT &DATE# Rubriques connexes : Elément de script Description CONV_DATE Convertit le format d'une date. DIFF_DATE Détermine la différence entre deux données de date en jours. SYS_LDATE Détermine la date logique. SYS_DATE Détermine la date du jour actuelle en vue du lancement du traitement de script. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 361 3.12.19 SYS_LDATE Fonction script : Détermine la date logique. Syntaxe SYS_LDATE([Format de date]) Elément de syntaxe Description/format Format de date Format prédéfini de la date déterminée. Format: littéral de script ou Variable de script Valeur par défaut: "AAMMJJ" Code retour Date logique au format indiqué. Remarques Pour exécuter des Tâches avec options, vous pouvez indiquer une date logique. La fonction de script détermine cette date. Le format de date est facultatif. Il sert à déterminer le format dans lequel la fonction doit renvoyer sa valeur. Si vous n'avez pas indiqué de format de date, le format par défaut "AAMMJJ" est renvoyé. Attention : la fonction script !Scripts exécutée à partir des résultats n'indique pas la date logique, mais la date actuelle ! Exemple L'exemple suivant détermine la date logique au format "JJ.MM.AAAA". :SET &LDATE# = SYS_LDATE("JJ.MM.AAAA") Rubriques connexes : Elément de script Description CONV_DATE Convertit le format d'une date. DIFF_DATE Détermine la différence entre deux données de date en jours. SYS_DATE Détermine la date du jour actuelle en vue du lancement du traitement de script. SYS_DATE_ PHYSICAL Détermine la date du jour actuelle. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 362 Chapter 3 Organisation fonctionnelle 3.12.20 SYS_TIME Fonction script : Définit l'heure du jour actuelle en vue du lancement du traitement de script. Syntaxe SYS_TIME([Format d'heure][,Fuseau horaire]) Elément de syntaxe Description/format Format d'heure Format prédéfini pour l'heure indiquée. Format : littéral de Script ou Variable de Script Par défaut : "HHMMSS" Fuseau horaire Nom d'un objet Fuseau horaire ou mot clé UTC. Format : Littéral de script ou Variable de script Code retour Heure actuelle au format indiqué. Remarques Les fonctions de Script déterminent l'heure du jour actuelle. Un Fuseau horaire indiqué comme paramètre est pour cela pris en compte. Le format d'heureest facultatif. Il sert à déterminer le format dans lequel la fonction doit renvoyer sa valeur. Si vous n'avez pas indiqué de format d'heure, le format par défaut "HHMMSS" est utilisé. Le Fuseau horaire est également facultatif. Si la fonction de Script est exécutée sans ce paramètre, le Fuseau horaire de l'objet ou du Client est utilisé quand aucun Fuseau horaire n'a été défini pour l'objet luimême. Si un Fuseau horaire non défini a été indiqué, le calcul se fait automatiquement avec la valeur par défaut (Fuseau horaire du Client). Au lieu d'un Fuseau horaire, vous pouvez également utiliser le mot clé UTC. L'heure est renvoyée directement en UTC (temps universel coordonné). L'heure du jour actuelle est déterminée et "figée" au lancement du traitement de Script. La cohérence du Script est ainsi assurée. Si vous utilisez plusieurs fois la fonction de Script au sein d'un Script, la même heure du jour est toujours renvoyée. Cela s'applique en particulier aussi lorsque le traitement de Script est interrompu par une instruction :WAIT pour une période spécifiée. Pour transmettre l'heure du jour déterminée à un objet Variable de type "horodatage" avec l'instruction :PUT_VAR, il faut utiliser le format d'heure "HHMMSS" (valeur par défaut) ou "HH:MM:SS". En raison de la présence de l'enregistreur dans la Variable, ce format d'heure est perdu dans la plate-forme Windows. L'affichage de l'heure se base alors sur les paramètres régionaux dans le panneau de configuration de Windows. L'heure peut toujours être enregistrée en même temps qu'une date dans une Variable de type "horodatage". Seules les combinaisons de formats de date et d'heure suivantes sont autorisées : "AAMMJJ HHMMSS" (par défaut), "AAAA-MM-JJ HH:MM:SS" et "AAAAMMJJ HHMMSS". Exemples Le premier exemple détermine l'heure du jour actuelle et en transmet la valeur à une Variable de Script. On tient compte alors d'un Fuseau horaire défini pour l'heure d'Europe centrale. Le résultat s'affiche dans le Automation Engine 363 protocole d'activation. :SET &HEURE# = SYS_TIME("HH:MM:SS","TZ.MEZ") :PRINT &HEURE# Le deuxième exemple utilise un paramètre spécial transmis par une Variable de Script. Il définit uniquement les secondes de l'heure du jour actuelle. :SET &FORMAT# = "SS" :SET &HEURE# = SYS_TIME(&FORMAT#) Si la fonction est utilisée sans indication de format d'heure et de Fuseau horaire, la syntaxe est celle de l'exemple suivant. :IF SYS_TIME() = "120000" !... :ENDIF Le troisième exemple détermine la date du jour et l'heure du jour actuelles et les enregistre dans un objet Variable de type "horodatage". Les valeurs par défaut s'appliquent aux formats de date et d'heure. :SET &DATE# = SYS_DATE() :SET &HEURE# = SYS_TIME() :PUT_VAR DATEDERESERVATION, , "&DATE# &HEURE#" Rubriques connexes : Elément de script Description SYS_TIME_PHYSICAL Définit l'heure du jour actuelle. SYS_TIMESTAMP_PHYSICAL Indique la date et l'heure actuelles. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.21 SYS_TIME_PHYSICAL Fonction du Script : définit l'heure actuelle du jour. Syntaxe SYS_TIME_PHYSICAL([Format d'heure][,Fuseau horaire]) Elément de syntaxe Description/format Format d'heure Format prédéfini pour l'heure indiquée. Format : littéral de Script ou Variable de Script Par défaut : "HHMMSS" Fuseau horaire Nom d'un objet Fuseau horaire ou mot clé UTC. Format : Littéral de script ou Variable de script Code retour Heure actuelle au format indiqué. 364 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script détermine l'heure actuelle du jour. Un Fuseau horaire indiqué comme paramètre est pour cela pris en compte. Si la fonction de Script est utilisée plusieurs fois dans un Script, cela peut parfois entraîner des résultats différents (par exemple, en cas de demande précise de secondes ou de minutes). La fonction de Script est donc différente de SYS_TIME, qui détermine l'heure actuelle du jour au début du traitement du Script, puis la "gèle" pour garantir la cohérence du Script. Le format d'heureest facultatif. Il sert à déterminer le format dans lequel la fonction doit renvoyer sa valeur. Si vous n'avez pas indiqué de format d'heure, le format par défaut "HHMMSS" est utilisé. Le Fuseau horaire est également facultatif. Si la fonction de Script est exécutée sans ce paramètre, le Fuseau horaire de l'objet ou du Client est utilisé quand aucun Fuseau horaire n'a été défini pour l'objet luimême. Si un Fuseau horaire non défini a été indiqué, le calcul se fait automatiquement avec la valeur par défaut (Fuseau horaire du Client). Au lieu d'un Fuseau horaire, vous pouvez également utiliser le mot clé UTC. L'heure est renvoyée directement en UTC (temps universel coordonné). Exemples Le premier exemple détermine chaque heure actuelle du jour et transmet la valeur à la Variable de Script. Le résultat correspond à deux heures séparées par 10 secondes au moins. :SET &HEURE1# = SYS_TIME_PHYSICAL("HH:MM:SS") :WAIT 10 :SET &HEURE2# = SYS_TIME_PHYSICAL("HH:MM:SS") Dans le deuxième exemple, l'heure actuelle du jour est ensuite déterminée dans l'UTC. Lors de la deuxième exécution de la fonction de Script, un Fuseau horaire défini pour l'heure d'Europe centrale est indiqué. Le résultat correspond à deux heures séparées par 1 heure et 10 secondes au moins. :SET &HEURE1# = SYS_TIME_PHYSICAL("HH:MM:SS","UTC") :WAIT 10 :SET &HEURE2# = SYS_TIME_PHYSICAL("HH:MM:SS","TZ.MEZ") Dans le troisième exemple, un paramètre spécial est utilisé et transmis par une Variable de Script. Seules les minutes de l'heure actuelle du jour sont définies. :SET &FORMAT# = "MM" :SET &HEURE# = SYS_TIME_PHYSICAL(&FORMAT#) Si la fonction est utilisée sans indiquer de format d'heure, la syntaxe se présente comme dans l'exemple suivant. :IF SYS_DATE_PHYSICAL() = '120000' !... :ENDIF Rubriques connexes : Elément de script Description SYS_TIME Définit l'heure du jour actuelle en vue du lancement du traitement de script. SYS_TIMESTAMP_ PHYSICAL Indique la date et l'heure actuelles. Automation Engine 365 Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.12.22 SYS_TIMESTAMP_PHYSICAL Fonction script : Indique la date et l'heure actuelles. Syntaxe SYS_TIMESTAMP_PHYSICAL([Fuseau horaire]) Elément de syntaxe Description/format Fuseau horaire Nom d'un objet Fuseau horaire ou mot clé UTC. Format : littéral de script ou Variable de script Valeur par défaut: "UTC" Code retour Date et heure actuelles au format "AAAA-MM-JJ HH:MM:SS" Remarques Si le mot-clé UTC est utilisé ou que la fonction de Script est exécutée sans paramètre, la date et l'heure sont renvoyées dans l'UTC (Coordinated Universal Time). Exemple L'exemple détermine la date et l'heure actuelles de Sydney. Le nom d'un objet fuseau horaire, défini pour l'heure standard de l'Australie orientale, est indiqué comme paramètre. Le code retour de la fonction de Script s'affiche dans le protocole d'activation. :SET &MAINTENANT# = SYS_TIMESTAMP_PHYSICAL("TZ.SYD") :PRINT &MAINTENANT# Rubriques connexes : Elément de script Description SYS_TIME Définit l'heure du jour actuelle en vue du lancement du traitement de script. SYS_TIME_PHYSICAL Définit l'heure du jour actuelle. Scripts - Date et heure Heure Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 366 Chapter 3 Organisation fonctionnelle 3.12.23 VALID_CALE Fonction script : Vérifie qu'une date est contenue dans un Calendrier. Syntaxe VALID_CALE(Date, Groupe Calendrier, Calendrier) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Groupe Calendrier Nom de l'objet Groupe Calendrier. Format : nom UC4, littéral de Script ou Variable de Script Calendrier Nom de l'objet Calendrier. Format : nom UC4, littéral de script ou Variable de script Codes retour "Y" - La date est comprise dans le Calendrier. "N" - La date n'est pas comprise dans le Calendrier. Remarques L'indication du format de date est facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemple L'exemple vérifie si la date du jour actuelle dans le Calendrier d'astreinte est valable. Le code retour de la fonction de Script est transmis à une Variable de Script. :SET &DATEACT# = SYS_DATE() :SET&OPERATEUR# = VALID_CALE(&DATEACT#,"Disposition","Jour ouvré") Rubriques connexes : Elément de script Description VALID_DATE Vérifie si une date est valable. VALID_TIME Vérifie si une heure est valide. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 367 3.12.24 VALID_DATE Fonction du Script : vérifie si une date est valide. Syntaxe VALID_DATE(Date) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Codes retour "Y" - La date est valide. "N" - La date n'est pas valide. Remarques Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Si la fonction renvoie le code retour "N", vous pouvez analyser l'erreur survenue à l'aide du Script pour le traitement des erreurs. Exemple L'exemple vérifie si l'année 2001 est bissextile. Le résultat (N) s'affiche dans le protocole d'activation. :SET &RET#=VALID_DATE("JJ.MM.AAAA:29.02.2001") :PRINT &RET# Rubriques connexes : Elément de script Description VALID_CALE Vérifie qu'une date est contenue dans un Calendrier. VALID_TIME Vérifie si une heure est valide. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 368 Chapter 3 Organisation fonctionnelle 3.12.25 VALID_TIME Fonction du Script : vérifie si une heure est valide. Syntaxe VALID_TIME(Heure) Elément de syntaxe Description/format Heure Entrée d'une heure au format "HHMMSS". Format : Littéral de script ou Variable de script Il est possible d'indiquer l'heure dans un autre Format d'heure. Saisissez ainsi en premier le format d'heure souhaité suivi d'un séparateur (;) puis l'heure. L'indication du format d'heure est facultative. Codes retour "Y" - L'heure est valide. "N" - L'heure n'est pas valide. Remarques Si aucun format de l'heure spécifique n'est utilisé, l'heure doit être indiquée au format standard "HHMMSS". Seul le point-virgule peut être utilisé comme séparateur entre le format d'heure et l'heure. Exemples L'exemple vérifie si l'heure indiquée est valide. Le résultat (N) s'affiche dans le protocole d'activation. :SET &RET#=VALID_TIME("HH:MM:SS;24:00:00") :PRINT &RET# Le deuxième exemple produit un résultat positif (Y). :SET &RET#=VALID_TIME("HH:MM:SS;00:00:00") :PRINT &RET# Rubriques connexes : Elément de script Description VALID_CALE Vérifie qu'une date est contenue dans un Calendrier. VALID_DATE Vérifie si une date est valable. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 369 3.12.26 WEEK_NR Fonction script : indique la semaine calendaire correspondant à une date. Syntaxe WEEK_NR(Date) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Code retour Semaine calendaire (à 3 chiffres) Remarques L'indication du format de date est facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Le calcul de la semaine calendaire dépend de la définition de la première semaine de l'année ! C'est l'administrateur UC4 qui définit quelle semaine est la première semaine calendaire, et ce dans la Variable UC4 UC_CLIENT_SETTINGS avec les Clefs "FIRST_WEEK_METHOD" et "FIRST_DAY_OF_WEEK". Exemple L'exemple indique la semaine calendaire "052" pour le jour indiqué. :SET &SEMCAL# = WEEK_NR("991231") Rubriques connexes : Elément de script Description WEEKDAY_NR Indique avec un chiffre le jour de la semaine d'une date. WEEKDAY_XX Indique avec un code le jour de la semaine d'une date. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 370 Chapter 3 Organisation fonctionnelle 3.12.27 WEEKDAY_NR Fonctions de Script : Indique avec un chiffre le jour de la semaine d'une date. Syntaxe WEEKDAY_NR(Date) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Codes retour "1" - lundi "2" - mardi "3" - mercredi "4" - jeudi "5" - vendredi "6" - samedi "7" - dimanche Remarques L'indication d'un format de date est facultatif. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemples Ces exemples renvoient les valeurs "5" et "6" pour la date indiquée. :SET &31DECEMBRE1999# = WEEKDAY_NR('JJ.MM.AA:31.12.99') :SET &NOUVELAN2000# = WEEKDAY_NR("JJ.MM.AAAA:01.01.2000") Rubriques connexes : Elément de script Description WEEK_NR indique la semaine calendaire correspondant à une date. WEEKDAY_XX Indique avec un code le jour de la semaine d'une date. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 371 3.12.28 WEEKDAY_XX Fonction script : Indique avec un code le jour de la semaine d'une date. Syntaxe WEEKDAY_XX(Date) Elément de syntaxe Description/format Date Entrée d'une date au format "AAMMJJ" ou "AAAAMMJJ". Format : Littéral de script ou Variable de script Il est possible d'indiquer la date dans un autre Format de date. Saisissez ainsi en premier le format de date souhaité suivi d'un séparateur (: ou ;) puis la date. L'indication du format de date est facultative. Codes retour "LU" - lundi "MA" - mardi "ME" - mercredi "JE" - jeudi "VE" - vendredi "SA" - samedi "DI" - dimanche Remarques L'indication d'un format de date est facultative. Si aucun format de date spécifique n'est utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemples L'exemple renvoie les valeurs "VE" et "SA" pour la date indiquée. :SET &31DECEMBRE1999# =WEEKDAY_XX("991231") :SET &NOUVELAN2000# = WEEKDAY_XX("JJ-MM-AAAA:01-01-2000") Rubriques connexes : Elément de script Description WEEK_NR indique la semaine calendaire correspondant à une date. WEEKDAY_NR Indique avec un chiffre le jour de la semaine d'une date. Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 372 Chapter 3 Organisation fonctionnelle 3.12.29 YEAR_9999 Fonction script : Extrait l'année d'une date donnée. Syntaxe YEAR_9999 ( [Format de date :]Date) Elément de syntaxe Description/format Format de date Format prédéfini de la date indiquée. : ou ; Séparateur entre le format de date et la date. Date Indication d'une date correspondant au format de date. [Format de date :]Date Format : Littéral de script ou Variable de script Code retour Année (à 4 chiffres) Remarques L'indication du format de date est facultative. Si le format de date n'est pas utilisé, la date doit être indiquée au format "AAMMJJ" ou "AAAMMJJ". Deux points ou un point-virgule sont autorisés comme séparateur entre le format de date et la date. Exemple L'exemple indique la valeur "2000" pour l'année de la date donnée. : SET &ANNEE# = YEAR_9999 ( "JJ.MM.AA:31.12.00" ) Rubriques connexes : Scripts - Date et heure Formats de date, d'heure et de période Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13 Calcul 3.13.1 ADD Fonction script : Exécute une addition. Automation Engine 373 Syntaxe ADD(Opérande1, Opérande2) Elément de syntaxe Description/format Opérande1 Première expression de calcul. Format : littéral de Script, variable de Script ou nombre sans guillemets Opérande2 Deuxième expression de calcul. Format : littéral de script, nombre sans guillemets ou Variable de script Code retour Résultat de l'addition Remarques La fonction de Script additionne Opérande1 et Opérande2. Opérande1 et Opérande2 doivent être des expressions qui correspondent aux nombres dans le domaine de valeur des Types de données. Le résultat ne doit en aucun cas dépasser ce domaine. Si le résultat d'une Variable de Script est affecté, celle-ci doit présenter le type de données correspondant. Lors d'une tentative d'enregistrement d'un nombre négatif comportant le type de données "unsigned" dans une Variable, une erreur apparaît. S'il s'agit, lors du résultat, d'un nombre à virgule flottante et si la Variable de destination possède le type de données "signed" ou "unsigned", les chiffres après la virgule sont supprimés. Le type de données "flottant" prend en charge tant les nombres négatifs que les nombres variables. De plus, le type de données "chaîne" est également possible tant que le résultat n'est pas stocké comme un nombre mais comme une chaîne de caractères. Le type de données des Variables de Script est défini avec le Script :DEFINE. Le système compte toujours le type de données du résultat, et non celui des opérandes ! Un opérande négatif ou positif peut produire un nombre positif qui peut à son tour être enregistré dans une Variable de destination avec le type de données "unsigned". Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! Le résultat est retourné dans le format par défaut à 16 caractères. Les nombres variables possèdent 16 caractères supplémentaires après la virgule et lorsque des nombres négatifs sont pris en charge, le signe respectif (+ ou -) est placé en première position. Pour modifier le formatage, utilisez la fonction script FORMAT. Exemples Dans l'exemple, le résultat de l'opération arithmétique est transmis à une Variable de Script. Opérande1 et Opérande2 sont indiqués dans une expression numérique. :SET &RESULTAT# = ADD(1000,333) Dans cet exemple, la fonction est utilisée pour formuler une condition. :SET &MAXIMUM# = 3000 :SET &EXEC1# = 5000 :SET &EXEC2# = 2000 !... 374 Chapter 3 Organisation fonctionnelle :IF ADD(&EXEC1#,&EXEC2#) > &MAXIMUM# !... :ENDIF Deux nombres variables sont ajoutés dans les exemples suivants. :DEFINE &RESULTAT#,float :SET &RESULTAT# = ADD(10.31,-5.45) :P&RESULTAT# Le résultat s'affiche dans le protocole d'activation de la façon suivante . U0020408 +0000000000000004.8600000000000000 Rubriques connexes : Elément de script Description SUB Exécute une soustraction. MULT Exécute une multiplication. DIV Exécute une division. MOD Indique le quotient d'une division. RANDOM Génère des nombres aléatoires. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13.2 DIV Fonction script : Exécute une division. Syntaxe DIV(Opérande1, Opérande2) Elément de syntaxe Description/format Opérande1 Première expression de calcul. Format : littéral de Script, variable de Script ou nombre sans guillemets Opérande2 Deuxième expression de calcul. Format : littéral de script, nombre sans guillemets ou Variable de script Code retour Résultat de la division Remarques La fonction de Script divise Opérande1 par Opérande2. Automation Engine 375 Opérande1 et Opérande2 doivent être des expressions qui correspondent aux nombres dans le domaine de valeur des Types de données. Le résultat ne doit en aucun cas dépasser ce domaine. L' Opérande2 doit être différent de zéro ! Si le résultat d'une Variable de Script est affecté, celle-ci doit présenter le type de données correspondant. Lors d'une tentative d'enregistrement d'un nombre négatif comportant le type de données "unsigned" dans une Variable, une erreur apparaît. S'il s'agit, lors du résultat, d'un nombre à virgule flottante et si la Variable de destination possède le type de données "signed" ou "unsigned", les chiffres après la virgule sont supprimés. Le type de données "flottant" en revanche prend en charge tant les nombres négatifs que les nombres variables. De plus, le type de données "chaîne" est également possible tant que le résultat n'est pas stocké comme un nombre mais comme une chaîne de caractères. Le type de données des Variables de Script est défini dans la définition avec le Script :DEFINE. Le système compte toujours le type de données du résultat, et non celui des opérandes ! Exemple : Deux opérandes négatifs produisent un nombre positif qui peut à son tour être enregistré dans une Variable de destination avec le type de données "unsigned". Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! Le résultat est retourné dans le format par défaut à 16 caractères. Les nombres variables possèdent 16 caractères supplémentaires après la virgule et lorsque des nombres négatifs sont pris en charge, le signe respectif (+ ou -) est placé en première position. Pour modifier le formatage, utilisez la fonction script FORMAT. Exemples Dans l'exemple, "5" est le résultat de l'opération arithmétique transmis à une Variable de Script. Des Variables de Script sont utilisées pour Opérande1 et Opérande2. :SET &OP1# = '100' :SET &OP2# = '20' :SET &RESULTAT# = DIV(&OP1#,&OP2#) Si le type de données ne correspond pas à "flottant" (ou "chaîne"), les chiffres après une virgule sont supprimés. Dans l'exemple suivant, la valeur "0" est donc enregistrée dans la Variable. :DEFINE&RESULTAT#, unsigned :SET &RESULTAT# = DIV(10,30) L'exemple suivant montre une division avec des nombres variables. :DEFINE &RESULTAT#,float :SET &RESULTAT# = DIV(-9,-2.25) :P&RESULTAT# Le résultat s'affiche dans le protocole d'activation de la façon suivante . U0020408 +0000000000000004.0000000000000000 Rubriques connexes : Elément de script Description ADD Exécute une addition. SUB Exécute une soustraction. MULT Exécute une multiplication. 376 Chapter 3 Organisation fonctionnelle MOD Indique le quotient d'une division. RANDOM Génère des nombres aléatoires. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13.3 GET_BIT Fonction script : Vérifie si un bit particulier est défini dans un champ de bit. Syntaxe GET_BIT(nombre, position du bit) Elément de syntaxe Description/format Nombre Nombre qui est transformé au format binaire (champ de bit). Format : nombre ou Variable de Script Position de bit Position dans le champ de bit qui doit être vérifiée. Format : nombre ou Variable de Script Code retour "0" – Le bit est activé. "1" – Le bit n'est pas activé. Remarques La fonction de Script convertit au format binaire le nombre transmis avec le premier paramètre. On obtient alors ce qu'on appelle un champ de bit. Le système vérifie ensuite si le bit de la position indiquée est activé ou non. La position du bit est toujours déterminée en partant de la droite. La fonction de Script sert également à pouvoir demander les champs à 16 bits MSG_DESCRIPTOR, MSG_LEVEL et MSG_MISC d'un message de console dans z/OS. Ils peuvent également être demandés directement avec la fonction de Script GET_CONSOLE. Exemples Dans le premier exemple, le système vérifie si le troisième bit du champ de bit ("110"), qui correspond au nombre 6, est activé. Le Code Retour "1" (le bit est activé) est émis dans le protocole d'activation. :SET &RET# = GET_BIT(6, 3) :PRINT &RET# Le deuxième exemple détermine un élément du message de console dans z/OS. Le nombre renvoyé est ensuite converti sous forme binaire et vérifié dans la position de bit 3. :SET &RET# = GET_CONSOLE("MSG_DESCRIPTOR") :SET &RET# = GET_BIT(&RET#, 3) Automation Engine 377 Rubriques connexes : Elément de script Description GET_CONSOLE Lit les données de message de l'Evènement de console survenu. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13.4 MOD Fonction script : Indique le quotient d'une division. Syntaxe MOD(Opérande1, Opérande2) Elément de syntaxe Description/format Opérande1 Première expression de calcul. Format : littéral de Script, variable de Script ou nombre sans guillemets Opérande2 Deuxième expression de calcul. Format : littéral de script, nombre sans guillemets ou Variable de script Code retour Quotient de la division Remarques La fonction de Script indique le reste de la division de Opérande1 par Opérande2. Pour Opérande1 et Opérande2 il doit s'agir de nombres entiers dans le domaine de valeur autorisé destypes de données "unsigned" ou "signed" ! Les nombres variables ne sont pas pris en charge ! Pour le résultat, il s'agit également d'un nombre entier positif ou négatif. L' Opérande2 doit être différent de zéro ! Exemple Dans l'exemple suivant, la fonction renvoie le résultat "1". :SET &rest# = MOD(10,3) Le deuxième exemple a pour résultat "10". :SET &rest# = MOD(10,44) Rubriques connexes : 378 Chapter 3 Organisation fonctionnelle Elément de script Description ADD Exécute une addition. SUB Exécute une soustraction. MULT Exécute une multiplication. DIV Exécute une division. RANDOM Génère des nombres aléatoires. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13.5 MULT Fonction script : Exécute une multiplication. Syntaxe MULT(Opérande1, Opérande2) Elément de syntaxe Description/format Opérande1 Première expression de calcul. Format : littéral de Script, variable de Script ou nombre sans guillemets Opérande2 Deuxième expression de calcul. Format : littéral de script, nombre sans guillemets ou Variable de script Code retour Résultat de la multiplication Remarques La fonction de Script multiplie Opérande1 par Opérande2. Opérande1 et Opérande2 doivent être des expressions qui correspondent aux nombres dans le domaine de valeur des Types de données. Le résultat ne doit en aucun cas dépasser ce domaine. Si le résultat d'une Variable de Script est affecté, celle-ci doit présenter le type de données correspondant. Lors d'une tentative d'enregistrement d'un nombre négatif comportant le type de données "unsigned" dans une Variable, une erreur apparaît. S'il s'agit, lors du résultat, d'un nombre à virgule flottante et si la Variable de destination possède le type de données "signed" ou "unsigned", les chiffres après la virgule sont supprimés. Le type de données "flottant" prend en charge tant les nombres négatifs que les nombres variables. De plus, le type de données "chaîne" est également possible tant que le résultat n'est pas stocké comme un nombre mais comme une chaîne de caractères. Le type de données des Variables de Script est défini dans la définition avec le Script :DEFINE. Le système compte toujours le type de données du résultat, et non celui des opérandes ! Exemple : Deux opérandes négatifs produisent un nombre positif qui peut à son tour être enregistré dans une Variable de destination avec le type de données "unsigned". Automation Engine 379 Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! Le résultat est retourné dans le format par défaut à 16 caractères. Les nombres variables possèdent 16 caractères supplémentaires après la virgule et lorsque des nombres négatifs sont pris en charge, le signe respectif (+ ou -) est placé en première position. Pour modifier le formatage, utilisez la fonction script FORMAT. Exemple Dans l'exemple, le résultat de l'opération arithmétique est transmis à une Variable de Script. L'exemple a pour résultat "100". :SET &OP1# = 4 :SET &OP2# = 25 :SET &RESULTAT# = MULT(&OP1#,&OP2#) L'exemple suivant montre une multiplication avec des nombres variables. :DEFINE &RESULTAT#,float :SET &RESULTAT# = MULT(-10.31,5.45) :P&RESULTAT# Le résultat s'affiche dans le protocole d'activation de la façon suivante . U0020408 -0000000000000056.1895000000000000 Rubriques connexes : Elément de script Description ADD Exécute une addition. SUB Exécute une soustraction. MOD Indique le quotient d'une division. DIV Exécute une division. RANDOM Génère des nombres aléatoires. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.13.6 RANDOM Fonction script : Génère des nombres aléatoires. Syntaxe RANDOM(minimum, maximum[, base]) Elément de syntaxe Description/format Minimum Valeur minimale du nombre aléatoire généré. Format : nombre ou Variable de Script 380 Chapter 3 Organisation fonctionnelle Maximum Valeur maximale du nombre aléatoire généré. Format : nombre ou Variable de script Base Valeur initiale pour la génération. Format : nombre ou Variable de script Code retour Nombre aléatoire dans l'intervalle indiqué. Remarques La fonction de Script RANDOM génère des nombres aléatoires. Un générateur de nombres produit une série de nombres déterminés par la valeur initiale (la base). Si le paramètre base n'est pas indiqué, le code retour est un chiffre qui change sans cesse dans l'intervalle compris entre minimum et maximum. Si base est indiqué, une initialisation du générateur de nombres a lieu avec cette valeur. Le résultat est une série de nombres. Il est possible de lire les nombres de cette série sans base en appelant à nouveau la fonction de Script. La série de nombres générée est toujours la même pour une valeur initiale définie : les mêmes nombres se trouvent dans le même ordre. Si la fonction de Script est exécutée simultanément dans le Script d'un autre objet, elle remplace la série de nombres déjà générée. La fonction de Script permet uniquement de transférer des nombres entiers positifs (type de données : unsigned) ! Le résultat représente également toujours un nombre entier positif ! Exemples Dans le premier exemple, la fonction indique un nombre entre 1 et 10 (les deux nombres sont intégrés). Le résultat est "3" par exemple. :SET &nombre# = RANDOM(1, 10) Dans le deuxième exemple, une série de nombres est générée en premier en utilisant le paramètre Base. Il est possible d'accéder à la valeur en procédant à une nouvelle exécution via la fonction. Les 10 premières valeurs de la série de nombres générée avec la base "1" sont : 6, 2, 9, 6, 5, 4, 9, 9, 8 et 2. Le résultat enregistré dans "&nombre#" lors du premier appel est donc toujours "6". :SET &ret# = RANDOM(&min#, &max#, 1) :SET &nombre# = RANDOM(&min#, &max#) Rubriques connexes : Elément de script Description ADD Exécute une addition. SUB Exécute une soustraction. MULT Exécute une multiplication. MOD Indique le quotient d'une division. Automation Engine DIV 381 Exécute une division. Scripts – Calculs Généralités sur les Scripts Script - Liste alphabétique Script - Division fonctionnelle 3.13.7 SUB Fonction script : Exécute une soustraction. Syntaxe SUB(Opérande1, Opérande2) Elément de syntaxe Description/format Opérande1 Première expression de calcul. Format : littéral de Script, variable de Script ou nombre sans guillemets Opérande2 Deuxième expression de calcul. Format : littéral de script, nombre sans guillemets ou Variable de script Code retour Résultat de la soustraction Remarques La fonction de Script soustrait Opérande1 de Opérande2. Opérande1 et Opérande2 doivent être des expressions qui correspondent aux nombres dans le domaine de valeur des Types de données. Si le résultat d'une Variable de Script est affecté, celle-ci doit présenter le type de données correspondant. Lors d'une tentative d'enregistrement d'un nombre négatif comportant le type de données "unsigned" dans une Variable, une erreur apparaît. S'il s'agit, lors du résultat, d'un nombre à virgule flottante et si la Variable de destination possède le type de données "signed" ou "unsigned", les chiffres après la virgule sont supprimés. Le type de données "flottant" prend en charge tant les nombres négatifs que les nombres variables. De plus, le type de données "chaîne" est également possible tant que le résultat n'est pas stocké comme un nombre mais comme une chaîne de caractères. Le type de données des Variables de Script est défini dans la définition avec le Script :DEFINE. Attention : lors d'opérations de calcul avec des nombres variables, le résultat peut être imprécis ! Le système compte toujours le type de données du résultat, et non celui des opérandes ! Si par exemple Opérande2 est négatif, cela peut produire un nombre positif qui peut à son tour être enregistré dans une Variable de destination avec le type de données "unsigned". Le résultat est retourné dans le format par défaut à 16 caractères. Les nombres variables possèdent 16 caractères supplémentaires après la virgule et lorsque des nombres négatifs sont pris en charge, le signe respectif (+ ou -) est placé en première position. Pour modifier le formatage, utilisez la fonction script FORMAT. 382 Chapter 3 Organisation fonctionnelle Exemple Dans l'exemple, le résultat de l'opération arithmétique est transmis à une Variable de Script. Opérande1 et Opérande2 sont indiqués dans une expression numérique. :SET &RESULTAT# = SUB(1000,999) L'exemple suivant montre une soustraction avec des nombres variables. :DEFINE &RESULTAT#,float :SET &RESULTAT# = SUB(10.31,-5.45) :P&RESULTAT# Le résultat s'affiche dans le protocole d'activation de la façon suivante . U0020408 +0000000000000015.7600000000000000 Rubriques connexes : Elément de script Description ADD Exécute une addition. MULT Exécute une multiplication. MOD Indique le quotient d'une division. DIV Exécute une division. RANDOM Génère des nombres aléatoires. Scripts – Calculs Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14 Chaînes 3.14.1 ALPHA2RUNNR Fonction script : Convertit le nom d'un Job ou d'un fichier de rapport en RunID; Syntaxe ALPHA2RUNNR(chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de 7 lettres Format : Littéral de script ou Variable de script Code retour Numéro courant (RunID) Automation Engine 383 Remarques La fonction de script convertit une chaîne de caractères composée de 7 lettres en RunID. Si vous enregistrez des Jobs et des rapports de Job dans le système de fichiers, leur nom de fichier intègre le numéro courant (RunID) du Job, sous la forme d'une chaîne de 7 lettres. Exemple de rapport de Job sous Windows : OGMITAEV.TXT. "O" marque le rapport de Job, "GMITAEV" est la chaîne de caractères du RunID utilisé 2000061045. Pour un traitement du nom de fichier dans un script, la chaîne de caractères doit être reconvertie en RunID (10 chiffres) avec ALPHA2RUNNR. La fonction de script RUNNR2ALPHA convertit le RunID à 10 chiffres en chaîne de 7 lettres. Exemples Dans l'exemple, la chaîne de 7 caractères est déterminée à partir du nom de fichier et affichée dans le protocole d'activation. :SET &ALPHA# = MID("JAADMXZT.TXT", 2, 7) :SET &RET# =ALPHA2RUNNR(&ALPHA#) :PRINT "RunID: &RET#" Rubriques connexes : Elément de script Description RUNNR2ALPHA Conversion du RunID en noms de fichier associés. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.2 CONVERT Fonction script : Convertit le type de données d'une valeur. Syntaxe CONVERT (type de données, valeur) Elément de syntaxe Description/format Type de données Type de données dans lequel la conversion doit être effectuée. Valeurs autorisées : "unsigned", "signed", "float" et "string" unsigned : nombres entiers positifs sans signes signed : nombres entiers avec signes float : nombres à virgule flottante string : chaîne de caractères, texte L'indication des types de données s'effectue sans guillemet ! 384 Chapter 3 Organisation fonctionnelle Valeur Valeur dont le type de données doit être converti en un autre type de données. Format : Littéral de script ou Variable de script Les chiffres doivent également être indiqués entre guillemets ! Code retour Valeur avec le type de données converti. Remarques La fonction script permet de convertir le type de données d'une valeur qui est indiquée soit directement, soit via une Variable de script en un autre type de données. Le code de retour est la valeur reconvertie devant être attribuée à une Variable cible. Attention : en utilisant cette fonction script, veillez à ce que le type de données de la valeur à convertir corresponde au type de données de la Variable cible. Les chaînes de caractères peuvent uniquement être converties en chiffres si la chaîne contient un nombre dans un format valide !" Si une tentative de convertir un type de données supérieur en un type inférieur est effectuée, les nombres décimaux seront arrondis ou les signes supprimés. Si le type de données de la Variable cible ne correspond pas au paramètre "Type de données" de la fonction, la conversion est impossible et une erreur de script apparaît ! Attention : la fonction de script ne permet pas de convertir les nombres négatifs ! Exemple Dans le premier exemple, un nombre entier positif est converti en une chaîne de caractères. :define&unsigned#, unsigned :define&string#, string :set&unsigned# = 12 :set&string# = CONVERT(string, &unsigned#) Dans le deuxième exemple, une chaîne de caractères est convertie en un nombre. Ceci est uniquement possible si la chaîne de caractères est composée d'un nombre qui présente un format valide pour le type de données cible. :define&unsigned#, unsigned :define&string#, string :set&string# = "1234" :set&unsigned# = CONVERT(unsigned,&string#) Rubriques connexes : Elément de script - Traitement d'objets Importation et exportation d'objets Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle Automation Engine 385 3.14.3 FORMAT Fonction de script : modification du formatage d'un nombre Syntaxe FORMAT(nombre [,format]) Elément de syntaxe Description/format Nombre Nombre devant être formaté. Format : Littéral de script ou Variable de script Format Zéros servant de caractères de remplacement pour les chiffres des nombres. Pour les nombres à virgule flottante, il est également possible d'indiquer un séparateur comme point décimal et le nombre de chiffres après la virgule. Format : littéral de script ou Variable de script Valeur par défaut : 0 Code retour Nombre formaté (type de données : chaîne) Remarques La fonction de Script permet d'ajouter ou de supprimer des zéros en tête d'un nombre entier. Pour les nombres à virgule flottante, il est possible de déterminer le nombre de chiffres après la virgule. L'utilisation du paramètre Format permet de déterminer le nombre de zéros en tête des nombres entiers. Le nombre de zéros que vous indiquez dans ce paramètre sert de caractère de remplacement pour l'ensemble du nombre de chiffres. Si le nombre de zéros est inférieur au nombre du chiffre, celui-ci n'est pas modifié. Si vous ne spécifiez pas ce paramètre, la fonction supprimera ses zéros en tête. Pour les nombres à virgule flottante, il est également possible d'indiquer le nombre de décimales. Saisissez à cet effet un point décimal comme séparateur dans le paramètre Format. Le nombre de chiffres après la virgule est défini par les zéros après le séparateur. Les chiffres après la virgule qui dépassent ce chiffre sont supprimés. Pas d'arrondi ! Si le point décimal n'est pas indiqué, tous les chiffres après la virgule seront supprimés ! Si le nombre possède moins de décimales qu'indiqué dans Format, le reste sera rempli de zéros. Si en plus dans Format, le premier signe indiqué est un '+' (par exemple : "+0.00"), le signe sera également affiché avec les chiffres positifs. La Variable de destination à laquelle le code retour de la fonction est attribué doit comporter le type de données "chaîne" ! Si, après suppression de tous les chiffres après la virgule, le résultat est 0, le signe n'a alors plus aucune importance et il sera supprimé. Exemples Le premier exemple supprime les zéros en tête du code retour à 16 chiffres d'une fonction de Script. Le résultat s'affiche dans le protocole d'activation. 386 Chapter 3 Organisation fonctionnelle :SET &SRV#=SYS_BUSY_60 :SET &RET#=FORMAT(&SRV#) :PRINT &RET# Dans le deuxième exemple, le nombre à 5 chiffres indiqué est formaté. Le résultat (00125) s'affiche dans le protocole d'activation. :SET &RET#=FORMAT("125","00000") :PRINT &RET# Dans le troisième exemple également, les zéros en tête sont supprimés, car le nombre de chiffres indiqué est trop petit. Le résultat (333) s'affiche dans le protocole d'activation. :SET &RET#=FORMAT("0000333","00") :PRINT &RET# Dans le quatrième exemple, le nombre n'est pas modifié. :SET &RET#=FORMAT("555","00") :PRINT &RET# Le cinquième exemple montre le formatage d'un nombre à virgule flottante sur un chiffre après la virgule. "0.7" s'affiche dans le protocole d'activation. :DEFINE&NUM#,float :DEFINE&RET#,string :SET&NUM#=-0.75 :SET &RET#=FORMAT(&NUM#,"00.0") :PRINT &RET# Dans le sixième exemple, les décimales sont supprimées. L'affichage dans le rapport d'activation est "0000". :DEFINE&NUM#,float :DEFINE&RET#,string :SET&NUM#=0.65 :SET &RET#=FORMAT(&NUM#,"0000") :PRINT &RET# Rubriques connexes : Elément de script Description STR_LTRIM Supprime les espaces qui figurent au début d'une chaîne de caractères. STR_RTRIM Supprime les espaces qui figurent à la fin d'une chaîne de caractères. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.4 HEX Fonction script : Conversion d'une chaîne de caractères au format hexadécimal Syntaxe HEX (chaîne de caractères) Elément de syntaxe Description/format Automation Engine Chaîne de caractères 387 Chaîne de caractères alphanumérique devant être convertie. Format : Littéral de script ou Variable de script Code retour Chaîne comportant 252 caractères maximum au format hexadécimal. Remarques La fonction de Script vous permet de définir chaque caractère d'une chaîne de caractères en fonction du jeu de caractères hexadécimal. Une chaîne de caractères devant se composer de 126 caractères maximum est transmise à la fonction de Script. Une Chaîne de caractères plus longue sera tronquée après le 126ème, sans message. Exemple Dans l'exemple, le format hexadécimal est appliqué à la chaîne de caractères. Le résultat "554334" s'affiche dans le protocole d'activation. : SET &RET# = HEX ( "UC4" ) : PRINT &RET# Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.5 ISNUMERIC Fonction du Script : vérifie si une chaîne de caractères est numérique. Syntaxe ISNUMERIC (chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères devant être vérifiée. Format : Littéral de script ou Variable de script Codes retour "Y" - La chaîne de caractères est numérique "N" - La chaîne de caractères n'est pas numérique 388 Chapter 3 Organisation fonctionnelle Remarques La fonction de Script vous permet de vérifier si tous les caractères d'une chaîne de caractères sont numériques. Exemples Les deux exemples indiquent le résultat "Y". : SET &RET# = ISNUMERIC ( "123" ) : PRINT &RET# : SET &RET# = ISNUMERIC ( "00123" ) : PRINT &RET# Dans le cas suivant, la chaîne n'est pas numérique. La fonction renvoie donc la valeur "N". : SET &RET# = ISNUMERIC ( "1abc" ) : PRINT &RET# Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.6 RUNNR2ALPHA Fonction script : Conversion du RunID en noms de fichier associés. Syntaxe RUNNR2ALPHA(RunID) Elément de syntaxe Description/format RunID Numéro courant à 10 caractères (RunID) Format : littéral de script, chiffre ou Variable de script Code retour Nom du fichier de Job ou de rapport. Remarques La fonction de script convertir un RunID à 10 caractères en chaîne de caractères composée de 7 lettres. Pour déterminer le nom à attribuer aux fichiers de Jobs et de rapports de Job enregistrés dans le système de fichiers, le RunID à 10 caractères est converti en chaîne de 7 lettres. Exemple de rapport de Job sous Windows : OGMITAEVN.TXT. "O" désigne le rapport de Job, "GMITAEVN" est la chaîne de caractères Automation Engine 389 du RunID converti 2000061045. Pour un traitement du nom de fichier dans un script, la chaîne de caractères formée (lettres) peut être déterminée à partir du RunID à 10 caractères. Pour chaque Job, la fonction de script GET_ATT avec les attributs FILENAME_JOB ou FILENAME_ SYSOUT fournit les noms de fichier du Job et du rapport de Job. La fonction de script ALPHA2RUNNR convertit la chaîne de 7 lettres en RunID de 10 chiffres. Exemples Dans l'exemple, le Job "GS.JOUR" est activé. Le RunID renvoyé est converti en chaîne de 7 caractères et affiché dans le protocole d'activation. :SET &RUNNR# = ACTIVATE_UC_OBJECT("GS.JOUR") :SET &RET# =RUNNR2ALPHA(&RUNNR#) :PRINT "ALPHA: &RET#" Rubriques connexes : Elément de script Description ALPHA2RUNNR Convertit le nom d'un Job ou d'un fichier de rapport en RunID; Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.7 STR_CAT Fonction script : Lie deux chaînes de caractères à une troisième. Syntaxe STR_CAT (Chaîne de caractères1, Chaîne de caractères2) Elément de syntaxe Description/format Chaîne de caractères1, chaîne de caractères2 Chaîne de caractères alphanumérique Format : Littéral de script ou Variable de script Code retour Chaîne de caractères composée des deux chaînes de caractères indiquées Exemple L'exemple utilise la fonction pour créer un titre (par ex. "Evaluation quotidienne 12.01.2005") et l'intégrer dans une Variable de Script. : SET &PROCESSUS# = "Evaluation quotidienne" : SET &DATE# = SYS_DATE ( "JJ.MM.AAAA" ) : SET &TITRE# = STR_CAT ( &PROCESSUS# , &DATE# ) 390 Chapter 3 Organisation fonctionnelle Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.8 STR_CUT, MID, SUBSTR Fonctions de Script : Copie des caractères d'une chaîne de caractères. Syntaxe STR_CUT(Chaîne de caractères, début[, longueur]) MID(Chaîne de caractères, début[, longueur]) SUBSTR(Chaîne de caractères, début[, longueur]) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique Format : Littéral de script ou Variable de script Début Position à partir de laquelle les caractères sont copiés Format : nombre sans guillemets ou Variable de Script Longueur Nombre de caractères devant être copiés Format : nombre sans guillemets ou Variable de Script Code retour Partie d'une chaîne de caractères Remarques Les fonctions de Script fonctionnent pareil. Elles copient les caractères d'une chaîne de caractères donnée. La longueur est un paramètre facultatif. Si elle n'est pas indiquée, tous les caractères sont indiqués jusqu'à la fin de la chaîne de caractères. La chaîne de caractères dans laquelle des éléments sont copiés reste bien sûr inchangée. Exemples Dans le premier exemple, la fonction rend "CD" comme valeur. Le résultat du deuxième exemple est "CDEFGH", la chaîne de caractères copiée jusqu'à la fin. :SET &STRING# = MID("ABCDEFGH",3,2) :SET &STRING# = STR_CUT("ABCDEFGH",3) Dans l'exemple suivant, la fonction sert à répartir un terme indiqué par l'Utilisateur. Les trois premiers caractères sont donc attribués à la première Variable de Script et le dernier caractère à la deuxième Variable de Script. Automation Engine 391 :READ &NOMTAB#, "04", "Veuillez indiquer le nom de table xxxy" :SET &PRETAB# = SUBSTR(&NOMTAB#,1,3) :SET &SUFTAB# = SUBSTR(&NOMTAB#,4,1) Rubriques connexes : Elément de script Description STR_ SUBSTITUTE Remplace des caractères ou une chaîne de caractères dans une chaîne de caractères. STR_CAT Lie deux chaînes de caractères à une troisième. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.9 STR_FIND Fonction script : Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. Syntaxe STR_FIND(chaîne de caractères1, chaîne de caractères2[, Start]) Elément de syntaxe Description/format Chaîne de caractères1 Chaîne de caractères alphanumérique dans laquelle la recherche doit avoir lieu. Format : Littéral de script ou Variable de script Chaîne de caractères2 Caractère unique ou chaîne de caractères alphanumérique recherché(e). Format : Littéral de script ou Variable de script Début Position à laquelle la recherche doit commencer. Format : nombre sans guillemets Valeur par défaut : 1 Codes retour Position à laquelle le caractère ou la chaîne de caractères a été trouvé(e). "0" - Le caractère ou la chaîne de caractères n'a pas été trouvé(e). Remarques La fonction recherche la chaîne de caractères2 dans la chaîne de caractères1 et commence donc la recherche à partir de Start. Si la position Start n'est pas indiquée, la recherche débute en position 1. La chaîne de caractères2 peut se composer d'un seul caractère. La recherche n'est pas sensible à la casse. Les majuscules et minuscules ne sont donc pas prises en compte. La fonction de Script indique de nouveau la première position à laquelle la chaîne de caractères2 a été trouvée comme valeur. La position est donc toujours comptée depuis le début de la chaîne de caractères1, pas à partir de Start. 392 Chapter 3 Organisation fonctionnelle Exemple Dans l'exemple, la recherche retourne à nouveau la valeur 4 après "#" dans la chaîne de caractères "UC4#01, UC4#02". Elle est affichée dans le protocole d'activation. :SET &CHAINE#="UC4#01, UC4#02" :SET &CHAINE_RECHERCHE#="#" :SET &POS#=STR_FIND(&CHAINE#,&CHAINE_RECHERCHE#) :PRINT &POS# Dans l'exemple suivant, la recherche débute en position 2. La position à laquelle la chaîne de caractères a été trouvée est la position 9. :SET &POS#=STR_FIND("UC4#01, UC4#02","UC4", 2) :PRINT &POS# Rubriques connexes : Elément de script Description STR_FIND_REVERSE Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. La recherche commence à la fin de la chaîne de caractères à rechercher. Scripts - Chaînes Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.10 STR_FIND_REVERSE Fonction script : Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. La recherche commence à la fin de la chaîne de caractères à rechercher. Syntaxe STR_FIND_REV[ERSE] (Chaîne de caractères1, Chaîne de caractères2) Elément de syntaxe Description/format Chaîne de caractères1 Chaîne de caractères alphanumérique dans laquelle la recherche doit avoir lieu. Format : Littéral de script ou Variable de script Chaîne de caractères2 Caractère unique ou chaîne de caractères alphanumérique recherché(e). Format : Littéral de script ou Variable de script Codes retour Position à laquelle le caractère ou la chaîne de caractères a été trouvé(e). "0" - Le caractère ou la chaîne de caractères n'a pas été trouvé(e). Automation Engine 393 Remarques La fonction de Script recherche si chaîne de caractères2 est identique à chaîne de caractères1. Contrairement à la fonction de Script STR_FIND , la recherche dans la chaîne de caractères1 commence par la fin. La chaîne de caractères2 ne doit également comprendre qu'un seul caractère. La recherche n'est pas sensible à la casse. Les majuscules et minuscules ne sont donc pas prises en compte. La fonction de Script indique de nouveau la première position à laquelle la chaîne de caractères2 a été trouvée comme valeur. La position est donc comptée depuis le début de la chaîne de caractères1. Exemple Dans l'exemple, la recherche retourne à nouveau la valeur 12 après "#" dans la chaîne de caractères "UC4#01, UC4#02". Elle est affichée dans le protocole d'activation. :SET &CHAINE#="UC4#01, UC4#02" :SET &CHAINE_RECHERCHE#="#" :SET &POS#=STR_FIND_REVERSE(&CHAINE#,&CHAINE_RECHERCHE#) :PRINT &POS# Dans l'exemple suivant, on effectue une recherche de chaîne de caractères. La position à laquelle celle-ci a été trouvée est la position 9. :SET &POS#=STR_FIND_REV("UC4#01, UC4#02","UC4") :PRINT &POS# Rubriques connexes : Elément de script Description STR_FIND Recherche un caractère ou une chaîne de caractères dans une chaîne de caractères. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.11 STR_LC, CONV_LC Fonctions de Script : Transforment toutes les majuscules d'une chaîne de caractères en minuscules. Syntaxe STR_LC(Chaîne de caractères) CONV_LC(Chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique Format : Littéral de script ou Variable de script 394 Chapter 3 Organisation fonctionnelle Code retour Chaîne de caractères dans laquelle toutes les lettres sont en minuscules. Remarques Les deux fonctions de Script fonctionnent pareil. Exemples Les deux exemples transforment une chaîne de caractères en minuscules. La chaîne de caractères est transmise à la fonction sous forme de littéral de chaîne dans le premier exemple et dans le deuxième, sous forme de Variable de Script. Les résultats de la fonction sont "abcdefgh 123&%$§" et "ucaagx.htm". :SET &CHAINE# = CONV_LC("ABCDEFGH 123&%$§") :SET &NOM# = "UCAAGX.HTM" :SET &CHAINE# = STR_LC(&NOM#) Rubriques connexes : Elément de script Description CONV_UC ou STR_ UC Transforment toutes les minuscules d'une chaîne de caractères en majuscules. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.12 STR_LENGTH, STR_LNG Fonctions de Script : Détermination de la longueur d'une chaîne de caractères. Syntaxe STR_LENGTH (Chaîne de caractères) STR_LNG (Chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique Format : Littéral de script ou Variable de script Code retour Nombre de caractères dans une chaîne Automation Engine 395 Remarques Les deux fonctions de Script fonctionnent pareil. Exemples Le premier exemple indique qu'il y a 14 caractères. : SET &nombre# = STR_LENGTH ( " Logiciel UC4 " ) Le deuxième exemple détermine la longueur d'une chaîne de caractères transmise dans une Variable de Script. : SET &nombre# = STR_LENGTH ( &chaîne de caractères ) Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.13 STR_LTRIM Fonction du Script : supprime les espaces qui figurent au début d'une chaîne de caractères. Syntaxe STR_LTRIM(chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique devant être modifiée. Format : Littéral de script ou Variable de script Code retour Chaîne de caractère sans espace en tête Exemple L'exemple affiche le résultat ("La base de données est ouverte... ") dans le protocole d'activation. :SET &RET# = STR_LTRIM(" :PRINT &RET# La base de données s'ouvre... ") Rubriques connexes : Elément de script Description STR_RTRIM Supprime les espaces qui figurent à la fin d'une chaîne de caractères. 396 Chapter 3 Organisation fonctionnelle STR_TRIM Supprime les espaces qui figurent au début et à la fin d'une chaîne de caractères. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.14 STR_MATCH Fonction script : Comparaison de deux chaînes de caractères Syntaxe STR_MATCH(chaîne de caractères1, chaîne de caractères2[, caractère générique1[, caractère générique2]]) Elément de syntaxe Description/format Chaîne de caractères1 Chaînes de caractères alphanumérique devant être comparées. Format : Littéral de script ou Variable de script Chaîne de caractères2 Chaînes de caractères alphanumérique devant être comparées. Format : Littéral de script ou Variable de script Caractère générique 1 Caractère générique pour un nombre de caractère Format : littéral de script ou Variable de script Valeur par défaut : "*" Caractère générique 2 Caractères génériques pour un caractère précis. Format : littéral de script ou Variable de script Valeur par défaut : "_" Codes retour "Y" - Les chaînes sont identiques. "N" - Les chaînes sont différentes. Remarques La fonction de Script compare si chaîne de caractères2 est identique à chaîne de caractères1. Les majuscules et les minuscules sont à cet effet différenciées (sensible à la casse). Des caractères génériques peuvent être utilisés dans la chaîne de caractères2 pour créer une trame de comparaison. Par défaut, "*" signifie n'importe quelle chaîne de caractères et "_" exactement un caractère. D'autres caractères génériques peuvent être utilisés et attribués à la chaîne de caractères1 et/ou à la chaîne de caractères2. Exemples Le premier exemple affiche le résultat "N" dans le protocole d'activation. Automation Engine 397 :SET &RET# = STR_MATCH("Interface Utilisateur", "Interface Utilisateur") :PRINT &RET# Le deuxième exemple utilise des caractères génériques pour la comparaison. Le résultat "Y" est affiché dans le protocole d'activation. :SET &RET# = STR_MATCH("Interface Utilisateur","U*I*") :PRINT &RET# Le troisième exemple utilise un caractère générique défini de manière explicite. Le résultat "Y" est affiché dans le protocole d'activation. :SET &RET# = STR_MATCH("Interface Utilisateur", "Utilisateur#", "#") :PRINT &RET# Dans le quatrième exemple, un caractère générique est également utilisé. Il désigne toutefois un caractère précis. Par conséquent, le résultat est "N". :SET &RET# = STR_MATCH("Interface Utilisateur", "Utilisateur#",, "#") :PRINT &RET# Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.15 STR_REVERSE Fonction script : Inverse l'ordre des caractères d'une chaîne. Syntaxe STR_REVERSE (chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique devant être traitée. Format : Littéral de script ou Variable de script Code retour Chaîne de caractères dont les caractères sont en ordre inversé Exemple Le premier exemple affiche le résultat "4CU" dans le protocole d'activation. : SET &RET# = STR_REVERSE ( "UC4" ) : PRINT &RET# Rubriques connexes : Scripts - Chaînes 398 Chapter 3 Organisation fonctionnelle Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.16 STR_RTRIM Fonction du Script : supprime les espaces qui figurent à la fin d'une chaîne de caractères. Syntaxe STR_RTRIM(chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique devant être modifiée. Format : Littéral de script ou Variable de script Code retour Chaîne de caractère sans espace à la fin Exemple L'exemple affiche le résultat ("La base de données est ouverte... ") dans le protocole d'activation. :SET &RET# = STR_RTRIM(" :PRINT &RET# La base de données s'ouvre... ") Rubriques connexes : Elément de script Description STR_LTRIM Supprime les espaces qui figurent au début d'une chaîne de caractères. STR_TRIM Supprime les espaces qui figurent au début et à la fin d'une chaîne de caractères. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.17 STR_SUBSTITUTE Fonction script : Remplace des caractères ou une chaîne de caractères dans une chaîne de caractères. Syntaxe STR_SUB[STITUTE] (Chaîne de caractères, [Ancienne] [,Nouvelle]) Elément de syntaxe Description/format Automation Engine 399 Chaîne de caractères Chaîne de caractères alphanumérique dans laquelle des remplacements doivent être réalisés. Format: Littéral de script ou Variable de script Ancienne Chaîne de caractères alphanumérique devant être remplacée dans la chaîne de caractères. Format: littéral de script ou Variable de script Valeur par défaut : " " Nouveau Chaîne de caractères alphanumérique devant remplacer Ancienne. Format: littéral de script ou Variable de script Valeur par défaut : " " Code retour Chaîne de caractères devant être créée par le remplacement. Remarques La fonction de script remplace un caractère ou une chaîne de caractères dans une chaîne de caractères. Ancien et Nouveau ne peuvent pas contenir plus de 1024 caractères et sont utilisés en option. Si Ancien n'a pas été indiqué comme paramètre, chaque espace est remplacé par Nouveau via le caractère ou la chaîne de caractères. Si Nouveau n'est pas utilisé comme paramètre, Ancien est remplacé par un espace. Si Ancien n'apparaît pas dans Base, la fonction renvoie la chaîne de caractères indiquée dans Base. La fonction de script peut également servir à effacer Ancien de la chaîne de caractères. Pour cela, deux guillemets successifs (sans espace) doivent être indiqués comme Nouveau. Exemple Dans le premier exemple, le caractère "A" est remplacé par le caractère "B". Le résultat "BBBBB" est affiché dans le protocole d'activation. :SET &RET# = STR_SUBSTITUTE ("AAAAA", "A", "B") :PRINT &RET# Le deuxième exemple remplace la chaîne de caractères "AAAAA" par le caractère "B". Le résultat "B" est affiché dans le protocole d'activation. :SET &RET# = STR_SUBSTITUTE ("AAAAA", "AAAAA", "B") :PRINT &RET# Dans le troisième exemple, la chaîne de caractères "AA" est remplacée par la chaîne de caractères "BB". Le résultat "BBBBA" est affiché dans le protocole d'activation. :SET &STR1# = "AA" :SET &STR2# = "BB" :SET &RET# = STR_SUB ("AAAAA", &STR1#, &STR2#) :PRINT &RET# Le quatrième exemple efface les espaces de la chaîne de caractères. Le résultat "UC4" est affiché dans le protocole d'activation. :SET &RET# = STR_SUB ("U C 4", " ", "") :PRINT&RET# 400 Chapter 3 Organisation fonctionnelle Rubriques connexes : Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.18 STR_SUBSTITUTE_VAR, STR_SUB_VAR Fonction script : Remplace le nom de Variables de scripts par leur valeur. Syntaxe STR_SUB[STITUTE]_VAR(Variables) Elément de syntaxe Description/format Variables Variable de script ou chaîne de caractères contenant un ou plusieurs noms de Variable Format : littéral de script ou Variable de script Code retour Chaîne de caractères avec les valeurs des Variables de script Remarques L'élément STR_SUB_VAR permet de remplacer un ou plusieurs noms de Variables de script par la valeur de Variable réelle qui à leur tour sont enregistrés comme chaîne de caractères dans une autre Variable de script. Les exemples suivants permettent d'expliquer ce comportement. Dans l'élément GET_PROCESS_LINE, il existe un paramètre qui est également désigné STR_SUB [STITUTE]_VAR et qui exécute le même remplacement pour la ligne d'une séquence de données. Exemple Dans l'exemple suivant, le nom d'une Variable de script (&VAR#) est enregistré dans une autre Variable (&VAR_NOSUB#) en indiquant deux fois le caractère &. Si &VAR_NOSUB# s'affiche, le nom de la Variable de script &VAR# est écrit dans le protocole d'activation. Pour le remplacer également par la valeur de la Variable, l'élément STR_SUB_VAR doit être utilisé. :SET&VAR# = "Variable de script" :SET&VAR_NOSUB# = "&&VAR# = &VAR#" :PRINT&VAR_NOSUB# :SET &VAR_SUB# = STR_SUB_VAR(&VAR_NOSUB#) :PRINT&VAR_SUB# Affichage dans le protocole d'activation : 2011-05-06 10:34:04 - U0020408 &VAR# = Variable de script 2011-05-06 10:34:04 - U0020408 Variable de script = Variable de script Automation Engine 401 Dans le deuxième exemple, une valeur est déterminée à partir de l'objet Variable VARA.SUB qui à son tour contient le nom de 2 Variables de script. Ces 2 Variables de script sont ensuite créées et exécutées. Si la valeur de l'objet Variable s'affiche directement, seuls les noms des Variables de script sont écrits dans le rapport. Aucun remplacement direct des valeurs n'est effectué. Pour remplacer les noms des 2 Variables de script par leur valeur, l'élément STR_SUB_VAR est nécessaire. :SET&VARA# = GET_VAR(VARA.SUB, "SUBVAR") :SET&VAR1# = "Hello" :SET&VAR2# = "World" :PRINT"Contenu sans remplacement : &VARA#" :SET&VARA_SUB_VAR# = STR_SUB_VAR(&VARA#) :PRINT"Contenu avec remplacements : &VARA_SUB_VAR#" Sortie d'abord sans, puis avec STR_SUB_VAR : 2011-05-06 10:34:04 - U0020408 Contenu sans remplacement : &VAR1# &VAR2# 2011-05-06 10:34:04 - U0020408 Contenu avec remplacements : Hello World Rubriques connexes : Elément de script Description GET_PROCESS_LINE Détermine le contenu actuel des lignes d'une séquence de données. Elément de script - Activation d'objets Exemples Alerte avec texte du message variable Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.19 STR_TRIM Fonction du Script : supprime les espaces qui figurent au début et à la fin d'une chaîne de caractères. Syntaxe STR_TRIM(chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique devant être modifiée. Format : Littéral de script ou Variable de script Code retour Chaîne de caractères sans espace en tête et à la fin Exemple L'exemple affiche le résultat ("La base de données est ouverte... ") dans le protocole d'activation. 402 Chapter 3 Organisation fonctionnelle :SET &RET# = STR_TRIM(" :PRINT &RET# La base de données est ouverte... ") Rubriques connexes : Elément de script Description STR_LTRIM Supprime les espaces qui figurent au début d'une chaîne de caractères. STR_RTRIM Supprime les espaces qui figurent à la fin d'une chaîne de caractères. Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.20 STR_UC, CONV_UC Fonctions de Script : Transforment toutes les minuscules d'une chaîne de caractères en majuscules. Syntaxe STR_UC(Chaîne de caractères) CONV_UC(Chaîne de caractères) Elément de syntaxe Description/format Chaîne de caractères Chaîne de caractères alphanumérique Format : Littéral de script ou Variable de script Code retour Chaîne de caractères dans laquelle toutes les lettres sont en majuscules. Remarques Les deux fonctions de Script fonctionnent pareil. Exemples Les deux exemples transforment une chaîne de caractères en majuscules. La chaîne de caractères est transmise à la fonction sous forme de littéral de chaîne dans le premier exemple et dans le deuxième, sous forme de Variable de Script. Les résultats de la fonction sont "ABCDEFGH 123&%$§" et "VEUILLEZ LANCER LA SAUVEGARDE !". :SET &CHAINE# = CONV_LC("abcdefgh 123&%$§') :SET &MSG# = "Veuillez lancer la sauvegarde !" :SET &CHAINE# = STR_UC(&MSG#) Rubriques connexes : Automation Engine Elément de script Description CONV_LC ou STR_ LC Transforment toutes les majuscules d'une chaîne de caractères en minuscules. 403 Scripts - Chaînes Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 3.14.21 UC_CRLF Fonction script : Indique un retour à la ligne. Syntaxe UC_CRLF() Exemples Dans le premier exemple, le message d'Alerte s'affiche sur deux lignes. :PUT_ATT CALL_TEXT = "Le Workflow GS.JOUR est bloqué." :PUT_ATT_APPEND CALL_TEXT = UC_CRLF() :PUT_ATT_APPEND CALL_TEXT = "Escalade dans 10 minutes." Dans le deuxième exemple, le même message s'affiche. Le retour à la ligne est toutefois réalisé par une Variable de script. :SET &NL#=UC_CRLF() :PUT_ATT CALL_TEXT = "Le Workflow GS.JOUR est bloqué.&NL#Escalade dans 10 minutes." Bien sûr, la fonction de script peut également être utilisée pour les textes que vous envoyez par e-mail, comme le montre le troisième exemple. :SET &NL#= UC_CRLF() :SET &TEXT# = "Le Workflow GS.JOUR est bloqué.&NL#Escalade dans 10 minutes." :SET &RET# = SEND_MAIL("[email protected]",,"La Tâche ne peut pas démarrer",&TEXTE#) Rubriques connexes : Elément de script - Traitement des erreurs et messages Exemples Détermination du message d'erreur et du numéro de l'erreur Généralités sur les scripts Elément de script - Liste alphabétique Elément de script - Division fonctionnelle 404 Chapter 4 JCL UC4 pour les applications 4 JCL UC4 pour les applications 4.1 Généralités sur le JCL UC4 pour les applications UC4 fournit non seulement des objets Job pour les systèmes d'exploitation, mais aussi pour les solutions logicielles standard comme SAP, PeopleSoft, Oracle Applications et Siebel. Etant donné que ces dernières ne fonctionnent pas avec un JCL (Job Control Language), mais avec des interfaces, le script UC4 comporte toute une série de fonctions spéciales qui permettent d'exécuter des instructions de traitement. Ces fonctions sont créées à l'aide d'une interface graphique (Générateur) qui est par ailleurs en connexion avec le système standard considéré. Vous pouvez également définir les instructions de manière classique dans les onglets Script de l'objet Job (éditeur de script). Rubriques connexes : Généralités sur les scriptsOnglet Forme (SAP) Onglet Forme (PeopleSoft) 4.2 Oracle Applications 4.2.1 Généralités sur le JCL Oracle Applications Le résumé suivant présente le Script JCL pour Oracle Applications et les interfaces correspondantes. Elément de script Elément de script Description OA_ADD_LAYOUT Ajout d'une mise en page dans une requête. OA_ADD_ NOTIFICATION Ajout d'une notification dans une requête. OA_ADD_PRINTER Ajout d'une imprimante supplémentaire dans une requête. OA_SET_PRINT_ DEFAULTS Définition de valeurs par défaut pour les paramètres d'impression utilisés lors de l'exécution de programmes simultanés. OA_SUBMIT_ REQUEST Envoi d'une requête d'exécution d'un programme simultané dans Oracle Applications. Rubriques connexes : Généralités sur le JCL UC4 pour les applications Automation Engine 405 4.2.2 OA_ADD_LAYOUT Ajout d'une mise en page dans une requête. Syntaxe OA_ADD_LAYOUT [APPLICATION=...] [,NAME=...] [,LANGUAGE=...] [,TERRITORY=...] [,OUTPUTFORMAT=...] Elément de syntaxe Description/format APPLICATION= Nom court de l'application de modèles Format : Littéral de script NAME= Désignation du modèle Format : Littéral de script LANGUAGE= Langue du fichier de modèle Format : Littéral de script TERRITORY= Territoire du fichier de modèle Format : Littéral de script OUTPUTFORMAT= Format de sortie Format : Littéral de script Remarques Dans le Script, vous devez appeler l'instruction OA_ADD_LAYOUT pour chaque mise en page. Dès que OA_SUBMIT_REQUEST est exécuté, l'Agent transmet les données à Oracle. Si d'autres soumissions ont lieu dans le Script, vous devez tout d'abord redéfinir les mises en page à l'aide d'instructions OA_ ADD_LAYOUT. Si une erreur se produit lors de la transmission des informations sur la mise en page, elle est journalisée dans le rapport d'activation et le Job se termine avec le code retour 10. Attention : l'utilisation de l'instruction OA_ADD_LAYOUT nécessite au moins Oracle Applications version 11.5.10.2 ! Exemple OA_ADD_LAYOUT APPLICATION='FND',NAME='XXPOST_XXPPOPS_ PP2',LANGUAGE='en',TERRITORY='US',OUTPUTFORMAT='PDF' Rubriques connexes : Généralités sur le JCL Oracle Applications 406 Chapter 4 JCL UC4 pour les applications 4.2.3 OA_ADD_NOTIFICATION Ajout d'une notification dans une requête. Syntaxe OA_ADD_NOTIFICATION USER=... Elément de syntaxe Description/format USER= Nom de l'Utilisateur Format : Littéral de script Remarques Dans le Script, vous devez appeler l'instruction OA_ADD_NOTIFICATION pour chaque Alerte. Dès que OA_SUBMIT_REQUEST est exécuté, l'Agent transmet les données à Oracle. Si d'autres soumissions ont lieu dans le Script, vous devez tout d'abord redéfinir les Alertes à l'aide d'instructions OA_ADD_ NOTIFICATION. Si une erreur se produit lors de la transmission d'une Alerte, elle est journalisée dans le rapport d'activation et le Job se termine avec le code retour 10. Exemple OA_ADD_NOTIFICATION USER='MAX MEIER' Rubriques connexes : Généralités sur le JCL Oracle Applications 4.2.4 OA_ADD_PRINTER Ajout d'une imprimante supplémentaire dans une requête. Syntaxe OA_ADD_PRINTER PRINTER=... [,COPIES=...] Elément de syntaxe Description/format PRINTER= Nom de l'imprimante Format : Littéral de script Automation Engine COPIES= 407 Nombre de copies Format : Nombre Valeur par défaut : "0" Remarques L'instruction OA_SET_PRINT_DEFAULTS permet de définir une seule imprimante. Par conséquent, utilisez OA_ADD_PRINTER pour en indiquer plusieurs. Dans le Script, vous devez appeler l'instruction pour chaque imprimante. Dès qu'OA_SUBMIT_ REQUEST est exécuté, l'Agent transmet à Oracle les données sur l'imprimante. Si d'autres soumissions ont lieu dans le Script, vous devez tout d'abord redéfinir les imprimantes à l'aide d'instructions OA_ADD_ PRINTER. En revanche, si vous indiquez une imprimante à l'aide de l'instruction OA_SET_PRINT_DEFAULTS, elle est utilisée pour tous les appels OA_SUBMIT_REQUEST suivants, et ce jusqu'à la fin du Job ou jusqu'à l'instruction OA_SET_PRINT_DEFAULTS suivante. Si une erreur se produit lors de la transmission des informations sur l'imprimante, elle est journalisée dans le rapport d'activation et le Job se termine avec le code retour 10. Exemple OA_ADD_PRINTER PRINTER='HPLJ',COPIES=2 Rubriques connexes : Généralités sur le JCL Oracle Applications 4.2.5 OA_SET_PRINT_DEFAULTS Définition de valeurs par défaut pour les paramètres d'impression utilisés lors de l'exécution de programmes simultanés. Syntaxe OA_SET_PRINT_DEFAULTS PRINTER=... [,STYLE=...] [,COPIES=...] Elément de syntaxe Description/format PRINTER= Nom de l'imprimante Format : Littéral de script STYLE= Style Format : Littéral de script 408 Chapter 4 JCL UC4 pour les applications COPIES= Nombre de copies Format : Nombre Valeur par défaut : "0" Remarques Les scripts permettent d'attribuer des valeurs par défaut aux paramètres d'impression. Celles-ci s'appliquent à l'ensemble du script ou jusqu'à l'attribution d'une nouvelle valeur par défaut. Les valeurs par défaut ne sont valides que pour le Job dans lequel elles ont été définies. La définition de valeurs par défaut améliore la visibilité du script UC4. En même temps, les problèmes liés à la limitation á 255 caractères/ligne sont évités car l'instruction de traitement même est seulement compilée dans l'Agent pour Oracle Applications. Le Script est utilisé avec OA_SUBMIT_REQUEST pour attribuer des valeurs par défaut aux paramètres d'impression. Exemple L'exemple suivant montre comment sont définies les valeurs par défaut pour l'imprimante et le nombre d'exemplaires. OA_SET_PRINT_DEFAULTS PRINTER='MINE' OA_SET_PRINT_DEFAULTS COPIES=2 OA_SUBMIT_REQUEST APPLICATION='FND',PROGRAM='MYPROG',DESCRIPTION='Exécution du dimanche de UC4',ARG1='602' Rubriques connexes : Généralités sur le JCL Oracle Applications 4.2.6 OA_SUBMIT_REQUEST Envoi d'une requête d'exécution d'un programme simultané dans Oracle Applications. Syntaxe OA_SUBMIT_REQUEST APPLICATION=... ,PROGRAM=... [,DESCRIPTION=...] [,ARG1=...[,ARGn=...]] Elément de syntaxe Description/format APPLICATION= Nom de l'application à laquelle appartient le programme à exécuter. Format : Littéral de script Automation Engine PROGRAM= Nom du programme simultané qui doit être exécuté. Format : Littéral de script DESCRIPTION= Description du processus simultané. Format : Littéral de script 409 Cette description est affichée en ligne sous forme d'une Concurrent Request. ARG1= : ARGn= Paramètres quelconques transmis au programme simultané. Il peut s'agir de fonctions, de constantes, de mots clés, etc. Exemples : chr(0), NULL, 'abc', NAME_IN('ORDERS.ORDER_ID'), 123 Format : Littéral de script Remarques Le Script génère une requête de processus pour un programme simultané dans Oracle Applications et surveille l'exécution. UC4 reconnaît la fin du processus simultané grâce à la phase et au statut correspondant. Les paramètres ARG1 à ARGn doivent être placés entre des guillemets doubles suivis de guillemets simples, sauf s'il s'agit de Variables. Exemple Dans l'exemple, le programme simultané "MYPROG" doit être exécuté dans Oracle Applications. En outre, la description et un paramètre supplémentaire sont transmis. OA_SUBMIT_REQUEST APPLICATION='FND',PROGRAM='MYPROG',DESCRIPTION="'Exécution du dimanche d'UC4'",ARG1="'602'" L'exemple suivant montre l'utilisation des guillemets autour du paramètre ARG1. OA_SUBMIT_REQUEST APPLICATION='FND',PROGRAM='FNDPRNEV',ARG1="'PRINTER'" Rubriques connexes : Généralités sur le JCL Oracle Applications 4.3 PeopleSoft 4.3.1 Généralités sur le JCL PeopleSoft Le résumé suivant présente le Script JCL pour PeopleSoft et les interfaces correspondantes. Scripts et interfaces utilisées Elément de script Description Interface 410 Chapter 4 JCL UC4 pour les applications PS_GET_ HEARTBEAT Surveillance d'un PeopleSoft Process Scheduler Server. PROCESSREQUEST_ SBB PS_GRANT_ OUTPUT_ACCESS Autorise l'accès des Utilisateurs ou rôles à la sortie du processus PeopleSoft. PROCESSREQUEST_ SBB PS_MODIFY_ RUNCONTROL Modification de paramètres particuliers dans des contrôles d'exécution. PROCESSREQUEST_ SBB PS_RUN_JOB Démarrage et surveillance d'un Job PeopleSoft. PROCESSREQUEST_ SBB PS_RUN_PROCESS Démarrage et surveillance d'un processus PeopleSoft. Pas de PROCESSREQUEST ou PROCESSREQUEST_ SBB (dépend des paramètres utilisés) PS_SET_BINDVAR Remplace la valeur d'une Variable de liaison dans une définition de processus. PROCESSREQUEST_ SBB Rubriques connexes : Généralités sur le JCL UC4 pour les applications 4.3.2 PS_GET_HEARTBEAT Surveillance d'un PeopleSoft Process Scheduler Server. Interface : PROCESSREQUEST_SBB Version PeopleSoft : 8+ Syntaxe PS_GET_HEARTBEAT RUNLOCATION=... [,MAXPERIOD=...] Elément de syntaxe Description/format RUNLOCATION= Nom d'un PeopleSoft Process Scheduler Batch Server attribué, par exemple PSUNX ou PSNT. Format : Littéral de script MAXPERIOD= Intervalle maximal autorisé (en secondes) entre l'heure système du serveur de base de données PeopleSoft et l'heure du dernier battement de cœur du Process Scheduler Server. Format : Nombre Automation Engine 411 Remarques Chaque Process Scheduler Server se connecte régulièrement à la base de données PeopleSoft. Ce processus est appelé "battement de cœur du Process Scheduler Server". Le Script PS_GET_HEARTBEAT permet de surveiller la disponibilité du Process Scheduler Server. Il détermine l'heure système du serveur de base de données PeopleSoft et l'heure du dernier battement de cœur du Process Scheduler Server indiqué. Ces deux éléments sont ensuite affichés dans l'état d'activation du Job UC4. Le message portant le numéro U2004942 indique l'heure du serveur de base de données, puis celle du dernier battement de cœur. Ces informations peuvent être évaluées lors du post traitement. Si le paramètre facultatif MAXPERIOD est utilisé, l'écart entre l'heure du serveur de base de données PeopleSoft et celle du dernier battement de cœur est calculé et comparé à l'intervalle indiqué ici. Si l'écart calculé dépasse l'intervalle maximal autorisé, le Job UC4 est interrompu. S'il est inférieur ou égal à l'intervalle maximal autorisé, le Job UC4 se termine normalement. Exemples Dans le premier exemple, l'heure système du serveur de base de données PeopleSoft et l'heure du dernier battement de cœur du Process Scheduler Server "PSNT" sont déterminées et affichées dans l'état d'activation. PS_GET_HEARTBEAT RUNLOCATION='PSNT' Le second exemple compare l'écart entre l'heure du serveur de base de données PeopleSoft et l'heure du dernier battement de cœur du serveur "PSNT" à l'intervalle maximal autorisé. Le dernier battement de cœur doit être intervenu au maximum 20 secondes avant l'heure du serveur de base de données PeopleSoft. PS_GET_HEARTBEAT RUNLOCATION='PSNT', MAXPERIOD=20 Rubriques connexes : Généralités sur le JCL PeopleSoft 4.3.3 PS_GRANT_OUTPUT_ACCESS Autorise l'accès des Utilisateurs ou rôles à la sortie du processus PeopleSoft. Interface : PROCESSREQUEST_SBB Version PeopleSoft : 8+ Syntaxe PS_GRANT_OUTPUT_ACCESS NAME=... [,TYPE=...] [,PID=...] [,JOBITEM=...] Elément de syntaxe Description/format 412 Chapter 4 JCL UC4 pour les applications NAME= Identification des autorisations : nom d'un rôle ou d'un Utilisateur Format : Littéral de script TYPE= Type d'autorisation : Rôle ou Utilisateur Format : Littéral de script Valeurs autorisées : "R" (par défaut) et "U" "R" - Autorisation accordée à un rôle. "U" - Autorisation accordée à un Utilisateur. Si vous indiquez autre chose que "R" ou "U", l'Agent utilise automatiquement la valeur "R". PID= Numéro d'instance du processus Format : Nombre JOBITEM= Numéro d'item d'un processus au sein d'un Job PeopleSoft Format : Nombre Remarques Le Script permet d'attribuer de manière dynamique et automatisée des autorisations d'accès à la sortie d'un processus PeopleSoft, après l'exécution de celui-ci. Les autorisations peuvent être accordées pour des rôles ou des Utilisateurs. Le paramètre facultatif PID= permet de spécifier un processus précis. Si vous ne l'utilisez pas, le Script se réfère à la dernière instance de processus (PS_RUN_PROCESS) ou de Job (PS_RUN_JOB) démarrée ou surveillée. Si le Script fait référence à un Job PeopleSoft, vous pouvez accorder des autorisations particulières pour chaque processus de ce Job à l'aide de JOBITEM=. Le paramètre JOBITEM=1 désigne les autorisations accordées au premier processus, JOBITEM=2 au deuxième processus, etc. Au cas où ce paramètre n'est pas renseigné, tous les processus du Job PeopleSoft bénéficient des mêmes autorisations. Exemple Dans l'exemple, une autorisation d'accès à la sortie d'un processus PeopleSoft est accordée à l'Utilisateur "PS". PS_GRANT_OUTPUT_ACCESS NAME='PS',TYPE='U' Rubriques connexes : Généralités sur le JCL PeopleSoft 4.3.4 PS_MODIFY_RUNCONTROL Modification de paramètres particuliers dans des contrôles d'exécution. Interface : PROCESSREQUEST_SBB Version PeopleSoft : 8+ Automation Engine 413 Syntaxe PS_MODIFY_RUNCONTROL RUNCONTROLID=... ,RECORDNAME=... ,FIELDNAME=... ,FIELDVALUE=... [,KEYNAME(1)=... ,KEYVALUE(1)=...] [,KEYNAME(2)=... ,KEYVALUE(2)=...] [,KEYNAME(3)=... ,KEYVALUE(3)=...] Elément de syntaxe Description/format RUNCONTROLID= ID de contrôle d'exécution du Job PeopleSoft. Format : Littéral de script RECORDNAME= Nom d'un enregistrement PeopleSoft qui fait partie d'un contrôle d'exécution. Format : Littéral de script FIELDNAME= Nom d'un champ de l'enregistrement PeopleSoft. Format : Littéral de script FIELDVALUE= Valeur qui doit être attribuée au champ. Format : Littéral de script KEYNAME(n)= Clé figurant dans la table des contrôles d'exécution. Format : Littéral de script La lettre "n" indique le niveau. Les valeurs comprises entre 1 et 3 sont autorisées. KEYVALUE(n)= Valeur du champ de clé Format : Littéral de script La lettre "n" indique le niveau. Les valeurs comprises entre 1 et 3 sont autorisées. Remarques Le Script permet d'attribuer de nouvelles valeurs aux champs des enregistrements PeopleSoft et de modifier ainsi directement les paramètres des contrôles d'exécution. Les PeopleCodes définis pour l'enregistrement et les champs n'étant alors pas exécutés, vous devez vous assurer de la plausibilité des nouvelles valeurs. L'attribution incorrecte de valeurs peut également aboutir à des incohérences. C'est le cas, par exemple, si vous affectez une nouvelle valeur à une date de début sans redéfinir la date de fin correspondante. Pour éviter tout conflit, nous vous recommandons de créer des ID de contrôle d'exécution et de les utiliser pour les traitements batch avec UC4. Si une clé est absente ou erronée, la modification est interrompue et le Job présente une fin anormale. 414 Chapter 4 JCL UC4 pour les applications Les tableaux de contrôle d'exécution PeopleSoft possèdent toujours 2 clés fixes : OPRID et RUN_ CNTL_ID. Veuillez noter que ces paramètres ne sont pas à indiquer lors de l'utilisation du Script, car ils sont générés automatiquement. Sinon, les modifications ne sont pas effectuées dans le tableau. Exemple Dans le premier exemple, une nouvelle date est attribuée au champ "ASOFDATE" de l'enregistrement PeopleSoft "RUN_CTRL_HR". PS_MODIFY_RUNCONTROL RUNCONTROLID='sbb',RECORDNAME='RUN_CNTL_ HR',FIELDNAME='ASOFDATE',FIELDVALUE='20020117' Le second exemple présente la modification d'un contrôle d'exécution pour la conversion monétaire. PS_MODIFY_RUNCONTROL RUNCONTROLID='myRunControl',RECORDNAME='RUN_CNTL_CC2_ EO',FIELDNAME='RATE_MULT',FIELDVALUE='100',KEYNAME(1)='CURRENCY_ CD',KEYVALUE(1)='AUT' Rubriques connexes : Modifications apportées aux contrôles d'exécution Généralités sur le JCL de PeopleSoft 4.3.5 PS_RUN_JOB Démarrage et surveillance d'un Job PeopleSoft. Interface : PROCESSREQUEST_SBB Version PeopleSoft : 8+ Syntaxe PS_RUN_JOB JOBNAME=... ,RUNCONTROLID=... [,RUNLOCATION=...] [,OUTPUTDEST=...] [,OUTDESTTYPE=...] [,OUTDESTFORMAT=...] Elément de syntaxe Description/format JOBNAME= Nom du Job PeopleSoft à démarrer et à surveiller. Format : Littéral de script RUNCONTROLID= ID de contrôle d'exécution du Job PeopleSoft. Format : Littéral de script RUNLOCATION= Nom d'un PeopleSoft Process Scheduler Batch Server attribué, par exemple PSUNX ou PSNT. Format : Littéral de script OUTPUTDEST= Répertoire dans lequel la sortie du Job PeopleSoft est écrite. Format : Littéral de script Automation Engine OUTDESTTYPE= 415 Type de sortie du Job PeopleSoft (par exemple, un fichier, une imprimante ou un e-mail). Format : Littéral de script Vous pouvez afficher toutes les valeurs valides à l'aide de l'interrogation de base de données suivante : select XLATSHORTNAME from XLATTABLE where FIELDNAME = 'OUTDESTTYPE'; OUTDESTFORMAT= Format de fichier dans lequel la sortie du Job PeopleSoft doit être enregistrée (par exemple, TXT, HTM ou PDF). Format : Littéral de script Vous pouvez afficher toutes les valeurs valides à l'aide de l'interrogation de base de données suivante : select XLATSHORTNAME from XLATTABLE where FIELDNAME = 'OUTDESTFORMAT'; Remarques Le Script démarre un Job PeopleSoft et surveille son exécution. Un Job PeopleSoft permet d'exécuter plusieurs processus PeopleSoft successivement ou parallèlement. Le nom du Job PeopleSoft est issu de la définition qui figure dans le Process Scheduler Manager de PeopleSoft. Le nom du Process Scheduler Batch Server attribué doit également correspondre à une définition (si ce paramètre est utilisé). OUTPUTDEST, OUTDESTTYPE et OUTDESTFORMAT sont des paramètres facultatifs qui peuvent être utilisés pour donner des précisions sur la sortie du Job PeopleSoft. Le Script ne peut être utilisé que si l'administrateur UC4 a installé l'interface PROCESSREQUEST_ SBB et l'a activée dans le fichier INI de l'Agent. Les Variables de liaison ne peuvent pas être utilisées dans PS_RUN_JOB. Exemple Dans l'exemple, des paramètres facultatifs sont utilisés pour enregistrer la sortie du Job PeopleSoft sous la forme d'un fichier SPF dans un répertoire temporaire. PS_RUN_JOB JOBNAME='3SQR',RUNCONTROLID='sbb',RUNLOCATION=PSNT,OUTDESTTYPE='FILE',OUTDE STFORMAT='SPF',OUTPUTDEST='c:\temp' Rubriques connexes : Généralités sur le JCL PeopleSoft 4.3.6 PS_RUN_PROCESS Démarrage et surveillance d'un processus PeopleSoft. 416 Chapter 4 JCL UC4 pour les applications Syntaxe PS_RUN_PROCESS PROCESSNAME=... ,PROCESSTYPE=... ,RUNLOCATION=... ,RUNCONTROLID=... [,OUTPUTDEST=...] [,OUTDESTTYPE=...] [,OUTDESTFORMAT=...] Elément de syntaxe Description/format PROCESSNAME= Nom du processus PeopleSoft à démarrer et à surveiller. Format : Littéral de script PROCESSTYPE= Type du processus PeopleSoft Format : Littéral de script RUNLOCATION= Nom d'un PeopleSoft Process Scheduler Batch Server attribué, par exemple PSUNX ou PSNT. Format : Littéral de script RUNCONTROLID= ID de contrôle d'exécution du processus PeopleSoft. Format : Littéral de script OUTPUTDEST= Répertoire dans lequel la sortie du processus PeopleSoft est écrite. Format : Littéral de script OUTDESTTYPE= Type de sortie du processus PeopleSoft (par exemple, un fichier, une imprimante ou un e-mail). Format : Littéral de script Vous pouvez afficher toutes les valeurs valides à l'aide de l'interrogation de base de données suivante : select XLATSHORTNAME from XLATTABLE where FIELDNAME = 'OUTDESTTYPE'; Interface : PROCESSREQUEST et PROCESSREQUEST_SBB Version PeopleSoft : 8+ OUTDESTFORMAT= Format de fichier dans lequel la sortie du processus PeopleSoft doit être enregistrée (par exemple, TXT, HTM ou PDF). Format : Littéral de script Vous pouvez afficher toutes les valeurs valides à l'aide de l'interrogation de base de données suivante : select XLATSHORTNAME from XLATTABLE where FIELDNAME = 'OUTDESTFORMAT'; Interface : PROCESSREQUEST et PROCESSREQUEST_SBB Version PeopleSoft : 8+ Remarques Le Script génère une demande de processus pour un processus PeopleSoft et surveille l'exécution. La fin du processus PeopleSoft est détectée à l'aide du statut de run, lequel a été enregistré dans la base de Automation Engine 417 données PeopleSoft. Le nom et le type du processus PeopleSoft sont issus des définitions qui figurent dans le "Process Scheduler Manager" de PeopleSoft. Le nom du Process Scheduler Batch Server attribué doit également correspondre à une définition. OUTPUTDEST, OUTDESTTYPE et OUTDESTFORMAT sont des paramètres facultatifs qui peuvent être utilisés pour donner des précisions sur la sortie du processus PeopleSoft. Certains paramètres du Script dépendent de la version PeopleSoft définie et sont identifiés dans le tableau de syntaxe. Exemples Dans le premier exemple, le processus PeopleSoft "THR200" est lancé par le type de processus "SQR Report". PS_RUN_PROCESS PROCESSNAME='THR200',PROCESSTYPE='SQR Report',RUNLOCATION='PSUNX',RUNCONTROLID='mlc',OUTPUTDEST='/tmp/' Dans le second exemple, des paramètres facultatifs sont utilisés pour enregistrer la sortie du processus PeopleSoft sous la forme d'un fichier PDF dans un répertoire temporaire. PS_RUN_PROCESS PROCESSNAME='DDDAUDIT',PROCESSTYPE='SQR Report',RUNLOCATION='PSNT',RUNCONTROLID='sbb',OUTDESTTYPE='FILE',OUTDESTFOR MAT='PDF',OUTPUTDEST='c:\temp' Rubriques connexes : Généralités sur le JCL PeopleSoft 4.3.7 PS_SET_BINDVAR Remplace la valeur d'une Variable de liaison dans une définition de processus. Interface : PROCESSREQUEST_SBB Version PeopleSoft : 8+ Syntaxe PS_SET_BINDVAR NAME=... ,MODE='V' ,VALUE=... PS_SET_BINDVAR NAME=... ,MODE='D' ,RUNCONTROLID=... 418 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format NAME= Nom de la Variable de liaison devant être remplacée Format : Littéral de script MODE= Type de remplacement Format : Littéral de script Valeurs possibles: "V" et "D" "V" - La valeur sera prédéfinie avec le paramètre "VALUE=". "D" - Le remplacement se fait en entrant un Run Control ID avec le paramètre "RUNCONTROLID". VALUE= Valeur à utiliser pour le remplacement Format : Littéral de script RUNCONTROLID= Indication d'un Run Control ID Format: Littéral de script Exemples Les deux exemples suivants présentent un remplacement utilisant une valeur prédéfinie et un autre effectué par le biais d'un ID de contrôle d'exécution. PS_SET_BINDVAR NAME=':RUN_CNTL_HR.COURSE',VALUE='K014',MODE='V' PS_RUN_PROCESS PROCESSNAME='TRN023-',PROCESSTYPE='Crystal',RUNCONTROLID='ang',RUNLOCATION='PSNT' PS_MODIFY_RUNCONTROL RUNCONTROLID='ang',RECORDNAME='RUN_CNTL_ HR',FIELDNAME='COURSE',FIELDVALUE='K014' PS_SET_BINDVAR NAME=':RUN_CNTL_ HR.COURSE',VALUE='',MODE='D',RUNCONTROLID='ang' PS_RUN_PROCESS PROCESSNAME='TRN023-',PROCESSTYPE='Crystal',RUNCONTROLID='ang',RUNLOCATION='PSNT' Rubriques connexes : Utilisation de Variables de liaison Généralités sur JCL PeopleSoft 4.4 SAP 4.4.1 SAP Basis Généralités sur le JCL SAP Vous pouvez associer des lignes contenant du JCL SAP à l'aide de l'instruction :JCL_CONCAT_ CHAR. Les lignes JCL ainsi constituées peuvent contenir jusqu'à 2047 caractères. Toutefois, la longueur de chaque ligne de script est limitée à 1024 caractères. Certaines instructions du JCL SAP dépendent de l'interface utilisée. Les différences de syntaxe exactes sont décrites avec les diverses instructions. Pour connaître les instructions disponibles selon l'interface, reportez-vous au chapitre Différences au niveau des fonctions. Automation Engine 419 Les propriétés des tous les champs transmis par UC4 aux interfaces SAP (nom d'imprimante ou de programme, par exemple) en particulier les longueurs maximales, les valeurs autorisées, etc. ne sont PAS contenues dans la Documentation UC4. La description de ces champs figure dans le dictionnaire SAP (selon la version SAP). Pour le script JCL SAP, les valeurs du paramètre doivent forcément être définies uniquement comme littéral de script lorsque la valeur contient des espaces. Sinon, l'utilisation des guillemets est optimale dans une valeur, indépendamment du fait que ce soit pour un nombre, un caractère ou une chaîne de caractères. R3_ACTIVATE_CM_PROFILE Active un profil dans le Gestionnaire de critères SAP. Transaction : SM62 Interface : Standard Syntaxe R3_ACTIVATE_CM_PROFILE ID=... ,TYPE=... Elément de syntaxe Description/format ID= ID du profil Format : Nombre TYPE= Type du profil Format : Littéral de script Valeurs autorisées : "EVHIRO", "EVTHIS" et "INTERC" "EVHIRO" - Réorganisation de l'Historique des Evènements "EVTHIS" - Historique des Evènements "INTERC" - Interception de Job Remarques Un seul profil peut être activé par type de profil. Exemple L'exemple active le profil avec l'ID "5" pour l'interception de Job R3_ACTIVATE_CM_PROFILE ID="5",TYPE="INTERC" Rubriques connexes : Généralités sur le JCL SAP 420 Chapter 4 JCL UC4 pour les applications R3_ACTIVATE_EXT_COMMAND Exécute une commande externe. Transaction : SM37 Interface : Standard Syntaxe R3_ACTIVATE_EXT_COMMAND COMMAND=... OPSYSTEM=... [,PARAMS=...] ,TARGET_SERVER=... [,STDOUT=...] [,STDERR=...] [,TRACE=...] [,TERM=...] Elément de syntaxe Description/format COMMAND= Nom de la définition de la commande externe. Format : Littéral de script OPSYSTEM= Système hôte sur lequel la commande doit être exécutée. Format : Littéral de script PARAMS= Paramètre de la commande externe. Format : Littéral de script Valeur par défaut : "" TARGET_S[ERVER]= Nom de l'ordinateur sur lequel la commande doit être exécutée. Format : Littéral de script Indicateurs de contrôle STDOUT= Ce paramètre permet de reprendre la sortie externe dans le log du Job. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - La sortie externe est reprise dans le log du Job. STDERR= Ce paramètre permet de reprendre les erreurs externes dans le log du Job. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - Les erreurs externes sont reprises dans le log du Job. TRACE= Ce paramètre permet d'activer la trace. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - La trace est activée. Automation Engine TERM= 421 Le Job attend la terminaison externe Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - Le Job attend la terminaison externe. Exemple R3_ACTIVATE_EXT_COMMAND COMMAND='NET_ROUTING',OPSYSTEM='Windows NT',TARGET_ SERVER='NB0053',STDOUT='X',STDERR='X',TERM='X' Rubriques connexes : Généralités sur le JCL SAP R3_ACTIVATE_EXT_PROGRAM Exécute un programme externe. Transaction : SM37 Interface : Standard Syntaxe R3_ACTIVATE_EXT_PROGRAM PROGRAM=... [,PARAMS=...] ,TARGET_SERVER=... [,STDOUT=...] [,STDERR=...] [,TRACE=...] [,TERM=...] Elément de syntaxe Description/format PROGRAM= Nom du programme à exécuter. Format : Littéral de script PARAMS= Paramètre du programme. Format : Littéral de script Valeur par défaut : "" TARGET_S[ERVER]= Indicateurs de contrôle Nom de l'ordinateur sur lequel le programme doit être exécuté. Format : Littéral de script 422 Chapter 4 JCL UC4 pour les applications STDOUT= Ce paramètre permet de reprendre la sortie externe dans le log du Job. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - La sortie externe est reprise dans le log du Job. STDERR= Ce paramètre permet de reprendre les erreurs externes dans le log du Job. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - Les erreurs externes sont reprises dans le log du Job. TRACE= Ce paramètre permet d'activer la trace. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - La trace est activée. TERM= Le Job attend la terminaison externe Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - L'indicateur de contrôle n'est pas défini. "X" - Le Job attend la terminaison externe. Exemple R3_ACTIVATE_EXT_PROGRAM PROGRAM='dir',PARAMS='*.*',TARGET_ SERVER='NB0053',STDOUT='X',STDERR='X',TERM='X' Rubriques connexes : Généralités sur le JCL SAP R3_ACTIVATE_INTERCEPTED_JOBS Exécute des Jobs interceptés sous le contrôle d'UC4. Les Jobs interceptés à démarrer sont déterminés par le biais d'une sélection. Transaction : SM37 Interface :Standard (XBP 2.0) Syntaxe R3_ACTIVATE_INTERC[EPTED_JOBS] NAME=... [,GROUP=...] [,USER=...] [,NOFOUND=...] [,ERROR=...] Automation Engine 423 [,SELECT=...] [,START_DATE=...] [,START_TIME=...] [,END_DATE=...] [,END_TIME=...] [,JOBCOUNT=...] [,TARGET_SERVER=...] [,WAIT=...] [,REPLICATE=...] [,ABORTED=...] [,GET_SPOOL=...] Elément de syntaxe Description/format NAME= Sélection d'un ou plusieurs Jobs interceptés en fonction du nom Format de la valeur : Littéral de script Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. Pour sélectionner plusieurs Jobs, vous pouvez utiliser le caractère générique "*" (par exemple, "xxx*"). GROUP= Sélection des Jobs interceptés en fonction des Groupes (par exemple, "xxx*") Format de la valeur : Littéral de script Valeur par défaut : "*" USER= Sélection des Jobs interceptés en fonction des Utilisateurs (par exemple, "xxx*") Format de la valeur : Littéral de script Valeur par défaut : "*" NOFOUND= Comportement adopté si les critères de sélection des Jobs interceptés ne donnent aucun résultat. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. ERROR= Comportement adopté si un Job intercepté se termine de façon anormale. Format de la valeur : Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. SEL[ECT]= Sélectionner une fois ou de manière permanente Format de la valeur : Littéral de script Valeurs autorisées : "ONCE" (valeur par défaut) et "EVERY" "ONCE" - Les résultats sont transmis une seule fois (= nombre de Jobs planifiés). "EVERY" - Les résultats sont transmis après chaque publication d'un nouveau Job. Cette technique permet la mise en parallèle des Jobs planifiés. 424 Chapter 4 JCL UC4 pour les applications START_D [ATE]= Date de début de la sélection Format de la valeur : Littéral de script Format de date : AAAAMMJJ Valeur par défaut: "20000101" Si ce paramètre est utilisé sans le paramètre END_DATE=, tous les Jobs planifiés à partir de la date de début indiquée sont sélectionnés et démarrés. START_T [IME]= Heure de début de la sélection Format de la valeur : Littéral de script Format d'heure : HHMMSS Valeur par défaut : "000000" Si ce paramètre est utilisé sans le paramètre END_TIME=, tous les Jobs planifiés à partir de l'heure de début indiquée sont sélectionnés et démarrés. L'heure de fin est 23:59. END_D[ATE] = Date de fin de la sélection Format de la valeur : Littéral de script Format de date : AAAAMMJJ Valeur par défaut : date actuelle Pour sélectionner tous les Jobs planifiés pour un jour donné, indiquez pour ce paramètre la même date que pour START_DATE=. END_T[IME] = Heure de fin de la sélection Format de la valeur : Littéral de script Format d'heure : HHMMSS Valeur par défaut : "235959" JOBCOUNT= Numéro du Job intercepté Format de la valeur : Littéral de script Valeur par défaut : "*" Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. TARGET_S [ERVER]= Système de destination que doit utiliser le Job intercepté. Format de la valeur : Littéral de script Valeurs autorisées : "KEEP" (valeur par défaut) et "ATTRIBUTE" "KEEP" - Le système cible saisi dans l'original du Job est gardé. "ATTRIBUTE" - Le système cible issu des attributs de l'hôte est utilisé. WAIT= Attente de la fin du processus enfant d'un Job intercepté Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "NO" - Le système n'attend pas la fin de tous les processus enfant. "YES" - Le système attend la fin de tous les processus enfant. Automation Engine REPL [ICATE]= 425 Traitement des enfants du Job intercepté Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Les processus enfant d'un Job sont répliqués dans le système UC4. Ils apparaissent alors dans la Fenêtre d'Activités de l'Interface Utilisateur. De plus, le système UC4 crée des statistiques et des rapports. "NO" - Pas de réplication dans le système UC4. ABORTED= Réaction à la fin anormale des processus enfant d'un Job intercepté Format de la valeur : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) et "NO" "YES" = Le script n'est pas poursuivi, le Job UC4 se termine anormalement. "NO" = Le script est poursuivi, le Job UC4 se termine normalement. GET_ SPOOL= Demander la liste Spool du Job démarré Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : Par ailleurs, ce fichier est enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Remarques Le script détermine tous les Jobs interceptés en fonction des critères de sélection indiqués. Le Client SAP indiqué dans l'objet Login auquel le Job UC4 se réfère est utilisé pour la sélection. Exemple Dans l'exemple, tous les Jobs interceptés doivent être démarrés. Le Job UC4 n'est pas interrompu si aucun Job intercepté n'est trouvé. R3_ACTIVATE_INTERCEPTED_JOBS NAME='*',GROUP='*',USER='*',NOFOUND='NORMAL' Rubriques connexes : Généralités sur le JCL SAP R3_ACTIVATE_JOBS Exécute des Jobs déjà planifiés dans SAP sous le contrôle d'UC4. Les Jobs à démarrer sont déterminés par le biais d'une sélection. Transaction : SM37 Interface : UC4 et Standard 426 Chapter 4 JCL UC4 pour les applications Interface UC4 [UC4] [Valeur par défaut] Syntaxe R3_ACTIVATE_JOB[S] NAME=... [,JOBCOUNT=...] [,GROUP=...] [,USER=...] [,NOFOUND=...] [,ERROR=...] [,SELECT=...] [,START=...] [,NEW_NAME=...] [,START_D[ATE]=...] [,START_T[IME]=...] [,END_D[ATE]=...] [,END_T[IME]=...] [,TARGET_S[ERVER]=...] [,BEG_LOGLINES=...] [,END_LOGLINES=...] [,GET_SPOOL=...] Elément de syntaxe Description/format NAME= Sélection d'un ou de plusieurs Jobs d'après leur nom. Format : Littéral de script ou Nom UC4 Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. Pour sélectionner plusieurs Jobs, vous pouvez utiliser le caractère générique "*" (par exemple, "xxx*"). Paramètres Critères de sélection supplémentaires, sous la forme d'un mot-clé auquel est attribuée une valeur. Si vous ne précisez pas de valeur pour un paramètre, une valeur par défaut lui est affectée. Les formats indiqués s'appliquent à la valeur attribuée au mot-clé. JOBCOUNT= Numéro du Job SAP Format: Littéral de script Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. GROUP= Sélection des Jobs en fonction de leurs Groupes (par exemple, "xxx*") Format : Littéral de script ou Nom UC4 Valeur par défaut : "*" Automation Engine Elément de syntaxe Description/format USER= Sélection des Jobs en fonction de leurs Utilisateurs (par exemple, "xxx*") Format : Littéral de script ou Nom UC4 427 Valeur par défaut : "*" NOFOUND= Comportement adopté si les critères de sélection des Jobs ne donnent aucun résultat. Format : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. ERROR= Comportement adopté si un Job parmi ceux sélectionnés se termine de façon anormale Format: Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. SELECT= Sélection unique ou permanente Format : Littéral de script Valeurs autorisées : "ONCE" (valeur par défaut) et "EVERY" "ONCE" = Le nombre de correspondances (= nombre de Jobs à lancer) est déterminé une seule fois. "EVERY" - Le nombre de correspondances est déterminé à chaque libération de Job. Cette technique permet la mise en parallèle des Jobs lancés. START= Le système doit-il démarrer l'original ou une copie du Job Format : Littéral de script Valeurs autorisées : "ORIGINAL" (Valeur par défaut) et "DUPLICATE" NEW_NAME= Nom du Job démarré en tant que copie Format : Littéral de script Ce paramètre n'est analysé que si START=DUPLICATE a été indiqué. Si l'original du Job doit être démarré, le paramètre est ignoré. START_D[ATE]= Date de début de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut: "20000101" Si ce paramètre est utilisé sans le paramètre END_DATE, tous les Jobs planifiés à partir de la date de début indiquée sont sélectionnés et démarrés. 428 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format START_T[IME]= Heure de début de la sélection des Jobs planifiés. Format : Littéral de script Format d'heure : HHMMSS Valeur par défaut : "000000" Si ce paramètre est utilisé sans le paramètre END_TIME, tous les Jobs planifiés à partir de l'heure de début indiquée sont sélectionnés et démarrés. L'heure de fin est 23:59. END_D[ATE]= Date de fin de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut : date actuelle Pour sélectionner tous les Jobs planifiés pour un jour donné, indiquez pour ce paramètre la même date que pour START_DATE=. END_T[IME]= Date de fin de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut: "235959" Pour sélectionner tous les Jobs planifiés pour un jour donné, indiquez pour ce paramètre la même date que pour START_DATE=. TARGET_S[ERVER]= Système cible que doit utiliser le Job SAP lancé Format : Littéral de script Valeurs autorisées : "KEEP" (valeur par défaut) et "ATTRIBUTE" "KEEP" - Le système cible saisi dans l'original du Job est gardé. "ATTRIBUTE" - Le système cible issu des attributs de l'hôte est utilisé. BEG_LOGLINES= Définit le nombre de lignes qui doivent être reprises depuis le début du log du Job SAP dans le rapport de Job. END_LOGLINES= Nombre de lignes à la fin du log du Job SAP qui sont écrites dans le rapport de Job. Si le paramètre END_LOGLINES ou BEG_LOGLINES est indiqué, l'intégralité du rapport de Job est utilisée par défaut. Si seul un paramètre est affiché, alors seules les lignes du début ou de la fin du rapport de Job sont lues. Si "0" est la valeur indiquée pour les deux paramètres, aucun log de Job n'est indiqué. Seules des valeurs numériques sont autorisées pour les deux paramètres. Automation Engine Elément de syntaxe Description/format GET_SPOOL= Demander la liste Spool du Job démarré Format de la valeur : Littéral de script 429 Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : <SAP-Job-Count>_<Numéro d'étape>_<Numéro de Spool>.txt Ce fichier est en plus enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Exemple Libérer tous les Jobs prévus de l'Utilisateur SAP "NI". R3_ACTIVATE_JOBS NAME='*',GROUP='*',USER='NI' Dans le second exemple, tous les Jobs planifiés entre le 01.07.2001 à 00:00:00 et le 02.07.2001 à 23:59:59 sont sélectionnés et démarrés. R3_ACTIVATE_JOBS NAME='*',GROUP='*',USER='SUPPORT',START_ DATE='20010701',END_DATE='20010702' Dans le second exemple, tous les Jobs planifiés entre le 01.07.2001 à 12:30:00 et le 02.07.2001 à 12:30:00 sont sélectionnés et démarrés. R3_ACTIVATE_JOBS NAME='*',GROUP='*',USER='SUPPORT',START_DATE='20010701', START_TIME='123000',END_DATE='20010702',END_TIME='123000' Interface par défaut [UC4] [Valeur par défaut] Syntaxe R3_ACTIVATE_JOB[S] NAME=... [,JOBCOUNT=...] [,NOFOUND=...] [,ERROR=...] [,SELECT=...] [,START=...] [,NEW_NAME=...] [,START_D[ATE]=...] [,START_T[IME]=...] [,END_D[ATE]=...] [,END_T[IME]=...] 430 Chapter 4 JCL UC4 pour les applications [,TARGET_S[ERVER]=...] [,MON[ITOR]=...] [,WAIT=...] [,ABORTED=...] [,REPL[ICATE]=...] [,BEG_LOGLINES=...] [,END_LOGLINES=...] [,GET_SPOOL=...] Elément de syntaxe Description/format NAME= Sélection d'un ou de plusieurs Jobs d'après leur nom. Format : Littéral de script ou Nom UC4 Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. Pour sélectionner plusieurs Jobs, vous pouvez utiliser le caractère générique "*" (par exemple, "xxx*"). Paramètres Critères de sélection supplémentaires, sous la forme d'un mot-clé auquel est attribuée une valeur. Si vous ne précisez pas de valeur pour un paramètre, une valeur par défaut lui est affectée. Les formats indiqués s'appliquent à la valeur attribuée au mot-clé. JOBCOUNT= Numéro du Job SAP Format: Littéral de script Le nom et le numéro permettent d'identifier chaque Job SAP de manière univoque. NOFOUND= Comportement adopté si les critères de sélection des Jobs ne donnent aucun résultat. Format : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. ERROR= Comportement adopté si un Job parmi ceux sélectionnés se termine de façon anormale Format: Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. Automation Engine Elément de syntaxe Description/format SELECT= Sélection unique ou permanente Format : Littéral de script 431 Valeurs autorisées : "ONCE" (valeur par défaut) et "EVERY" "ONCE" = Le nombre de correspondances (= nombre de Jobs à lancer) est déterminé une seule fois. "EVERY" - Le nombre de correspondances est déterminé à chaque libération de Job. Cette technique permet la mise en parallèle des Jobs lancés. START= Le système doit-il démarrer l'original ou une copie du Job Format : Littéral de script Valeurs autorisées : "ORIGINAL" (Valeur par défaut) et "DUPLICATE" NEW_NAME= Nom du Job démarré en tant que copie Format : Littéral de script Ce paramètre n'est analysé que si START=DUPLICATE a été indiqué. Si l'original du Job doit être démarré, le paramètre est ignoré. START_D[ATE]= Date de début de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut: "20000101" Si ce paramètre est utilisé sans le paramètre END_DATE, tous les Jobs planifiés à partir de la date de début indiquée sont sélectionnés et démarrés. START_T[IME]= Heure de début de la sélection des Jobs planifiés. Format : Littéral de script Format d'heure : HHMMSS Valeur par défaut : "000000" Si ce paramètre est utilisé sans le paramètre END_TIME, tous les Jobs planifiés à partir de l'heure de début indiquée sont sélectionnés et démarrés. L'heure de fin est 23:59. END_D[ATE]= Date de fin de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut : date actuelle Pour sélectionner tous les Jobs planifiés pour un jour donné, indiquez pour ce paramètre la même date que pour START_DATE=. 432 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format END_T[IME]= Date de fin de la sélection des Jobs planifiés. Format : Littéral de script Format de date : AAAAMMJJ Valeur par défaut: "235959" Pour sélectionner tous les Jobs planifiés pour un jour donné, indiquez pour ce paramètre la même date que pour START_DATE=. TARGET_S[ERVER]= Système cible que doit utiliser le Job SAP lancé Format : Littéral de script Valeurs autorisées : "KEEP" (valeur par défaut) et "ATTRIBUTE" "KEEP" - Le système cible saisi dans l'original du Job est gardé. "ATTRIBUTE" - Le système cible issu des attributs de l'hôte est utilisé. MON[ITOR]= Suivi du statut dans le protocole d'activation Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) WAIT= Attente de la fin du processus enfant d'un Job SAP Format de la valeur : Littéral de script ou Nom UC4 Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Le système attend la fin de tous les processus enfant. Les processus enfant seront inclus dans le protocole d'activation. "NO" = Le système n'attend pas la fin de tous les processus enfant. ABORTED= Attente de la fin anormale du processus enfant d'un Job SAP Format de la valeur : Littéral de script ou Nom UC4 Valeurs autorisées : "YES" (valeur par défaut) et "NO" "YES" = Le Job SAP (parent) est interrompu. Le script est interrompu et le Job UC4 se termine de façon anormale. "NO" = Le Job SAP (parent) n'est pas interrompu. Le script se poursuit et le Job UC4 se termine normalement. REPL[ICATE]= Traitement des processus enfant d'un Job Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Les processus enfant d'un Job sont répliqués dans le système UC4. Ils sont affichés dans la Fenêtre d'Activités de l'Interface Utilisateur. De plus, le système UC4 crée des statistiques et des rapports. "NO" - Pas de réplication dans le système UC4. BEG_LOGLINES= Définit le nombre de lignes qui doivent être reprises depuis le début du log du Job SAP dans le rapport de Job. Automation Engine 433 Elément de syntaxe Description/format END_LOGLINES= Nombre de lignes à la fin du log du Job SAP qui sont écrites dans le rapport de Job. Si le paramètre END_LOGLINES ou BEG_LOGLINES est indiqué, l'intégralité du rapport de Job est utilisée par défaut. Si seul un paramètre est affiché, alors seules les lignes du début ou de la fin du rapport de Job sont lues. Si "0" est la valeur indiquée pour les deux paramètres, aucun log de Job n'est indiqué. Seules des valeurs numériques sont autorisées pour les deux paramètres. GET_SPOOL= Demander la liste Spool du Job démarré Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : Par ailleurs, ce fichier est enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Les entrées Spool des enfants sont uniquement requises lorsque le paramètre REPLICATE= est défini soit sur YES, soit sur ALL. Exemple Tous les Jobs planifiés portant le nom "REORG_SPOOL" sont lancés. R3_ACTIVATE_JOBS NAME='REORG_SPOOL',NOFOUND=ABEND Rubriques connexes : Généralités sur le JCL SAP R3_ACTIVATE_REPORT Exécute le Rapport sélectionné. Si nécessaire, vous pouvez indiquer une variante et divers paramètres pour le contrôle de la liste. Transaction : SM36, SM37 Interface : UC4 et Standard Interface UC4 [UC4] [Valeur par défaut] 434 Chapter 4 JCL UC4 pour les applications Syntaxe R3_ACTIVATE_REP[ORT] REPORT=... [,VARIANT=...] [,DESTINATION=...] [,COPIES=...] [,LIST_NAME=...] [,LIST_TEXT=...] [,IMMEDIATELY=...] [,RELEASE=...] [,NEW_LIST_ID=...] [,EXPIRATION=...] [,LINE_COUNT=...] [,LINE_SIZE=...] [,LAYOUT=...] [,COVERPAGE=...] [,SAP_COVER_PAGE=...] [,OS_COVER_PAGE=...] [,RECEIVER=...] [,DEPARTMENT=...] [,AUTHORITY=...] [,DATA_SET=...] [,TYPE=...] [,SPOOL_PRIORITY=...] [,TEXTONLY=...] [,FRAMES=...] [,ARCHIVE_MODE=...] [,ARCHIVE_SAPOBJECT=...] [,ARCHIVE_OBJECT=...] [,ARCHIVE_INFO=...] [,ARCHIVE_TEXT=...] [,MONITOR=...] [,BEG_LOGLINES=...] [,END_LOGLINES=...] [,GET_SPOOL=...] Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : Littéral de script VAR[IANT]= Nom de la variante Format : Littéral de script Paramètres d'impression Automation Engine Elément de syntaxe Description/format DEST[INATION]= Périphérique de sortie Format : Littéral de script 435 Ce paramètre permet d'indiquer le nom du système de sortie. Il s'agit dans la plupart des cas du nom d'une imprimante, mais il peut également s'agir de celui d'un télécopieur, etc. Attention : pour des raisons techniques liées à l'interface XBP de SAP, vous ne pouvez pas utiliser les noms d'imprimante SAP longs dans UC4. Par conséquent, indiquez le nom technique de quatre caractères. COPIES= Nombre de copies Format : Entier Valeur par défaut : "0" Entre ici le nombre désiré de copies de votre document. LIST_N[AME]= Nom de la requête spool Format : Littéral de script Ce paramètre vous permet d'indiquer le nom de la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. Le nom proposé par défaut pour les requêtes spool est composé des huit caractères du nom du rapport, du séparateur "_" et des trois premiers caractères du nom de l'utilisateur. LIST_T[EXT]= Texte de la page de garde Format : Littéral de script Ce paramètre vous permet d'indiquer le texte décrivant la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. IMM[EDIATELY]= Impression Immédiate Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) REL[EASE]= Supprimer après Impression Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre permet de déterminer si la requête spool doit être supprimée dès que le système de sortie a effectué l'impression ou seulement à l'expiration de la période de rétention. NEW_LIST_ID= Nouvelle requête spool Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) ou "NO" 436 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format EXPIR[ATION]= Période de Rétention Format : Entier Valeur par défaut : "0" Ce paramètre permet de déterminer le nombre de jours pendant lequel la requête spool doit être conservée dans le système spool avant d'être supprimée. LINE_COUNT= Longueur des pages de la liste Format : Entier Valeur par défaut : "0" Nombre de lignes par page. Si ce champ contient le chiffre zéro ou est vide, le nombre de pages de la liste est illimité (non autorisé pour l'impression). La longueur de la liste est alors uniquement déterminée par son contenu. Lors de l'impression, le nombre maximal de lignes par page dépend du format choisi. Pour modifier le nombre de lignes, vous devez sélectionner un autre format. LINE_SIZE= Largeur des lignes de la liste Format : Entier Valeur par défaut : "0" Ce paramètre détermine la largeur actuelle des lignes de la liste. Lors de l'impression, la largeur maximale des lignes dépend du format choisi. Pour modifier la largeur des lignes, vous devez sélectionner un autre format. LAYOUT= Préparation à l'impression Format : Littéral de script Ce paramètre détermine le format de la sortie de la requête spool. Concrètement, il définit le format des pages, c'est-à-dire le nombre maximal de lignes et de colonnes par page imprimée. COVER[PAGE]= Sélection de la page de garde Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre détermine si une page de garde contenant les sélections de rapports doit figurer avant la liste. Si une page de garde est générée, elle est également reprise dans le rapport de Job. Cela permet de documenter les paramètres de cette exécution. Automation Engine Elément de syntaxe Description/format SAP_COVER[_PAGE]= Page de garde SAP Format : 437 Valeurs autorisées : "" (valeur par défaut) et "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante Ce paramètre détermine si une page de garde contenant certaines informations (destinataire, département, format utilisé,...) doit être jointe à l'impression issue de la requête spool. OS_COVER[_PAGE]= Page de garde du spooler de l'hôte Format : Littéral de script Valeurs autorisées : "" (valeur par défaut), "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante RECEIVER= Destinataire Format : Littéral de script Ce paramètre indique le nom du destinataire de la requête spool. Ce nom figure sur la page de garde imprimée. Par défaut, le nom du destinataire est celui de l'utilisateur actuel. DEPART[MENT]= Département sur la page de garde Format : Littéral de script Ce paramètre indique le nom du département concerné par la requête spool. Ce nom figure sur la page de garde imprimée. AUTHORITY= Autorisation Format : Littéral de script Ce paramètre indique l'autorisation qui s'applique à la requête spool (12 caractères au maximum). Le contenu de la requête spool n'est visible que pour les utilisateurs qui disposent de l'autorisation indiquée. DATA_SET= Nom du jeu de données spool Format : Littéral de script TYPE= Nom du jeu de données spool Format : Littéral de script SPOOL_PRI[ORITY]= Priorité de la requête spool Format : Entier Valeur par défaut : "5" 438 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format TEXTO[NLY]= Texte seulement Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre contrôle le mode de sortie des caractères non-ASCII d'une liste imprimée. Prérequis d'utilisation du paramètre (voir également la note SAP 777337) : l l FRAMES= SAP Basis version 6.20 avec le package de support SAPKB62045 SAP Basis version 6.40 avec le package de support SAPKB64010 Cadre Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) et "NO" Contrôle la mise en cadre par défaut. Ses conditions d'utilisation sont identiques à celles du paramètre TEXTONLY=. Paramètres d'archivage ARCHIVE_M[ODE]= Mode de sauvegarde Format : Littéral de script Valeurs autorisées : "1" (valeur par défaut),"2" et "3" "1" - Le document est seulement imprimé. "2" - Le document est seulement sauvegardé dans une archive optique. "3" - Le document est imprimé et sauvegardé dans une archive optique. ARCHIVE_S[APOBJECT]= Type de l'objet Business Format : Littéral de script Les objets SAP sont classés en fonction de leur type. Voir : Paramètres d'archivage avec R3_ACTIVATE_REPORT ARCHIVE_O[BJECT]= Type de document Format : Littéral de script Les objets d'archivage sont classés en fonction du type de document. ARCHIVE_I[NFO]= Zone d'informations Format : Littéral de script Abréviation d'information pour la requête d'archivage. ARCHIVE_T[EXT]= Champ de texte d'information Format : Littéral de script Texte décrivant la requête d'archivage. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. Automation Engine Elément de syntaxe 439 Description/format Paramètres de contrôle MON[ITOR]= Suivi du statut dans le protocole d'activation Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Paramètre pour la Relation parent-enfant BEG_LOGLINES= Définit le nombre de lignes qui doivent être reprises depuis le début du log du Job SAP dans le rapport de Job. END_LOGLINES= Nombre de lignes à la fin du log du Job SAP qui sont écrites dans le rapport de Job. Si le paramètre END_LOGLINES ou BEG_LOGLINES est indiqué, l'intégralité du rapport de Job est utilisée par défaut. Si seul un paramètre est affiché, alors seules les lignes du début ou de la fin du rapport de Job sont lues. Si "0" est la valeur indiquée pour les deux paramètres, aucun log de Job n'est indiqué. Seules des valeurs numériques sont autorisées pour les deux paramètres. GET_SPOOL= Demander la liste Spool du rapport démarré Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : <SAP-Job-Count>_<Numéro d'étape>_<Numéro de Spool>.txt Ce fichier est en plus enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Interface par défaut [UC4] [Valeur par défaut] Syntaxe R3_ACTIVATE_REP[ORT] REPORT=... [,VARIANT=...] [,DESTINATION=...] 440 Chapter 4 JCL UC4 pour les applications [,COPIES=...] [,LIST_NAME=...] [,LIST_TEXT=...] [,IMMEDIATELY=...] [,RELEASE=...] [,NEW_LIST_ID=...] [,EXPIRATION=...] [,LINE_COUNT=...] [,LINE_SIZE=...] [,LAYOUT=...] [,COVERPAGE=...] [,SAP_COVER_PAGE=...] [,OS_COVER_PAGE=...] [,RECEIVER=...] [,DEPARTMENT=...] [,AUTHORITY=...] [,DATA_SET=...] [,TYPE=...] [,SPOOL_PRIORITY=...] [,ARCHIVE_MODE=...] [,ARCHIVE_SAPOBJECT=...] [,ARCHIVE_OBJECT=...] [,ARCHIVE_INFO=...] [,ARCHIVE_TEXT=...] [,MONITOR=...] [,WAIT=...] [,ABORTED=...] [,REPL[ICATE]=...] [,BEG_LOGLINES=...] [,END_LOGLINES=...] [,GET_SPOOL=...] Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : Littéral de script VAR[IANT]= Nom de la variante Format : Littéral de script Paramètres d'impression DEST[INATION]= Périphérique de sortie Format : Littéral de script Ce paramètre permet d'indiquer le nom du système de sortie. Il s'agit dans la plupart des cas du nom d'une imprimante, mais il peut également s'agir de celui d'un télécopieur, etc. Attention : pour des raisons techniques liées à l'interface XBP de SAP, vous ne pouvez pas utiliser les noms d'imprimante SAP longs dans UC4. Par conséquent, indiquez le nom technique de quatre caractères. Automation Engine Elément de syntaxe Description/format COPIES= Nombre de copies Format : Entier 441 Valeur par défaut : "0" Entre ici le nombre désiré de copies de votre document. LIST_N[AME]= Nom de la requête spool Format : Littéral de script Ce paramètre vous permet d'indiquer le nom de la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. Le nom proposé par défaut pour les requêtes spool est composé des huit caractères du nom du rapport, du séparateur "_" et des trois premiers caractères du nom de l'utilisateur. LIST_T[EXT]= Texte de la page de garde Format : Littéral de script Ce paramètre vous permet d'indiquer le texte décrivant la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. IMM[EDIATELY]= Impression Immédiate Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) REL[EASE]= Supprimer après Impression Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre permet de déterminer si la requête spool doit être supprimée dès que le système de sortie a effectué l'impression ou seulement à l'expiration de la période de rétention. NEW_LIST_ID= Nouvelle requête spool Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) ou "NO" EXPIR[ATION]= Période de Rétention Format : Entier Valeur par défaut : "0" Ce paramètre permet de déterminer le nombre de jours pendant lequel la requête spool doit être conservée dans le système spool avant d'être supprimée. 442 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format LINE_COUNT= Longueur des pages de la liste Format : Entier Valeur par défaut : "0" Nombre de lignes par page. Si ce champ contient le chiffre zéro ou est vide, le nombre de pages de la liste est illimité (non autorisé pour l'impression). La longueur de la liste est alors uniquement déterminée par son contenu. Lors de l'impression, le nombre maximal de lignes par page dépend du format choisi. Pour modifier le nombre de lignes, vous devez sélectionner un autre format. LINE_SIZE= Largeur des lignes de la liste Format : Entier Valeur par défaut : "0" Ce paramètre détermine la largeur actuelle des lignes de la liste. Lors de l'impression, la largeur maximale des lignes dépend du format choisi. Pour modifier la largeur des lignes, vous devez sélectionner un autre format. LAYOUT= Préparation à l'impression Format : Littéral de script Ce paramètre détermine le format de la sortie de la requête spool. Concrètement, il définit le format des pages, c'est-à-dire le nombre maximal de lignes et de colonnes par page imprimée. COVER[PAGE]= Sélection de la page de garde Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre détermine si une page de garde contenant les sélections de rapports doit figurer avant la liste. Si une page de garde est générée, elle est également reprise dans le rapport de Job. Cela permet de documenter les paramètres de cette exécution. SAP_COVER[_PAGE]= Page de garde SAP Format : Valeurs autorisées : "" (valeur par défaut) et "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante Ce paramètre détermine si une page de garde contenant certaines informations (destinataire, département, format utilisé,...) doit être jointe à l'impression issue de la requête spool. Automation Engine Elément de syntaxe Description/format OS_COVER[_PAGE]= Page de garde du spooler de l'hôte Format : Littéral de script 443 Valeurs autorisées : "" (valeur par défaut), "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante RECEIVER= Destinataire Format : Littéral de script Ce paramètre indique le nom du destinataire de la requête spool. Ce nom figure sur la page de garde imprimée. Par défaut, le nom du destinataire est celui de l'utilisateur actuel. DEPART[MENT]= Département sur la page de garde Format : Littéral de script Ce paramètre indique le nom du département concerné par la requête spool. Ce nom figure sur la page de garde imprimée. AUTHORITY= Autorisation Format : Littéral de script Ce paramètre indique l'autorisation qui s'applique à la requête spool (12 caractères au maximum). Le contenu de la requête spool n'est visible que pour les utilisateurs qui disposent de l'autorisation indiquée. DATA_SET= Nom du jeu de données spool Format : Littéral de script TYPE= Nom du jeu de données spool Format : Littéral de script SPOOL_PRI[ORITY]= Priorité de la requête spool Format : Entier Valeur par défaut : "5" Paramètres d'archivage ARCHIVE_M[ODE]= Mode de sauvegarde Format : Littéral de script Valeurs autorisées : "1" (valeur par défaut),"2" et "3" "1" - Le document est seulement imprimé. "2" - Le document est seulement sauvegardé dans une archive optique. "3" - Le document est imprimé et sauvegardé dans une archive optique. ARCHIVE_S[APOBJECT]= Type de l'objet Business Format : Littéral de script Les objets SAP sont classés en fonction de leur type. Voir : Paramètres d'archivage avec R3_ACTIVATE_REPORT 444 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format ARCHIVE_O[BJECT]= Type de document Format : Littéral de script Les objets d'archivage sont classés en fonction du type de document. ARCHIVE_I[NFO]= Zone d'informations Format : Littéral de script Abréviation d'information pour la requête d'archivage. ARCHIVE_T[EXT]= Champ de texte d'information Format : Littéral de script Texte décrivant la requête d'archivage. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. Paramètres de contrôle MON[ITOR]= Suivi du statut dans le protocole d'activation Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Paramètre pour la Relation parent-enfant WAIT= Attente de la fin du processus enfant d'un Job SAP Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Le système attend la fin de tous les processus enfant. Les processus enfant seront inclus dans le protocole d'activation. "NO" = Le système n'attend pas la fin de tous les processus enfant. ABORTED= Attente de la fin anormale du processus enfant d'un Job SAP Format de la valeur : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) et "NO" "YES" = Le Job SAP (parent) est interrompu. Le Script s'interrompt et le Job se termine anormalement. "NO" - Le Job SAP (parent) n'est pas interrompu. Le script se poursuit et le Job UC4 se termine normalement. REPL[ICATE]= Traitement des processus enfant d'un Job Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Les processus enfant d'un Job sont répliqués dans le système UC4. Ils apparaissent alors dans la Fenêtre d'Activités de l'Interface Utilisateur. De plus, le système UC4 crée des statistiques et des rapports. "NO" - Pas de réplication dans le système UC4. BEG_LOGLINES= Définit le nombre de lignes qui doivent être reprises depuis le début du log du Job SAP dans le rapport de Job. Automation Engine 445 Elément de syntaxe Description/format END_LOGLINES= Nombre de lignes à la fin du log du Job SAP qui sont écrites dans le rapport de Job. Si le paramètre END_LOGLINES ou BEG_LOGLINES est indiqué, l'intégralité du rapport de Job est utilisée par défaut. Si seul un paramètre est affiché, alors seules les lignes du début ou de la fin du rapport de Job sont lues. Si "0" est la valeur indiquée pour les deux paramètres, aucun log de Job n'est indiqué. Seules des valeurs numériques sont autorisées pour les deux paramètres. GET_SPOOL= Demander la liste Spool du rapport démarré Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : <SAP-Job-Count>_<Numéro d'étape>_<Numéro de Spool>.txt Ce fichier est en plus enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Si l'élément de script est utilisé à plusieurs reprises dans un Job SAP et si tous les Steps d'un Job sont regroupés (par l'option "Combiner les steps d'un Job" dans l'objet Connexion), mais si le paramètre GET_SPOOL="YES" est uniquement défini pour une ligne R3_ACTIVE_REPORT, la liste Spool est tout de même requise pour tous les Jobs enfant. Les entrées Spool des enfants sont uniquement requises lorsque le paramètre REPLICATE= est défini soit sur YES, soit sur ALL. Remarques Le script permet de modifier un step ABAP. Une fois le Job SAP sélectionné, vous pouvez redéfinir le nom du rapport, le nom de la variante et divers paramètres d'archivage et d'impression pour un step ABAP. Les paramètres correspondent aux champs des structures PRI_PARAMS et ARC_PARAMS du dictionnaire SAP. Pour obtenir des informations plus précises sur chaque champ, utilisez le dictionnaire ou le navigateur de l'interface BAPI. A la place d'une Variante, vous pouvez transmettre les critères de sélection avec le Traitement R3_ SET_SELECT_OPTION. Exemple R3_ACTIVATE_REPORT REPORT='ZSUSER00',VARIANT='ALL_ USERS',COVERPAGE='YES',DESTINATION='LT77',IMMEDIATELY='YES' 446 Chapter 4 JCL UC4 pour les applications Rubriques connexes : Généralités sur le JCL SAP Exemples Exécution d'un MBeans R3_ACTIVATE_SESSIONS Exécution des sessions batch input. Transaction : SM35 Interface : UC4 Syntaxe R3_ACTIVATE_SESSION[S] NAME=... [,STATUS=...] [,NOFOUND=...] [,ERROR=...] [,ERRORLEVEL=...] [,SELECT=...] [,JOBNAME=...] [,ORDER_BY=...] Elément de syntaxe Description/format NAME= Sélection des sessions d'après leur nom (par exemple, "xxx*") Format : Littéral de script STATUS= Sélection des sessions d'après leur statut (par exemple, toutes les sessions non comptabilisées). Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "E" "" - La session doit encore être traitée "E" - Pas de session. NOFOUND= Comportement adopté si les critères de sélection des sessions ne donnent aucun résultat. Format : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. Automation Engine ERROR= 447 Comportement adopté si une session parmi celles sélectionnées se termine de façon anormale. Format : Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. Voir : ERROR/ERRORLEVEL dans R3_ACTIVATE_SESSIONS ERRORLEVEL= Indication du pourcentage (%) de transactions incorrectes. Format : Littéral de script Valeur par défaut : "101" Si ce pourcentage est dépassé pour une session, le Job UC4 se termine de façon anormale. SELECT= Sélection unique ou permanente Format : Littéral de script Valeurs autorisées : "ONCE" (valeur par défaut) et "EVERY" "ONCE" - Le nombre de correspondances (= nombre de Sessions à libérer) est déterminé une seule fois. "EVERY" - Le nombre de correspondances est déterminé à chaque fois qu'une Session est libérée. Cette technique permet la mise en parallèle des sessions lancées. JOBN[AME]= Chaque session est exécutée par un Job SAP. Format : Littéral de script Valeurs autorisées : "ATTRIBUTE" (valeur par défaut) et "SESSION" "ATTRIBUTE" = Contenu de la zone de texte "Nom de Job" de l'Registerkarte Attributs de l'hôte. S'il est vide, un nom de Job standard lui est donné par UC4 "SESSION" = Nom de la session active. ORDER[_BY]= Critère de tri de la sélection de sessions. Tous les noms de champ de la table SAP APQI peuvent être indiqués. Exemple : ORDER_BY=GROUPID Ce paramètre est pris en charge dans SAP version 4.6 et supérieure. R3_ACTIVATE_SESSION[S] [QID=...] [,NOFOUND=...] [,ERROR=...] [,ERRORLEVEL=...] [,JOBNAME=...] Elément de syntaxe Description/format QID= ID de queue identifiant la session batch input de manière univoque. Format : Littéral de script Ce paramètre permet de démarrer une session batch input précise. 448 Chapter 4 JCL UC4 pour les applications NOFOUND= Comportement adopté si les critères de sélection des sessions ne donnent aucun résultat. Format : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. ERROR= Comportement adopté si une session parmi celles sélectionnées se termine de façon anormale. Format : Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. Voir : ERROR/ERRORLEVEL dans R3_ACTIVATE_SESSIONS ERRORLEVEL= Indication du pourcentage (%) de transactions incorrectes. Format : Littéral de script Valeur par défaut : "101" Si ce pourcentage est dépassé pour une session, le Job UC4 se termine de façon anormale. JOBN[AME]= Chaque session est exécutée par un Job SAP. Format : Littéral de script Valeurs autorisées : "ATTRIBUTE" (valeur par défaut) et "SESSION" "ATTRIBUTE" = Contenu de la zone de texte "Nom de Job" de l'Registerkarte Attributs de l'hôte. S'il est vide, un nom de Job standard lui est donné par UC4 "SESSION" = Nom de la session active. Description Les sessions batch input à démarrer peuvent être déterminées par le biais d'une sélection. Vous avez également la possibilité de démarrer une session batch input unique à l'aide du paramètre QID=. Pour trouver l'ID de queue d'une session batch input particulière, reportez-vous au résultat de la sélection de R3_GET_SESSIONS, enregistré dans l'état d'activation ou dans un fichier. Le paramètre ORDER_BY permet d'ordonner le traitement des sessions batch input en fonction d'un critère donné. Exemples Exécuter toutes les sessions non traitées, dont le nom est "Fl*". Le Job se termine de façon anormale si des transactions incorrectes sont détectées. R3_ACTIVATE_SESSIONS NAME='FI*',STATUS=,NOFOUND='NORMAL',ERROR='ABEND',ERRORLEVEL=0 Dans le second exemple, la session batch input dont l'ID de queue a été indiqué en tant que paramètre est démarrée. R3_ACTIVATE_SESSION QID='20020318171302022315' Automation Engine 449 Rubriques connexes : Généralités sur le JCL SAP R3_CALL_TRANSACTION Exécute une transaction SAP. Transaction : Interface : UC4 Syntaxe R3_CALL_TRANS[ACTION] CODE=... [,UPDATE=...] [,RACOMMIT=...] [,NOBINPT=...] Elément de syntaxe Description/format CODE= Code transaction, 20 caractères Format : Littéral de script UPDATE= Mode comptabilité de la transaction Format : Littéral de script Valeurs autorisées : "A", "L" et "S" (valeur par défaut) "A" - Asynchrone "L" - Local "S" - Synchrone RACOMMIT= Fin de la transaction par Commit Work Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - La transaction se poursuit jusqu'à la fin prévue. "X" - La transaction prend fin dans SAP, dès que le Script ABAP COMMIT WORK est atteint. NOBINPT= Traitement en mode Batch-Input Format : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - La transaction est traitée en mode BDC. "X" - La transaction est traitée dans SAP de la même manière que si elle était démarrée par un Utilisateur Dialogue. Remarques Le Script exécute une transaction SAP. Les données requises pour la transaction ont été au préalable définies à l'aide de R3_SET_BDCDATA. 450 Chapter 4 JCL UC4 pour les applications Pour des raisons de sécurité, la transaction n'est pas exécutée avec les droits de l'Utilisateur RFC (CPIC), utilisés par défaut par UC4 pour se connecter à SAP et pour planifier des Jobs d'arrière-plan. Pour démarrer la transaction, l'Agent se déconnecte du système SAP et se reconnecte à l'aide de l'ID utilisateur défini dans l'objet Login du Job UC4. Nous vous recommandons de créer dans SAP un Utilisateur dédié à l'exécution des transactions à partir de UC4. Cet Utilisateur doit disposer d'autorisations sur les transactions. Il est également judicieux d'utiliser les Scripts R3_SET_BDCDATA et R3_CALL_TRANSACTION dans des Jobs UC4 réservés à cet usage. Vous évitez ainsi que l'Utilisateur défini pour R3_CALL_ TRANSACTION influence d'autres Scripts du JCL SAP, comme R3_ACTIVATE_REPORT. Exemple Dans l'exemple, les données BDC de la transaction "SA38" sont définies. La transaction "SA38" est ensuite exécutée pour mettre à jour les données. R3_SET_BDCDATA PROGRAM="SAPMS38M", DYNPRO="0101", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=SSET" R3_SET_BDCDATA FNAM="RS38M-PROGRAMM", FVAL="RSEINB00" R3_SET_BDCDATA PROGRAM="SAPLSVAR", DYNPRO="0302", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=CHNG" R3_SET_BDCDATA FNAM="RSVAR-VARIANT", FVAL="UM-V1" R3_SET_BDCDATA FNAM="RSVAR-FLAG1", FVAL="X" R3_SET_BDCDATA PROGRAM="RSEINB00", DYNPRO="1000", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=SAVE" R3_SET_BDCDATA FNAM="P_FILE", FVAL="test.txt" R3_SET_BDCDATA PROGRAM="RSEINB00", DYNPRO="1000", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=VBAC" R3_SET_BDCDATA PROGRAM="SAPLSVAR", DYNPRO="0302", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="/EBACK" R3_SET_BDCDATA PROGRAM="SAPMS38M", DYNPRO="0101", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=BACK" R3_CALL_TRANSACTION CODE="SA38", UPDATE="S" Rubriques connexes : Généralités sur le JCL SAP R3_COPY_VARIANT Copie la variante d'un rapport. Transaction : SA38 Interface : UC4 et Standard Syntaxe R3_COPY_VARIANT REP[ORT]=... ,S[OURCE]=... ,T[ARGET]=... [,DELAY=...] [,MODE=...] [,OVERWRITE=...] Automation Engine Elément de syntaxe Description/format REP[ORT]= Nom du rapport dont la variante doit être supprimée. Format : Littéral de script S[OURCE]= Nom de la variante source Format : Littéral de script T[ARGET]= Nom de la variante cible Format : Littéral de script DELAY= Durée en secondes pendant laquelle l'Agent attend la copie d'une variante. Format : Littéral de script Interface UC4 nécessaire Valeur par défaut : "0" Ce paramètre sert à contourner les problèmes de synchronisation (variante copiée introuvable) susceptibles d'être rencontrés par les systèmes SAP comportant de nombreux Serveurs d'applications. MODE= Mode de traitement Format : Littéral de script Valeurs autorisées : " " (valeur par défaut) et "C" "" - Copie de la variante en dupliquant les entrées de table. "C" : création de la variante avec une référence par le biais des interfaces internes SAP. Si une variante de système doit être copiée, saisissez le paramètre MODE=C. La copie de la variante n'est pas automatiquement insérée dans un ordre de transfert. Le paramètre n'est pas nécessaire à l'interface standard. OVERWRITE= Comportement adopté si la variante existe déjà. Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - La variante cible est écrasée. "NO" - La variante cible n'est pas écrasée. Attention : lors de l'utilisation de l'interface XBP3.0, les options "Protéger la variante" et "Seulement pour le traitement en arrière-plan" ne doivent pas être reprises lors du processus de copie et la Variante copiée doit être visible pour tous les Utilisateurs (Batch et dialogue) ! Exemple La variante "DAILY" du rapport "RSPO0041" est copiée en tant que variante "DAILYCOP". R3_COPY_VARIANT REPORT='RSPO0041',SOURCE='DAILY',TARGET='DAILYCOP' Rubriques connexes : Généralités sur le JCL SAP 451 452 Chapter 4 JCL UC4 pour les applications R3_CREATE_OUTPUT_REQUEST Crée un nouvel ordre d'édition pour une requête spool existante. Transaction : SP01 Interface : UC4 Syntaxe R3_CREATE_OUTPUT_REQ[UEST] SPOOLNR=... [,DESTINATION=...] [,RECEIVER=...] [,DEPARTMENT=...] [,COPIES=...] [,SPOOL_PRIORITY=...] [,TITLE=...] [,PAGE_FROM=...] [,PAGE_TO=...] [,ERROR=...] Elément de syntaxe Description/format SPOOLNR= Numéro de la requête Spool Format de la valeur : Littéral de script DEST[INATION]= Imprimante Format de la valeur : Littéral de script RECEIVER= Destinataire Format de la valeur : Littéral de script DEPART[MENT]= Département Format de la valeur : Littéral de script COPIES= Nombre de copies Format de la valeur : Nombre Valeur par défaut : "0" SPOOL_PRI[ORITY]= Priorité du Spool Format de la valeur : littéral de Script ou nombre Valeur par défaut : "0" TITLE= Titre du Spool Format de la valeur : Littéral de script PAGE_FROM= Page de début Format de la valeur : Nombre Valeur par défaut : "0" PAGE_TO= Page de fin Format de la valeur : Nombre Valeur par défaut : "0" Automation Engine ERROR= 453 Comportement adopté si une erreur survient. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" et "INTERROMP" (valeur par défaut) "NORMAL" = Le Job UC4 se poursuit. "INTERROMP" - Le Job UC4 se termine anormalement. Exemple R3_CREATE_OUTPUT_REQUEST SPOOLNR='1234',DESTINATION='PRNT',RECEIVER='MEIER',DEPARTMENT='UC4',COPIES= 1,TITLE='Analyse décembre' Rubriques connexes : Généralités sur le JCL SAP R3_CREATE_VARIANT Crée une nouvelle variante. Transaction : SA38 Interface : Standard Syntaxe R3_CREATE_VAR[IANT] REP[ORT]=... ,VAR[IANT]=... [,TEXT=...] [,PROTECTED=...] Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : Littéral de script VAR[IANT]= Nom de la variante. Format : Littéral de script TEXT= Forme résumée de la variante. Format : Littéral de script Ce texte est créé dans la langue de l'Agent, définie dans le fichier INI par l'administrateur UC4, ou dans celle du Job. Cette dernière remplace l'option figurant dans le fichier INI. Si vous n'indiquez pas ce paramètre, le nom de la variante est utilisé dans sa forme résumée. 454 Chapter 4 JCL UC4 pour les applications PROTECTED= Protection contre les modifications. Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - Seul l'utilisateur CPIC peut modifier la variante créée. "NO" - La variante peut être modifiée sans restriction. Remarques Lors de la création de la variante, UC4 indique automatiquement qu'elle est destinée au traitement en arrière-plan. Les autres propriétés de la variante sont définies comme dans la GUI SAP. La fonction R3_CREATE_VARIANT crée toujours une variante sans contenu. Utilisez R3_SET_ SELECT_OPTION pour préciser le contenu. Si vous souhaitez exécuter un rapport avec une nouvelle variante, respectez l'ordre suivant lors de l'appel des fonctions : 1. R3_SET_SELECT_OPTION - Définition des critères de sélection 2. R3_CREATE_VARIANT - Création de la variante 3. R3_ACTIVATE_REPORT - Exécution du rapport avec la variante Si la variante existe déjà, mais qu'elle doit être recréée, supprimez-la au préalable à l'aide de la fonction R3_DELETE_VARIANT. Le Job est interrompu si une erreur survient lors de la création de la variante. Le Client de la variante est automatiquement celui auquel l'Agent SAP s'est connecté (conformément aux informations de l'objet Login). Vous pouvez également créer des variantes système SAP (CUS& et SAP&). Dans ce cas, le Client de la variante est toujours automatiquement défini sur 000. Pour utiliser R3_CREATE_VARIANT, XBP version 2.0 ou supérieure est nécessaire (version SAP 4.6+). Exemple L'exemple définit la valeur "17" pour le paramètre "Age minimum". Le critère de sélection est ensuite utilisé pour créer une variante. R3_SET_SELECT_OPTION SELNAME='MIN_ALT',KIND='P',LOW='17',SIGN='I' R3_CREATE_VARIANT REP=REPORT01,VAR=NEW,TEXT='Nouvelle variante' Rubriques connexes : Généralités sur le JCL SAP R3_DEACTIVATE_CM_PROFILE Désactive un profil dans le Gestionnaire de critères SAP. Transaction : SM62 Interface : Standard Syntaxe R3_DEACTIVATE_CM_PROFILE Automation Engine 455 TYPE=... [,ERROR=...] Elément de syntaxe Description/format TYPE= Type du profil Format : Littéral de script Valeurs autorisées : "EVHIRO", "EVTHIS" et "INTERC" "EVHIRO" - Réorganisation de l'Historique des Evènements "EVTHIS" - Historique des Evènements "INTERC" - Interception de Job ERROR= Comportement adopté si le profil ne peut être désactivé. Format de la valeur : Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le Script est interrompu et le Job UC4 se termine de façon anormale. "IGNORE" - Le Script se poursuit et le Job UC4 se termine normalement. Remarques Un seul profil peut être activé par type de profil. C'est pour cela que vous n'avez pas besoin d'entrer les ID, mais seulement le Type. Exemple L'exemple désactive le profil actif pour l'Historique des Evènements. R3_DEACTIVATE_CM_PROFILE TYPE="EVTHIS" Rubriques connexes : Généralités sur le JCL SAP R3_DELETE_NODE Supprime un nœud de l'architecture de moniteur SAP. Transaction : RZ20 Interface : XMW Syntaxe R3_DELETE_NODE NODE=... Elément de syntaxe Description/format NODE= Nom du nœud Format de la valeur : Littéral de script 456 Chapter 4 JCL UC4 pour les applications Remarques Le Script supprime un nœud existant (nœud d'attribut, d'objet, de total ou de contexte). Si le nœud possède encore des Alertes en cours, ces dernières sont fermées avant la suppression. Format du paramètre NODE= Ce paramètre décrit un chemin complet. Chacun des éléments est séparé par une barre oblique "/". Le chemin commence toujours par un nœud de contexte. Peuvent suivre un nœud de total, d'objet et d'attribut. Les nœuds de contexte, d'objet et d'attribut ne doivent apparaître qu'une seule fois dans le chemin. En revanche, les nœuds de total peuvent apparaître plusieurs fois. Exemple 1 : "UC4/TestNode/PerfAttributUC4" l l l "UC4" - Nom de contexte "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple 2 : "UC4/Summary1/Summary2/TestNode/PerfAttributUC4" l l l l l "UC4" - Nom de contexte "Summary1" - Noeud de total "Summary2" - Noeud de total "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple Une fois l'exemple suivant exécuté, le nœud "UC4/TEST" existe encore. Le sous-nœud "PerfAttributUC4" a été supprimé. R3_DELETE_NODE NODE='UC4/TEST/PerfAttributUC4' Rubriques connexes : Généralités sur le JCL SAP R3_DELETE_VARIANT Supprime la variante d'un rapport. Transaction : SA38 Interface : UC4 et Standard Syntaxe R3_DELETE_VARIANT Automation Engine REP[ORT]=... ,VAR[IANT]=... Elément de syntaxe Description/format REP[ORT]= Nom du rapport dont la variante doit être supprimée. Format : Littéral de script VAR[IANT]= Nom de la variante qui doit être supprimée. Format : Littéral de script Exemple Dans cet exemple, la variante "DAILYCOP" du rapport "RSPO0041" est supprimée. R3_DELETE_VARIANT REPORT='RSPO0041',VAR='DAILYCOP' Rubriques connexes : Généralités sur le JCL SAP R3_GET_APPLICATIONLOG Vérifie le code retour d'application d'une ou de plusieurs étapes de Job. Transaction : Interface : Standard (XBP 3,0) Syntaxe R3_GET_APPLICATIONLOG NAME=... ,JOBCOUNT=... [,STEP=...] [,MAX_APPL_RC=...] Elément de syntaxe Description/format NAME= Nom du Job SAP Format de la valeur : Littéral de script Par défaut, le Job SAP que vous avez précédemment indiqué dans un des éléments de script suivants est utilisé : l l l l R3_ACTIVATE_INTERCEPTED_JOBS R3_ACTIVATE_JOBS R3_ACTIVATE_REPORT R3_ACTIVATE_SESSION 457 458 Chapter 4 JCL UC4 pour les applications JOBCOUNT= Numéro du Job SAP Format : Littéral de script Utilisé conjointement avec NAME=, ce paramètre permet d'identifier un Job SAP de manière univoque. STEP= Numéro du step dans le Job SAP Format de la valeur : Nombre Valeur par défaut : "1" Si vous indiquez la valeur "0", les codes retour d'application de toutes les étapes du Job SAP indiqué sont vérifiés. MAX_APPL_ RC= Nombre maximum de codes retour autorisés Format de la valeur : Nombre Valeur par défaut : "0" Le Job UC4 s'interrompt si le code retour d'application d'une étape de Job dépasse la valeur indiquée ici. Remarques Le Script vérifie les codes retour d'application des étapes du Job et les compare avec la valeur maximale autorisée. Si cette valeur est dépassée, le Job UC4 est interrompu. Si ce n'est pas le cas, l'exécution du Job se poursuit. Le code retour d'application est également affiché dans le rapport et peut être lu. Exemple Dans un premier exemple, le code retour d'application de l'étape "2" est vérifié. R3_GET_APPLICATION_RC NAME="MYJOB",JOBCOUNT=13541601,STEP=2,MAX_APPL_RC=10 Le second exemple illustre la façon dont tous les codes retour d'application du Job "MYJOB" sont vérifiés. R3_GET_APPLICATION_RC NAME="MYJOB",JOBCOUNT=13541601,STEP=0,MAX_APPL_RC=10 Rubriques connexes : Généralités sur le JCL SAP R3_GET_APPLICATIONLOG Cherche les messages du log d'application (transaction SLG1) et les affiche dans le rapport ou le fichier. Transaction : SLG1 Interface : UC4 Syntaxe R3_GET_APPLICATIONLOG Automation Engine 459 [OBJECT=...] [,SUBOBJECT=...] [,FROM_DATE=...] [,FROM_TIME=...] [,TO_DATE=...] [,TO_TIME=...] [,USER=...] [,TAC=...] [,PROGRAM=...] [,MESSAGE_CLASS=...] [,FILE=...] [,EXTNUMBER=...] [,LOG_CREATION=...] [,ENCODING=...] Elément de syntaxe Description/format OBJ[ECT]= Nom d'un objet (abréviation de l'application) Format : Littéral de script Valeur par défaut : "*" "*" peut être utilisé comme caractère générique pour désigner n'importe quelle chaîne de caractères. SUB[OBJECT]= Nom d'un sous-objet de l'objet Format : Littéral de script Valeur par défaut : "*" "*" peut être utilisé comme caractère générique pour désigner n'importe quelle chaîne de caractères. FROM_D[ATE]= Date de début de la sélection des messages au format "AAAAMMJJ". Format : Littéral de script Valeur par défaut : "20010101" FROM_T[IME]= Heure de début de la sélection des messages au format "HHMMSS". Format : Littéral de script Valeur par défaut : "000000" TO_D[ATE]= Date de fin de la sélection des messages au format "AAAAMMJJ". Format : Littéral de script Valeur par défaut : date actuelle TO_T[IME]= Heure de fin de la sélection des messages au format "HHMMSS". Format : Littéral de script Valeur par défaut : "235959" USER= Nom de l'Utilisateur qui a déclenché l'Evènement journalisé. Format : Littéral de script Valeur par défaut : "*" "*" peut être utilisé comme caractère générique pour désigner n'importe quelle chaîne de caractères. 460 Chapter 4 JCL UC4 pour les applications TAC= Nom de la transaction associée au déclenchement de l'Evènement journalisé. Format : Littéral de script Valeur par défaut : "*" "*" peut être utilisé comme caractère générique pour désigner n'importe quelle chaîne de caractères. PROGRAM= Nom du programme qui a déclenché l'Evènement journalisé. Format : Littéral de script Valeur par défaut : "*" "*" peut être utilisé comme caractère générique pour désigner n'importe quelle chaîne de caractères. MESSAGE_CL[ASS]= Indicateur précisant l'appartenance d'un message à une classe de problèmes. Format : Littéral de script Valeur par défaut : "4" Les valeurs des indicateurs des messages vont de "1" (très important) à "4" (informations complémentaires). FILE= Nom du fichier dans lequel le résultat (messages trouvés) doit être enregistré Format : Littéral de script Le résultat de la sélection n'est pas affiché dans le rapport si ce paramètre est utilisé. EXTNUMBER= Identification externe du fichier de logging de l'application, attribuée par le programme d'application Format : Littéral de script LOG_C[REATION]= Mode d'exploitation dans lequel le log d'application a été créé Format : littéral de script Valeurs autorisées : "" (valeur par défaut), "B", "D" et "I" "" - tous les modes "B" - Batch "D" - Dialogue "I" - Batch-Input ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Le Script permet de sélectionner des messages dans le log d'application, en fonction de critères spécifiques. Par défaut, les messages trouvés sont affichés dans le rapport UC4. Ils peuvent également être écrits dans le fichier indiqué par le biais du paramètre FILE=. Automation Engine 461 Le Script permet, par exemple, d'accéder au log d'application de SAP Banking - Accounts Management. Les messages des processus et des réseaux de processus démarrés à l'aide de BCA_ACTIVATE_ PROCESS sont ainsi exploitables dans UC4. Les paramètres du Script doivent être utilisés de manière à toujours fournir l'accès à un nombre limité de messages du log d'application. Une sélection rigoureuse des critères appropriés permet d'éviter de grands volumes de données inutiles. Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'agent est installé (par ex. : R3_GET_JOB_SPOOL; FILE=). Rubriques connexes : Généralités sur le JCL SAP R3_GET_EVENT Attend un Evènement déclenché dans SAP. Transaction : SM36 (conditions de démarrage) Interface : Standard Syntaxe R3_GET_EVENT ID=... [,PARAM=...] [,TIMEOUT=...] Elément de syntaxe Description/format ID= Nom de l'Evènement Format : Littéral de script Le nom indiqué doit comporter moins de 32 caractères. PARAM= Paramètre de l'Evènement. Format : Littéral de script Le nom indiqué doit comporter moins de 64 caractères. TIMEOUT= Durée en secondes pendant laquelle un Evènement déclenché dans SAP doit être attendu. Format : Nombre Valeur par défaut : "0" Remarques Le Script permet d'attendre un Evènement qui a été déclenché dans SAP. Il peut s'agir d'un Evènement système (prédéfini par SAP) ou Utilisateur. Vous pouvez indiquer comme paramètre d'Evènement une chaîne de caractères au contenu libre. Si la durée en secondes pendant laquelle un Evènement doit être attendu est définie sur zéro, le Script attend indéfiniment l'Evènement. Le Script se poursuit dès que l'Evènement survient. 462 Chapter 4 JCL UC4 pour les applications Veuillez noter que le Script ne peut réagir que lorsque l'évènement indiqué se trouve aussi dans l'historique des évènements SAP. Pour cela, adaptez éventuellement les profils de critères des évènements dans SAP. Exemple Dans l'exemple, l'Evènement "TEST" présentant le paramètre "Myparam" est attendu 10 secondes au maximum. R3_GET_EVENT ID="TEST",PARAM="Myparam",TIMEOUT=10 Rubriques connexes : Généralités sur le JCL SAP R3_GET_INTERCEPTION Lit la table de filtre pour les Jobs interceptés et enregistre dans le protocole d'activation ou un fichier. Transaction : Interface : Standard (XBP 2.0) Syntaxe R3_GET_INTERC[EPTION] [FILE=] [,ENCODING=...] Elément de syntaxe Description/format FILE= Nom du fichier dans lequel les Jobs doivent être enregistrés. Format de la valeur : Littéral de script Le résultat n'est pas affiché dans le protocole d'activation si ce paramètre est utilisé. ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Le Script lit le contenu de la table du système SAP dans laquelle les conditions des Jobs batch ont été définies. Le Client SAP indiqué dans l'objet Login auquel le Job UC4 se réfère est utilisé. Automation Engine 463 Le contenu de la table est écrit dans le protocole d'activation ou dans le fichier indiqué. Le fichier est présenté de manière structurée. La première colonne (4 caractères) contient le Client SAP, la deuxième (33 caractères), le nom du Job et la troisième (12 caractères), le nom de l'Utilisateur. Les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'agent est installé (par ex. : R3_GET_JOB_SPOOL; FILE=). Attention : le Script est uniquement pris en charge par la version XBP 2.0. Exemple Les Jobs interceptés définis sont extraits et écrits dans un fichier. R3_GET_INTERCEPTION FILE='C:\TEMP\IC.TXT' Rubriques connexes : Généralités sur le JCL SAP R3_GET_JOB_SPOOL Lit la liste spool d'un step de type "programme ABAP". Transaction : SM37 Interface : UC4 et Standard Syntaxe R3_GET_JOB_SPOOL FILE=... [,NAME=...] [,JOBCOUNT=...] [,STEP=...] [,NOFOUND=...] [,MAXLINES=...] [,SPOOLNR=...] [,FORMAT=...] [,PAGES=...] [,FILTER=...] [,RAW=...] [,ENCODING=...] Elément de syntaxe Description/format FILE= Nom du fichier dans lequel le résultat (liste spool du step) doit être écrit. Format de la valeur : Littéral de script De plus, ce fichier est enregistré en tant que Résultat de Job pour le job UC4. 464 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format NAME= Nom du Job SAP qui contient le step Format de la valeur : Littéral de script Si vous n'indiquez pas de nom de Job, le dernier Job effectué via le Job UC4 est automatiquement utilisé. JOBCOUNT= Numéro du Job SAP qui contient le step Format de la valeur : Littéral de script Si le numéro du Job n'est pas indiqué, la dernière valeur du Job qui s'est déroulée via le Job UC4 est automatiquement utilisée. Lors de l'utilisation des paramètres NAME et JOBCOUNT, veuillez noter que le Spool ne peut pas être déterminé lorsque le Job correspondant a été supprimé dans le système SAP (paramètre "Supprimer le Job après exécution dans CCMS" dans le Job UC4). STEP= Numéro du step dans le Job SAP Format de la valeur : Nombre Valeur par défaut : "1" NOFOUND= Comportement adopté si la liste spool n'est pas trouvée Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" = Le Job UC4 se poursuit. "ABEND" - Le Job UC4 se termine anormalement. MAXLINES= Nombre maximal de lignes écrites dans le fichier Format de la valeur : Nombre Valeur par défaut : "9999" Ce paramètre n'est pas pris en compte lors de l'utilisation de FORMAT = "PDF" ou "BIN". SPOOLNR= Numéro de la requête spool Format de la valeur : Littéral de script Si NAME, JOBCOUNT ou SPOOLNR est saisi, le dernier Job SAP qui a été effectué via le Job UC4 est automatiquement utilisé. FORMAT= Format de sortie Format de la valeur : Littéral de script Valeurs autorisées : "TXT" (valeur par défaut), "RAW" (au lieu de paramètre RAW), "PDF", "BIN" et "HTM" Pour les paramètres "BIN" et "PDF", la liste Spool est transférée au format binaire sans être convertie. Automation Engine Elément de syntaxe Description/format PAGES= Pages Format de la valeur : Littéral de script Syntaxe du paramètre : PAGES=Page[;Page[;...]] Vous devez séparer les pages et les plages de pages indiquées par le signe ";". Exemples : l l l page 7 : PAGES="7" pages 5 à 7 : PAGES="5,7" page 2 et pages 5 à 7 : PAGES="2;5,7" Pour indiquer la dernière page, vous pouvez utiliser le symbole $ : l l l l pages 1 à 3 et dernière page : PAGES="1,3;$" toutes les pages : PAGES="1,$" la première et la dernière page : PAGES="1;$" les deux dernières pages : PAGES="$-1,$" Les paramètres FORMAT (sauf PDF), SPOOLNR et PAGES sont aussi disponibles pour l'interface XBP 3.0 (à partir de la version 1.1). FILTER= Paramètre de Filtre Format de la valeur : Littéral de script Chaîne de caractères utilisée pour effectuer la sélection. Il n'est pas possible de saisir des caractères génériques. RAW= Ce paramètre fournit la liste spool au format brut. Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - la liste spool est fournie au format brut, c'est-à-dire avec tous les caractères d'édition. "NO" - la liste spool n'est pas au format brut. Il est recommandé d'utiliser FORMAT=RAW au lieu de ce paramètre. ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Le script peut être utilisé avec les combinaisons de paramètres suivantes : 465 466 Chapter 4 JCL UC4 pour les applications l l l l l SPOOLNR NAME, JOBCOUNT, STEP NAME, JOBCOUNT STEP aucun de ces paramètres Le paramètre FILTER nécessite l'interface UC4 et le paramètre RAW nécessite l'interface par défaut ! Le transfert de la liste spool n'est possible que si vous n'avez pas coché la case "Supprimer le Job après exécution dans CCMS" dans l'onglet "Attributs de l'hôte". Cette limitation n'est pas valable lorsque le paramètre SPOOLNR est indiqué ou qu'il est utilisé comme interface par défaut XBP 3.0 (à partir de la version 1.1) sans paramètre NAME, JOBCOUNT et SPOOLNR. Veuillez tenir compte de la remarque suivante lors de l'utilisation de l'interface par défaut avec une version inférieure à XBP 3.0 V1.1 : C'est toujours l'intégralité de la liste Spool qui est transférée à l'Agent SAP. La fonction par défaut de l'interface XBP ne permet pas d'accéder seulement à des parties de la liste Spool. Attention : les listes spool volumineuses peuvent nuire aux performances de l'Agent SAP. Le paramètre MAXLINES= est seulement pris en compte si la liste spool a déjà été transférée dans son intégralité. Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'Agent est installé (par ex. R3_GET_JOB_SPOOL; FILE=). Exemple Dans l'exemple, un rapport est activé au préalable. Ensuite, la liste spool du step est cherchée sans indiquer le nom de Job ou le numéro de Job comme paramètre. Le dernier Job qui a été démarré via le Job UC4 est automatiquement utilisé. R3_ACTIVATE_REPORT REPORT='RSPO0041',VAR='STANDARD',COVERPAGE=YES R3_GET_JOB_SPOOL FILE='c:\temp\spoollist.txt',NOFOUND=ABEND,MAXLINES=20 Rubriques connexes : Généralités sur le JCL SAP R3_GET_JOBLOG Cherche le logging d'un Job SAP dans SAP et l'affiche dans un rapport. Transaction : SM37 Interface : UC4 et Standard Syntaxe R3_GET_JOBLOG NAME=... ,JOBCOUNT=... [,BEG_LOGLINES=...] [,END_LOGLINES=...] Elément de syntaxe Description/format Automation Engine NAME= Nom du Job SAP Format : Littéral de script JOBCOUNT= Numéro du Job SAP. Format : Littéral de script 467 Utilisé conjointement avec le nom, ce paramètre permet d'identifier un Job SAP de manière univoque. BEG_LOGLINES= Définit le nombre de lignes qui doivent être reprises depuis le début du log du Job SAP dans le rapport de Job. END_LOGLINES= Nombre de lignes à la fin du log du Job SAP qui sont écrites dans le rapport de Job. Si le paramètre END_LOGLINES ou BEG_LOGLINES est indiqué, l'intégralité du rapport de Job est utilisée par défaut. Si seul un paramètre est affiché, alors seules les lignes du début ou de la fin du rapport de Job sont lues. Si "0" est la valeur indiquée pour les deux paramètres, aucun log de Job n'est indiqué. Seules des valeurs numériques sont autorisées pour les deux paramètres. Remarques Le Script permet de déterminer le log d'un Job SAP déjà exécuté qui n'a pas été directement démarré via UC4. Il est ainsi possible d'accéder à des logs de sous-Jobs IS-U ou SARA. Vous pouvez consulter le log du Job dans l'onglet "Rapport" du Job UC4 que le Script utilise. Le Script ne lit que le log d'un seul Job SAP. Vous ne pouvez pas utiliser de caractères génériques lors de l'indication des paramètres. Exemple Dans l'exemple, le log du Job "SWWERRE" (numéro "23483501") est déterminé. R3_GET_JOBLOG NAME='SWWERRE',JOBCOUNT=23483501 Le rapport contient les lignes suivantes. Date Time MsgId/Nr Message 11.12.2001 00:08:35 00 516 SJob a été démarré 11.12.2001 00:08:35 00 550 SStep 001 démarré (Programme RSWWERRE, Variante , Nom d'utilisateur NI) 11.12.2001 00:08:35 WI 137 S0 Workitems ont été traités 11.12.2001 00:08:35 00 517 SJob s'est terminé Rubriques connexes : Généralités sur le JCL SAP R3_GET_JOBS Sélectionne des Jobs SAP et affiche le résultat dans le rapport d'activation ou dans un fichier. Transaction : SM37 468 Chapter 4 JCL UC4 pour les applications Interface : UC4 et Standard Syntaxe R3_GET_JOB[S] NAME=... [,JOBCOUNT=...] [,GROUP=...] [,USER=...] [,START_D[ATE]=...] [,START_T[IME]=...] [,END_D[ATE]=...] [,END_TIME=...] [,NO_DATE=...] [,WITH_PRED=...] [,EVENT_ID=...] [,EVENT_PARM=...] [,PRELIM=...] [,SCHEDUL=...] [,READY=...] [,RUNNING=...] [,FINISHED=...] [,ABORTED=...] [,NOFOUND=...] [,FILE=...] [,ENCODING=...] Elément de syntaxe Description/format NAME= Sélection d'un ou de plusieurs Jobs d'après leur nom. Format : Littéral de script ou Nom UC4 Utilisé conjointement avec le numéro du Job, ce paramètre permet d'identifier un Job SAP de manière univoque. Pour sélectionner plusieurs Jobs, vous pouvez utiliser le caractère générique "*" (par exemple, "xxx*"). Paramètres Critères de sélection supplémentaires, sous la forme d'un mot-clé auquel est attribuée une valeur. Si vous ne précisez pas de valeur pour un paramètre, une valeur par défaut lui est affectée. Les formats indiqués s'appliquent à la valeur attribuée au motclé. JOBCOUNT= Numéro du Job SAP Format: Littéral de script Utilisé conjointement avec le nom, ce paramètre permet d'identifier un Job SAP de manière univoque. GROUP= Sélection des Jobs en fonction de leurs Groupes (par exemple, "xxx*") Format : Littéral de script ou Nom UC4 Valeur par défaut : "*" Automation Engine USER= Sélection des Jobs en fonction de leurs Utilisateurs (par exemple, "xxx*") Format : Littéral de script ou Nom UC4 Valeur par défaut : "*" START_D[ATE]= Date de début planifiée pour l'exécution du Job. Format : Littéral de script ou Nom UC4 Format de date : AAAAMMJJ Valeur par défaut : "20010101" START_T[IME]= Heure de début planifiée pour l'exécution du Job. Format : Littéral de script ou Nom UC4 Format d'heure : HHMMSS Valeur par défaut : "000000" END_D[ATE]= Date de fin planifiée pour l'exécution du Job. Format : Littéral de script ou Nom UC4 Format de date : AAAAMMJJ Valeur par défaut : date actuelle END_TIME= Heure de fin planifiée pour l'exécution du Job. Format : Littéral de script ou Nom UC4 Format d'heure : HHMMSS Valeur par défaut : "235959" NO_DATE= Jobs sans condition de démarrage. Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" WITH_PRED= Jobs avec une condition de démarrage "avec prédécesseur" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" EVENT_ID= Jobs liés à un Evènement : Nom de l'évènement Format : Littéral de script ou Nom UC4 EVENT_PARM= Jobs liés à un Evènement : Paramètre de l'Evènement Format : Littéral de script ou Nom UC4 PRELIM= Jobs présentant le statut "Planifié" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" SCHEDUL= Jobs présentant le statut "Déclenché" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" READY= Jobs présentant le statut "Prêt" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" RUNNING= Jobs présentant le statut "Actif" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" 469 470 Chapter 4 JCL UC4 pour les applications FINISHED= Jobs présentant le statut "Terminé" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" ABORTED= Jobs présentant le statut "Interrompu" Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut) ou "X" NOFOUND= Comportement adopté si les critères de sélection des Jobs ne donnent aucun résultat. Format : Littéral de script ou Nom UC4 Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" - Le script continue, le Job UC4 se termine normalement. "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. FILE= Nom du fichier dans lequel le résultat (Jobs SAP trouvés) doit être enregistré Format : Littéral de script Le résultat de la sélection n'est pas affiché dans le rapport d'activation si ce paramètre est utilisé. ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Description Le Script permet de sélectionner des Jobs d'arrière-plan dans SAP. Les critères de sélection sont transmis en tant que paramètres. Les paramètres correspondent aux champs de la structure BAPIXMJSEL du dictionnaire SAP. Pour obtenir des informations plus précises sur chaque champ, utilisez le dictionnaire ou le navigateur de l'interface BAPI. Le résultat de la sélection est écrit dans le rapport d'activation ou dans un fichier. Chaque Job SAP trouvé correspond à une ligne. Les lignes ne sont pas présentées de la même manière dans le rapport d'activation et dans le fichier. Le fichier utilise des colonnes. La première ligne du fichier contient des informations sur la largeur et le contenu de ces colonnes. Chaque ligne est divisée en fonction de ce paramétrage. Les 33 premiers caractères correspondent au nom du Job SAP, les 9 suivants à son numéro. Dans le rapport d'activation, les informations de chaque ligne sont séparées par un point-virgule. Un horodatage et un numéro de message UC4 figurent en outre en début de ligne. Vous pouvez analyser le résultat de la sélection à l'aide de fonctions de Script. Utilisez la fonction PREP_ PROCESS_REPORT dans l'onglet "Post Traitement" pour analyser le rapport d'activation. La fonction PREP_PROCESS_FILE est quant à elle employée si le résultat de la sélection a été enregistré dans un fichier. Automation Engine 471 Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'Agent est installé (par ex. R3_GET_JOB_SPOOL; FILE=). Exemples Dans le premier exemple, tous les Jobs SAP planifiés dont le nom commence par "LANC" sont sélectionnés. R3_GET_JOBS NAME="FREIG*",PRELIM="X" Le résultat est affiché dans le rapport d'activation et pourrait se présenter comme les lignes ci-dessous : 20000922/134303.567 20000922/134303.567 20000922/134303.567 20000922/134303.567 20000922/134303.567 - U2004943 U2004943 U2004943 U2004943 U2004943 ;LIBERATION;13450801 ;LIBERATION;13455501 ;LIBERATION;16221501 ;LIBERATION;16225101 ;LIBERATION;16234801 Le second exemple sélectionne tous les Jobs SAP nommés "EU_REORG" et présentant le statut "Terminé". Le résultat de la sélection est enregistré dans un fichier. R3_GET_JOBS NAME='EU_REORG',FINISHED='X',FILE='Jobs.txt' Exemples de lignes susceptibles de figurer en début de fichier : COL=LENGTH,LENGTH_TAB='33=JOBNAME,9=JOBCOUNT' EU_REORG 01404301 EU_REORG 01405401 Rubriques connexes : Généralités sur le JCL SAP R3_GET_MONITOR Lit des données d'un moniteur SAP. Transaction : RZ20 Interface : Standard Syntaxe R3_GET_MON[ITOR] MONITOR_SET=... ,MONITOR=... ,FILE=... [,ENCODING=...] Elément de syntaxe Description/format MONITOR_SET= Nom du paramètre moniteur (60 caractères maximum). Format : nom ou Littéral de script MONITOR= Nom d'un moniteur (60 caractères maximum) Format : nom ou Littéral de script 472 Chapter 4 JCL UC4 pour les applications FILE= Nom du fichier dans lequel le résultat (données actuelles du moniteur) doit être enregistré Format : nom ou Littéral de script ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Le Script permet de lire les données de SAP Monitoring et de les enregistrer dans un fichier. L'Agent SAP répartit les diverses lignes fournies par le moniteur SAP dans des colonnes fixes. Il enregistre le nom et la largeur des colonnes sous la forme d'une ligne d'en-tête dans le fichier contenant les données actuelles du moniteur. Les colonnes suivantes sont disponibles : PATH - Chemin de la valeur, NAME -Nom de la valeur, VALUE - Valeur actuelle, STATUS - Statut : 1 = vert, 2 = jaune, 3 = rouge, DATE - Date de la vérification, TIME - Heure de la vérification. MESSAGE - Message affiché pour un attribut de protocole. Attention : l'horodatage retourné est indiqué en UTC et diffère donc de l'heure locale ! Le Script CONV_ TIMESTAMP permet d'appliquer un autre Fuseau horaire à la date et à l'heure (voir PREP_PROCESS). Nous souhaitons attirer tout particulièrement votre attention sur le fait que vous pouvez préparer et éditer les données du moniteur avec les Scripts applicables aux séquences de données. Dans ce cas, R3_GET_ MONITOR est utilisé dans le Job d'Evènement "EVENT.R3MONITOR" du Client "00". La fonction de Script PREP_PROCESS permet alors de générer une séquence de données avec les données d'un moniteur SAP. La séquence de données est traitée par les instructions de Script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de Script GET_PROCESS_LINE , vous accédez à toutes les lignes de la séquence de données et à ses colonnes. Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'Agent est installé (par ex. R3_GET_JOB_SPOOL; FILE=). Rubriques connexes : Généralités sur le JCL SAP R3_GET_SESSIONS Sélectionne des dossiers batch input et affiche le résultat dans le rapport d'activation ou dans un fichier. Transaction : SM35 Automation Engine 473 Interface : UC4 Syntaxe R3_GET_SESSION[S] NAME=... CREDATE_FROM=... CREDATE_TO=... STATUS=... [,FILE=...] [,NOFOUND=...] [,ORDER_BY=...] [,ENCODING=...] Elément de syntaxe Description/format NAME= Sélection de sessions batch input d'après leur nom Format : Littéral de script Vous pouvez utiliser les caractères génériques "*" et "?". "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. CREDATE_FROM= Sélection de sessions batch input d'après leur date de création (date de début de la sélection) Format : Littéral de Script Format de date : AAAAMMJJ CREDATE_TO= Sélection de sessions batch input d'après leur date de création (date de fin de la sélection) Format : Littéral de Script Format de date : AAAAMMJJ STATUS= Sélection de sessions batch input d'après leur statut Format : Littéral de script Valeurs autorisées : " " (valeur par défaut), "R", "F" et "E" " " – Sessions batch input qui doivent encore être traitées. "R" – Sessions batch input qui sont en cours de traitement (Running). "F" – Sessions batch input dont le traitement est terminé (Finished). "E" – Sessions batch input pour lesquelles des erreurs sont survenues au cours du traitement (Error). FILE= Nom du fichier dans lequel le résultat de la sélection (sessions batch input trouvées) doit être écrit. Format : Littéral de script Le résultat de la sélection n'est pas affiché dans le rapport d'activation si ce paramètre est utilisé. NOFOUND= Comportement adopté si aucune session batch input n'est trouvée. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" – Le Script continue, le Job UC4 se termine normalement. "ABEND" – Le Script s'interrompt, le Job UC4 se termine anormalement. 474 Chapter 4 JCL UC4 pour les applications ORDER_BY= Critère de tri de la sélection de sessions. Tous les noms de champ de la table SAP APQI peuvent être indiqués. Exemple : ORDER_BY=GROUPID Ce paramètre est pris en charge dans SAP version 4.6 et supérieure. ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Description Le résultat de la sélection est écrit dans le rapport d'activation ou dans un fichier. Chaque session batch input trouvée correspond à une ligne. Les lignes ne sont pas présentées de la même manière dans le rapport d'activation et dans le fichier. Le fichier utilise des colonnes. La première ligne du fichier contient des informations sur la largeur et le contenu de ces colonnes. Chaque ligne est divisée en fonction de ce paramétrage. Les 13 premiers caractères correspondent au nom de la session batch input, les 21 suivants, à l'ID de queue. Treize caractères supplémentaires indiquent l'Utilisateur qui a créé la session batch input. Le paramètre ORDER_BY permet de trier les sessions batch input en fonction d'un critère donné. Dans le rapport d'activation, les informations de chaque ligne sont séparées par un point-virgule. Un horodatage et un numéro de message UC4 figurent en outre en début de ligne. Vous pouvez analyser le résultat de la sélection à l'aide de fonctions de Script. Utilisez la fonction PREP_ PROCESS_REPORT dans l'onglet "Post Traitement" pour analyser le rapport d'activation. La fonction PREP_PROCESS_FILE est quant à elle employée si le résultat de la sélection a été enregistré dans un fichier. Dans UC4 version 2.63E, le créateur des sessions batch input est indiqué à la fin des lignes du rapport d'activation ou du fichier. Cela peut poser un problème dans les Scripts UC4 existants si la séquence de données générée avec PREP_PROCESS_* n'est pas divisée en colonnes. C'est par exemple le cas si l'intégralité de la ligne est traitée à l'aide de fonctions de chaînes de caractères. Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'Agent est installé (par ex. R3_GET_JOB_SPOOL; FILE=). Exemples Dans le premier exemple, sont sélectionnées toutes les sessions batch input nommées "NI" qui restent à traiter à ce jour. :SET &AUJOURDHUI# = SYS_DATE(AAAAMMJJ) R3_GET_SESSIONS NAME='NI',CREDATE_FROM='&AUJOURDHUI#',CREDATE_ TO='&AUJOURDHUI#',STATUS=" " Exemples de lignes dans le rapport d'activation : 20020313/135601.000 – U2004943 ;UC4_TEST;20020312NI;NI Automation Engine Le second exemple sélectionne toutes les sessions batch input créées entre le 01.01.2000 et le 01.01.2002 dont le traitement a fait l'objet d'erreurs. Le résultat de la sélection est enregistré dans un fichier. R3_GET_SESSIONS NAME='*',CREDATE_FROM='20000101',CREDATE_ TO='20020101',STATUS='E',FILE='sessions.txt' Exemples de lignes susceptibles de figurer en début de fichier : COL=LENGTH,LENGTH_TAB='13=GROUPID,21=QID,13=CREATOR' UC4_TEST 20020314095728031322 NI UC4_TEST 20020314095823023148 NI UC4_TEST 20020314100932031323 NI Rubriques connexes : Généralités sur le JCL SAP R3_GET_SPOOLREQUESTS Sélectionne des requêtes spool avec des Filtres prédéfinis. Transaction : SP01 Interface : UC4 Syntaxe R3_GET_SPOOLREQ[UESTS] [WITHOUT=...] [,PROCESSING=...] [,SUCCESSFUL=...] [,PROBLEM=...] [,OWNER=...] [,AUTHORITY=...] [,NAME=...] [,SUFFIX1=...] [,SUFFIX2=...] [,DESTINATION=...] [,SPOOLNR_FROM=...] [,SPOOLNR_TO=...] [,CREDATE_FROM=...] [,CREDATE_TO=...] [,TITLE=...] [,RECEIVER=...] [,DEPARTMENT=...] [,NOFOUND=...] Elément de syntaxe Description/format 475 476 Chapter 4 JCL UC4 pour les applications WITHOUT= Sélection en fonction du statut de requête "sans" Format de la valeur : Littéral de script Valeurs autorisées : "Y" (valeur par défaut) et "N" "Y" - la sélection est exécutée "N" - aucune sélection n'est exécutée en fonction du statut de requête "sans". PROCESSING= Sélection en fonction du statut de requête "en cours" Format de la valeur : Littéral de script Valeurs autorisées : "Y" (valeur par défaut) et "N" "Y" - la sélection est exécutée "N" - aucune sélection n'est exécutée en fonction du statut de requête "en cours". SUCCESSFUL= Sélection en fonction du statut de requête "bien terminé" Format de la valeur : Littéral de script Valeurs autorisées : "Y" (valeur par défaut) et "N" "Y" - la sélection est exécutée "N" - aucune sélection n'est exécutée en fonction du statut de requête "bien terminé". PROBLEM= Sélection en fonction du statut de requête "problème" Format de la valeur : Littéral de script Valeurs autorisées : "Y" (valeur par défaut) et "N" "Y" - la sélection est exécutée "N" - aucune sélection n'est exécutée en fonction du statut de requête "problème". OWNER= Propriétaire de la requête Spool Format de la valeur : Littéral de script AUTHORITY= Autorisation spool Format de la valeur : Littéral de script NAME= Nom de la requête Spool Format de la valeur : Littéral de script SUFFIX1= Suffixe 1 de la requête Spool Format de la valeur : Littéral de script SUFFIX2= Suffixe 2 de la requête Spool Format de la valeur : Littéral de script DEST[INATION]= Imprimante Format de la valeur : Littéral de script SPOOLNR_FROM= à partir du numéro de spool Format de la valeur : Littéral de script SPOOLNR_TO= jusqu'au numéro de spool Format de la valeur : Littéral de script CREDATE_FROM= Date de création de la requête Spool (date de début) Format de la valeur : Littéral de script Format : "AAAAMMJJ" Valeur par défaut : "20010101" Automation Engine CREDATE_TO= Date de création de la requête Spool (date de fin) Format de la valeur : Littéral de script Format : "AAAAMMJJ" Valeur par défaut : date actuelle TITLE= Titre de la requête Spool Format de la valeur : Littéral de script RECEIVER= Destinataire de la liste Spool Format de la valeur : Littéral de script DEPART[MENT]= Destinataire de la liste Spool (Département) Format de la valeur : Littéral de script NOFOUND= Comportement adopté si aucune requête Spool n'est trouvée. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut), "ABEND". "NORMAL" = Le Job UC4 se poursuit. "ABEND" - Le Job UC4 se termine anormalement. Description La fonction insère un ";" au début de chaque ligne de rapport. Exemple R3_GET_SPOOLREQUESTS SPOOLNR_FROM='1234',SPOOLNR_ TO='1236',DESTINATION='PRNT',RECEIVER='HENRI' Rubriques connexes : Généralités sur le JCL SAP R3_GET_SYSTEMLOG Lit les informations d'une période donnée d'un logging système SAP. Transaction : SM21 Interface : Standard Syntaxe R3_GET_SYSTEMLOG FILE=... [,SERVER=...] [,FROM_DATE=...] [,FROM_TIME=...] [,TO_DATE=...] [,TO_TIME=...] [,ENCODING=...] 477 478 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format FILE= Nom du fichier dans lequel le log du système SAP lu doit être enregistré. Format : nom ou Littéral de script SERVER= Nom d'un Serveur d'applications SAP Format : nom ou Littéral de script Le nom d'un Serveur d'applications SAP doit être saisi sous la forme Hôte_ SID_SYSNR : Hôte = Nom de l'ordinateur SID = ID système de SAP SYSNR = Numéro de l'instance SAP FROM_DATE= Date de début de la sélection dans un log système. Format : AAAAMMJJ Valeur par défaut : "20010101" FROM_TIME= Heure de début de la sélection dans un log système. Format : HHMMSS Valeur par défaut : "000000" TO_DATE= Date de fin de la sélection dans un log système. Format : AAAAMMJJ Valeur par défaut : date actuelle TO_TIME= Heure de fin de la sélection dans un log système. Format : HHMMSS Valeur par défaut : "235959" ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Le Script permet de lire le log d'un système SAP et de les enregistrer dans un fichier. Si le nom d'un Serveur d'applications est indiqué, le Script fournit ce log système. Si le nom du Serveur d'applications n'est pas indiqué, le log du système SAP central est lu. Nous souhaitons attirer tout particulièrement votre attention sur le fait que vous pouvez préparer et éditer le log du système avec les Scripts applicables aux séquences de données. Dans ce cas, R3_GET_ SYSTEMLOG est utilisé dans le Job d'Evènement "EVENT.R3SYSLOG" du Client "00". La fonction de Script PREP_PROCESS permet alors de générer une séquence de données avec les données du log du système. La séquence de données est traitée par les instructions de Script :PROCESS et :ENDPROCESS. Grâce à l'utilisation conjointe de la fonction de Script GET_PROCESS_LINE , vous accédez à toutes les lignes de la séquence de données et à ses colonnes. Automation Engine 479 Veuillez noter que les fichiers générés sont enregistrés par défaut sur l'ordinateur sur lequel l'Agent est installé (par ex. R3_GET_JOB_SPOOL; FILE=). Exemple Par exemple, le log du système central SAP de la semaine précédente est lu. La date de début de la sélection dans le log du système est calculée avec la fonction de Script SUB_DAYS. On prend en compte la date du jour. :RSET &HEUTE# = SYS_DATE ('JJJJMMTT') :RSET&LETZTE_WOCHE# =SUB_DAYS ('JJJJMMTT:&HEUTE#', 7) R3_GET_SYSTEMLOG FILE = 'c:\t46_systemlog.txt', SERVER=, FROM_ DATE='&LETZTE_WOCHE#' Rubriques connexes : Généralités sur le JCL SAP R3_GET_VARIANTS Affiche toutes les variantes disponibles dans le protocole d'activation. Transaction : SA38 Interface : Standard Syntaxe R3_GET_VARIANT[S] REPORT=... [,ERROR=...] [,SELECT_OPTION=...] Elément de syntaxe Description/format REP[ORT]= Nom du programme ABAP Format : Littéral de script ERROR= Comportement si aucune variante n'est trouvée. Format : Littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. SEL[ECT_OPTION]= Type des variantes à sélectionner. Format : Littéral de script Valeurs autorisées : "A" (valeur par défaut) et "B" "A" = Variantes autorisées pour le traitement en arrière-plan et en mode Dialogue. "B" = Variantes seulement autorisées pour le traitement en arrière-plan. 480 Chapter 4 JCL UC4 pour les applications Exemple R3_GET_VARIANTS REP='RSPO0041' Rubriques connexes : Généralités sur le JCL SAP R3_GET_VARIANT_CONTENTS Affiche le contenu d'une variante. Transaction : SA38 Interface : UC4 et Standard (XBP 2.0) Syntaxe R3_GET_VARIANT_C[ONTENTS] REPORT=... ,VARIANT=... [,SELNAME=...] [,KIND=...] [,LOW=...] [,HIGH=...] [,SIGN=...] [,OPTION=...] [,ERROR=...] Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : Littéral de script ou Nom UC4 VAR[IANT]= Nom de la variante Format : Littéral de script ou Nom UC4 SELN[AME]= Nom du paramètre Format : Littéral de script ou Nom UC4 KIND= Type de sélection Format : Littéral de script ou Nom UC4 Valeurs possibles : "S" et "P" (valeur par défaut) "S" - critère de sélection "P" - paramètre LOW= Valeur du paramètre (LOW) Format : Littéral de script ou Nom UC4 HIGH= Valeur du paramètre (HIGH) Format : Littéral de script ou Nom UC4 Automation Engine SIGN= 481 Indicateur (Include/Exclude). Format : Littéral de script ou Nom UC4 Valeurs autorisées : "I" (valeur par défaut) et "E" "I" = Include "E" = Exclude OPTION= Option utilisée pour effectuer la sélection Format : Littéral de script ou Nom UC4 "EQ" - égal (valeur par défaut) "NE" - non égal à "GT" - plus grand que "GE" - plus grand ou égal "LT" -plus petit que "LE" - plus petit ou égal "CP" - contient un modèle (avec des caractères de remplacement) "NP" - ne contient pas de modèle "BT" - Intervalle (saisir aussi HIGH) "NB" - hors de l'intervalle (saisir aussi HIGH) ERROR= Comportement adopté si la variante ou le contenu est introuvable Format : Littéral de script ou Nom UC4 Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE". "INTERROMP" - Le Script s'interrompt, le Job UC4 se termine anormalement. "IGNORER" - Le Script continue, le Job UC4 se termine normalement. Exemples Le contenu global de la variante s'affiche ligne par ligne. Le Job ne s'interrompt pas même si la variante est introuvable. R3_GET_VARIANT_C REP='RSPO0041',VAR='STANDARD',ERROR='IGNORE' Toutes les entrées figurant dans la table VARI_VALUES ou VALUETAB et dont la colonne SELNAME contient la valeur "MIN_ALT" sont répertoriées. Le Job s'interrompt si la valeur "MIN_ALT" ou la variante est introuvable. R3_GET_VARIANT_C REP='RSPO0041',VAR='STANDARD',SELNAME='MIN_ ALT',ERROR='ABEND' Toutes les entrées figurant dans la table VARI_VALUES ou VALUETAB et dont les colonnes SELNAME, KIND et LOW contiennent les valeurs MIN_ALT, P et 10 sont affichées. Le Job s'interrompt si aucune correspondance n'est trouvée. R3_GET_VARIANT_C REP='RSPO0041',VAR='STANDARD',SELNAME='MIN_ ALT',KIND='P',LOW='10',ERROR='ABEND' Rubriques connexes : Généralités sur le JCL SAP R3_MODIFY_INTERCEPTION Modifie la table de filtre pour les Jobs interceptés. 482 Chapter 4 JCL UC4 pour les applications Transaction : Interface : Standard (XBP 2,0) Syntaxe R3_MODIFY_INTERC[EPTION] [,NAME=...] [,USER=...] [,MODE=...] Elément de syntaxe Description/format NAME= Nom d'un Job SAP (ou de plusieurs Jobs SAP si le caractère générique * est utilisé) Format de la valeur : Littéral de script Valeur par défaut : "*" USER= Nom d'un Utilisateur SAP (ou de plusieurs Utilisateurs SAP si le caractère générique * est utilisé) Format de la valeur : Littéral de script Valeur par défaut : "*" MODE= Mode de traitement des nouvelles entrées de tableau. Format de la valeur : Littéral de script Valeurs autorisées : "REPLACE" (valeur par défaut) et "APPEND" "REPLACE" - La nouvelle entrée de tableau remplace les entrées de tableau existantes. "INTERROMP" - La nouvelle entrée de tableau est ajoutée aux entrées de tableau existantes. Remarques Le Script modifie le contenu de la table du système SAP dans laquelle les conditions des Jobs batch ont été définies. Le Client SAP indiqué dans l'objet Login auquel le Job UC4 se réfère est utilisé. Si MODE=REPLACE dans le Script, toutes les entrées de table du Client SAP sont supprimées et remplacées par la nouvelle entrée. Si MODE=APPEND, la nouvelle entrée de table est ajoutée aux entrées existantes du Client SAP. Attention : le Script est uniquement pris en charge par la version XBP 2.0. Exemple Dans l'exemple, tous les Jobs interceptés définis sont d'abord déterminés. R3_GET_INTERCEPTION Le protocole d'activation contient les lignes suivantes. 20030325/153054.000 - U2004943 ;001;IC*;* 20030325/153054.000 - U2004943 ;001;UC4*;UC4.WG Automation Engine 483 Toutes les entrées de table sont ensuite remplacées par une nouvelle entrée et les Jobs interceptés définis sont de nouveau extraits. R3_MODIFY_INTERCEPTION NAME='UC4*',USER='UC4.WG' R3_GET_INTERCEPTION Le protocole d'activation ne contient plus qu'une seule ligne. 20030325/153054.000 - U2004943 ;001;UC4*;UC4.WG Rubriques connexes : Généralités sur le JCL SAP R3_MODIFY_JOB Modifie un step ABAP. Transaction : SM37 Interface : Standard Syntaxe R3_MODIFY_JOB NAME=... , JOBCOUNT=... , STEP=... , REPORT=... [,VAR[IANT]=...] [,ARCHIVE_O[BJECT]= ...] [,ARCHIVE_S[APOBJECT]=...] [,ARCHIVE_I[NFO]=...] [,DEST[INATION]=...] [,IMM[EDIATELY]=...] [,REL[EASE]=...] [,COPIES=...] [,ARCIVE_M[ODE]=...] [,AUTHORITY=...] [,SAP_COVER[_PAGE]=...] [,COVER[PAGE]=...] [,EXPIR[ATION]=...] [,RECEIVER=...] [,LINE_COUNT=...] [,LINE_SIZE=...] Elément de syntaxe Description/format NAME= Nom du Job SAP Format : Littéral de script ou Nom UC4 Utilisé conjointement avec le numéro du Job, ce paramètre permet d'identifier le Job SAP de manière univoque. 484 Chapter 4 JCL UC4 pour les applications JOBCOUNT= Numéro du Job SAP Format: Littéral de script Utilisé conjointement avec le nom, ce paramètre permet d'identifier un Job SAP de manière univoque. STEP= Numéro de l'étape ABAP qui doit être modifiée Format : nombre sans guillemets RE[PORT]= Nom du rapport Format : Littéral de script ou Nom UC4 Paramètres VAR[IANT]= Nom de la variante Format : Littéral de script ou Nom UC4 ARCHIVE_O[BJECT] = Paramètres d'archivage : Type de document de l'objet Archive Format : Littéral de script ou Nom UC4 ARCHIVE_S [APOBJECT]= Paramètres d'archivage : Type d'objet de l'objet SAP Format : Littéral de script ou Nom UC4 ARCHIVE_I[NFO]= Paramètres d'archivage : Zone d'informations Format : Littéral de script ou Nom UC4 DEST[INATION]= Paramètres d'impression : Périphérique de sortie Format : Littéral de script ou Nom UC4 IMM[EDIATELY]= Paramètres d'impression : Impression Immédiate Format : Littéral de script ou Nom UC4 Valeurs autorisées : "YES" et "NO" (valeur par défaut) REL[EASE]= Paramètres d'impression : Supprimer après Impression Format : Littéral de script ou Nom UC4 Valeurs autorisées : "YES" et "NO" (valeur par défaut) COPIES= Paramètres d'impression : Nombre de copies Format : nombre sans guillemets Valeur par défaut : "0" ARCHIVE_M[ODE]= Paramètres d'impression : Mode d'archivage Format : Littéral de script ou Nom UC4 Valeurs autorisées : "1" (valeur par défaut),"2" et "3" "1" - Seulement imprimer "2" - Seulement archiver "3" - Imprimer et archiver AUTHORITY= Paramètres d'impression : Autorisation Format : Littéral de script ou Nom UC4 SAP_COVER[_PAGE] Paramètres d'impression : Page de Garde SAP = Format : Littéral de script ou Nom UC4 Valeurs autorisées : "" (valeur par défaut), "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante Automation Engine COVER[PAGE]= 485 Paramètres d'impression : Sélection de la Page de Garde SAP Format : Littéral de script ou Nom UC4 Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - Imprimer la sélection de la Page de Garde "NO" = Ne pas imprimer la sélection de la Page de Garde EXPIR[ATION]= Paramètres d'impression : Période de Rétention Format : nombre sans guillemets Valeur par défaut : "0" RECEIVER= Paramètres d'impression : Destinataire Format : Littéral de script ou Nom UC4 LINE_COUNT= Paramètres d'impression : Nombre de lignes de liste Format : nombre sans guillemets Valeur par défaut : "0" LINE_SIZE= Paramètres d'impression : Largeur des lignes de la liste Format : nombre sans guillemets Valeur par défaut : "0" Description Le script permet de modifier un step ABAP. Une fois le Job SAP sélectionné, vous pouvez redéfinir le nom du rapport, le nom de la variante et divers paramètres d'archivage et d'impression pour un step ABAP. Les paramètres correspondent aux champs des structures PRI_PARAMS et ARC_PARAMS du dictionnaire SAP. Pour obtenir des informations plus précises sur chaque champ, utilisez le dictionnaire ou le navigateur de l'interface BAPI. Exemple Dans l'exemple, le Job SAP nommé "MYJOB" dont le numéro est "13541601" est modifié. "RSM04000" est saisi comme step "2" comme programme ABAP exécutable. R3_MODIFY_JOB NAME="MYJOB",JOBCOUNT=13541601,STEP=2,REPORT=RSM04000 Rubriques connexes : Généralités sur le JCL SAP R3_MODIFY_VARIANT Modifie une entrée dans une variante. Transaction : SA38 Interface : UC4 et Standard (XBP 2.0) Syntaxe (paramètres) R3_MODIFY_VARIANT 486 Chapter 4 JCL UC4 pour les applications REPORT=... ,VARIANT=... ,SELNAME=... ,KIND=P ,LOW=... [,VERIFY=...] [,DELAY=...] Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : nom ou Littéral de script VAR[IANT]= Nom de la variante Format : nom ou Littéral de script SELN[AME]= Nom du paramètre. Format : nom ou Littéral de script KIND=P Type du paramètre = paramètre. Format : nom ou Littéral de script LOW= Valeur du paramètre. Format : nom ou Littéral de script VERIFY= Vérification de la modification de la variante. Format : nom ou Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Vérifier la variante modifiée. "NO" = Ne pas vérifier la variante modifiée. DELAY= Durée en secondes pendant laquelle l'Agent attend la modification d'une variante. Format : Nombre Valeur par défaut : "0" Une fois ce délai écoulé, la synchronisation du tampon entre les Serveurs d'applications doit être terminée (si le système SAP est utilisé avec plusieurs Serveurs d'applications). Syntaxe (options de sélection) R3_MODIFY_VARIANT REPORT=... ,VARIANT=... ,SELNAME=... ,KIND=S ,LOW=... [,HIGH=...] [,SIGN=...] [,OPTION=...] [,MODE=...] [,VERIFY=...] [,DELAY=...] Automation Engine Elément de syntaxe Description/format REP[ORT]= Nom du rapport Format : nom ou Littéral de script VAR[IANT]= Nom de la variante Format : nom ou Littéral de script SELN[AME]= Nom de l'option de sélection. Format : nom ou Littéral de script KIND=S Type du paramètre = Option de sélection Format : nom ou Littéral de script LOW= Valeur du paramètre (LOW). Format : nom ou Littéral de script HIGH= Valeur du paramètre (HIGH) Format : nom ou Littéral de script Ce paramètre ne doit être indiqué que si OPTION=BT ou NB (intervalle) ! SIGN= Indicateur (Include/Exclude). Format : nom ou Littéral de script Valeurs autorisées : "I" (valeur par défaut) et "E" "I" = Include "E" = Exclude OPTION= Option déterminant le mode de sélection. Format : nom ou Littéral de script "EQ" - égal (valeur par défaut) "NE" - non égal à "GT" - plus grand que "GE" - plus grand ou égal "LT" -plus petit que "LE" - plus petit ou égal "CP" - contient un modèle (avec des caractères de remplacement) "NP" - ne contient pas de modèle "BT" - Intervalle (saisir aussi HIGH) "NB" - hors de l'intervalle (saisir aussi HIGH) MODE= Modification ou ajout du terme de sélection. Format : nom ou Littéral de script Valeurs autorisées : "REPLACE" (valeur par défaut) et "APPEND" Ce paramètre vous permet de créer des sélections multiples. VERIFY= Vérification de la modification de la variante. Format : nom ou Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Vérifier la variante modifiée. "NO" = Ne pas vérifier la variante modifiée. 487 488 Chapter 4 JCL UC4 pour les applications DELAY= Durée en secondes pendant laquelle l'Agent attend la modification d'une variante. Format : Nombre Valeur par défaut : "0" Une fois ce délai écoulé, la synchronisation du tampon entre les Serveurs d'applications doit être terminée (si le système SAP est utilisé avec plusieurs Serveurs d'applications). Remarques Selon l'entrée considérée dans la variante, on distingue : l l Paramètres : seront demandés avec PARAMETERS et Options de sélection : seront demandés avec SELECT-OPTIONS. Conseils sur la modification des variantes : l l l l l Les entrées qui ne sont pas indiquées demeurent inchangées. Si une option de sélection est modifiée, la validité de la plage de valeur peut être changée par une nouvelle modification. Vous ne pouvez pas rétablir la valeur initiale. Vous ne pouvez pas modifier ici les sélections libres des variantes (pour les bases de données logiques). Si plusieurs valeurs distinctes sont transmises pour une option de sélection, l'ordre dans la variante ne correspond pas forcément à celui indiqué ! Si le programme ABAP auquel la variante appartient utilise une base de données logique, la modification de la variante peut générer une erreur dans le système SAP (par exemple avec la base de données logique PSJ). En effet, le masque de sélection de la base de données logique du système SAP est modifié dynamiquement. Dans ce cas, il est recommandé de copier la variante d'origine et de modifier la copie. Pour une version SAP de base inférieure à 7.10 et/ou une version XBP inférieure à 3.0, les valeurs des paramètres et options de sélection (y compris les intervalles de/à) sont limitées à une longueur maximale de 45 caractères ! Exemple (paramètres) R3_MODIFY_VARIANT REPORT=RSUSR002,VAR=SAP_ STANDARD,SELN=TCODE,KIND=P,LOW='SE01' Exemples (options de sélection) Cet exemple sélectionne tous les utilisateurs dont le nom commence par "B". R3_MODIFY_VARIANT REP=RSUSR002,VAR=SAP_ STANDARD,SELN=USER,KIND=S,LOW='B*',SIGN=I,OPTION=CP Sélectionner tous les utilisateurs sauf ceux dont le nom se situe entre "USER100" et "USER199". R3_MODIFY_VARIANT ...,SELN=USER,KIND=S,LOW='USER100',HIGH='USER199',SIGN=I,OPTION=NB Sélectionner le Cercle de commande 10 et 71-77 - Sélection multiple. Automation Engine 489 R3_MODIFY_VARIANT REP=RF...,VAR=v1,SELN=CERCO,KIND=S,LOW='10',SIGN=I,OPTION=EQ,MODE=R R3_MODIFY_VARIANT REP=RF...,VAR=v1,SELN=CERCO,KIND=S,LOW='71',HIGH='77',SIGN=I,OPTION=BT,MODE =A Rubriques connexes : Généralités sur le JCL SAP Exemples Exécution d'un MBeans R3_RAISE_EVENT Déclenche un Evènement défini dans SAP. Transaction : SM64 Interface : UC4 et Standard (XBP 2.0) Syntaxe R3_RAISE_EVENT ID=... [,PARAM=...] [,TARGET_SERVER=...] Elément de syntaxe Description/format ID= Nom de l'évènement Format : Littéral de script Interface UC4 nécessaire Le nom indiqué doit comporter moins de 32 caractères. PARAM= Paramètre de l'Evènement. Format : Littéral de script Le nom indiqué doit comporter moins de 64 caractères. TARGET_SERVER= Système de destination dans lequel l'Evènement doit être déclenché Format : Littéral de script Valeur par défaut : contenu du champ "Système de destination" de l'onglet "Attributs de l'hôte". Remarques Le script permet de déclencher un Evènement qui a été défini dans SAP avec la transaction SM62. Il peut s'agir d'un Evènement système (prédéfini par SAP) ou Utilisateur. Vous pouvez indiquer comme paramètre d'Evènement une chaîne de caractères au contenu libre. Si le système de destination dans lequel l'Evènement doit être déclenché n'est pas transmis au script, celui indiqué dans l'onglet Attributs de l'hôte est utilisé. 490 Chapter 4 JCL UC4 pour les applications Exemple Dans l'exemple, l'Evènement "Test" doit être déclenché. Le paramètre d'Evènement "Myparam" est précisé. R3_RAISE_EVENT ID="TEST",PARAM="Myparam" Rubriques connexes : Généralités sur le JCL SAP R3_SCHEDULE_JOB_CANCEL Réattribue le statut "Planifié" à un Job SAP déjà lancé. Transaction : SM37 Interface : UC4 Syntaxe R3_SCHEDULE_JOB_CANCEL NAME=... ,JOBCOUNT=... Elément de syntaxe Description/format NAME= Nom du Job SAP Format : Littéral de script ou Nom UC4 Utilisé conjointement avec le numéro du Job, ce paramètre permet d'identifier le Job SAP de manière univoque. JOBCOUNT= Numéro du Job SAP. Format : Littéral de script Utilisé conjointement avec le nom du Job, ce paramètre permet d'identifier le Job SAP de manière univoque. Description Ce script permet de reprendre le lancement d'un Job SAP. Le statut du Job SAP passe de "Déclenché" à "Planifié". Vous pouvez déterminer les Jobs SAP ayant le statut "Déclenché" à l'aide de R3_GET_JOBS. Le résultat obtenu est affiché dans le rapport d'activation et peut être analysé et traité dans l'onglet Post-Script. Exemple Dans l'exemple, le Job SAP nommé "MYJOB" et dont le numéro est "13541601" est réinitialisé. Son statut passe de "Déclenché" à "Planifié". R3_SCHEDULE_JOB_CANCEL NAME="MYJOB",JOBCOUNT=13541601 Automation Engine Rubriques connexes : Généralités sur le JCL SAP R3_SEND_SPOOL_REQUEST Envoie une requête spool existante. Transaction : SP01 Interface : UC4 Syntaxe R3_SEND_SPOOL_REQ[UEST] [JOBNAME=...] [,JOBCOUNT=...] [,STEP=...] [,SPOOLNR=...] [,RECIPIENT=...] [,ADDRESSTYPE=...] [,EXPRESS=...] [,COPY=...] [,BLINDCOPY=...] [,NOFORWARD=...] [,LINE_FROM=...] [,LINE_TO=...] [,TITLE=...] [,ERROR=...] [,NOPRINT=...] [,DELIVER=...] [,STATUSBYMAIL=...] Elément de syntaxe Description/format JOBNAME= Nom d'un Job d'arrière-plan Format de la valeur : Littéral de script JOBCOUNT= Numéro du Job d'arrière-plan Format de la valeur : Littéral de script STEP= Numéro de l'étape Format de la valeur : Nombre SPOOLNR= Numéro des listes Spool Format de la valeur : Littéral de script Vous pouvez soit préciser ce paramètre, soit indiquer les paramètres JOBNAME=, JOBCOUNT= et STEP=. RECIPIENT= Destinataire Format de la valeur : Littéral de script 491 492 Chapter 4 JCL UC4 pour les applications ADDRESSTYPE= Type d'adresse Format de la valeur : Littéral de script Valeurs autorisées : "B" (Valeur par défaut) - Utilisateur SAP "C" - Liste de distribution générale "D" - Adresse X.500 "F" - Numéro de fax "G" - objet d'organisation/ID "H" - Unité d'organisation/poste prévu "J" - objet SAP "L" - Numéro de télex "O" - Utilisateur SAPoffice "P" - Liste de distribution personnelle "R" - Utilisateur SAP dans un autre système SAP "U" - Adresse Internet "X" - Adresse X.400 EXPRESS= Envoi de message express Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - Aucun envoi n'a lieu. "X" - Le message express est envoyé. COPY= Envoi d'une copie Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - Aucun envoi n'a lieu. "X" - La copie est envoyée. BLINDCOPY= Envoi d'une copie privée Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - Aucun envoi n'a lieu. "X" - La copie privée est envoyée. NOFORWARD= Pas de suivi autorisé Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut) et "X" "" - Le transfert est autorisé. "X" - Le transfert n'est pas autorisé. LINE_FROM= Ligne de début Format de la valeur : Nombre Valeur par défaut : "0" LINE_TO= Ligne de fin Format de la valeur : Nombre Valeur par défaut : "0" TITLE= Titre du Mail (Objet) Format de la valeur : Littéral de script Automation Engine ERROR= 493 Comportement adopté si une erreur survient. Format de la valeur : Littéral de script Valeurs autorisées : "IGNORER" et "INTERROMP" (valeur par défaut) "IGNORER" = Le Job UC4 se poursuit. "INTERROMP" - Le Job UC4 se termine anormalement. NOPRINT= Aucune impression autorisée Format de la valeur : Littéral de script Valeurs autorisées : "Y" et "N" (valeur par défaut). "Y" = L'impression n'est pas autorisée. "N" - L'impression est autorisée. DELIVER= Statut d'envoi du rapport Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut), "A", "E" et "N" " " - Tel que configuré dans le système SAP "A" - Toujours "E" - En cas d'erreur "N" - Jamais STATUSBYMAIL= Statut d'envoi du rapport par e-mail Format de la valeur : Littéral de script Valeurs autorisées : "" (valeur par défaut), "A", "E" et "N" " " - Tel que configuré dans le système SAP "A" - Toujours "E" - En cas d'erreur "N" - Jamais Remarques Vous pouvez utiliser la fonction de trois façons : 1. Vous pouvez définir le spool à l'aide des paramètres JOBNAME= et JOBCOUNT=. Le paramètre STEP= est en option, la valeur standard est 1. 2. Vous pouvez préciser directement la valeur du paramètre SPOOLNR=. 3. Ou bien vous n'utilisez aucun de ces paramètres. Dans ce cas, le spool est fourni par chaque Job dans le système SAP exécuté précédemment par un Job UC4. L'indication d'un numéro de l'étape est possible. L'utilisation des paramètres NOPRINT=, DELIVER= et STATUSBYMAIL= nécessite les packages de support SAP suivants : l l l l pour 4.6C : SAPKB46C52 pour 06:20:00 : SAPKB62059 pour 06:40:00 : SAPKB64017 pour 07:00:00 : SAPKB70008 494 Chapter 4 JCL UC4 pour les applications Exemple R3_SEND_SPOOL_REQUEST JOBNAME='MYJOB',JOBCOUNT=123,STEP=5094,RECIPIENT='Dupont',ADDRESSTYPE='O' Rubriques connexes : Généralités sur le JCL SAP R3_SET_BDCDATA Définit les données BDC. Transaction : Interface : UC4 Syntaxe R3_SET_BDCDATA PROGRAM=... ,DYNPRO=... [,DYBEGIN=...] Elément de syntaxe Description/format PROGRAM= Nom du programme, 40 caractères maximum. Format : Littéral de script DYNPRO= Numéro du masque, quatre caractères. Format : Littéral de script DYBEGIN= Paramètre indiquant si un nouveau masque commence. Format : Littéral de script Valeurs autorisées : "" (valeur par défaut), "X" "" = Aucun nouveau masque écran. "X" = Nouveau masque écran R3_SET_BDCDATA ,FNAM=... ,FVAL=... Elément de syntaxe Description/format FNAM= Nom du champ, 132 caractères maximum. Format : Littéral de script FVAL= Valeur qui doit être attribuée au champ, 132 caractères maximum. Format : Littéral de script Remarques Le Script est utilisé pour définir des données BDC (Batch Data Communication). Il permet ainsi d'attribuer des valeurs aux champs des masques en mode batch. L'Agent SAP enregistre d'abord ces affectations Automation Engine 495 dans une table interne. R3_CALL_TRANSACTION lance le traitement à proprement parler. La table interne est ensuite réinitialisée. En premier lieu, R3_SET_BDCDATA est exécuté avec les paramètres PROGRAM=, DYNPRO= et DYBEGIN=. Les paramètres FNAM= et FVAL= attribuent ensuite des valeurs aux champs souhaités. La définition des données BDC peut être répétée aussi souvent que nécessaire, pour le masque considéré ou un autre masque. Vous pouvez déterminer les noms des masques et des différents champs en ligne dans le système SAP. Pour ce faire, démarrez la transaction via le menu Système - Statut et affichez les informations techniques en appuyant sur la touche d'aide F1. La routine d'enregistrement de la transaction "SM35" fournit également les noms des masques et des champs. Exemple Dans l'exemple, les masques de l'intégralité de la transaction "SA38" sont complétés avec des données. Les masques sont exécutés dans l'ordre prédéfini et des valeurs attribuées aux champs. La transaction "SA38" est ensuite démarrée pour mettre à jour les données. R3_SET_BDCDATA PROGRAM="SAPMS38M", DYNPRO="0101", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=SSET" R3_SET_BDCDATA FNAM="RS38M-PROGRAMM", FVAL="RSEINB00" R3_SET_BDCDATA PROGRAM="SAPLSVAR", DYNPRO="0302", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=CHNG" R3_SET_BDCDATA FNAM="RSVAR-VARIANT", FVAL="UM-V1" R3_SET_BDCDATA FNAM="RSVAR-FLAG1", FVAL="X" R3_SET_BDCDATA PROGRAM="RSEINB00", DYNPRO="1000", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=SAVE" R3_SET_BDCDATA FNAM="P_FILE", FVAL="test.txt" R3_SET_BDCDATA PROGRAM="RSEINB00", DYNPRO="1000", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=VBAC" R3_SET_BDCDATA PROGRAM="SAPLSVAR", DYNPRO="0302", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="/EBACK" R3_SET_BDCDATA PROGRAM="SAPMS38M", DYNPRO="0101", DYBEGIN="X" R3_SET_BDCDATA FNAM="BDC_OKCODE", FVAL="=BACK" R3_CALL_TRANSACTION CODE="SA38", UPDATE="S" Rubriques connexes : Généralités sur le JCL SAP R3_SET_FREE_SELECTION Définit une limite libre. Transaction : SA38 Interface : Standard (XBP 3,0) Syntaxe R3_SET_FREE_SELECTION ,TABLENAME=... ,FIELDNAME=... ,LOW=... [,HIGH=...] 496 Chapter 4 JCL UC4 pour les applications [,SIGN=...] [,OPTION=...] Elément de syntaxe Description/format TABLENAME= Nom de la table Format : Littéral de script FIELDNAME= Nom du champ Format : Littéral de script LOW= Valeur du paramètre (LOW) Format : Littéral de script HIGH= Valeur du paramètre (HIGH) Format : Littéral de script SIGN= Indicateur (Include/Exclude) Format : Littéral de script Valeurs autorisées : "I" (valeur par défaut) et "E" "I" = Include "E" = Exclude OPTION= Option utilisée pour effectuer la sélection Format : Littéral de script ou Nom UC4 "EQ" - égal (valeur par défaut) "NE" - non égal à "GT" - plus grand que "GE" - plus grand ou égal "LT" -plus petit que "LE" - plus petit ou égal "CP" - contient un modèle (avec des caractères de remplacement) "NP" - ne contient pas de modèle "BT" - Intervalle (saisir aussi HIGH) "NB" - hors de l'intervalle (saisir aussi HIGH) Remarques Le Script définit une limite individuelle libre. Exécutez-le plusieurs fois à la suite pour déterminer plusieurs limites libres. Elles sont collectées et transmises lors de la prochaine exécution de R3_ACTIVATE_ REPORT. Si vous utilisez plusieurs exécutions R3_ACTIVATE_REPORT dans le Script du Job SAP, vous devez définir des limites libres pour chacune d'elles. Ces critères ne sont pas repris lors de l'exécution suivante des fonctions. Exemple R3_SET_FREE_SELECTION TABLENAME='TAB01',FIELDNAME='FIELD01',LOW='17',SIGN='I' R3_ACTIVATE_REPORT REPORT='ZSUSER00',COVERPAGE=YES,DESTINATION=LT77,IMMEDIATELY=YES Rubriques connexes : Automation Engine Généralités sur le JCL SAP R3_SET_LOG_ATTR Ajoute un attribut de logging dans l'architecture de moniteur SAP Transaction : RZ20 Interface : XMW Syntaxe R3_SET_LOG_ATTR NODE=... ,MESSAGE=... [,VAR1=...] [,VAR2=...] [,VAR3=...] [,VAR4=...] [,COL_METHOD=...] [,AN_METHOD=...] [,AU_METHOD=...] [,VIEW=...] [,VIEW_FRAME=...] [,COLOR=...] [,SEVERITY=...] [,MAX_ALERTS=...] Elément de syntaxe Description/format NODE= Nom du nœud Format de la valeur : Littéral de script MESSAGE= ID et numéro du message SAP T100 (les deux indications sont séparées par un espace) Format de la valeur : Littéral de script Utilisez "00 398" pour afficher uniquement les contenus variables. VAR1= Variable de message 1 Format de la valeur : Littéral de script VAR2= Variable de message 2 Format de la valeur : Littéral de script VAR3= Variable de message 3 Format de la valeur : Littéral de script VAR4= Variable de message 4 Format de la valeur : Littéral de script COL_ METHOD= Méthode de collecte de données du nœud Format de la valeur : Littéral de script AN_ METHOD= Méthode d'analyse du nœud Format de la valeur : Littéral de script 497 498 Chapter 4 JCL UC4 pour les applications AU_ METHOD= Méthode de réaction automatique du nœud Format de la valeur : Littéral de script VIEW= Détermine quel message de l'attribut log doit être affiché dans la vue de statut actuelle du moniteur d'Alerte. Format de la valeur : Littéral de script Valeurs autorisées : "HIGHALERT", "LAST" (valeur par défaut) et "WORST_SINCE" "HIGHALERT" - Maximum "LAST" - Dernière "WORST_SINCE" - La pire depuis VIEW_ FRAME= Durée en minutes pendant laquelle l'Alerte la pire doit être affichée. Format de la valeur : Nombre Valeur par défaut : "0" La valeur "0" entraîne l'utilisation de la valeur par défaut dans l'architecture de moniteur. Celle-ci correspond à "30". COLOR= Couleur Format de la valeur : Littéral de script Valeurs autorisées : "AL_VAL_GREEN" (valeur par défaut), "AL_VAL_YELLOW" et "AL_VAL_RED" "AL_VAL_GREEN" - Vert "AL_VAL_YELLOW" - Jaune "AL_VAL_RED" - Rouge SEVERITY= Degré de criticité Format de la valeur : Nombre Valeur par défaut : "0" La valeur "0" entraîne l'utilisation de la valeur par défaut dans l'architecture de moniteur. Celle-ci correspond à "255". MAX_ ALERTS= Nombre maximum d'Alertes qui doivent être enregistrées dans le nœud. Format de la valeur : Nombre Valeur par défaut : "0" Cette restriction ne s'applique que si les Alertes ont été enregistrées dans l'architecture de moniteur. Remarques S'il existe déjà un attribut log, il est alors modifié. S'il n'en existe pas encore, le Script le crée avec le message. Format du paramètre NODE= Ce paramètre décrit un chemin complet. Chacun des éléments est séparé par une barre oblique "/". Le chemin commence toujours par un nœud de contexte. Peuvent suivre un nœud de total, d'objet et d'attribut. Les nœuds de contexte, d'objet et d'attribut ne doivent apparaître qu'une seule fois dans le chemin. En revanche, les nœuds de total peuvent apparaître plusieurs fois. Automation Engine 499 Exemple 1 : "UC4/TestNode/PerfAttributUC4" l l l "UC4" - Nom de contexte "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple 2 : "UC4/Summary1/Summary2/TestNode/PerfAttributUC4" l l l l l "UC4" - Nom de contexte "Summary1" - Noeud de total "Summary2" - Noeud de total "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple Une fois l'exemple suivant exécuté, il existe un nœud de contexte nommé "UC4", un nœud d'objet nommé "Test" et un attribut log avec le message "00 398". R3_SET_LOG_ATTR NODE="UC4/Test/LogAttribute",MESSAGE="00 398",VAR1="variable1",VAR2="variable2",VAR3="variable3",VAR4="variable4",SE VERITY="12" Rubriques connexes : Généralités sur le JCL SAP R3_SET_PERF_ATTR Ajoute un attribut de performance dans l'architecture de moniteur SAP Transaction : RZ20 Interface : XMW Syntaxe R3_SET_PERF_ATTR NODE=... ,VALUE=... [,UNIT=...] [,COL_METHOD=...] [,AN_METHOD=...] [,AU_METHOD=...] [,ALERT_DIR=...] [,G2Y=...] [,Y2R=...] [,Y2G=...] [,R2Y=...] 500 Chapter 4 JCL UC4 pour les applications Elément de syntaxe Description/format NODE= Nom du nœud Format de la valeur : Littéral de script VALUE= Valeur à définir Format de la valeur : Nombre UNIT= Unité de la valeur (abréviation) Format de la valeur : Littéral de script COL_METHOD= Méthode de collecte de données du nœud Format de la valeur : Littéral de script AN_METHOD= Méthode d'analyse du nœud Format de la valeur : Littéral de script AU_METHOD= Méthode de réaction automatique du nœud Format de la valeur : Littéral de script ALERT_DIR= Détermine qu'une Alerte est générée si la valeur est supérieure ou inférieure à une valeur seuil. Valeurs autorisées : "ABOVE" (valeur par défaut) et "BELOW" "ABOVE" - Alerte en cas de dépassement d'une valeur seuil "BELOW" - Alerte en cas de valeur seuil non atteinte G2Y= Valeur seuil pour la modification de la couleur vert en jaune Format de la valeur : Nombre Valeur par défaut : "0" Y2R= Valeur seuil pour la modification de la couleur jaune en rouge Format de la valeur : Nombre Valeur par défaut : "0" Y2G= Valeur seuil pour la modification de la couleur jaune en vert Format de la valeur : Nombre Valeur par défaut : "0" R2Y= Valeur seuil pour la modification de la couleur rouge en jaune Format de la valeur : Nombre Valeur par défaut : "0" Remarques S'il existe déjà un attribut de performance, il est alors modifié. S'il n'en existe pas encore, le Script le crée avec la valeur. Format du paramètre NODE= Ce paramètre décrit un chemin complet. Chacun des éléments est séparé par une barre oblique "/". Le chemin commence toujours par un nœud de contexte. Peuvent suivre un nœud de total, d'objet et d'attribut. Les nœuds de contexte, d'objet et d'attribut ne doivent apparaître qu'une seule fois dans le chemin. En revanche, les nœuds de total peuvent apparaître plusieurs fois. Automation Engine 501 Exemple 1 : "UC4/TestNode/PerfAttributUC4" l l l "UC4" - Nom de contexte "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple 2 : "UC4/Summary1/Summary2/TestNode/PerfAttributUC4" l l l l l "UC4" - Nom de contexte "Summary1" - Noeud de total "Summary2" - Noeud de total "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple Une fois l'exemple suivant exécuté, il existe un nœud de contexte intitulé "UC4", un nœud d'objet intitulé "Test" et un attribut de performance avec la valeur "150". La couleur vert est attribuée car la valeur seuil de G2Y n'a pas été dépassée. R3_SET_PERF_ATTR NODE="UC4/Test/PerfAttribute",VALUE="150",UNIT="sec",G2Y="160",Y2R="200",Y2 G="160",R2Y="190" Rubriques connexes : Généralités sur le JCL 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. Transaction : Interface : UC4 et Standard Syntaxe R3_SET_PRINT_DEF[AULTS] [DESTINATION=... [,COVERPAGE=...] [,IMMEDIATELY=...] [,RELEASE=...] [,COPIES=...] [,LIST_NAME=...] [,LIST_TEXT=...] [,NEW_LIST_ID=...] [,EXPIRATION=...] [,LINE_COUNT=...] [,LINE_SIZE=...] [,LAYOUT=...] 502 Chapter 4 JCL UC4 pour les applications [,SAP_COVER_PAGE=...] [,RECEIVER=...] [,DEPARTMENT=...] [,AUTHORITY=...] [,DATA_SET=...] [,TYPE=...] [,OS_COVER_PAGE=...] [,SPOOL_PRIORITY=...] [,TEXTONLY=...] [,FRAMES=...] [,ARCHIVE_MODE=...] [,ARCHIVE_SAPOBJECT=...] [,ARCHIVE_OBJECT=...] [,ARCHIVE_INFO=...] [,ARCHIVE_TEXT=...] [,MONITOR=...] Elément de syntaxe Description/format DEST[INATION]= Périphérique de sortie Format : Littéral de script Ce paramètre permet d'indiquer le nom du système de sortie. Il s'agit dans la plupart des cas du nom d'une imprimante, mais il peut également s'agir de celui d'un télécopieur, etc. Attention : pour des raisons techniques liées à l'interface XBP de SAP, vous ne pouvez pas utiliser les noms d'imprimante SAP longs dans UC4. Par conséquent, indiquez le nom technique de quatre caractères. Paramètres d'impression COVER[PAGE]= Sélection de la page de garde Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre détermine si une page de garde contenant les sélections de rapports doit figurer avant la liste. Si une page de garde est générée, elle est également reprise dans le rapport de Job. Cela permet de documenter les paramètres de cette exécution. IMM[EDIATELY]= Impression Immédiate Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) REL[EASE]= Supprimer après Impression Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre permet de déterminer si la requête spool doit être supprimée dès que le périphérique de sortie a effectué l'impression ou seulement à l'expiration de la période de rétention. Automation Engine COPIES= 503 Nombre de copies Format : Entier Valeur par défaut : "0" Entre ici le nombre désiré de copies de votre document. LIST_N[AME]= Nom de la requête spool Format : Littéral de script Ce paramètre vous permet d'indiquer le nom de la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces dans tous les modes. Le nom proposé par défaut pour les requêtes spool est composé des huit caractères du nom du rapport, du séparateur "_" et des trois premiers caractères du nom de l'utilisateur. LIST_T[EXT]= Texte de la page de garde Format : Littéral de script Ce paramètre vous permet d'indiquer le texte décrivant la requête spool. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces. NEW_LIST_ID= Nouvelle requête spool Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) et "NO" EXPIR[ATION]= Période de Rétention Format : Entier Valeur par défaut : "0" Ce paramètre permet de déterminer le nombre de jours pendant lequel la requête spool doit être conservée dans le système spool avant d'être supprimée. LINE_COUNT= Longueur des pages de la liste Format : Entier Valeur par défaut : "0" Nombre de lignes par page. Si ce champ contient le chiffre zéro ou est vide, le nombre de pages de la liste est illimité (non autorisé pour l'impression). La longueur de la liste est alors uniquement déterminée par son contenu. Lors de l'impression, le nombre maximal de lignes par page dépend du format choisi. Pour modifier le nombre de lignes, vous devez sélectionner un autre format. LINE_SIZE= Largeur des lignes de la liste Format : Entier Valeur par défaut : "0" Ce paramètre détermine la largeur actuelle des lignes de la liste. Lors de l'impression, la largeur maximale des lignes dépend du format choisi. Pour modifier la largeur des lignes, vous devez sélectionner un autre format. 504 Chapter 4 JCL UC4 pour les applications LAYOUT= Préparation à l'impression Format : Littéral de script Ce paramètre détermine le format de la sortie de la requête spool. Concrètement, il définit le format des pages, c'est-à-dire le nombre maximal de lignes et de colonnes par page imprimée. SAP_COVER[_PAGE] Page de Garde SAP = Format : Littéral de script Valeurs autorisées : "" (valeur par défaut), "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante Ce paramètre détermine si une page de garde contenant certaines informations (destinataire, département, format utilisé,...) doit être jointe à l'impression issue de la requête spool. RECEIVER= Destinataire Format : Littéral de script Ce paramètre indique le nom du destinataire de la requête spool. Ce nom figure sur la page de garde imprimée. Par défaut, le nom du destinataire est celui de l'utilisateur actuel. DEPART[MENT]= Département sur la page de garde Format : Littéral de script Ce paramètre indique le nom du département concerné par la requête spool. Celui-ci est imprimé sur la page de garde. AUTHORITY= Autorisation Format : Littéral de script Ce paramètre indique l'autorisation qui s'applique à la requête spool (12 caractères au maximum). Le contenu de la requête spool n'est visible que pour les utilisateurs disposant de l'autorisation indiquée. DATA_SET= Nom du jeu de données spool Format : Littéral de script TYPE= Type de la requête spool Format : Littéral de script OS_COVER[_PAGE]= Page de garde du spooler de l'hôte Format : Littéral de script Valeurs autorisées : "" (valeur par défaut), "X" et "D" "" - Pas d'impression de la page de garde "X" - Impression de la page de garde "D" - L'impression de la page de garde dépend du paramétrage de l'imprimante SPOOL_PRI[ORITY]= Priorité de la requête spool Format : Entier Valeur par défaut : "5" Automation Engine TEXTO[NLY]= 505 Texte seulement Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) Ce paramètre contrôle le mode de sortie des caractères non-ASCII d'une liste imprimée. Prérequis d'utilisation du paramètre (voir également la note SAP 777337) : l l SAP Basis version 6.20 avec le package de support SAPKB62045 SAP Basis version 6.40 avec le package de support SAPKB64010 Pour l'utilisation de ce paramètre, l'interface UC4 est nécessaire. FRAMES= Cadre Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) et "NO" Contrôle la mise en cadre par défaut. Ses conditions d'utilisation sont identiques à celles du paramètre TEXTONLY=. Pour l'utilisation de ce paramètre, l'interface UC4 est nécessaire. Paramètres d'archivage Paramètres d'archivage avec R3_ACTIVATE_REPORT ARCHIVE_M[ODE]= Mode de sauvegarde Format : Littéral de script Valeurs autorisées : "1" (valeur par défaut),"2" et "3" "1" - Le document est seulement imprimé. "2" - Le document est seulement sauvegardé dans une archive optique. "3" - Le document est imprimé et sauvegardé dans une archive optique. ARCHIVE_S [APOBJECT]= Type de l'objet Business Format : Littéral de script Les objets SAP sont classés en fonction de leur type. ARCHIVE_O[BJECT] = Type de document Format : Littéral de script Les objets d'archivage sont classés en fonction du type de document. ARCHIVE_I[NFO]= Zone d'informations Format : Littéral de script Abréviation d'information pour la requête d'archivage. ARCHIVE_T[EXT]= Champ de texte d'information Format : Littéral de script Texte décrivant la requête d'archivage. Ce dernier peut contenir des lettres, des chiffres, des caractères spéciaux et des espaces. Paramètres de contrôle MON[ITOR]= Suivi du statut dans le protocole d'activation Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) 506 Chapter 4 JCL UC4 pour les applications Remarques Les scripts permettent d'attribuer des valeurs par défaut aux paramètres d'impression. Celles-ci s'appliquent à l'ensemble du script ou jusqu'à l'attribution d'une nouvelle valeur par défaut. Les valeurs par défaut ne sont valides que pour le Job dans lequel elles ont été définies. La définition de valeurs par défaut améliore la visibilité du script UC4. En même temps, les problèmes liés à la limitation à 1024 caractères/ligne sont évités, car l'instruction de traitement même est seulement compilée dans l'Agent SAP. Le script peut uniquement être utilisé avec R3_ACTIVATE_REPORT pour attribuer des valeurs par défaut aux paramètres d'impression. Exemple L'exemple suivant montre comment sont définies les valeurs par défaut pour l'imprimante et le nombre d'exemplaires. Lors de l'exécution du rapport, le nombre de copies sera remplacé par la valeur "6". Toutefois, cette modification ne s'applique qu'à ce rapport. La valeur par défaut ("8") demeure inchangée. R3_SET_PRINT_DEFAULTS DESTINATION=PR01 R3_SET_PRINT_DEFAULTS COPIES=8 R3_ACTIVATE_REPORT REPORT=RSM04000,COPIES=6 Rubriques connexes : Généralités sur le JCL SAP R3_SET_SELECT_OPTION Définit un critère de sélection. Transaction : SA38 Interface : Standard (XBP 3,0) Syntaxe R3_SET_SELECT_OPTION ,SELNAME=... ,KIND=... ,LOW=... [,HIGH=...] [,SIGN=...] [,OPTION=...] Elément de syntaxe Description/format SELNAME= Nom de l'option de sélection ou du paramètre Format : Littéral de script Automation Engine KIND= 507 Type de sélection Format : Littéral de script Valeurs possibles : "S" et "P" "S" - critère de sélection "P" - paramètre LOW= Valeur du paramètre (LOW) Format : Littéral de script HIGH= Valeur du paramètre (HIGH) Format : Littéral de script SIGN= Indicateur (Include/Exclude) Format : Littéral de script Valeurs autorisées : "I" (valeur par défaut) et "E" "I" = Include "E" = Exclude OPTION= Option utilisée pour effectuer la sélection Format : Littéral de script ou Nom UC4 "EQ" - égal (valeur par défaut) "NE" - non égal à "GT" - plus grand que "GE" - plus grand ou égal "LT" -plus petit que "LE" - plus petit ou égal "CP" - contient un modèle (avec des caractères de remplacement) "NP" - ne contient pas de modèle "BT" - Intervalle (saisir aussi HIGH) "NB" - hors de l'intervalle (saisir aussi HIGH) Remarques Le Script définit un critère de sélection individuel. Exécutez-le plusieurs fois à la suite pour déterminer plusieurs critères de sélection. Ils sont collectés et transmis lors de la prochaine exécution de R3_ ACTIVATE_REPORT ou R3_CREATE_VARIANT. Si vous utilisez plusieurs exécutions R3_ACTIVATE_REPORT ou R3_CREATE_VARIANT dans le Script du Job SAP, vous devez définir des critères de sélection pour chacune d'elles. Ces critères ne sont pas repris lors de l'exécution suivante des fonctions. Exemple L'exemple définit la valeur "17" pour le paramètre "Age minimum". Le critère de sélection est ensuite utilisé pour créer une variante. R3_SET_SELECT_OPTION SELNAME='MIN_ALT',KIND='P',LOW='17',SIGN='I' R3_CREATE_VARIANT REP=REPORT01,VAR=NEW,TEXT='Nouvelle variante' Rubriques connexes : Généralités sur le JCL SAP 508 Chapter 4 JCL UC4 pour les applications R3_SET_STATUS_ATTR Ajoute un attribut de statut dans l'architecture de moniteur SAP Transaction : RZ20 Interface : XMW Syntaxe R3_SET_STATUS_ATTR NODE=... ,MESSAGE=... [,VAR1=...] [,VAR2=...] [,VAR3=...] [,VAR4=...] [,COL_METHOD=...] [,AN_METHOD=...] [,AU_METHOD=...] [,CAUSE_ALERT=...] [,COLOR=...] Elément de syntaxe Description/format NODE= Nom du nœud Format de la valeur : Littéral de script MESSAGE= ID et numéro du message SAP T100 (les deux indications sont séparées par un espace) Format de la valeur : Littéral de script Utilisez "00 398" pour afficher uniquement les contenus variables. VAR1= Variable de message 1 Format de la valeur : Littéral de script VAR2= Variable de message 2 Format de la valeur : Littéral de script VAR3= Variable de message 3 Format de la valeur : Littéral de script VAR4= Variable de message 4 Format de la valeur : Littéral de script COL_ METHOD= Méthode de collecte de données du nœud Format de la valeur : Littéral de script AN_METHOD= Méthode d'analyse du nœud Format de la valeur : Littéral de script AU_METHOD= Méthode de réaction automatique du nœud Format de la valeur : Littéral de script Automation Engine CAUSE_ ALERT= 509 Détermine si une Alerte doit être supprimée. Format de la valeur : Littéral de script Valeurs autorisées : "ALWAYS" (valeur par défaut), "VALUE_CHG", "MSG_CHG" et "NEVER" "ALWAYS" - Toujours "VALUE_CHG" - En cas de modification de la valeur "MSG_CHG" - En cas de modification du message "NEVER" - Jamais COLOR= Couleur Format de la valeur : Littéral de script Valeurs autorisées : "AL_VAL_GREEN" (valeur par défaut), "AL_VAL_YELLOW" et "AL_VAL_RED" "AL_VAL_GREEN" - Vert "AL_VAL_YELLOW" - Jaune "AL_VAL_RED" - Rouge Remarques S'il existe déjà un attribut de statut, il est alors modifié. S'il n'en existe pas encore, le Script le crée avec le message. Format du paramètre NODE= Ce paramètre décrit un chemin complet. Chacun des éléments est séparé par une barre oblique "/". Le chemin commence toujours par un nœud de contexte. Peuvent suivre un nœud de total, d'objet et d'attribut. Les nœuds de contexte, d'objet et d'attribut ne doivent apparaître qu'une seule fois dans le chemin. En revanche, les nœuds de total peuvent apparaître plusieurs fois. Exemple 1 : "UC4/TestNode/PerfAttributUC4" l l l "UC4" - Nom de contexte "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple 2 : "UC4/Summary1/Summary2/TestNode/PerfAttributUC4" l l l l l "UC4" - Nom de contexte "Summary1" - Noeud de total "Summary2" - Noeud de total "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut 510 Chapter 4 JCL UC4 pour les applications Exemple Une fois l'exemple suivant exécuté, il existe un nœud de contexte intitulé "UC4", un nœud d'objet intitulé "Test" et un attribut de statut avec le message "SY 019". R3_SET_STATUS_ATTR NODE="UC4/Test/StatusAttribute",MESSAGE="SY 019" Rubriques connexes : Généralités sur le JCL SAP R3_SET_TEXT_ATTR Ajoute un attribut de texte dans l'architecture de moniteur SAP Transaction : RZ20 Interface : XMW Syntaxe R3_SET_TEXT_ATTR NODE=... ,TEXT=... Elément de syntaxe Description/format NODE= Nom du nœud Format de la valeur : Littéral de script TEXT= Texte à afficher Format de la valeur : Littéral de script Remarques S'il existe déjà un attribut de texte, il est alors modifié. S'il n'en existe pas encore, le Script le crée avec le texte. Format du paramètre NODE= Ce paramètre décrit un chemin complet. Chacun des éléments est séparé par une barre oblique "/". Le chemin commence toujours par un nœud de contexte. Peuvent suivre un nœud de total, d'objet et d'attribut. Les nœuds de contexte, d'objet et d'attribut ne doivent apparaître qu'une seule fois dans le chemin. En revanche, les nœuds de total peuvent apparaître plusieurs fois. Exemple 1 : "UC4/TestNode/PerfAttributUC4" l l l "UC4" - Nom de contexte "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Automation Engine 511 Exemple 2 : "UC4/Summary1/Summary2/TestNode/PerfAttributUC4" l l l l l "UC4" - Nom de contexte "Summary1" - Noeud de total "Summary2" - Noeud de total "TestNode" - Noeud d'objet "PerfAttributUC4" - Noeud d'attribut Exemple Une fois l'exemple suivant exécuté, il existe un nœud de contexte intitulé "UC4", un nœud d'objet intitulé "Test" et un nœud d'attribut intitulé "TextAttribute" avec le contenu "Valeur". R3_SET_TEXT_ATTR NODE='UC4/Test/TextAttribute',TEXT='Wert' Rubriques connexes : Généralités sur le JCL SAP R3_SWITCH_OPMODE Change le mode de fonctionnement dans SAP. Transaction : RZ03 Interface : UC4 Syntaxe R3_SWITCH_OPMODE NAME=... ,SERVER=... Elément de syntaxe Description/format NAME= Nom d'un mode de fonctionnement défini dans SAP Format : Littéral de script Les minuscules ne sont pas converties en majuscules. SERVER= Nom d'un Serveur d'applications SAP ou "*" pour tous les Serveurs d'applications SAP Format : Littéral de script Le nom d'un Serveur d'applications SAP doit être saisie sous la forme Hôte_ SID_SYSNR : Hôte - Nom de l'ordinateur SID - ID système de SAP SYSNR - Numéro de l'instance SAP 512 Chapter 4 JCL UC4 pour les applications Exemple Le mode de fonctionnement "Fonctionnement de nuit" est appliqué à tous les Serveurs d'applications SAP. R3_SWITCH_OPMODE NAME='Fonctionnement de nuit',SERVER='*' Rubriques connexes : Généralités sur le JCL SAP 4.4.2 SAP BCA BCA_ACTIVATE_PROCESS Démarre et surveille un processus qui se déroule dans un réseau de processus distinct. Transaction : Version SAP Banking : 4.63+ Syntaxe BCA_ACTIVATE_PROC[ESS] ID=... ,REPORT=... [,VARIANT=...] [,JOBPREFIX=...] [,MAX_APPL_RC=...] [,JOBLOG=...] [,NETWORK_ID=...] Elément de syntaxe Description/format ID= Identification externe du processus. Format : Littéral de script REP[ORT]= Nom du programme ABAP qui doit être exécuté. Format : Littéral de script VAR[IANT]= Nom de la variante du programme ABAP Format : littéral de Script Valeur par défaut : "" JOBPRE[FIX]= Préfixe du nom de Job du processus, maximum 18 caractères. Format : littéral de Script Valeur par défaut : "" Les noms des Jobs appartenant au processus se composent du préfixe indiqué, du numéro courant à 10 caractères (RunID) du Job UC4 et d'un numéro unique à 3 chiffres. Automation Engine MAX_APPL_RC= 513 Valeur de retour maximale de l'application pour la fin normale du processus. Format : Nombre Valeur par défaut : "0" Le processus est considéré comme terminé normalement jusqu'à la valeur de retour indiquée. Une valeur de retour supérieure conduit à l'interruption du Job UC4. JOBL[OG]= Reprise du log du Job dans le rapport UC4. Format : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Les logs du Job sont repris dans le rapport UC4. "NO" = Les logs du Job ne sont pas repris dans le rapport UC4. NETWORK_ID= Nom du réseau de processus dans lequel le processus est exécuté. Format : littéral de Script Valeur par défaut : "" Remarques Le Script permet de démarrer et de surveiller un processus. Le processus est encapsulé dans un réseau de processus distinct de sorte que seul ce processus soit exécuté dans le réseau de processus. La fin du processus met également fin au réseau de processus. La priorité avec laquelle le processus est exécuté dépend de la valeur définie pour la classe de Job. Vous pouvez sélectionner cette valeur dans l'onglet "SAP" du Job. Par défaut, la classe de Job "C" est utilisée. Le Script requiert l'indication des paramètres ID= et REPORT=. Les autres paramètres sont facultatifs. Si l'ABAP à exécuter ne comporte pas de variante, vous pouvez omettre le paramètre VARIANT= ou ne pas lui attribuer de valeur. Si aucun préfixe n'est indiqué pour les noms des Jobs du processus, UC4 crée ces derniers automatiquement selon le modèle UC_JOB_ <RunID(10)>_<id_unique(3)>. Les noms de Job uniques ainsi obtenus permettent d'accéder aux logs des Jobs, une fois le processus terminé. Si vous le souhaitez, vous pouvez reprendre ces derniers dans le rapport de Job en vue d'effectuer une analyse. Le nom du réseau de processus est lui aussi automatiquement généré par UC4, sauf si le paramètre NETWORK_ID= est utilisé. Il suit le modèle UC_ NET_<RunID(10)>. Après la fin normale du processus, le Script se poursuit. Toute interruption du processus provoque l'interruption immédiate du Job UC4. Le Script R3_GET_APPLICATIONLOG permet de lire les messages des processus et des réseaux de processus à partir du log d'application. Par défaut, les messages sont affichés dans le rapport UC4. Alternativement, les messages peuvent aussi être enregistrés dans un fichier donné. 4.4.3 SAP BW Généralités sur le JCL SAP BW Le résumé suivant présente le script JCL pour SAP BW et les interfaces correspondantes. Elément de script Elément de script Description 514 Chapter 4 JCL UC4 pour les applications BW_ACTIVATE_ CHAIN Démarre une chaîne de processus, surveille l'exécution et enregistre ses protocoles dans le rapport d'activation. BW_ACTIVATE_ INFOPACKAGE Planifie un ou plusieurs Info Packages pour un démarrage immédiat. 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_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. BW_RESTART_ CHAIN Continue une chaîne de processus interrompue. BW_SET_ CONSTRAINT Définit un critère de reprise automatique des processus enfants d'une chaîne de processus. BW_SET_ INFOPACKAGE_ SELECTION Définit les paramètres de sélection utilisés pour la lecture des Info Packages à partir du système BW. Rubriques connexes : Généralités sur le JCL UC4 pour les applications BW_ACTIVATE_CHAIN Démarre une chaîne de processus, surveille l'exécution et enregistre ses protocoles dans le rapport d'activation. Transaction : RSA1 Version SAP BW : à partir de 3.0B avec patch SAPKW30B11 Syntaxe BW_ACTIVATE_CHAIN ID=... [,NOFOUND=...] [,ERROR=...] [,PROCESSLOGS=...] [,RESTART=...] [,JOBLOGS=...] [,LONGTEXT=...] [,REPLICATE=...] [,STATUSRETRY=...] [,SCHEDULE=...] [,SYNCHRONOUS=...] [,GET_SPOOL=...] [,COLLECTLOGS=...] Elément de syntaxe Description/format Automation Engine ID= Désignation technique de la chaîne de processus Format de la valeur : Littéral de script NOFOUND= Traitement exécuté si la chaîne de processus n'est pas trouvée. Format de la valeur : littéral de script 515 Valeurs autorisées : "NORMAL" (valeur par défaut) ou "ABEND" "NORMAL" = Le script continue, le Job UC4 se termine normalement. "ABEND" = Le script s'interrompt, le Job UC4 se termine anormalement. ERROR= Traitement adopté si une chaîne de processus se termine de façon anormale. Format : littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE" ou "SUSPEND" "ABEND" = Le script est interrompu et le Job UC4 se termine de façon anormale. "IGNORE" = Le script continue, le Job UC4 se termine normalement. "SUSPEND" = Le Job reste actif jusqu'à ce qu'une reprise de la chaîne de processus ou de ses processus enfants fonctionne ou que le Job ait été interrompu manuellement. Ce paramètre sert à exécuter une reprise de chaîne de processus ou de ses processus enfants sans mettre fin au Job. Ainsi, le traitement dans un parent (un Workflow par exemple) se poursuit. PROCESSLOGS= Sortie des protocoles des différents processus d'une chaîne de processus. Format : littéral de script Valeurs autorisées : "YES" (valeur par défaut), "NO" ou "ERROR" "YES" = Les protocoles des différents processus sont joints au protocole de la chaîne de processus. "NO" = Seul le protocole de la chaîne de processus est affiché. "ERROR" = Les protocoles des différents processus sont uniquement affichés en cas d'erreur. RESTART= Nombre de tentatives de reprise d'une chaîne de processus interrompue. Format : Nombre Valeur par défaut : "0" JOBLOGS= Sortie des protocoles du Job d'arrière-plan du processus. Format : littéral de script Valeurs autorisées : "YES" (valeur par défaut), "NO" ou "ERROR" "YES" = Les protocoles du Job d'arrière-plan du processus sont affichés. "NON" = Les protocoles du Job d'arrière-plan du processus ne sont pas affichés. "ERROR" = Les protocoles du Job d'arrière-plan du processus sont uniquement affichés en cas d'erreur. LONGTEXT= Sortie du texte long (texte de diagnostic) d'un message de protocole. Format : Littéral de script Valeurs autorisées : "YES", "NO" ou "ERROR" (valeur par défaut) "ERROR" = Le texte long du message de protocole est uniquement affiché en cas d'erreur. "YES" = Le texte long du message de protocole est affiché. "NO" = Le texte long du message de protocole n'est pas affiché. 516 Chapter 4 JCL UC4 pour les applications REPLICATE= Traitement des processus enfant d'une chaîne de processus Format de la valeur : Littéral de script Valeurs autorisées : "ALL", "YES" ou "NO" (valeur par défaut) "ALL" = Répliquer tous les processus enfants d'un Job dans le système UC4 (y compris ceux qui ont été ignorés). Ils apparaissent alors dans la Fenêtre d'Activités de l'Interface Utilisateur. De plus, le système UC4 crée des statistiques et des rapports. "YES" = Répliquer uniquement les processus enfants interrompus et terminés. Des statistiques et des rapports sont également créés. "NO" = Aucune réplication n'a lieu dans le système UC4. STATUSRETRY= Nombre de répétitions de la vérification du statut Format de la valeur : Nombre Valeur par défaut : "0" En raison d'un comportement lié à SAP, les chaînes de processus peuvent présenter l'état terminé pendant un court instant avant de se poursuivre. Si l'Agent vérifie à ce moment-là le statut de la chaîne, il peut la signaler comme terminée. Le paramètre STATUSRETRY= empêche que la fin de la chaîne de processus ne soit reconnue trop tôt. Il définit la fréquence à laquelle le statut est vérifié. Lorsque la chaîne de processus renvoie toujours le même statut après n répétitions, elle est signalée comme terminée auprès d'UC4 Automation Engine. SCHEDULE= Nouvelle planification des chaînes de processus Format : Littéral de script Valeurs autorisées : "YES" (valeur par défaut) ou "NO" "YES" = La chaîne de processus est nouvellement planifiée. "NO" = Aucune nouvelle planification de la chaîne de processus. Le démarrage de la chaîne de processus est accéléré. SYNCHRONOUS= Exécuter la chaîne de processus de manière synchrone Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Exécution synchrone. La chaîne de processus est exécutée en mode Dialogue au lieu du mode d'arrière-plan, ce qui entraîne le traitement en série des processus enfants. "NO" = Ne pas appliquer l'exécution synchrone. GET_SPOOL= Demander la liste Spool de la chaîne de processus démarrée Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : <SAP-Job-Count>_<Numéro d'étape>_<Numéro de Spool>.txt Par ailleurs, ce fichier est enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Les entrées Spool des enfants sont uniquement requises lorsque le paramètre REPLICATE= est défini soit sur YES, soit sur ALL. Automation Engine COLLECTLOGS= 517 Rédiger des rapports des processus enfants de la chaîne de processus activée dans le rapport de Job Si les processus enfants sont répliqués, leur protocole est disponible par défaut dans le rapport du Job ET de la tâche du processus enfant. Ces informations sont ainsi redondantes dans le rapport de Job et peuvent donc être ignorées. Valeurs autorisées : "YES" (valeur par défaut) ou "NO" "YES" - Rédiger le protocole des processus enfants dans le rapport de Job "NO" - Ne pas enregistrer le protocole des processus enfants de la chaîne de processus dans le rapport de Job Veuillez noter que les rapports des processus enfants ne sont pas disponibles lorsque les paramètres REPLICATE et COLLECTLOGS sont tous les deux définis sur NO. Description Le script démarre une chaîne de processus. Les conditions de démarrage sont tout d'abord déterminées. Si la chaîne de processus n'est pas immédiatement démarrée, mais qu'elle est démarrée après le premier Evènement ou à une heure déterminée, les conditions de démarrage sont journalisées. Une fois la chaîne de processus démarrée, elle est surveillée jusqu'à sa fin. Dans tous les cas, le protocole de la chaîne de processus est enregistré dans le rapport d'activation. Selon la configuration des paramètres PROCESSLOGS= et JOBLOGS=, les protocoles des processus ou les protocoles des Jobs d'arrière-plan sont également affichés. Si une chaîne de processus est interrompue, le paramètre RESTART= détermine le nombre de tentatives visant à la continuer. Exemple Dans l'exemple, une chaîne de processus précédemment interrogée par l'Utilisateur doit être activée. Les valeurs des paramètres concernés par le script résultent de cette requête. Elles sont transmises sous forme de Variables de script. :BEGINREAD : READ &CHAINE#,"ZTEST,ZSBB1,ZSBB2",'Chaîne de processus','ZTEST',M : READ&ERROR#,"IGNORER,INTERROMP",'ERROR=','INTERROMP' : READ &NOFOUND#,"NORMAL,INTERROMP",'NOFOUND=','NORMAL' : READ<#,"YES,NO,ERROR",'LONGTEXT=','YES' :ENDREAD BW_ACTIVATE_CHAIN ID='&CHAIN#',ERROR='&ERROR#',NOFOUND='&NOFOUND#',LONGTEXT='<#' BW_ACTIVATE_INFOPACKAGES Planifie un ou plusieurs Info Packages pour un démarrage immédiat. Transaction : RSA1 Syntaxe BW_ACTIVATE_INFOPACK[AGES] 518 Chapter 4 JCL UC4 pour les applications [NAME=...] [,ERROR=...] [,NOFOUND=...] [,MAXRUNTIME=...] Elément de syntaxe Description/format NAME= Nom technique d'un Info Package. Format de la valeur : Littéral de script ERROR= Comportement adopté si un Info Package se termine de façon anormale. Format de la valeur : Littéral de script Valeur autorisée : "ABEND" (valeur par défaut) ou "IGNORE" "ABEND" - Le script s'interrompt, le Job UC4 se termine anormalement. "IGNORE" - Le script continue, le Job UC4 se termine normalement. NOFOUND= Comportement adopté si l'Info Package n'est pas trouvé. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut) ou "ABEND" "NORMAL" = Le script continue, le Job UC4 se termine normalement. "ABEND" = Le script s'interrompt, le Job UC4 se termine anormalement. MAXRUNTIME= Durée maximale, en secondes, pendant laquelle les Info Packages planifiés sont surveillés. Format de la valeur : nombre Valeur par défaut : 86400 Remarques Ce script suppose que l'Info Package considéré n'est pas planifié. Vous pouvez déterminer le nom technique de l'Info Package à l'aide de BW_GET_INFOPACKAGES. Le script est actif tant que le Job de chargement en résultant n'est pas terminé dans SAP BW. Si ce Job ne se termine pas normalement, le Job UC4 est interrompu. Le script peut également être utilisé sans le paramètre NAME=. Il est ainsi possible de planifier simultanément plusieurs Info Packages pour un démarrage immédiat. Les paramètres NOFOUND= et ERROR= permettent de déterminer le comportement adopté par UC4 si les Info Packages sont introuvables ou que l'un d'entre eux se termine de façon anormale. Si les Info Packages sont définis manuellement sur le statut de qualité "Y" (jaune) dans Administrator Workbench, le Job UC4 qui les a planifiés ne se termine jamais. Pour indiquer pendant combien de temps les Info Packages planifiés doivent être surveillés, utilisez le paramètre MAXRUNTIME=. En cas de dépassement du délai fixé, le Job UC4 est interrompu ou se poursuit, conformément à la valeur du paramètre ERROR=. Si vous utilisez les sources de données et les services de transformation BW 7.x (SAP NetWeaver 04s et versions supérieures), vous devez démarrer un transfert de données après le chargement des Info Packages. Dans ce cas, nous vous recommandons de définir des chaînes de processus adaptées dans BW et de les contrôler à l'aide de BW_ACTIVATE_CHAIN. Automation Engine 519 Exemples Le premier exemple planifie un Info Package pour un démarrage immédiat. L'attente de la demande se termine au bout d'une heure. BW_ACTIVATE_INFOPACKAGE NAME="ZPAK_ 6LX4XTMC3RJ2DF4F09NFIJW98",MAXRUNTIME=3600 Le second exemple sélectionne tous les Info Packages dont le texte long contient le modèle "UC4:*Text*". Les Info Packages trouvés sont ensuite planifiés pour un démarrage immédiat. Toute erreur entraîne l'interruption du Job UC4. BW_SET_INFOPACKAGE_SELECTION SELNAME='TEXTLONG',SIGN='I',OPTION='CP',LOW='UC4:*Text*' BW_ACTIVATE_INFOPACKAGES NOFOUND='ABEND',ERROR='ABEND' 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. Transaction : RSA1 Version SAP BW : à partir de la version 3.0B avec le patch SAPKW30B11 Syntaxe BW_GET_CHAIN[S] [FILE=...] [,ID=...] [,TEXT=...] [,ENCODING=...] Elément de syntaxe Description/format FILE= Nom du fichier dans lequel les chaînes de processus disponibles doivent être enregistrées. Format de la valeur : littéral de Script Valeur par défaut : Le résultat n'est pas affiché dans le rapport si ce paramètre est utilisé. ID= Désignation technique de la chaîne de processus Format de la valeur : littéral de Script Valeur par défaut : Vous pouvez utiliser des caractères génériques pour la sélection. TEXT= Description de la chaîne de processus. Format de la valeur : littéral de Script Valeur par défaut : Vous pouvez utiliser des caractères génériques pour la sélection. 520 Chapter 4 JCL UC4 pour les applications ENCODING= Codage pour le fichier en sortie créé (paramètre FILE=). Exemple : UTF-8 Valeur par défaut : ISO-8859-1 Si un codage non pris en charge ou un codage non valide est indiqué, cela entraîne l'interruption du Job avec un message d'erreur correspondant. Dans les formes SAP, un assistant de saisie qui répertorie tous les codages pris en charge est disponible pour ce champ. Remarques Toutes les chaînes de processus disponibles sont écrites dans l'état d'activation ou dans le fichier indiqué. Le fichier est présenté de manière structurée. La première colonne (25 caractères) contient le nom technique (ID) de la chaîne de processus, la deuxième (60 caractères), son texte long. La troisième colonne (1 caractère) indique la version de l'objet. Les versions des objets ont la signification suivante : l l l l A = Actif M = Révisé D = Contenu N = Nouveau Exemple Les chaînes de processus disponibles sont extraites et écrites dans un fichier. BW_GET_CHAINS FILE='..\TEMP\CHAINS.TXT',TEXT='Test*' 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. Transaction : RSA1 Syntaxe BW_GET_INFOPACK[AGES] [FILE=...] Elément de syntaxe Description/format FILE= Nom du fichier (accompagné de son chemin d'accès complet) dans lequel les Info Packages disponibles sont enregistrés. Remarques Ce script suppose que les Info Packages ont été au préalable sélectionnés à l'aide de BW_SET_ INFOPACKAGE_SELECTION. Tous les Info Packages disponibles sont écrits dans le rapport d'activation ou dans le fichier indiqué. Le fichier est présenté de manière structurée. La première colonne (31 caractères) contient le nom technique de l'Info Package, la seconde (61 caractères), son texte long. Automation Engine 521 Une fois le traitement du script terminé, toutes les tables de sélection sont supprimées. Exemple Dans l'exemple, tous les Info Packages dont le texte long est "Pays*" (à l'exception de ceux dont le nom d'InfoSource est "0COUNTRY") sont sélectionnés et écrits dans un fichier. BW_SET_INFOPACKAGE_SELECTION SELNAME="TEXTLONG",LOW="Pays*",OPTION=CP BW_SET_INFOPACKAGE_SELECTION SELNAME="INFOSOURCE",LOW="0COUNTRY",SIGN=E BW_GET_INFOPACKAGES FILE="c:\temp\infopackages.txt" BW_RESTART_CHAIN Continue une chaîne de processus interrompue. Transaction : RSA1 Version SAP BW : à partir de 3.0B avec patch SAPKW30B11 Syntaxe BW_RESTART_CHAIN ID=... ,LOGID=... [,NOFOUND=...] [,ERROR=...] [,PROCESSLOGS=...] [,JOBLOGS=...] [,LONGTEXT=...] [,REPLICATE=...] [,GET_SPOOL=...] [,COLLECTLOGS=...] Elément de syntaxe Description/format ID= Désignation technique de la chaîne de processus Format de la valeur : Littéral de script LOGID= ID du log (25caractères) Format de la valeur : Littéral de script NOFOUND= Comportement adopté si la chaîne de processus est introuvable. Format de la valeur : littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut) ou "ABEND" "NORMAL" = Le script continue, le Job UC4 se termine normalement. "ABEND" = Le script s'interrompt, le Job UC4 se termine anormalement. 522 Chapter 4 JCL UC4 pour les applications ERROR= Comportement adopté si la chaîne de processus se termine anormalement. Format de la valeur : littéral de script Valeurs autorisées : "ABEND" (valeur par défaut), "IGNORE" ou "SUSPEND" "ABEND" = Le script est interrompu et le Job UC4 se termine de façon anormale. "IGNORE" = Le script continue, le Job UC4 se termine normalement. "SUSPEND" = Le Job reste actif jusqu'à ce qu'une reprise de la chaîne de processus ou de ses processus enfants fonctionne ou que le Job ait été interrompu manuellement. Ce paramètre sert à exécuter une reprise de chaîne de processus ou de ses processus enfants sans mettre fin au Job. Ainsi, le traitement dans un parent (un Workflow par exemple) se poursuit. PROCESSLOGS= Sortie des protocoles des différents processus d'une chaîne. Format de la valeur : Littéral de script Valeurs autorisées : "YES" (valeur par défaut), "NO" ou "ERROR" "YES" = Les protocoles des différents processus sont joints au protocole de la chaîne de processus. "NO" = Seul le protocole de la chaîne de processus est affiché. "ERROR" = Les protocoles des différents processus sont uniquement affichés en cas d'erreur. JOBLOGS= Sortie des protocoles du Job d'arrière-plan du processus. Format de la valeur : Littéral de script Valeurs autorisées : "YES" (valeur par défaut), "NO" ou "ERROR" "YES" = Les protocoles du Job d'arrière-plan du processus sont affichés. "NON" = Les protocoles du Job d'arrière-plan du processus ne sont pas affichés. "ERROR" = Les protocoles du Job d'arrière-plan du processus sont uniquement affichés en cas d'erreur. LONGTEXT= Sortie du texte long (texte de diagnostic) d'un message de protocole. Format de la valeur : Littéral de script Valeurs autorisées : "YES", "NO" ou "ERROR" (valeur par défaut) "ERROR" = Le texte long du message de protocole est uniquement affiché en cas d'erreur. "YES" = Le texte long du message de protocole est affiché. "NO" = Le texte long du message de protocole n'est pas affiché. REPLICATE= Traitement des processus enfant d'une chaîne de processus Format de la valeur : Littéral de script Valeurs autorisées : "ALL", "YES" ou "NO" (valeur par défaut) "ALL" = Répliquer tous les processus enfants d'un Job dans le système UC4 (y compris ceux qui ont été ignorés). Ils apparaissent alors dans la Fenêtre d'Activités de l'Interface Utilisateur. De plus, le système UC4 crée des statistiques et des rapports. "YES" = Répliquer uniquement les processus enfants interrompus et terminés. Des statistiques et des rapports sont également créés. "NO" = Aucune réplication n'a lieu dans le système UC4. Automation Engine GET_SPOOL= 523 Demander la liste Spool de la chaîne de processus démarrée Format de la valeur : Littéral de script Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" = Demander la liste Spool. Celle-ci est enregistrée en tant que fichier texte dans le répertoire que vous définissez dans le fichier INI de l'Agent SAP avec le paramètre Download_dir= (section [GLOBAL]). Le nom de ce fichier se compose de la manière suivante : <SAP-Job-Count>_<Numéro d'étape>_<Numéro de Spool>.txt Par ailleurs, ce fichier est enregistré comme résultat de Job dans le Job UC4. "NO" = La liste Spool n'est pas demandée Les entrées Spool des enfants sont uniquement requises lorsque le paramètre REPLICATE= est défini soit sur YES, soit sur ALL. COLLECTLOGS= Rédiger des rapports des processus enfants de la chaîne de processus activée dans le rapport de Job Si les processus enfants sont répliqués, leur protocole est disponible par défaut dans le rapport du Job ET de la tâche du processus enfant. Ces informations sont ainsi redondantes dans le rapport de Job et peuvent donc être ignorées. Valeurs autorisées : "YES" (valeur par défaut) ou "NO" "YES" - Rédiger le protocole des processus enfants dans le rapport de Job "NO" - Ne pas enregistrer le protocole des processus enfants de la chaîne de processus dans le rapport de Job Veuillez noter que les rapports des processus enfants ne sont pas disponibles lorsque les paramètres REPLICATE et COLLECTLOGS sont tous les deux définis sur NO. Description Ce script continue une chaîne de processus interrompue. Le paramètre LOGID= permet d'identifier de façon univoque une exécution donnée de cette chaîne de processus. L'ID de log peut être déterminé à partir du rapport d'un Job UC4 à l'aide de PREP_PROCESS_REPORT. Une fois la chaîne de processus poursuivie, elle est surveillée jusqu'à sa fin. Dans tous les cas, le protocole de la chaîne de processus est enregistré dans le rapport d'activation. Selon la configuration des paramètres PROCESSLOGS= et JOBLOGS=, les protocoles des processus ou les protocoles des Jobs d'arrière-plan sont également affichés. Exemple Dans l'exemple, le script détermine, lors du post-traitement d'un Job, si la chaîne de processus "ZSBB1" est interrompue (au moyen du numéro d'erreur). Dans ce cas, l'ID de log à 25 caractères est enregistré dans une variable. :SET &HND# = PREP_PROCESS_REPORT (,,PLOG,'*U2004111*','COL=DELIMITER',"DELIMITER=@'@") :SET &LOGID# = '' :PROCESS &HND# : SET &LOGID# = GET_PROCESS_LINE(&HND#,4) :ENDPROCESS 524 Chapter 4 JCL UC4 pour les applications :IF &LOGID# <> '' : PUT_VAR VARA.CHAINS,'ZSBB1',&LOGID# :ENDIF Un autre Job lit l'ID du log à partir de la variable et redémarre la chaîne de processus pour poursuivre le traitement. :SET &LOGID = GET_VAR(VARA.CHAINS,ZSBB1) BW_RESTART_CHAIN ID='ZSBB1',LOGID='&LOGID#',ERROR='ABEND',NOFOUND='NORMAL' BW_SET_INFOPACKAGE_SELECTION Définit les paramètres de sélection utilisés pour la lecture des Info Packages à partir du système BW. Transaction : RSA1 Syntaxe BW_SET_INFOPACKAGE_SEL[ECTION] SELNAME=... ,LOW=... [,HIGH=...] [,SIGN=...] [,OPTION=...] [,MODE=...] Elément de syntaxe Description/format SELNAME= Nom d'une table de sélection pour les Info Packages. Valeurs autorisées : "TEXTLONG", "INFOSOURCE", "SOURCESYSTEM", "DATASOURCE" "TEXTLONG" = sélection par textes longs "INFOSOURCE" = sélection par InfoSources "SOURCESYSTEM" = sélection par systèmes source "DATASOURCE" = sélection par sources de données LOW= Limite inférieure pour la table de sélection choisie. HIGH= Limite supérieure pour la table de sélection choisie. SIGN= Indicateur de la sélection. Valeurs autorisées : "I" (valeur par défaut) et "E" "I" = Les Info Packages trouvés sont inclus. "E" = Les Info Packages trouvés sont exclus. Automation Engine OPTION= 525 Option de sélection Valeurs autorisées : "EQ" (valeur par défaut), "NE", "GT", "GE", "LT", "LE", "CP", "NP", "BT", "NB" "EQ" - égal "NE" - non égal à "GT" - plus grand que "GE" - plus grand ou égal "LT" - plus petit que "LE" - plus petit ou égal "CP" - contient un modèle (avec des caractères de remplacement) "NP" - ne contient pas de modèle "BT" - intervalle (saisir aussi HIGH) "NB" - hors de l'intervalle (saisir aussi HIGH) MODE= Mode de traitement de la sélection. Valeurs autorisées : "R" (valeur par défaut) et "A" "R" - La sélection remplace les entrées de la table de sélection. "A" - La sélection est ajoutée à la table de sélection. Remarques Ce script n'entraîne pas l'exécution d'une fonction SAP. Il prépare la lecture ultérieure des Info Packages à partir du système BW. Les Info Packages peuvent être sélectionnés de quatre façons différentes : texte long, InfoSource, système source et source de données. Au départ, les tables de sélection de chaque Job UC4 du système cible SAP BW sont vides. Elles se remplissent petit à petit, du fait de l'utilisation répétée du script. Les limites inférieure et supérieure se rapportent à la table de sélection choisie. Si, par exemple, "TXTLONG" a été indiqué, ces paramètres sélectionnent le texte long des Info Packages disponibles. Les caractères génériques "*" et "?" peuvent être utilisés pour les limites supérieures et inférieures. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. La précision d'une limite supérieure n'a de sens que si "BT" ou "NB" a été indiqué comme option de sélection. La limite supérieure, l'indicateur de la sélection, l'option de sélection et le mode de traitement sont des paramètres facultatifs du script. Le script SET_INFOPACKAGE_SELECTION a été renommé BW_SET_INFOPACKAGE_SELECTION dans la version 3.0. Toutefois, vous pouvez continuer à utiliser l'ancien nom. Exemple Dans l'exemple, tous les Info Packages dont le texte long est "Pays*" (à l'exception de ceux dont le nom d'InfoSource est "0COUNTRY") sont sélectionnés. BW_SET_INFOPACKAGE_SELECTION SELNAME="TEXTLONG",OPTION="CP",LOW="Pays*" BW_SET_INFOPACKAGE_SELECTION SELNAME="INFOSOURCE",LOW="0COUNTRY",SIGN=E 526 Chapter 4 JCL UC4 pour les applications 4.4.4 SAP XI XI_GET_CHANNEL Enumère les canaux de communication. Syntaxe XI_GET_CHANNEL [CHANNEL=...] [,SERVICE=...] [,PARTY=...] [,STATE=...] [,ACTSTATE=...] [,NOFOUND=...] Elément de syntaxe Description/format CHANNEL= Nom du canal de communication Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de canal indiqué. SERVICE= Nom du service Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de service indiqué. PARTY= Nom du partenaire Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de partenaire indiqué. STATE= Statut du canal de communication Format de la valeur : Littéral de script Valeurs possibles : "*" (valeur par défaut) "ERROR" "OK" "INACTIVE" "UNKNOWN" "UNREGISTERED" ACTSTATE= Statut du canal de communication Valeurs autorisées : "*" (valeur par défaut), "STARTED" et "STOPPED" Automation Engine NOFOUND= 527 Comportement adopté si aucun canal de communication correspondant aux critères de filtrage n'est trouvé. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" (valeur par défaut) ou "ABEND" "NORMAL" = Le Job UC4 se poursuit. "ABEND" = Le Job UC4 se termine anormalement. Remarques La fonction énumère, dans le rapport du Job, les canaux de communication qui correspondent aux critères de filtrage définis. Par défaut, les paramètres de filtrage ne restreignent pas la sélection des canaux de communication. Le paramètre NOFOUND= vous permet d'interrompre le Job si les conditions de filtrage ne correspondent à aucun canal de communication. Le résultat est enregistré sous la forme d'un document XML dans le rapport de Job. Vous pouvez le lire à l'aide des Scripts pour les documents XML. Exemple de sortie XML dans le rapport : <Report> <Channels> <Channel> <Party/> <Service>FileListReceiver</Service> <ChannelName>FileListReceiverChannel</ChannelName> <ChannelID>85e07c39f9b831d1817f3c4bec0af8ff</ChannelID> <ActivationState>STARTED</ActivationState> <ChannelState>OK</ChannelState> </Channel> <Channel> <Party/> <Service>X64_107</Service> <ChannelName>GeneratedReceiverChannel_RFC</ChannelName> <ChannelID>19729e747d023ff7a27d32d3f566ed79</ChannelID> <ActivationState>STARTED</ActivationState> <ChannelState>OK</ChannelState> </Channel> <Channel> <Party/> <Service>SenderListe</Service> <ChannelName>File_Sender_Liste</ChannelName> <ChannelID>8bdda1b7041b37efa313219ae7029906</ChannelID> <ActivationState>STARTED</ActivationState> <ChannelState>OK</ChannelState> </Channel> </Channels> </Report> Exemple L'exemple répertorie tous les canaux de communication inactifs. 528 Chapter 4 JCL UC4 pour les applications XI_GET_CHANNEL STATE='INACTIVE' Dans ce Script, tous les canaux de communication dont le nom commence par "File" et qui sont en cours d'exécution sont répertoriés dans le rapport. XI_GET_CHANNEL CHANNEL='File*',ACTSTATE='STARTED' Rubriques connexes : XI_SET_CHANNEL XI_SET_CHANNEL Démarre et arrête les canaux de communication. Syntaxe XI_SET_CHANNEL ACTION=... [CHANNEL=...] [,SERVICE=...] [,PARTY=...] [,NOFOUND=...] [,ERROR=...] Elément de syntaxe Description/format ACTION= Action appliquée au canal de communication Valeurs autorisées : "START" et "STOP" CHANNEL= Nom du canal de communication Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de canal indiqué. SERVICE= Nom du service Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de service indiqué. PARTY= Nom du partenaire Format de la valeur : Littéral de script Valeur par défaut : "*" Vous pouvez utiliser le caractère générique "*" dans le nom de partenaire indiqué. Automation Engine NOFOUND= 529 Comportement adopté si aucun canal de communication correspondant aux critères de filtrage n'est trouvé. Format de la valeur : Littéral de script Valeurs autorisées : "NORMAL" ou "ABEND" (valeur par défaut) "NORMAL" = Le Job UC4 se poursuit. "ABEND" = Le Job UC4 se termine anormalement. ERROR= Comportement adopté si l'action appliquée à l'un des canaux de communication ne peut pas être exécutée. Valeurs autorisées : "IGNORE" ou "ABEND" (valeur par défaut) "IGNORE" = Le Job UC4 se poursuit. "ABEND" = Le Job UC4 se termine anormalement. Remarques La fonction permet de démarrer ou d'arrêter un ou plusieurs canaux de communication. Utilisez les paramètres CHANNEL=, SERVICE= et PARTY= pour indiquer un canal de communication précis ou le filtre pour désigner plusieurs canaux de communication. Le paramètre ERROR= permet d'interrompre le Job s'il est impossible de démarrer ou d'arrêter l'un des canaux de communication sélectionnés. En raison du comportement des interfaces, l'Agent applique néanmoins l'action définie dans le paramètre ACTION= à tous les autres canaux de communication. Les informations sur le canal de communication qui n'a pas pu être traité sont enregistrées sous la forme d'un document XML dans le rapport de Job. Vous pouvez le lire à l'aide des Scripts pour les documents XML. Exemple de sortie XML dans le rapport : <Report> <Channels> <Channel> <Party/> <Service>SenderListe</Service> <ChannelName>SenderChannel</ChannelName> <ChannelID> f2d7791276e8388b995afd2d7a22e1b0</ChannelID> <ActivationState>STARTED</ActivationState> <ChannelState>OK</ChannelState> <ErrorInformation> com.sap.aii.af.service.administration.impl.WrongAutomationModeException: The channel "/SenderListe/SenderChannel (GUID f2d7791276e8388b995afd2d7a22e1b0)" is configured to use an automation mode not compatible with the type of the current principal (WSUSER). The channel was not started. Change the channels automation mode and repeat the administrative action. </ErrorInformation> </Channel> </Channels> </Report> 530 Chapter 4 JCL UC4 pour les applications Exemple L'exemple démarre un canal de communication sélectionné par le biais de son nom et de celui du service. XI_SET_CHANNEL ACTION='START',CHANNEL=' File_Sender_Liste',SERVICE=' SenderListe',PARTY='*' Dans ce Script, un canal de communication est arrêté. XI_SET_CHANNEL ACTION='STOP',CHANNEL='SenderChannel',SERVICE=' SenderListe',PARTY='*' Rubriques connexes : XI_GET_CHANNEL 4.5 Siebel 4.5.1 SI_START_TASK Exécute des commandes dans Siebel. Syntaxe SI_START_TASK CMD=Commande Siebel Elément de syntaxe Description/format CMD= Commande Siebel Format de la valeur : Littéral de script Remarques Pour pouvoir exécuter des commandes dans Siebel, vous devez les entrer dans l'onglet Traitement en utilisant le Script SI_START_TASK. La commande Siebel est par la suite transmise au Siebel Server Manager (via son paramètre /c) et ainsi exécutée dans 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. Exemple : SI_START_TASK CMD="start task for component EIM server ESERV01 with Config=apd_contacts_ok.ifb, LovLang=DEU, ErrorFlags=1, SQLFlags=8, TraceFlags=1" Rubriques connexes : Généralités sur le JCL UC4 pour les applications Automation Engine 531 5 JCL de UC4 pour JMX 5.1 Généralités sur le JCL JMX La documentation suivante vous présente tous les éléments de script JCL pour JMX et les types de fichiers pris en charge. Les éléments de script prennent en charge les types de données suivants lors des transferts de valeurs : l l l l l l l l l l l l java.lang.String java.lang.Integer java.lang.Byte java.lang.Float java.lang.Double java.lang.Short java.lang.Long java.lang.BigInteger java.lang.Boolean java.lang.BigDecimal java.lang.Character javax.management.openmbean.CompositeData Pour les codes retour des scripts, vous pouvez utiliser des tableaux ou les deux types de données complexes ci-dessous : l l javax.management.openmbean.CompositeData javax.management.openmbean.TabularData Les scripts écrivent leurs résultats dans le rapport. Ces derniers peuvent alors être lus à l'aide de PREP_ PROCESS_REPORT. Elément de script Elément de script Description JMX_COMPOSITE_ ADD Rassemble des valeurs pour un paramètre. JMX_CREATE_ MBEAN Enregistre un MBean. JMX_GET_AGENT Détermine l'ID Agent du serveur MBean. JMX_GET_ ATTRIBUTE Indique la valeur d'un ou de tous les attributs d'un MBean. JMX_GET_INFO Affiche des informations sur un MBean. JMX_INVOKE Exécute une fonction d'un MBean. JMX_QUERY_NAMES Répertorie les MBeans enregistrés. JMX_SET_ ATTRIBUTE Définit un attribut d'un MBean. JMX_WAIT_FOR_ NOTIFICATION Attend une Alerte du MBean. 532 Chapter 5 JCL de UC4 pour JMX JMX_UNREGISTER_ MBEAN Supprime un MBean déjà enregistré. Rubriques connexes : Onglet Forme (JMX) 5.2 JMX_COMPOSITE_ADD Rassemble des valeurs pour un paramètre. Syntaxe JMX_COMPOSITE_ADD NAME=..., KEY=..., VALUE=... Elément de syntaxe Description/format NAME= Nom du paramètre KEY= Concept clé La désignation que vous pouvez choisir ici dépend du MBean auquel vous souhaitez transmettre le paramètre. VALUE= Valeur qui doit être enregistrée sous le concept clé Remarques De nombreux MBeans ne requièrent pas une seule mais toute une série de valeurs pour leurs paramètres. JMX_COMPOSITE_ADD permet d'enregistrer plusieurs valeurs sous un nom de paramètre. Vous ne pouvez utiliser ces valeurs qu'au sein du Job. Les valeurs de paramètre sont conservées jusqu'à la fin du Job et peuvent être utilisées pour n'importe quel MBean. La ligne suivante définit une seule valeur. JMX_COMPOSITE_ADD NAME="parameter",KEY="CUSTOMERSTATE",VALUE="Partner" Si un concept clé est associé à plusieurs valeurs, celles-ci sont séparées par le signe ";". JMX_COMPOSITE_ADD NAME="parameter",KEY="COUNTRY",VALUE="USA;India" Le signe ";" peut également figurer au sein d'une valeur. Dans ce cas, ajoutez une barre oblique inverse "\" juste avant le point-virgule. Ce dernier ne sera alors pas interprété comme un caractère de séparation. Les valeurs minimale et maximale des plages sont également séparées par un point-virgule (";"). JMX_COMPOSITE_ADD NAME="parameter",KEY="ID",VALUE="33333;44444" Les formats utilisés pour les dates, les heures et les dates accompagnées de l'heure sont respectivement AAAAMMJJ, HHMMSS et AAAAMMJJHHMMSS. JMX_COMPOSITE_ADD NAME="parameter",KEY="TIME",VALUE="121516" JMX_COMPOSITE_ADD NAME="parameter",KEY="DATEOPENED",VALUE="19990616120000" Pour les valeurs de type booléen, utilisez "true" ou "false". JMX_COMPOSITE_ADD NAME="parameter",KEY="REQUEST",VALUE="true" Automation Engine 533 Pour les devises, indiquez seulement la valeur numérique. JMX_COMPOSITE_ADD NAME="parameter",KEY="CURRENCY",VALUE="1000.00" Entrez la valeur sur plusieurs lignes directement dans l'onglet "Script". La ligne ne doit plus être modifiée dans l'onglet Forme, car il ne prend pas en charge les textes de plusieurs lignes et seule la première ligne serait reprise. Evitez les caractères spéciaux et les signes diacritiques dans les noms de paramètre et les valeurs. L'Agent JMX envoie toutes les requêtes du service Web à UTF-8. Le bon déroulement de la conversion du JCL dépend de l'encodage défini par l'administrateur UC4 dans les Variables UC4 UC_SYSTEM_ SETTINGS dans la Clef XML_ENCODING. L'Agent part du principe que la valeur "ISO-8859-15" est indiquée. Exemple Dans l'exemple, le paramètre "rapport" du MBean de Crystal Reports est complété. Les valeurs suivantes sont définies : format de fichier, expéditeur d'e-mail et objet d'e-mail. JMX_COMPOSITE_ADD NAME="report",KEY="FORMAT",VALUE="EXCEL" JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_SUBJECT",VALUE="client à Vienne" JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_FROM",VALUE="[email protected]" Rubriques connexes : JCL de UC4 pour JMX 5.3 JMX_CREATE_MBEAN Enregistre un MBean. Syntaxe JMX_CREATE_MBEAN CLASSNAME=... [, NAME=...] [, LOADERNAME=...] [EXISTS=...] Elément de syntaxe Description/format CLASSNAME= Nom de la classe du MBean. NAME= Nom sous lequel le MBean doit être enregistré. Ne précisez pas ce paramètre si le MBean met en œuvre l'interface MBeanRegistration. LOADERNAME= Nom de la classe de chargement. Par défaut, le Default Loader Repository est utilisé pour le chargement du MBean. EXISTS= Comportement adopté par le Job UC4 si le MBean est déjà enregistré. Valeurs possibles: "IGNORE" et "ABORT" (valeur par défaut) "IGNORE" - Le Script du Job JMX continu. "ABORT" - Le Job JMX s'interrompt. 534 Chapter 5 JCL de UC4 pour JMX Remarques Le Script génère une instance de la classe indiquée et l'enregistre sur le serveur MBean avec le nom d'objet. Le paramètre LOADERNAME= peut contenir le nom d'objet de la classe de chargement à utiliser pour charger la classe indiquée. Exemple JMX_CREATE_MBEAN CLASSNAME=com.uc4.mbeans.DatabaseExample, NAME=UC4:type=DatabaseExample Rubriques connexes : JCL de UC4 pour JMX 5.4 JMX_GET_AGENT Détermine l'ID Agent du serveur MBean. Détermine l'ID Agent du serveur MBean. Syntaxe JMX_GET_AGENT [ALL=...] Elément de syntaxe Description/format ALL= Liste d'ID Agent Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - Liste incluant tous les ID Agent du serveur MBean en cours d'exécution "NO" - Envoie l'ID Agent du serveur MBean utilisé Exemple JMX_GET_AGENT ALL=YES Rubriques connexes : JCL de UC4 pour JMX 5.5 JMX_GET_ATTRIBUTE Indique la valeur d'un ou de tous les attributs d'un MBean Syntaxe JMX_GET_ATTRIBUTE MBEAN=... [, ATTRIBUTE=...] Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. ATTRIBUTE= Nom de l'attribut. Automation Engine 535 Remarques Indiquez l'attribut dont vous souhaitez connaître la valeur. Si vous ne précisez aucun attribut, la fonction renvoie les valeurs de tous les attributs du MBean. L'administrateur UC4 définit dans le fichier INI de l'Agent avec le paramètre search_all= si la fonction recherche le MBean sur tous les serveurs MBean locaux ou seulement sur celui relié à l'Agent concerné. Exemple JMX_GET_ATTRIBUTE MBEAN="Catalina:type=GlobalRequestProcessor,name=http80", ATTRIBUTE=processingTime Rubriques connexes : JCL de UC4 pour JMX 5.6 JMX_GET_INFO Affiche des informations sur un MBean. Syntaxe JMX_GET_INFO MBEAN=... [SHORTINFO=...] Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. SHORTINFO= Volume des informations. Valeurs autorisées : "YES" et "NO" (valeur par défaut) "YES" - La version courte des informations est affichée. "NO" - Les informations sont affichées complètement. Remarques Le Script détermine la description du MBean et dresse la liste des attributs, des opérations et des Alertes. L'administrateur UC4 définit dans le fichier INI de l'Agent avec le paramètre search_all= si la fonction recherche le MBean sur tous les serveurs MBean locaux ou seulement sur celui relié à l'Agent concerné. Exemple JMX_GET_INFO MBEAN="Catalina:type=GlobalRequestProcessor,name=http-80" Rubriques connexes : JCL de UC4 pour JMX 5.7 JMX_INVOKE Exécute une méthode d'un MBean. 536 Chapter 5 JCL de UC4 pour JMX Syntaxe JMX_INVOKE MBEAN=..., OPERATIONNAME=..., PARAMS=... [, SIGNATURE=...] Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. OPERATIONNAME= Nom de l'opération qui doit être exécutée. PARAMS= Liste des paramètres. Si vous indiquez plusieurs paramètres, vous devez les séparer par des virgules. SIGNATURE= Si le MBean indiqué comporte plusieurs méthodes portant le nom défini par le paramètre OPERATIONNAME=, vous devez transmettre la signature de la méthode à exécuter à l'aide de ce paramètre. Remarques L'élément de script exécute la fonction d'un MBean et transmet son paramètre. Si le MBean comporte plusieurs fonctions, vous pouvez indiquer une méthode précise à l'aide du paramètre SIGNATURE=. L'administrateur UC4 définit dans le fichier INI de l'Agent avec le paramètre search_all= si la fonction recherche le MBean sur tous les serveurs MBean locaux ou seulement sur celui relié à l'Agent concerné. Exemple JMX_INVOKE MBEAN=UC4:type=DatabaseExample, OPERATIONNAME=selectInvoice, PARAMS="1996-07-04,1996-07-10", SIGNATURE="java.lang.String,java.lang.String" Rubriques connexes : JCL de UC4 pour JMX Exemples Exécution d'un MBeans 5.8 JMX_QUERY_NAMES Répertorie les MBeans enregistrés. Syntaxe JMX_QUERY_NAMES [NAME=...] [, NOTFOUND=...] [, MAXROWS=...] Elément de syntaxe Description/format NAME= Nom d'objet d'un MBean précis ou indication d'un filtre permettant de rechercher plusieurs MBeans. Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Automation Engine NOTFOUND= 537 Comportement adopté si aucun MBean n'est trouvé. Valeurs autorisées : "NORMAL" et "ABORT" (valeur par défaut) "NORMAL" = Le Job UC4 se poursuit. "ABORT" - Le Job UC4 se termine anormalement. MAXROWS= Nombre maximal de lignes devant être répertoriées. SI vous laissez ces paramètres vides, l'Agent renvoie tous les MBeans enregistrés. Remarques Lors de l'indication du filtre, vous devez surveiller quelques règles propres à JMX. Vous pouvez utiliser les caractères génériques dans la désignation du domaine. Ils sont également admis pour les propriétés si vous respectez le point suivant. Le caractère générique "*" doit remplacer une paire Propriété=Valeur complète (par exemple, description=Printer). Les caractères génériques ne peuvent en revanche pas être utilisés au sein d'un nom de propriété ou de valeur (par exemple, description=*). Exemples de filtres valides : "*:*" "DefaultDomain:*" "???Domain:description=Printer,*" "*:description=Printer,type=laser,*" Exemple JMX_QUERY_NAMES NAME=JMImplementation:*, NOTFOUND=ABORT Rubriques connexes : JCL de UC4 pour JMX 5.9 JMX_SET_ATTRIBUTE Définit un attribut d'un MBean. Syntaxe JMX_SET_ATTRIBUTE MBEAN=..., ATTRIBUTE=..., VALUE=... Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. ATTRIBUTE= Nom de l'attribut. VALUE= Valeur qui doit être définie pour l'attribut. Remarques L'administrateur UC4 définit dans le fichier INI de l'Agent avec le paramètre search_all= si la fonction recherche le MBean sur tous les serveurs MBean locaux ou seulement sur celui relié à l'Agent concerné. 538 Chapter 5 JCL de UC4 pour JMX Exemple JMX_SET_ATTRIBUTE ATTRIBUTE=State, MBEAN=UC4:type=StandardMBean, VALUE=running Rubriques connexes : JCL de UC4 pour JMX 5.10 JMX_UNREGISTER_MBEAN Supprime un MBean déjà enregistré. Syntaxe JMX_UNREGISTER_MBEAN MBEAN=... Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. Exemple JMX_UNREGISTER_MBEAN MBEAN=UC4:type=StandardMBean Rubriques connexes : JCL de UC4 pour JMX 5.11 JMX_WAIT_FOR_NOTIFICATION Attend une Alerte du MBean. Syntaxe JMX_WAIT_FOR_NOTIFICATION MBEAN=... [, ENABLE=...] [, FILTER=...] Elément de syntaxe Description/format MBEAN= Nom d'objet du MBean. ENABLE= Liste des attributs ou des types d'alertes. Si vous indiquez plusieurs paramètres, vous devez les séparer par des virgules. FILTER= Filtre pour les alertes. Valeurs autorisées : "NONE" (Valeur par défaut), "ATTRIBUTE" et "TYPE". "NONE" - Toutes les alertes ont été acceptées. "ATTRIBUTE" - Un filtrage des modifications des attributs a lieu. "TYPE" - Un filtrage en fonction du type d'alerte a lieu. Les attributs ou les types sont définis par le paramètre ENABLE=. Automation Engine 539 Exemple JMX_WAIT_FOR_NOTIFICATION MBEAN=JMImplementation:type=MbeanServerDelegate, ENABLE="JMX.mbean.registered,JMX.mbean.unregistered", FILTER=NONE Rubriques connexes : JCL de UC4 pour JMX 540 Chapter 6 JCL de UC4 pour SQL 6 JCL de UC4 pour SQL 6.1 Généralités sur le JCL SQL Pour les Jobs SQL, UC4 met des scripts spéciaux à votre disposition. Ils écrivent leurs résultats dans le rapport. Ces derniers peuvent alors être lus à l'aide de PREP_PROCESS_REPORT. Elément de script Elément de script Description SQL_EXECUTE_JOB Exécute un Job sur le Serveur MS SQL Server SQL_GET_COLUMNS Fournit des informations sur les colonnes d'une table SQL_GET_JOBS Fournit la liste de tous les Jobs définis pour un Serveur MS SQL Server SQL_GET_TABLES Répertorie toutes les tables de la base de données SQL_ON_ERROR Définit la réaction en cas d'erreur SQL SQL_ON_ ROWCOUNT_ZERO Définit le code retour à afficher si une instruction SQL ne renvoie aucune correspondance SQL_SET_ STATEMENT_ TERMINATOR Définit le caractère utilisé pour signaler la fin des instructions SQL Rubriques connexes : Onglet Forme (SQL) 6.2 SQL_EXECUTE_JOB Exécute un Job sur le Serveur MS SQL Server. Syntaxe SQL_EXECUTE_JOB JOB=... Elément de syntaxe Description/format JOB= Nom du Job MS SQL Remarques Pour démarrer les Jobs MS SQL, l'Agent utilise la procédure sp_start_Job enregistrée dans la base de données msdb. Le statut du Job UC4 dépend de l'exécution du Job démarré : Statut du Job MS SQL Statut du Job UC4 Le Job MS SQL s'est terminé avec succès ENDED_OK Le Job MS SQL s'est interrompu ENDED_NOT_OK Automation Engine Le Job MS SQL a été interrompu par l'Utilisateur 541 ENDED_CANCEL Le Job UC4 s'interrompt également si l'Utilisateur ne dispose pas des autorisations nécessaires ou qu'une base de données autre que Microsoft SQL Server a été utilisée. Si vous interrompez le Job UC4 alors que le Job MS SQL est encore actif, l'Agent appelle la procédure enregistrée sp_stop_Job. Par conséquent, le Job MS SQL ne s'interrompt pas forcément immédiatement et est surveillé jusqu'à ce qu'il soit réellement terminé. Le Script SQL_GET_JOBS répertorie les Jobs MS SQL disponibles. Exemple SQL_EXECUTE_JOB JOB="Integrity Checks Job for DB Maintenance Plan"; Rubriques connexes : JCL de UC4 pour SQL 6.3 SQL_GET_COLUMNS Fournit des informations sur les colonnes d'une table. Syntaxe SQL_GET_COLUMNS TABLE=... Elément de syntaxe Description/format TABLE= Nom de la table Remarques L'Agent écrit le résultat dans le rapport. Les diverses valeurs sont séparées par un point-virgule. Organisation des informations d'une colonne : Clé étrangère;Clé primaire;Nom de la colonne;(type de données) Valeur Description Clé étrangère Indicateurs de la clé Valeurs autorisées : "0" et "1" "0" - La colonne ne représente pas de clé étrangère. "1" - La colonne est une clé étrangère. Clé primaire Indicateurs de la clé Valeurs autorisées : "0" et "1" "0" - La colonne ne représente pas de clé primaire. "1" - La colonne est une clé primaire. Nom de la colonne Nom de la colonne Type de données Se compose du type de données propre à l'éditeur et de l'information précisant si le champ autorise la valeur NULL. Si le type de données indique les caractères utilisés, la longueur est mentionnée entre parenthèses derrière. 542 Chapter 6 JCL de UC4 pour SQL Une validation (COMMIT) automatique a lieu avant l'exécution de la fonction de Script. Exemple L'exécution suivante détermine les informations de colonne de la table "Products". SQL_GET_COLUMS TABLE="Products"; Résultat dans le rapport : 0;1;ProductID;(int identity, not null) 0;0;ProductName;(nvarchar(40), not null) 1;0;SupplierID;(int, null) 1;0;CategoryID;(int, null) 0;0;QuantityPerUnit;(nvarchar(20), null) 0;0;UnitPrice;(money, null) 0;0;UnitsInStock;(smallint, null) 0;0;UnitsOnOrder;(smallint, null) 0;0;ReorderLevel;(smallint, null) 0;0;Discontinued;(bit, not null) Rubriques connexes : JCL de UC4 pour SQL 6.4 SQL_GET_JOBS Fournit la liste de tous les Jobs définis pour un Serveur MS SQL Server. Syntaxe SQL_GET_JOBS Remarques Pour déterminer les Jobs MS SQL, l'Agent utilise la procédure sp_help_Job enregistrée dans la base de données msdb. Dans le rapport, chaque Job MS SQL est affiché dans une ligne distincte. Le Job UC4 s'interrompt si l'Utilisateur ne dispose pas des autorisations nécessaires ou qu'une base de données autre que Microsoft SQL Server a été utilisée. Le Script SQL_EXECUTE_JOB permet d'exécuter les Jobs MS SQL. Exemple SQL_GET_JOBS; Rubriques connexes : JCL de UC4 pour SQL 6.5 SQL_GET_TABLES Répertorie toutes les tables de la base de données. Automation Engine 543 Syntaxe SQL_GET_TABLES Remarques L'Agent écrit le résultat dans le rapport. Pour chaque table, une ligne est générée. Si un schéma est disponible, il est mentionné avant le nom de la table. Les noms du schéma et de la table sont alors séparés par un point. Exemple Ce Script détermine toutes les tables de la base de données "Northwind". SQL_GET_TABLES; Résultat dans le rapport : dbo.Categories dbo.CustomerCustomerDemo dbo.CustomerDemographics dbo.Customers dbo.Employees dbo.EmployeeTerritories dbo.Order Details dbo.Orders dbo.Products dbo.Region dbo.Suppliers dbo.Territories Rubriques connexes : JCL de UC4 pour SQL 6.6 SQL_ON_ERROR Définit la réaction en cas d'erreur SQL. Syntaxe SQL_ON_ERROR ACTION=... Elément de syntaxe Description/format ACTION= Réaction en cas d'erreur SQL Valeurs autorisées : "ABEND" (valeur par défaut) et "RESUME". "ABEND" - Dès qu'une erreur SQL se produit, le Job s'interrompt avec le code retour "1". Les instructions SQL suivantes ne sont pas exécutées. "RESUME" - Le Job se poursuit en dépit des erreurs SQL qui se produisent. La valeur doit figurer entre guillemets. Si vous ne saisissez pas de paramètre, "RESUME" est utilisé. 544 Chapter 6 JCL de UC4 pour SQL Remarques Par défaut, les Jobs sont interrompus lorsque des erreurs SQL surviennent. Ce Script vous permet de contrôler ce comportement. Le paramétrage défini avec SQL_ON_ERROR s'applique à toutes les instructions SQL qui suivent, jusqu'à la fin du Job ou jusqu'à l'instruction SQL_ON_ERROR suivante. Attention : en cas d'interruption du Job, toutes les instructions SQL postérieures à la dernière validation (COMMIT) effectuée sont annulées. Si le Job ne comporte pas d'opération de validation (COMMIT), toutes les instructions SQL sont annulées. Exemple La deuxième instruction INSERT génère une erreur car le nom de la table contient une erreur de saisie. L'Agent poursuit tout de même le Job et peut écrire l'enregistrement pour Monsieur Huber dans la base de données. SQL_ON_ERROR ACTION="RESUME" insert into person values (1,'Meier'); insert into persson values (2,'Mueller'); insert into person values (3,'Huber'); Dans l'exemple suivant, l'Agent interrompt le Job en raison du nom de table erroné. L'entrée de l'enregistrement pour Monsieur Meier n'est pas annulée par le biais du Script COMMIT. Dans la mesure où le Job est interrompu par la deuxième instruction INSERT, l'enregistrement pour Monsieur Huber n'est plus pris en compte, bien qu'il soit correct du point de vue syntaxique. SQL_ON_ERROR ACTION="ABEND" insert into person values (1,'Meier'); COMMIT; insert into persson values (2,'Mueller'); insert into person values (3,'Huber'); Rubriques connexes : JCL de UC4 pour SQL 6.7 SQL_ON_ROWCOUNT_ZERO Définit le code retour à afficher si une instruction SQL ne renvoie aucune correspondance. Syntaxe SQL_ON_ROWCOUNT_ZERO RETCODE=... Elément de syntaxe Description/format RETCODE= Code retour Valeur par défaut : "1" Remarques Ce Script permet d'interrompre le Job avec un code retour défini si une instruction SQL comme SELECT ou UPDATE ne renvoie aucune correspondance. Le paramétrage défini avec SQL_ON_ROWCOUNT_ Automation Engine 545 ZERO s'applique à toutes les instructions SQL qui suivent, jusqu'à la fin du Job ou jusqu'à l'instruction SQL_ON_ROWCOUNT_ZERO suivante. Si vous définissez RETCODE sur "0", le nombre de correspondances des instructions SQL est ignoré et le Job se poursuit. L'instruction SQL_ON_ROWCOUNT_ZERO ne peut être utilisée qu'avec SELECT, UPDATE, INSERT et DELETE. Les autres instructions SQL comme CREATE TABLE ne renvoient pas non plus de correspondance en temps normal. Par conséquent, si vous utilisez SQL_ON_ROWCOUNT_ZERO dans le Job, vous devez définir RETCODE sur la valeur "0" devant chaque instruction SQL nommée. En cas d'interruption du Job, toutes les instructions SQL postérieures à la dernière validation (COMMIT) effectuée sont annulées. Exemple Si l'une des trois instructions SQL ne renvoie aucune correspondance, le Job est interrompu avec le code retour "1". SQL_ON_ROWCOUNT_ZERO RETCODE=1; select * from person; insert into person values (1,'Meier'); update person set adresse = 'Hauptstraße 8' where name = 'Huber'; Rubriques connexes : JCL de UC4 pour SQL 6.8 SQL_SET_STATEMENT_TERMINATOR Définit le caractère utilisé pour signaler la fin des instructions SQL. Syntaxe SQL_SET_STATEMENT_TERMINATOR TERM=... Elément de syntaxe Description/format TERM= Séparateur Valeur par défaut : ";" Remarques Attention : cette fonction est automatiquement entrée dans le Script si le séparateur apparaît dans l'instruction SQL. Vous ne devez alors pas impérativement copier la fonction vous-même ! Lors de la sélection d'un séparateur, l'ordre suivant est conservé : ";", "@", "$", "/", "~", "*", "+", "?", "=", ".", "-", "§", "ë" Le paramétrage défini avec SQL_SET_STATEMENT_TERMINATOR s'applique à toutes les instructions SQL qui suivent, jusqu'à la fin du Job ou jusqu'à l'instruction SQL_SET_STATEMENT_ TERMINATOR suivante. 546 Chapter 6 JCL de UC4 pour SQL Exemple Comme ";" apparaît dans une instruction SQL, SQL_SET_STATEMENT_TERMINATOR est ajouté au Script. SQL_SET_STATEMENT_TERMINATOR TERM='@'; DECLARE v_einheit_kurz varchar2(10); v_bezeichnung varchar2(40); BEGIN v_einheit_kurz := 'kg'; v_bezeichnung := 'Kilogramm'; insert into einheit (einheit_kurz, bezeichnung) values (v_einheit_kurz, v_bezeichnung); EXCEPTION when DUP_VAL_ON_INDEX then /* L'enregistrement est déjà là => Définir une nouvelle désignation */ update einheit set bezeichnung = v_bezeichnung where einheit_kurz = v_einheit_kurz; END; @ Rubriques connexes : JCL de UC4 pour SQL Automation Engine 547 Glossaire Ce glossaire contient tous les concepts spécifiques à UC4. ABC D EFGH IJKLMN OPQR STU VW XYZ A l l l l l l l l 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 UC4. 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) Protocole d'activation Rapport contenant les détails d'activation de la Tâche. JCL généré, modifications de Variables, etc.). Fenêtre d'activités Fenêtre de l'Interface Utilisateur dans laquelle s'affichent les objets activés. 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 via le script. Processus de travail Composant de l'UC4 Automation Engine. S'occupe du traitement dans un système UC4. (voir aussi le Processus de travail primaire). Tâche Objet exécutable qui a déjà été exécuté. 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. B l l l l l C Mode batch Traitement séquentiel de processus en arrière-plan. Calendrier Partie d'un objet Groupe Calendrier ou Variable (Calendrier ou Clef). Alerte Envoi de messages à un Utilisateur ou un Groupe Utilisateur unique du système UC4. Egalement un type d'objet propre à UC4. Utilisateur Personne utilisant le système UC4. Egalement un type d'objet distinct dans UC4. Groupe Utilisateur Regroupement d'Utilisateurs auxquels un profil de droits commun doit être attribué. Egalement un type d'objet distinct dans UC4. 548 Chapter Glossaire l l l l 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 UC4. Enfant, enfants Objets activés par le biais de Tâches supérieures dans l'arborescence (parent). Cockpit Visualise les valeurs et statuts dans UC4 ou à partir des systèmes surveillés et contrôlés. Egalement un type d'objet distinct dans UC4. Table de Code Définit un jeu de caractères complet. Egalement un type d'objet distinct dans UC4. D l l l l l 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*. Processus de dialogue Partie de l'UC4 Automation Engine et forme particulière de processus de travail. S'occupe des messages provenant de l'Interface Utilisateur 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. Documentation Manuels d'utilisation d'UC4. Egalement un type d'objet distinct d'UC4, dans lequel des informations peuvent être enregistrées. 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. E l l l l l Connexion e-mail Fonctionnalité des Agents Windows et UNIX permettant l'envoi d'e-mails. Enterprise Control Center (ECC) Produit UC4. Application Web permettant d'accéder de manière claire et simple aux fonctions des divers produits/applications UC4. Disponible dans le centre de téléchargement UC4 . Evènement Action exécutée lorsque certaines conditions sont remplies. Egalement un type d'objet distinct dans UC4. 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 l'UC4 Automation Engine et l'Agent UC4. Afin que l'affectation à l'Evènement reste possible en cas de changement du fichier log ou de modification liée du RunID, la communication s'effectue par le biais du premier RunID. Explorer Fenêtre de l'Interface Utilisateur dans laquelle les objets sont affichés, traités et gérés. Automation Engine l 549 Dépendance externe Tâche dont le statut de fin est pris en compte dans le déroulement d'un Workflow, bien qu'elle ne soit pas exécutée dans le cadre du Workflow. F l Transfert de Fichier Transmission de fichiers entre deux machines. Egalement un type d'objet distinct dans UC4. G l Groupe Regroupe des Tâches pour les exécuter ensemble. Egalement un type d'objet distinct dans UC4. H l l l Hôte Ordinateur, système cible Attributs de l'hôte Attributs de l'objet Job, variant en fonction de la plateforme. Aide HTML Format d'aide de Microsoft pour les manuels. L'extension des fichiers d'aide est .CHM (voir aussi WebHelp) I l Include Script utilisé souvent et dans de nombreux objets. Egalement un type d'objet distinct dans UC4. J l l JCL Acronyme de "Job Control Language". Il s'agit d'instructions qui forment les étapes de traitement et sont exécutées sur les machines. Job Traitement sur un système cible. Egalement un type d'objet distinct dans UC4. K l l l Groupe Calendrier Rassemblement de jours au sein de Calendriers. Egalement un type d'objet distinct dans UC4. Condition de calendrier Critère d'exécution pour les Tâches basées sur les Calendriers. Calendrier Partie d'un objet Groupe Calendrier dans lequel les jours sont définis. 550 Chapter Glossaire l l l Clef Colonne pour les objets Variable statique par laquelle il est possible d'accéder aux Valeurs d'une ligne spécifique. Processus de communication Composant de l'UC4 Automation Engine. Assure la connexion aux composants UC4. Menu contextuel Menu qui s'affiche parfois en appuyant sur le bouton droit de la souris. L l l l 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). Login Données de connexion pour les systèmes cible. Egalement un type d'objet distinct dans UC4. Date logique La date logique est utilisée comme date de comparaison lors de la vérification des conditions de calendrier. M l l l Client Environnement indépendant pour l'exécution de Tâches dans un système UC4. Egalement un type d'objet distinct dans UC4. Fenêtre de message Fenêtre dans l'Interface Utilisateur qui affiche avertissements, messages d'information et d'erreur. Moniteur Affichage graphique de l'exécution d'une Tâche. N l Processus non-stop Composant de l'UC4 Automation Engine. Ils reprennent le traitement lorsque la machine avec les processus serveur actifs tombe en panne. O l l l Objet Les activités et déroulements que contrôle UC4 sont représentés à l'aide d'objets (voir aussi Tâche). Classe d'objet Tous les objets sont répartis en 4 classes : objets activables, objets actifs, objets passifs et objets système. 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, Automation Engine l 551 Workflow, Groupe Calendrier, Login, Client, RemoteTaskManager, Schedule, script, Serveur, Sync, Variable et Fuseau horaire. Variables d'objet Caractères de remplacement des valeurs définies dans l'onglet "Variables & Prompts" d'un objet. 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) Conteneur de périodes Contrôle l'exécution des Tâches périodiques. Tâches périodiques Sont planifiées sans objet Schedule et couvrent la plupart du temps une période inférieure à un jour. Perspective Domaine de fonction propre de l'Enterprise Control Center (ECC) - interface Web. Les perspectives "Service Catalog", "Process Monitoring" und "Process Assembly" mettent à disposition des fonctionnalités de l'UC4 Automation Platform. 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.) Process Assembly Perspective de l'Enterprise Control Center. Permet la création, la définition et la modification de Workflows. Process Automation Ancien nom de la perspective Service Catalog. Process Monitoring Perspective de l'Enterprise Control Center. Enumère les activités de tous les utilisateurs et permet de les influencer (interrompre, désactiver, ...). Simulation Estimation de la durée d'une Tâche sur la base des exécutions précédentes. PromptSet Masque de saisie défini par l'Utilisateur pour les objets activables. Egalement un type d'objet distinct dans UC4. 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. 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. Q l R 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 UC4. 552 Chapter Glossaire l l l l l l l l l Rapid Automation (RA) Technologie générique capable de prendre en charge des solutions différentes. Composé d'un Agent RA et d'une Solution RA. Agent RA Agent UC4 Agent pouvant être associé à une Solution RA définie et mettre ainsi ses fonctionnalités à disposition d'un système UC4. Il représente ainsi l'interface entre un système / une application / une plateforme externes et un système UC4. Solution RA Solution basée sur la technologie Rapid Automation Technologie permettant à UC4 d'accéder à un système / une application / une plateforme externes. Il s'agit ici d'un fichier JAR à charger dans la base de données UC4 et à associer à un Agent RA. Après le chargement de la solution, les objets RA spécifiques (Jobs, Connexions, Agent) sont disponibles dans le système UC4. Date réelle Date utilisée pour la vérification de la surveillance de la durée d'exécution ou des conditions temporelles dans les propriétés des Tâches de Workflow. La date réelle correspond au moment de l'activation du Workflow supérieur et est transmise à toutes les tâches subordonnées. RemoteTaskManager Surveille et contrôle les Jobs externes qui n'ont pas été démarrés par UC4. Egalement un type d'objet distinct dans UC4. Rapport Rapport contenant les détails d'activation d'une Tâche ou d'un composant UC4. 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. 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 l'UC4 Automation Engine. Code retour Valeur représentant le résultat des Tâches et des fonctions de script. S l l l l l l l Schedule Démarre des objets activables à intervalles périodiques. Egalement un type d'objet distinct dans UC4. Script Instructions de traitement dans le langage de script d'UC4. Egalement un type d'objet distinct dans UC4. Variable de script Caractères de remplacement d'une valeur dans un script. Processus serveur Base de l'UC4 Automation Engine. Il existe plusieurs types de processus serveur : processus de communication, processus de travail, processus de dialogue et processus non-stop. ServiceManager Programme permettant de démarrer et d'arrêter des composants UC4. Service Catalog Perspective de l'Enterprise Control Center. Permet à l'utilisateur de démarrer les objets de son dossier Favoris et de surveiller de manière générale leur exécution. Début Début de l'exécution d'une Tâche. (voir aussi Activation) Automation Engine l l l l l l 553 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. 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.). Sous-Workflow Workflow faisant partie d'un autre Workflow. Sync Synchronise les objets activables en fonction de statuts et d'actions définis. Egalement un type d'objet distinct dans UC4. Supervision système Fenêtre de l'Interface Utilisateur contenant des informations sur le système UC4. T l l Les 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. Temps dépassé Intervient après écoulement d'une durée définie. U l l l l l l l Tâche de niveau supérieur Un objet peut être activé de différentes façons. L'initiateur de l'activation s'appelle Tâche de niveau supérieur (parent). L'UC4 Automation Engine commande un système UC4. Il repose sur plusieurs processus serveur. Plateforme UC4 Automation Produit UC4. Contient les composants nécessaires à l'exploitation d'un système UC4 (Automation Engine, interface utilisateur, Agents, interface Web, etc.). Disponible dans le centre de téléchargement UC4. UC4 ClearView Produit UC4. Outil d'analyse graphique : Regroupe, pour chaque client 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. Base de données UC4 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. UC4 Insight Produit UC4. Outil d'analyse graphique complexe dédié aux données des systèmes de l'UC4 Automation Platform, comme par exemple les Tâches. Disponible dans le centre de téléchargement UC4. Composants UC4 Regroupe tous les programmes UC4, notamment l'Interface Utilisateur, Automation Engine, les Agents, les ServiceManager, les utilitaires, etc. 554 Chapter Glossaire l l l l l l l l l l UC4 Policy Orchestrator (PCO) Produit UC4. Définition et gestion des règles Business et déclenchement d'évènements. Disponible dans le centre de téléchargement UC4. Priorité UC4 La priorité UC4 est influencée par le traitement des Tâches au sein du système UC4. UC4 Application Release Automation Produit UC4. Permet de définit, gérer et activer des processus d'installation/intégration et de gérer les versions/dépendances des diverses applications. Les processus de déploiement sont exécutés via l'UC4 Automation Platform. Disponible dans le centre de téléchargement UC4. Script UC4 Langage de script utilisé par UC4. Serveur UC4 Ancien terme pour le composant UC4 Automation Engine (v8 et inférieures). UC4 Service Orchestrator (SVO) Produit UC4. Service Orchestrator est une perspective de l'UC4 Enterprise Control Centers (ECC) qui permet de gérer, de surveiller et d'analyser la performance des SLA (Service Level Agreements). Système UC4 Environnement contrôlé par les composants UC4. Variables UC4 Variables comportant les paramètres de configuration du système UC4. Interface Utilisateur Interface utilisateur graphique d'UC4. UTC UC4 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. V l l l l l Variable Enregistre ou fournit les valeurs dynamiques de l'exécution. Egalement un type d'objet distinct dans UC4. Gestion des Versions Version protégée d'un objet qui peut être créée lors des modifications et restaurée ultérieurement. 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é. 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. Enregistré en attente Statut d'une Tâche qui est exécutée dans un Groupe et attend son démarrage. W l l WebHelp Format d'aide pour les manuels qui peut être ouvert via un navigateur web. (voir aussi l'aide HTML) Interface Web Interface utilisateur d'UC4 que l'on peut ouvrir via un navigateur web. Automation Engine l l l Reprise Répétition d'une exécution d'objet déjà créée pour laquelle plusieurs particularités s'appliquent au redémarrage. Caractères génériques Caractères de remplacement des données de filtre (? = un caractère exactement, * = chaîne de caractères). Workflow Déroulement de Traitements. Egalement un type d'objet propre à UC4. X l Fichier XML Format d'importation et d'exportation. Contient la structure des objets. Z l 555 Fuseau Horaire Définit l'heure locale. Egalement un type d'objet distinct dans UC4.