Limites et conseils relatifs au Kit de stockage
Cette section décrit les limites et propose des conseils concernant le Kit de stockage.
Vous pourrez éviter un certain nombre de problèmes si vous tenez compte de ces remarques.
- Fichiers non verrouillés : Le Kit de stockage propose dans la boîte de dialogue Créer un travail par lots le bouton Edition de JCL, qui vous permet de modifier un fichier résidant dans l'environnement grand système. Néanmoins, vous devez vous assurer qu'aucune personne n'accède au fichier en même temps que vous car ce fichier n'est pas verrouillé pendant la session d'édition. Il se peut par exemple qu'un autre utilisateur le modifie dans TSO au moyen de l'utilitaire ISPF pendant votre session d'édition. En fait, le système n'avertira pas l'utilisateur que le fichier est "en cours d'utilisation" et remplacera ses modifications par les vôtres s'il les sauvegarde avant vous. Si cet utilisateur continue à modifier le fichier alors que vous tentez d'enregistrer vos modifications, vous ne parviendrez pas à enregistrer vos modifications. Les résultats de chaque session d'édition risquent d'être imprévisibles selon les scénarios et les outils d'édition utilisés par l'autre utilisateur.
- Page de codes EBCDIC 037 uniquement : l'éditeur JCL fourni par OMEGAMON for Storage on z/OS prend uniquement en charge la page de codes EBCDIC 037. Vous ne pouvez pas éditer ou créer de code JCL dans d'autres pages de codes comme la page de codes EBCDIC 930 (page de codes EBCDIC pour le Japon).
- Première et dernière étapes du Kit de stockage : Dans chaque travail par lots, le Kit de stockage insère une première étape spécifique au kit pour configurer un moniteur au niveau des étapes du travail. Le moniteur collecte la sortie ciblée à partir des étapes du travail. Le Kit de stockage ajoute une dernière étape à la fin du travail. La dernière étape collecte les données SYSOUT ciblées à partir des étapes précédentes, ainsi que la sortie JES et le code retour. Elle indique également à l'agent de surveillance que le travail par lots est terminé. Le système insère la première étape spécifique au kit immédiatement avant la première instruction EXEC, PROC ou INCLUDE figurant dans le code JCL. Remarque : Si le code JCL comporte une instruction INCLUDE avant une instruction EXEC ou PROC, le membre INCLUDE ne doit pas contenir d'instructions JCL (comme JCLLIB) qui doivent être placées avant la première étape de travail. Etant donné que la première étape du kit est insérée avant l'instruction INCLUDE, le travail par lots échoue dans ce cas.
- Utilisation de l'instruction nulle pour marquer la fin des travaux : Lorsque vous utilisez la boîte de dialogue Créer un travail par lots pour exécuter un fichier JCL défini par l'utilisateur, le Kit de stockage génère un exemplaire de votre fichier JCL auquel il ajoute une première et une dernière étapes spécifiques au kit. Supposons que votre fichier JCL se termine par l'instruction nulle signalant la fin du travail :
En fait, le système supprime l'instruction nulle du fichier JCL généré car le travail ne se terminera pas tant que la dernière étape spécifique au kit n'aura pas été exécutée.// - Traitement conditionnel : N'indiquez pas de paramètre COND dans la carte de travail ou dans une instruction EXEC, car les étapes du Kit de stockage qui ont été insérées dans le fichier JCL risquent de ne pas s'exécuter. Si vous utilisez le paramètre COND ou des instructions IF/THEN/ELSE/ENDIF, vous devez vous assurer que les première et dernière étapes du Kit de stockage s'exécutent bien.
- Impossible d'inclure plusieurs travaux dans un fichier JCL défini par l'utilisateur : Lorsque vous utilisez la boîte de dialogue Créer un travail par lots pour exécuter un fichier JCL défini par l'utilisateur, le fichier JCL ne doit pas inclure plusieurs travaux. Le Kit de stockage ne prend pas en charge ce type de fichier JCL. Les résultats sont imprévisibles.
- Carte de travail :
- Lorsque vous utilisez la boîte de dialogue Créer un travail par lots pour exécuter un fichier JCL défini par l'utilisateur, le système soumet le travail par lots en utilisant la carte de travail de remplacement du JCL que vous avez précisée dans l'onglet JCL. De cette façon, la carte de travail peut ne pas apparaître dans le fichier JCL. Si vous ne précisez pas de carte de travail de remplacement du JCL, le système utilise la carte de travail propre à votre installation.
- N'indiquez pas d'option CLASS ou TYPRUN dans une carte de travail qui ne fait que copier ou qu'analyser le travail. Etant donné que le travail par lots ne s'exécute pas, votre demande d'action reste à l'état EN COURS D'EXECUTION. Vous devez alors annuler la demande pour libérer l'unité d'exécution et les ressources associées et désactiver l'état EN COURS D'EXECUTION.
- N'indiquez pas de paramètre COND dans la carte de travail, car les première et dernière étapes du Kit de stockage qui ont été insérées dans le fichier JCL risquent de ne pas s'exécuter.
- Lorsque vous demandez une copie de la sortie JES à des fins de consultation future, vérifiez que l'attribut MSGLEVEL de votre carte de travail soit défini sur le niveau de sortie approprié.
- Lorsque vous définissez votre carte de travail, pensez à lui affecter un nom de travail unique. Si ce nom correspond à un travail par lots qui s'exécute sur votre système z/OS, le travail risque d'être retardé jusqu'à la fin du travail en cours d'exécution. Pour éviter ce problème, vous devez affecter un nom unique au travail.
- Utilisation d'un PROC dans un fichier JCL défini par l'utilisateur : Lorsque vous utilisez la boîte de dialogue Créer un travail par lots, vous pouvez exécuter un fichier JCL qui exécute une procédure, mais le Kit de stockage risque de ne pas copier correctement le contenu des fichiers associés aux étapes de cette procédure :
- La procédure peut résider dans le flot de travaux ou dans une bibliothèque de procédures système ou privée. Si vous utilisez une bibliothèque de procédures privée, vous devez vérifier que l'instruction JCLLIB est bien placée avant la première étape du Kit de stockage.
- Vous pouvez demander à des fins de consultation future la copie de fichiers qui sont référencés dans la procédure, mais sous certaines conditions :
- Le nom d'étape correspond à celui indiqué dans le fichier JCL qui exécute la procédure. Vous ne pouvez pas indiquer les noms d'étape figurant dans la procédure proprement dite.
- Si la procédure se compose d'une seule étape, le système renvoie le contenu des fichiers demandés.
- Si la procédure comporte plusieurs étapes, le système renvoie pour chaque étape de la procédure (autrement dit plusieurs fois) le contenu d'un nom de fichier ou de définition de données désignant un fichier. Le contenu d'un nom de définition de données qui est acheminé vers SYSOUT est renvoyé pour chaque étape de procédure où est défini le nom de définition de données SYSOUT (c'est-à-dire une ou plusieurs fois).
- Utilisation de noms d'étape dans le fichier JCL défini par l'utilisateur : N'incluez pas dans un fichier JCL défini par l'utilisateur des étapes sans noms d'étape si vous envisagez de copier à des fins de consultation future des fichiers qui sont associés aux étapes en question. Le Kit de stockage requiert un nom d'étape.
- /*XMIT : N'utilisez pas l'instruction /*XMIT dans vos fichiers JCL. Le Kit de stockage ne la prend pas en charge. Les résultats sont imprévisibles.
- DYNAMNBR : Si vous soumettez un fichier JCL défini par l'utilisateur qui affecte des fichiers, n'oubliez pas que le Kit de stockage alloue aussi des fichiers dans chaque étape. Si nécessaire, vous devez peut-être utiliser le paramètre DYNAMNBR dans votre instruction EXEC pour autoriser vos fichiers et trois fichiers du Kit de stockage.
- Erreurs JCL : La dernière étape du Kit de stockage ajoutée à la fin de chaque travail par lots avertit l'agent de surveillance dès que le travail par lots se termine. Lorsque cela se produit, le système met à jour la demande d'action en attente d'achèvement à l'aide des résultats du travail par lot. Si la dernière étape du travail par lots ne s'exécute pas (en supposant par exemple que le travail par lots ait échoué en renvoyant une erreur JCL ou que le traitement conditionnel ait ignoré la dernière étape), la demande d'action reste à l'état EN COURS D'EXECUTION. Si vous pensez qu'une demande d'action est à l'état EN COURS D'EXECUTION depuis plus longtemps que prévu, vous devez vérifier l'état du travail par lots sur le système z/OS. Si l'échec du travail a empêcher la dernière étape de s'exécuter, vous devez annuler l'exécution de la demande d'action dans Tivoli Enterprise Portal. De cette façon, le système libérera l'unité d'exécution et les ressources associées à cette demande et désactivera l'état EN COURS D'EXECUTION. Vous pourrez ensuite rechercher pourquoi le travail a échoué, résoudre l'erreur et resoumettre la demande.
- Codes retour : Certains codes retour qui sont généralement associés à un état sont définis par le Kit de stockage dès qu'il s'aperçoit qu'une demande d'action rencontre une erreur. Consultez le tableau suivant pour découvrir les codes retour les plus fréquents, ainsi que leur états correspondants :Si vous apercevez un code retour qui vous semble inconnu, vous pouvez le convertir au format hexadécimal car le code peut signaler un abandon dans le travail par lots. Par exemple, le code retour 193 revient au code hexadécimal x'0C1'.
Tableau 1. Codes retour fréquents de Kit de stockage Code retour Statut 117 Ce statut indique généralement que le fichier JCL dépasse 72 caractères une fois les variables de substitution appliquées. Il peut également signaler d'autres erreurs en rapport avec le fichier JCL, notamment une carte JOB manquante, ou un autre fichier nécessitant une substitution de variable, qui excède 80 caractères lorsque les variables de substitution sont appliquées. 119 Le serveur de données utilisateur s'est terminé anormalement ou le travail par lots s'est terminé, mais le Kit de stockage ne parvient pas à déterminer le code retour. 121 L'autorisation a échoué. 123 Une erreur de fichier s'est produite (le fichier de données contenant votre code JCL n'existe pas, par exemple). Les messages consignés dans le journal RKLVLOG du serveur Tivoli Enterprise Monitoring peuvent vous aider à analyse la situation. 125 L'exécution de la demande d'action a été arrêtée, car la demande était associée à un ensemble de groupes qui n'existaient pas ou étaient vides au moment de l'exécution. Le statut qui s'affiche dans l'espace de travail Récapitulatif des résultats est défini sur l'une des valeurs suivantes :- NonexistentGroups
- Indique qu'aucun des groupes associés à la demande n'existe.
- EmptyGroups
- Indique que tous les groupes associés à la requête étaient vides.
- BadGroups
- Indique une succession d'erreurs dues à des groupe vides ou manquants sur l'ensemble des groupes. Cette valeur de statut peut également indiquer qu'une autre erreur a été détectée lorsque les groupes ont été traités. Examinez les messages dans le journal RKLVLOG, afin de faciliter l'analyse des résultats.
Remarque : Les groupes peuvent être vides, car une collecte est en cours d'exécution ou que son exécution n'a pas encore commencé. Si tel est le cas, renouvelez la demande lorsque la collecte est terminée. - Substitution de variables et limites de longueur de ligne : Le système remplace les variables de substitution définies par le biais du Kit de stockage au moment où la demande d'action est exécutée. Le Kit de stockage crée des fichiers temporaires pour y stocker les instructions à jour. Les variables de substitution sont mises à jour dans deux catégories de fichiers de base (JCL et autres). Le Kit de stockage les traite comme suit :
- Fichier JCL : La substitution de variables s'applique à tous les composants du travail par lots, notamment la carte de travail, les fichiers JCL supplémentaires, les étapes spécifiques au kit ainsi que le corps de votre code JCL avec des fichiers dans le flot de travaux.
Le Kit de stockage interprète la colonne 72 en tant que caractère de continuation et préserve son contenu.
Les données figurant entre les colonnes 2 et 71 peuvent se décaler sur la gauche ou la droite selon la taille du nom de la variable et de sa valeur de substitution. Si les données se déplacent au-delà de la colonne 71, la demande échoue. Le code retour de la demande est défini sur 117 et le statut de l'exécution est JCLNonValide .
Vous devez réaliser les actions suivantes :
- Vérifiez que les variables et les valeurs de substitution sont correctes et n'ont pas de conséquences involontaires sur les composants du travail par lots.
- Modifiez le code JCL de sorte qu'aucune ligne ne dépasse la limite.
- Autres fichiers : La substitution de variables s'applique à tous les enregistrements d'autres fichiers que vous avez indiqués comme requis par le travail, lequel contient également des variables de substitution. Le kit d'outils n'émet aucune hypothèse sur le contenu du fichier et considère chaque ligne, de la colonne 1 à la colonne 80, comme une ligne de données. La substitution de variables peut avoir pour effet que les données des colonnes 2 à 80 soient décalées sur la gauche ou la droite, en fonction de la longueur des noms de variables et de leurs valeurs. Si les données se déplacent au-delà de la colonne 80, la demande échoue. Le code retour de la demande est défini sur 117 et le statut de l'exécution est JCLNonValide. Vous devez réaliser les actions suivantes :
- Vérifiez que les variables et les valeurs de substitution sont correctes et n'ont pas de conséquences involontaires sur le contenu du fichier.
- Modifiez le contenu du fichier de sorte qu'aucune ligne n'excède la limite.
- Fichier JCL : La substitution de variables s'applique à tous les composants du travail par lots, notamment la carte de travail, les fichiers JCL supplémentaires, les étapes spécifiques au kit ainsi que le corps de votre code JCL avec des fichiers dans le flot de travaux.
Le Kit de stockage interprète la colonne 72 en tant que caractère de continuation et préserve son contenu.
Les données figurant entre les colonnes 2 et 71 peuvent se décaler sur la gauche ou la droite selon la taille du nom de la variable et de sa valeur de substitution. Si les données se déplacent au-delà de la colonne 71, la demande échoue. Le code retour de la demande est défini sur 117 et le statut de l'exécution est JCLNonValide .
Vous devez réaliser les actions suivantes :
- Validation du code JCL : Lorsque vous écrivez du code JCL à des fins d'utilisation dans la boîte de dialogue Créer un travail par lots, vérifiez toujours la validité des instructions avant de soumettre le travail par lots. Si vous modifiez le code JCL dans la boîte de dialogue Modifier un fichier JCL par exemple, regardez si les longueurs de lignes dépassent la limite de 72 octets une fois la substitution de variables effectuée. Si les variables de substitution sont remplacées dans le code JCL au moment de l'exécution, les lignes JCL résultantes contenant plus de 72 octets de données empêchent la soumission du code JCL. Le statut JCLNonValide s'affiche dans l'espace de travail Récapitulatif des résultats pour la demande d'action.
- Noms de variable réservés : Le Kit de stockage réserve les noms de variable suivants. Vous ne devez pas utiliser les noms suivants avec vos variables :
%%KS3TK_CMD_DSN%% %%KS3TK_HSM%% %%KS3TK_DYNAMNBR%% - Fichiers qualifiés complets nécessaires au travail et qui contiennent également des variables de substitution : Lorsque vous utilisez la boîte de dialogue Créer un travail par lots, vous pouvez indiquer des fichiers supplémentaires contenant des variables de substitution. Le Kit de stockage crée un fichier temporaire en incluant les mises à jour et remplace le nom du fichier d'origine par celui du fichier temporaire dans sa copie du fichier JCL. Pour que les noms puissent être remplacés, les fichiers doivent être référencés dans votre fichier JCL ; ils ne peuvent pas résider dans des procédures cataloguées ou dans les membres INCLUDE que votre fichier JCL pourrait être amené à utiliser.
- Sortie JES :
- Pour collecter les journaux JES et les fichiers de sortie gérés par le système (SYSOUT), le Kit de stockage utilise des techniques qui nécessitent que votre système d'exploitation z/OS utilise le sous-système JES2 (Job Entry Subsystem 2).
- Etant donné que la dernière étape du Kit de stockage collecte la sortie JES avant la fin du travail par lots, le système n'inclut pas dans la sortie JES certains messages qui s'affichent normalement dans les journaux JES comme les messages de début (IEF375I) et de fin (IEF376I) de travail.
- Commandes grand système :
- Les commandes de console grand système sont soumises par l'intermédiaire d'une interface de travail par lots SDSF. Une barre oblique (/) doit précéder la commande comme dans l'exemple suivant qui annule un utilisateur TSO (ID_utilisateur_tso) :
/C U=ID_utilisateur_tso - La sortie des commandes de grand système n'est pas renvoyée, car l'exécution de la commande n'est pas synchronisée avec l'exécution du travail par lots.
- Etant donné que l'exécution de la commande n'est pas synchronisée avec l'exécution du travail par lots, le code retour associé à la demande d'action reflète la soumission de la commande vers l'interface du travail par lots SDSF. Il ne reflète pas l'exécution de la commande proprement dite.
- Dans la mesure où le Kit de stockage utilise SDSF, votre système d'exploitation z/OS doit utiliser JES2.
- Les commandes de console grand système sont soumises par l'intermédiaire d'une interface de travail par lots SDSF. Une barre oblique (/) doit précéder la commande comme dans l'exemple suivant qui annule un utilisateur TSO (ID_utilisateur_tso) :
- Unités DASD partagées : Le kit et le travail par lots partagent les fichiers temporaires que crée le Kit de stockage afin d'y stocker le fichier JCL généré, le fichier des résultats et d'autres fichiers. Etant donné que le travail par lots peut s'exécuter sur un système z/OS de votre environnement SYSPLEX différent de celui où s'exécute l'agent de surveillance, les fichiers temporaires doivent être créés sur des unités DASD partagées entre les systèmes. Votre installation peut contrôler l'emplacement des fichiers temporaires au moyen des options de PARMGEN. Ces options contrôlent également l'emplacement des fichiers créés au moyen de l'option Edition de JCL de la boîte de dialogue Créer un travail par lots.
Si vous utilisez la boîte de dialogue Créer un travail par lots, vous devez préciser le fichier contenant le code JCL que vous souhaitez soumettre et éventuellement les fichiers requis par le travail qui contiennent également des variables de substitution. Ces fichiers doivent être catalogués et situés sur une unité de stockage à accès direct en ligne, accessible sur le système z/OS où s'exécute l'agent de surveillance.
- Bibliothèque de chargement avec des droits APF sur les systèmes distants : Le Kit de stockage insère une première et une dernière étapes dans chaque travail par lots. En fait, ces étapes exécutent le code du kit qui se trouve dans la bibliothèque de chargement TKANMODL de l'environnement d'exécution de votre installation. La bibliothèque de chargement doit posséder des droits APF. Si le travail par lots s'exécute sur le même système z/OS que l'agent de surveillance, la bibliothèque de chargement possède normalement déjà des droits APF. Si votre travail par lots s'exécute sur un autre système z/OS de votre environnement SYSPLEX, vous devez vous assurer que la bibliothèque de chargement possède également des droits APF sur ce système. La bibliothèque de chargement doit également se trouver sur une unité de stockage à accès direct partagée entre les systèmes.
- Caractères non imprimables : Vous devez vérifier que les fichiers que vous indiquez dans la boîte de dialogue Créer un fichier par lots afin d'en copier le contenu à des fins de visualisation future ou que la sortie d'une commande que vous indiquez dans la boîte de dialogue Emission de commande ne contiennent que des données de type caractères. Si les fichiers ou la sortie de la commande contient contiennent des caractères non imprimables (par exemple, des données hexadécimales), ces caractères peuvent ne pas s'afficher correctement dans l'espace de travail Caractéristiques des résultats du Kit de stockage.
- Espace de stockage insuffisant pour les fichiers de point de contrôle : Lorsque vous soumettez une demande d'action, les informations relatives à la demande sont stockées dans la base de données de points de contrôle. Lorsque la demande s'achève, les résultats de l'exécution sont également stockés. Les informations stockées dans la base de données de points de contrôle portent sur les éléments suivants :
- Nom et description de la demande
- Heure de soumission et de fin de la demande
- Ressources associées à la demande
- Code retour renvoyé après l'exécution de la demande
- Sortie produite par l'exécution de la demande pouvant inclure les informations suivantes :
- Sortie de la commande
- Fichiers copiés à des de consultation future
- Fichier JCL soumis
- Fichiers JES produits par le travail par lots
Remarque : Si les résultats de l'exécution d'une demande d'action dépassent l'espace libre disponible dans la base de données de points de contrôle, la sortie est définitivement perdue. Le système signale cette condition en consignant le message d'erreur KS3T830E SERVICE CHECKPOINT DATASET STORAGE EXHAUSTED dans le journal RKLVLOG de Tivoli Enterprise Monitoring Server. Le document IBM® OMEGAMON for Storage on z/OS - Guide de traitement des incidents vous donne de plus amples informations sur cet incident.