Aller au contenu

STRCMTCTL

Démarrer contrôle validation

En bref

La commande STRCMTCTL (Démarrer le contrôle de validation) permet d'établir une définition de validation au niveau du travail ou du groupe d'activation.

STRCMTCTL se lit STR (Démarrer) + CMTCTL. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

STRCMTCTL LCKLVL(…)

Paramètres

  • LCKLVL Niveau de verrouillage obligatoire
  • NFYOBJ Objet de notification
  • CMTSCOPE Portée définition validation
  • TEXT Texte 'descriptif'
  • DFTJRN Journal
  • OMTJRNE Postes de journal à omettre

Astuce : dans une session 5250, tapez STRCMTCTL puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui

La commande STRCMTCTL (Démarrer le contrôle de validation) permet d'établir une définition de validation au niveau du travail ou du groupe d'activation. L'espace de nom en cours du travail définit dans quel ASP indépendant la définition de validation est créée. Les fichiers peuvent être ouverts sous contrôle de validation pour cette définition de validation dans deux cas : lorsque les fichiers résident dans ce même ASP ou lorsque les fichiers résident dans *SYSBAS et que la définition de validation n'a aucune ressource enregistrée.

Cette commande permet également d'indiquer le niveau de verrouillage d'enregistrement souhaité pour la définition de validation à établir. En outre, un objet de notification peut être précisé.

Avant d'établir une définition de validation, l'utilisateur doit s'assurer que tous les fichiers base de données devant être ouverts sous contrôle de validation pour une seule transaction de validation sont journalisés. Si vous avez demandé une image des enregistrements après modification uniquement, le système assure implicitement la journalisation des images avant et après modification, pour la durée des modifications apportées aux fichiers ouverts sous cette définition de validation.

Il est possible d'indiquer un journal par défaut dans lequel placer les postes susceptibles de décrire tous les journaux et systèmes impliqués dans un contrôle de validation.

Pour plus de détails sur l'utilisation de la gestion des journaux, reportez-vous au manuel Ensemble de rubriques Journal Management de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/. Pour plus de détails sur la journalisation liée au contrôle de validation, reportez-vous au manuel Ensemble de rubriques Commitment control de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Restrictions :

  1. L'utilisateur doit disposer du droit d'opération et du droit d'ajout sur l'objet désigné, le cas échéant, au paramètre NFYOBJ.
  2. L'utilisateur doit disposer du droit d'opération et du droit d'ajout sur l'objet désigné, le cas échéant, au paramètre DFTJRN.

Paramètres

Mot-clé Description Valeurs possibles Remarques
LCKLVL Niveau de verrouillage *CHG, *CS, *ALL Obligatoire, positionnel 1
NFYOBJ Objet de notification Valeurs uniques: *NONE
Autres valeurs: Liste d'éléments
Facultatif, positionnel 2
Élément 1: Objet Nom d'objet qualifié
Qualificatif 1: Objet Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
Élément 2: Type d'objet Valeurs uniques: *MSGQ, *DTAARA
Autres valeurs: Liste d'éléments
Élément 1: (*MSGQ *DTAARA ou *FILE) *FILE
Élément 2: Membre si *FILE Nom, *FIRST
CMTSCOPE Portée définition validation *ACTGRP, *JOB Facultatif
TEXT Texte 'descriptif' Valeur caractère, *DFTTEXT Facultatif
DFTJRN Journal Valeurs uniques: *NONE
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Journal Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
OMTJRNE Postes de journal à omettre *NONE, *LUWID Facultatif

Niveau de verrouillage (LCKLVL)

Niveau par défaut de verrouillage des enregistrements pour la définition de validation à établir.

Ce paramètre est obligatoire.

*CHG
Chaque enregistrement devant être mis à jour (pour un fichier ouvert sous contrôle de validation) est verrouillé. Tout enregistrement modifié, ajouté ou supprimé reste verrouillé jusqu'à la prochaine validation ou invalidation de la transaction. Les enregistrements consultés pour mise à jour, mais non modifiés, sont déverrouillés.
*CS
Chaque enregistrement consulté pour des fichiers ouverts sous contrôle de validation est verrouillé. Tout enregistrement lu, mais non modifié ou supprimé, est déverrouillé au moment de la lecture d'un autre enregistrement. Tout enregistrement modifié, ajouté ou supprimé est verrouillé jusqu'à validation ou invalidation de la transaction.
*ALL
Tout enregistrement lu pour des fichiers ouverts sous contrôle de validation est verrouillé jusqu'à validation ou invalidation de la transaction.

Objet de notification (NFYOBJ)

Nom et type de l'objet où est envoyée une notification concernant l'état d'une transaction pour une définition de validation. L'identificateur de validation de la dernière opération de validation ayant abouti est transféré dans l'objet de notification uniquement aux conditions suivantes :

  • Pour une définition de validation de niveau travail, si l'une des conditions suivantes se vérifie :
    • Défaillance système
    • Arrêt du travail avec modifications non validées
    • Arrêt du travail avec un code d'achèvement différent de zéro
  • Pour une définition de validation de niveau groupe d'activation, si l'une des conditions suivantes se vérifie :
    • Défaillance système
    • Arrêt du travail avec modifications non validées
    • Arrêt du travail avec un code d'achèvement différent de zéro
    • Arrêt anormal du groupe d'activation
    • Arrêt du groupe d'activation avec modifications non validées, celles-ci étant invalidées

Dans le cas d'une défaillance système, l'identificateur de validation est placé dans l'objet de notification après le prochain IPL (procédure de chargement initial) ayant abouti. Dans le cas d'un travail s'arrêtant avec des modifications non validées ou avec un code d'achèvement différent de zéro, l'identificateur de validation est placé dans l'objet de notification lors de l'arrêt du travail. Dans le cas d'un groupe d'activation s'arrêtant anormalement ou avec des modifications non validées, le texte de notification est placé dans l'objet de notification lors de l'arrêt du groupe d'activation.

Un identificateur de validation (indiqué pour le paramètre CMTID (Identification validation) de la commande (COMMIT)) peut être défini à chaque opération de validation effectuée pour une définition de validation. Si plusieurs travaux utilisent simultanément le contrôle de validation ou si plusieurs définitions de validation sont utilisées simultanément dans un même travail, chaque définition de validation pour chaque travail doit utiliser un objet de notification unique, ou l'identificateur de validation indiqué doit contenir un texte unique, de sorte que ce texte identifie une seule définition de validation pour un seul travail. Si *NONE est indiqué pour le paramètre CMTID de la commande COMMIT, cette entrée n'est pas prise en compte.

*NONE
Aucun texte d'avertissement n'est envoyé en cas d'incident système ou de fin anormale d'un traitement.
nom-objet
Indiquez le nom de l'objet (nom-bibliothèque/nom-objet) destiné à recevoir le texte d'avertissement relatif à la dernière transaction validée. Vous devez disposer des droits appropriés sur l'objet indiqué.

Pour la bibliothèque, les valeurs possibles sont les suivantes :

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
L'objet est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom-bibliothèque
Indiquez la bibliothèque dans laquelle se trouve l'objet.

Les types d'objet possibles sont les suivants :

*MSGQ
Le texte permettant d'identifier la dernière frontière de validation est placé dans la file d'attente de messages indiquée.
*DTAARA
Le texte permettant d'identifier la dernière frontière de validation est placé dans la zone de données indiquée. Celle-ci doit être de type alphanumérique et réservée à ce travail. Le texte est soit complété par des blancs, soit tronqué, afin de remplir la zone de données.
*FILE
Le texte permettant d'identifier la dernière frontière de validation est placé dans le fichier physique indiqué.

Les valeurs possibles pour le membre du fichier physique sont les suivantes :

*FIRST
Le texte d'avertissement est placé dans le premier membre du fichier physique.
nom-membre
Indiquez le nom du membre du fichier physique destiné à recevoir le texte d'avertissement.

Portée définition validation (CMTSCOPE)

Indique la portée de la définition de validation à démarrer.

*ACTGRP
Une définition de validation de niveau groupe d'activation est démarrée pour le groupe d'activation associé au programme émettant la commande.
*JOB
La définition de validation de niveau travail est démarrée pour le travail.

Texte 'descriptif' (TEXT)

Texte décrivant brièvement la définition de validation à démarrer. Vous trouverez de plus amples détails sur ce paramètre dans l'annexe A du manuel CL Reference.

*DFTTEXT
Le système doit fournir un texte descriptif par défaut pour la définition de validation.
'descriptif'
Indiquez, entre apostrophes, un texte de 50 caractères au maximum.

Journal (DFTJRN)

Indique le journal par défaut. Celui-ci contient des postes identifiant chaque ressource impliquée dans une unité d'oeuvre. Des postes peuvent aussi être placés au démarrage ou à la fin de chaque unité d'oeuvre à l'issue d'une validation ou d'une invalidation, selon le paramètre OMTJRNE.

Pour plus d'informations sur le journal par défaut, reportez-vous au manuel Ensemble de rubriques Commitment control de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Le journal par défaut peut être utilisé pour ajouter une ressource à l'aide de l'API QTNADDCR. Si lors de l'appel de l'API, la valeur spéciale *DFTJRN est indiquée pour le nom du journal, le nom spécifié à ce paramètre DFTJRN est utilisé.

*NONE
Aucun journal par défaut n'est indiqué.

Le nom du journal par défaut peut être qualifié de l'une des valeurs suivantes :

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La recherche porte sur la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom-bibliothèque
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.
nom-journal
Indiquez le nom du journal par défaut.

Postes de journal à omettre (OMTJRNE)

Indique les postes de journal à omettre du journal par défaut. Si *NONE est indiqué au paramètre DFTJRN, ce paramètre n'est pas pris en compte.

*NONE
Aucun poste de journal n'est omis.
*LUWID
Le poste de journal contenant l'identificateur d'unité d'oeuvre logique (LUWID) et toutes les ressources impliquées dans cette dernière sont omis si cette unité d'oeuvre logique est validée ou invalidée. Si une erreur se produit pendant l'exécution de l'une ou de l'autre de ces opérations, le poste est toujours envoyé, quelle que soit cette valeur.

Exemples

Exemple 1 : Définition du contrôle de validation de niveau groupe d'activation

STRCMTCTL   LCKLVL(*CHG)  CMTSCOPE(*ACTGRP)  TEXT('Blue Commit Group')

Cette commande, correspondant à la description Blue Commit Group, permet de lancer la validation du groupe d'activation associé au programme qui émet la commande.

Seuls les enregistrements mis à jour, insérés ou supprimés sont verrouillés jusqu'à ce qu'une opération de validation ou d'invalidation arrête la transaction. Aucune identification de la frontière de validation n'est transmise lorsqu'un IPL est effectué à l'issue de l'arrêt anormal du système, du groupe d'activation du travail ou lors de l'arrêt d'un travail ou d'un groupe d'activation avec des modifications non validées ou un code d'achèvement différent de 0.

Exemple 2 : Définition du contrôle de validation de niveau travail

STRCMTCTL   LCKLVL(*ALL)  NFYOBJ(RCVLIB/MYFILE *FILE IDSAVE)
            CMTSCOPE(*JOB)  DFTJRN(MGWLIB/MYJRN)

Cette commande permet de lancer la définition de validation de niveau travail. Tous les enregistrements utilisés dans les fichiers ouverts sous contrôle de validation sont verrouillés jusqu'à ce qu'une opération de validation ou d'invalidation arrête la transaction de validation. Si l'arrêt de la transaction de validation implique la mise à jour d'un objet de notification avec l'ID de la dernière opération de validation réussie, l'objet de notification à mettre à jour correspond au membre IDSAVE du fichier MYFILE dans la bibliothèque RCVLIB. Lorsqu'une opération de validation ou d'invalidation est effectuée, un poste répertoriant des informations sur toutes les ressources associées à l'unité d'oeuvre logique est créée dans le journal MYJRN de la bibliothèque MGWLIB.

Messages d'erreur

Messages *ESCAPE

CPF8351
Contrôle de validation déjà actif.
CPF8352
Attribut incorrect dans objet de notification &1 type *&4.
CPF8360
Espace mémoire insuffisant pour l'opération de contrôle de validation.
CPF8366
Définition de validation &2 non créée. code raison &1.
CPF9801
Objet &2 non trouvé dans la bibliothèque &3.
CPF9802
Non autorisé à l'objet &2 de &3.
CPF9807
Une ou plusieurs bibliothèques de la liste ont été supprimées.
CPF9808
Allocation impossible pour une ou plusieurs bibliothèques de la liste.
CPF9810
Bibliothèque &1 non trouvée.
CPF9815
Membre &5 du fichier &2 dans &3 non trouvé.
CPF9820
Non autorisé à utiliser la bibliothèque &1.
CPF9830
Allocation de la bibliothèque &1 impossible.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.