Commande CL IBM i (AS/400)
CHGDTAARA
Modifier une zone de données
En bref
La commande CHGDTAARA (Modifier une zone de données) permet de modifier la valeur de la zone de données locale (*LDA), la zone de données de groupe (*GDA), la zone de données de paramètre d'initialisation de programme (*PDA) ou la zone de données indiquée et stockée dans une bibliothèque.
CHGDTAARA se lit CHG
(Modifier) + DTAARA.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CHGDTAARA DTAARA(…) VALUE(…)
Paramètres
Astuce : dans une session 5250, tapez CHGDTAARA 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 : Sous conditions
La commande CHGDTAARA (Modifier une zone de données) permet de modifier la valeur de la zone de données locale (*LDA), la zone de données de groupe (*GDA), la zone de données de paramètre d'initialisation de programme (*PDA) ou la zone de données indiquée et stockée dans une bibliothèque. La nouvelle valeur doit avoir le même type et une longueur inférieure ou égale à celle de la zone de données ou de la sous-chaîne de caractères indiquée.
Dans le cadre des travaux de groupe, la zone de données indiquée peut être la zone de données de groupe (*GDA). Celle-ci est automatiquement associée au groupe et n'est pas accessible à partir des travaux figurant en dehors du groupe. Cette zone de données de type caractère comporte 512 octets. Pour plus d'informations sur les travaux de groupes, reportez-vous au manuel Ensemble de rubriques Gestion des travaux de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
La zone de données locale (*LDA) correspond à une zone de données de type caractère comportant 1024 octets. Elle est automatiquement associée à votre travail et aucun autre travail ne peut y avoir accès.
Dans les travaux à démarrage anticipé, la zone de données indiquée peut être la zone de données PIP (*PDA). Celle-ci est automatiquement associée à votre travail à démarrage anticipé. Elle n'est pas accessible à d'autres travaux. La longueur de cette zone de données alphanumérique est 2000 octets. Pour plus d'informations sur les travaux à démarrage anticipé, reportez-vous au manuel Ensemble de rubriques Gestion des travaux de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Il est possible de modifier une sous-chaîne d'une zone de données alphanumérique sans que cette modification affecte le reste de la zone. Cette sous-chaîne est déterminée par la position de début et la longueur que vous lui attribuez. Dans ce cas, la nouvelle valeur doit avoir une longueur inférieure ou égale à celle de la sous-chaîne.
Lorsque cette commande est lancée pour une zone autre que la zone de données locale, la zone de données de groupe ou la zone de données PIP, la zone considérée est verrouillée par le travail ou l'unité d'exécution pendant la modification. De cette façon, les commandes provenant d'autres travaux ne peuvent ni la modifier, ni la supprimer tant que l'opération en cours n'est pas achevée. Si la zone de données est partagée entre plusieurs travaux et mise à jour en plusieurs étapes au moyen de plusieurs commandes d'un même travail, cette zone doit être explicitement allouée à ce travail pour toute la durée de l'opération. Les zones de données non locales, de groupe ou de paramètre d'initialisation de programme peuvent être explicitement allouées, à l'aide de la commande ALCOBJ (Allouer un objet). Aucune allocation n'est nécessaire quand la zone de données locale, de groupe ou de paramètre d'initialisation de programme est indiquée pour la commande CHGDTAARA.
Restrictions :
- Pour utiliser cette commande, l'utilisateur doit disposer du droit de modification (*CHANGE) sur la zone de données en cours de modification et du droit d'exécution (*EXECUTE) sur la bibliothèque dans laquelle est stockée cette zone. Aucun droit spécifique n'est requis pour la zone de données locale, la zone de données de groupe ou la zone de données PIP.
- Cette commande est à unités d'exécution protégées sous certaines conditions. Les restrictions suivantes s'appliquent :
- La modification des zones de données DDM dans un travail qui admet les unités d'exécution multiples n'est pas à unités d'exécutions protégées.
- La modification des zones de données DDM échoue lorsque plusieurs unités d'exécution sont actives dans un travail.
- La modification des zones de données spéciales (*LDA, *GDA et *PDA) n'est autorisée qu'à partir de l'unité d'exécution initiale et peut échouer avec une unité d'exécution secondaire.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| DTAARA | Spécification zone de données | Liste d'éléments | Obligatoire, positionnel 1 |
| Élément 1: Zone de données |
Valeurs uniques: *LDA, *GDA, *PDA Autres valeurs: Nom d'objet qualifié |
||
| Qualificatif 1: Zone de données | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| Élément 2: Spécifications de sous-chaîne |
Valeurs uniques: *ALL Autres valeurs: Liste d'éléments |
||
| Élément 1: Position de début sous-chaîne | 1-2000 | ||
| Élément 2: Longueur sous-chaîne | 1-2000 | ||
| VALUE | Nouvelle valeur | Sans restriction | Obligatoire, positionnel 2 |
Spécification zone de données (DTAARA)
Indique le nom et la bibliothèque de la zone de données à modifier. Pour les zones de données caractères, il est également possible d'indiquer la position de début et la longueur de la chaîne de caractères à modifier dans cette zone.
Ce paramètre est obligatoire.
Elément 1 : Zone de données
Valeurs uniques
- *LDA
- Modifie la zone de données locale associée à votre travail. La longueur de cette zone de données caractères est de 1024 octets.
- *GDA
- Modifie la zone de données de groupe associée à votre travail de groupe. Cette zone de données de type caractère comporte 512 octets.
- *PDA
- Modifie la zone de données de paramètre d'initialisation de programme associée à votre travail anticipé. La longueur de cette zone de données alphanumérique est 2000 octets.
-
Qualificatif 1 : Zone de données
- nom
- Indiquez le nom de la zone de données à modifier.
-
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de l'unité d'exécution jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- La bibliothèque en cours pour l'unité d'exécution permet de localiser l'objet. Si celle-ci n'est indiquée, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque contenant la zone de données.
Elément 2 : Spécifications de sous-chaîne
Valeurs uniques
- *ALL
- Modifie la totalité de la zone de données.
-
Elément 1 : Position de début sous-chaîne
- 1-2000
- Indiquez la position de début de la zone de données à modifier.
-
Elément 2 : Longueur sous-chaîne
- 1-2000
- Indiquez la longueur de la sous-chaîne de zone de données à modifier.
Nouvelle valeur (VALUE)
Indique la nouvelle valeur de la zone de données. Celle-ci doit correspondre aux attributs de données de sa description, précisés au moment de la création de la zone. Si, lors de la création des données, *CHAR ou *LGL a été indiqué pour le paramètre Type (TYPE) de la commande Créer une zone de données (CRTDTAARA) et si la nouvelle valeur est numérique, elle doit être indiquée entre apostrophes. En revanche, si *DEC a été indiqué en regard du paramètre TYPE (Type) de la commande CRTDTAARA, les apostrophes ne sont pas nécessaires.
Ce paramètre est obligatoire.
- valeur-non-restreinte
- Indiquez la valeur de la zone de données.
Exemples
Exemple 1 : modification de la valeur de la zone de données
CHGDTAARA DTAARA(MYLIB/MYDATA) VALUE(GOODNIGHT)
Cette commande permet de modifier la valeur de la zone de données MYDATA, de la bibliothèque MYLIB, en GOODNIGHT. La zone de données est réservée aux données de type caractères et doit comporter au moins 9 caractères.
Exemple 2 : modification de la valeur logique de la zone de données
CHGDTAARA DTAARA(PAYROLLSW) VALUE('0')
Cette commande permet de modifier la valeur logique de la zone de données PAYROLLSW en zéro (0). La zone de données est recherchée dans la liste des bibliothèques.
Exemple 3 : modification des caractères spécifiques de la zone de données locale
CHGDTAARA DTAARA(*LDA (5 4)) VALUE('TWO')
Cette commande permet de modifier les caractères 5 à 8 de la zone de données locale de l'utilisateur. La nouvelle valeur étant plus courte que la sous-chaîne, celle-ci est complétée par un blanc.
Messages d'erreur
Messages *ESCAPE
- CPF101A
- L'opération sur la zone de données DDM &1 de &2 a échoué.
- CPF1015
- Zone de données &1 non trouvée dans &2.
- CPF1018
- Non autorisé à modifier la zone de données.
- CPF1019
- Paramètre VALUE incorrect.
- CPF1020
- Paramètre VALUE trop long.
- CPF1021
- Bibliothèque &1 non trouvée pour zone de données &2.
- CPF1022
- Non autorisé à bibliothèque &1 pour zone de données &2.
- CPF1026
- Le paramètre VALUE doit être égal à '0' ou à '1'.
- CPF1043
- L'alignement sur une limite pour la zone de données n'est pas valide. Boundary alignment for data area not valid.
- CPF1044
- Le paramètre AREA n'est pas valide pour la zone de données. AREA parameter not valid for data area.
- CPF1045
- Le paramètre CPYPTR n'est pas valide pour la zone de données. CPYPTR parameter not valid for data area.
- CPF1046
- DTAARA(*GDA) admis uniquement pour travaux de groupe.
- CPF1062
- Chaîne vide incorrecte comme valeur caractère.
- CPF1063
- Impossible d'allouer la zone de données &1 dans &2.
- CPF1067
- Impossible d'allouer la bibliothèque &1.
- CPF1072
- Paramètre DTAARA(*PDA) incorrect car il ne s'agit pas d'un travail anticipé.
- CPF1087
- Sous-chaîne non permise pour zone de données décimale ou logique.
- CPF1088
- Position de début à l'extérieur de la zone de données.
- CPF1089
- Sous-chaîne incorrecte pour zone de données.
- CPF1138
- Paramètre VALUE incorrect pour zone de données &1.
- CPF1155
- Paramètre VALUE trop long pour zone de données &1.
- CPF1162
- L'alignement sur une limite pour la zone de données &1 n'est pas valide. Boundary alignment for data area &1 not valid.
- CPF1163
- Le paramètre AREA n'est pas valide pour la zone de données &1. AREA parameter not valid for data area &1.
- CPF1168
- Le paramètre CPYPTR n'est pas valide pour la zone de données &1. CPYPTR parameter not valid for data area &1.
- CPF1170
- Position de début à l'extérieur de la zone de données &1.
- CPF1192
- Sous-chaîne incorrecte pour zone de données &1.
- CPF180B
- Fonction &1 non admise.
- CPF180C
- Fonction &1 non admise.
- CPF18BE
- La zone de données &1 n'a pas été modifiée car le poste de journal n'a pu être enregistré.
- CPF4ACF
- Echec de l'opération pour l'objet &1 dans &2 type *&3 en raison d'erreurs de réplication.
- CPF9899
- Erreur lors du traitement de la commande.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.