Aller au contenu

CRTTBL

Créer une table

En bref

La commande CRTTBL (Créer une table) permet de créer une table nommée, utilisée pour la conversion des données transmises entre le système et une unité.

CRTTBL se lit CRT (Créer) + TBL. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CRTTBL TBL(…)

Paramètres

Astuce : dans une session 5250, tapez CRTTBL 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 : Non

La commande CRTTBL (Créer une table) permet de créer une table nommée, utilisée pour la conversion des données transmises entre le système et une unité. Cette table permet aussi de définir une autre séquence de classement ou des fonctions de conversion de zones.

Vous pouvez créer une table en utilisant une fonction d'invite pour les informations source ou en précisant un membre source.

Pour créer une table à l'aide d'une fonction d'invite, indiquez *PROMPT au paramètre SRCFILE. Un écran s'affiche vous permettant de visualiser et de modifier les valeurs de table. Une nouvelle table est créée à partir des valeurs choisies sur l'écran.

Pour créer une table *CVT à l'aide d'un membre source, vous devez indiquer un membre composé de 8 enregistrements. Chacun d'entre eux doit contenir 64 caractères hexadécimaux (les caractères au-delà de la position 64 ne sont pas utilisés). Cette entrée (512 caractères hexadécimaux) est convertie et stockée en 256 octets par la commande CRTTBL.

La valeur que vous indiquez pour une position au sein du membre source est identique à celle renvoyée par QDCXLATE (ou un autre programme système) à chaque fois que cette position est rencontrée.

Par exemple, si vous définissez "C0C1C2C3C4C5C6...'' comme première partie de l'enregistrement 1 du source, la valeur hexadécimale renvoyée pour un "00" est "C0", la valeur hexadécimale pour un "01" est "C1", et ainsi de suite.

Pour créer une table *UCSSRTSEQ à l'aide d'un membre source, vous devez indiquer un membre dont les informations sont présentées de la façon suivante :

  1. colonnes 1-4 = Point de code hexadécimal à trier
  2. colonnes 6-10 = Poids de ce point de code comme nombre décimal
  3. colonnes 11-80 = non utilisées, peuvent contenir des commentaires.

Paramètres

Mot-clé Description Valeurs possibles Remarques
TBL Nom de la table Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Nom de la table Nom
Qualificatif 2: Biblio Nom, *CURLIB
SRCFILE Fichier source Valeurs uniques: *PROMPT
Autres valeurs: Nom d'objet qualifié
Facultatif, positionnel 2
Qualificatif 1: Fichier source Nom, QTBLSRC
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
SRCMBR Membre source Nom, *TBL Facultatif, positionnel 3
TBLTYPE Type de table *CVT, *SRTSEQ, *UCSSRTSEQ Facultatif
BASETBL Table de base Valeurs uniques: *HEX
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Table de base Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
BASESRTSEQ Séquence de tri de base Valeurs uniques: *LANGIDSHR, *HEX, *JOB, *LANGIDUNQ
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Séquence de tri de base Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
BASELANGID ID langue de base Valeur caractère, *JOB Facultatif
CCSID ID codé de jeu de caractères 1-65533, *JOB, *HEX, 65535 Facultatif
TEXT Texte 'descriptif' Valeur caractère, *BLANK Facultatif
AUT Droits Nom, *LIBCRTAUT, *CHANGE, *ALL, *USE, *EXCLUDE Facultatif

Nom de la table (TBL)

Indique le nom qualifié (nom-bibliothèque/nom-table) de la table à créer.

Ce paramètre est obligatoire.

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

*CURLIB
La table est recherchée dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.

Les valeurs possibles sont les suivantes :

nom-table
Indiquez le nom de la table à créer.

Fichier source (SRCFILE)

Indique le nom qualifié du fichier source contenant la description de la table à créer ou précise l'utilisation de la fonction d'invite.

Les valeurs possibles sont les suivantes :

*PROMPT
Permet à l'utilisateur d'accéder aux informations source et de les utiliser.
QTBLSRC
Le fichier source du système, appelé QTBLSRC, contient les enregistrements source utilisés par cette commande pour créer la table.
nom-fichier-source
Indiquez le nom (nom-bibliothèque/nom-fichier-source) du fichier source contenant les enregistrements source utilisés par cette commande pour créer la table.

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
Le fichier source est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.

Membre source (SRCMBR)

Indique le nom du membre source contenant la description de la table à créer.

Les valeurs possibles sont les suivantes :

*TBL
Le nom du membre source est identique à celui de la table.
nom-membre-source
Indiquez le nom du membre du fichier source défini à l'invite Fichier source (paramètre SRCFILE), permettant de créer la table.

nom-table-générique* Indiquez le nom générique de la table. Un nom générique est une chaîne comportant un ou plusieurs caractères suivis d'un astérisque (*), par exemple, ABC*. Si un nom générique est indiqué, toutes les tables dont le nom commence par ce nom générique et pour lesquelles l'utilisateur dispose de droits s'affichent. Si le nom (préfixe) générique ne comporte pas d'astérisque, le système considère qu'il s'agit du nom complet de la table.

Type de table (TBLTYPE)

Précise le type d'objet table à créer.

Les valeurs possibles sont les suivantes :

*CVT
Une table de conversion est créée.
*SRTSEQ
Une table de séquence de tri est créée.
*UCSSRTSEQ
Une table de séquence de tri de type UCS-2 IS0-10646 est créée.

Table de base (BASETBL)

Indique la table de base à utiliser pour la fonction d'invite lorsque vous créez une table de conversion.

Les valeurs possibles sont les suivantes :

*HEX
Une table de mappage à correspondance unique est utilisée.

Le nom de la table peut être qualifié par l'une des valeurs de bibliothèque 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-table
Indiquez un objet table à utiliser en tant que base.

Séquence de tri de base (BASESRTSEQ)

Indique la table de base à utiliser pour la fonction d'invite lorsque vous créez une table de séquence de tri.

Les valeurs possibles sont les suivantes :

*JOB
La séquence de tri doit être résolue lors de la création de l'objet.
*LANGIDSHR
Une table de tri à poids partagés est utilisée.
*LANGIDUNQ
Une table de tri à poids uniques est utilisée.
*HEX
Aucune table de séquence de tri n'est utilisée. Les valeurs hexadécimales des caractères sont utilisées pour déterminer la séquence de tri. Le CCSID pour les données hexadécimales est 65535.

Le nom de la table peut être qualifié par l'une des valeurs de bibliothèque 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-table
Indiquez le nom d'un objet table à utiliser en tant que base.

ID langue de base (BASELANGID)

Indique la langue de base utilisée pour la fonction d'invite lors de la création d'une table de séquence de tri.

Les valeurs possibles sont les suivantes :

*JOB
La séquence de tri doit être résolue lors de la création de l'objet.
ID-langue
Indiquez un identificateur de langue correct qui sera utilisé pour la table de séquence de tri à créer.

ID codé de jeu de caractères (CCSID)

Précise l'ID codé de jeu de caractères (CCSID) sous lequel seront stockées les informations relatives à la table de séquence de tri.

Les valeurs possibles sont les suivantes :

*JOB
La séquence de tri doit être résolue lors de la création de l'objet.
ID-codé-jeu-caractères
Indique le CCSID à utiliser pour les informations relatives à la table de séquence de tri.

Texte 'descriptif' (TEXT)

Texte décrivant brièvement l'objet.

Les valeurs possibles sont les suivantes :

*BLANK
Aucun texte n'est indiqué.
valeur-alphanumérique
Tapez un texte d'au plus 50 caractères, entre apostrophes.

Droits (AUT)

Indique les droits que vous accordez aux utilisateurs qui n'ont pas de droits spécifiques sur l'objet, qui ne figurent pas sur une liste d'autorisation ou dont le profil de groupe ou les profils du groupe supplémentaire ne disposent pas de droits spécifiques sur l'objet.

*LIBCRTAUT
Les droits sur l'objet correspondent à la valeur indiquée en regard de l'invite Droits pour objets créés (paramètre CRTAUT) de la bibliothèque dans laquelle l'objet est créé. En cas de modification de la valeur indiquée à l'invite Droits pour objets créés (paramètre CRTAUT), la nouvelle valeur n'affectera aucun objet existant.
*CHANGE
L'utilisateur peut effectuer toutes les opérations sur l'objet, à l'exception de celles réservées au propriétaire ou contrôlées par les droits d'existence de l'objet (*OBJEXIST) et de gestion de l'objet (*OBJMGT). L'utilisateur peut réaliser des fonctions de base sur l'objet et le modifier. Le droit *CHANGE fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que les droits sur toutes les données. Si l'objet est une liste d'autorisation, vous pouvez ajouter, modifier ou supprimer des utilisateurs dans cette liste.
*ALL
L'utilisateur peut effectuer toutes les opérations, à l'exception de celles réservées au propriétaire ou soumises au droit de gestion de la liste d'autorisation (*AUTLMGT). L'utilisateur a un droit d'existence sur l'objet Il peut également effectuer des fonctions de base sur ce dernier, le modifier, définir son niveau de protection et en transférer la propriété.
*USE
L'utilisateur peut effectuer des opérations de base sur l'objet, telles que l'exécution d'un programme ou la lecture d'un fichier. Il ne peut pas le modifier. Le droit d'utilisation (*USE) fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que le droit d'exécution (*EXECUTE).
*EXCLUDE
L'utilisateur n'a pas accès à l'objet.
nom-liste-autorisation
Indique le nom de la liste d'autorisation associée aux droits sur l'objet. Les droits sur l'objet indiqués dans la liste sont accordés aux utilisateurs qui figurent sur cette liste. La liste d'autorisation doit exister à la création de l'objet.

Exemples

CRTTBL   TBL(SCRAMTBL)  SRCFILE(USERTABLES)  SRCMBR(SCRAMBLE)
         TEXT('Table de conversion pour brouiller les
caractères textuels')

Cette commande permet de créer une table SCRAMTBL et, par défaut, de la stocker dans la bibliothèque en cours. Le fichier source USERTABLES contient les enregistrements source utilisés lors de la création de la table. Le nom du membre de fichier source est SCRAMBLE. Le paramètre TEXT indique que la table est utilisée comme table de conversion pour brouiller les caractères textuels.

Messages d'erreur

Messages *ESCAPE

CPF2207
Non autorisé à utiliser objet &1 de &3 type *&2.
CPF2614
La table &1 existe déjà dans &2.
CPF2623
Bibliothèque &1 introuvable.
CPF2678
Les données du fichier source &1 de &2 sont incorrectes.
CPF3BF7
Données du fichier source incorrectes à la ligne &1.
CPF3FC9
Valeur &1 du CCSID incorrecte.
CPF9820
Non autorisé à utiliser la bibliothèque &1.

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