Méthode RetrieveCommandDefinition()
Description
Les méthodes RetrieveCommandDefinition()
et RetrieveCommandDefinitionXml()
interroge l’API QCDRCMDD pour récupérer la définition d’une commande CL (*CMD) sur IBM i, avec deux formats de retour possibles.
RetrieveCommandDefinitionXml
: renvoie les détails de la commande sous forme de source XML.RetrieveCommandDefinition
: désérialise le XML renvoyé par l’API QCDRCMDD dans un objetCommandDefinition
qui représente la structure complète de la commande, y compris ses paramètres, éléments, et informations supplémentaires.
Les deux méthodes permettent de spécifier si seuls les paramètres requis doivent être inclus dans le retour via le paramètre requiredParametersOnly
.
Syntaxe
// XML seulement
RetrieveCommandDefinitionXml(string commandName, string commandLibrary = "*LIBL", bool requiredParametersOnly = false)
// Objet structuré
RetrieveCommandDefinition(string commandName, string commandLibrary = "*LIBL", bool requiredParametersOnly = false)
Paramètres
Nom | Type | Description |
---|---|---|
commandName |
string |
Nom de la commande à interroger (Max 10 caractères). |
commandLibrary |
string |
Bibliothèque contenant la commande (Max 10 caractères, par défaut : *LIBL ). |
requiredParametersOnly |
bool |
Indique s’il faut récupérer uniquement les informations de base sur la commande (CMDD0100 = true) ou l’ensemble complet (CMDD0200 = false (valeur par défaut)). |
Retour
RetrieveCommandDefinitionXml
: retourne une chaine de caractère contenant le XML représentant la définition de la commande spécifiée.RetrieveCommandDefinition
: Retourne un objet de typeCommandDefinition
qui contient des informations détaillées sur les différents composants de la commande CL
Classe CommandDefinition
Propriété | Type | Description |
---|---|---|
CmdDefinition | List<Command> |
Liste des commandes CL définies dans la structure de la commande. |
Classe Command
(commande CL, avec ses métadonnées et ses paramètres.)
Propriété | Type | Description |
---|---|---|
CommandName | string |
Nom de la commande CL (CDATA, obligatoire). |
LibraryName | string |
Nom de la bibliothèque contenant la commande (CDATA, obligatoire). |
CCSID | string |
Identifiant de codage des caractères (CDATA, obligatoire). |
PromptMessage | string |
Message de prompt pour la commande (CDATA, optionnel). |
PromptMsgID | string |
Identifiant du message de prompt (CDATA, optionnel). |
HlpPnlGrp | string |
Groupe de panneaux d'aide (CDATA, optionnel). |
HlpPnlGrpLib | string |
Bibliothèque du groupe de panneaux d'aide (CDATA, optionnel). |
HlpID | string |
Identifiant de l'aide (CDATA, optionnel). |
MaxPos | string |
Position maximale de la commande (CDATA, optionnel). |
CurLib | string |
Nom de la bibliothèque actuelle (CDATA, optionnel). |
PrdLib | string |
Nom de la bibliothèque produit (CDATA, optionnel). |
PmtOvrPgm | string |
Programme de substitution pour le prompt (NMTOKEN, optionnel). |
PmtOvrLib | string |
Bibliothèque de substitution pour le prompt (CDATA, optionnel). |
MsgF | string |
Fichier de message associé à la commande (CDATA, optionnel). |
MsgFLib | string |
Bibliothèque du fichier de message (CDATA, optionnel). |
PmtFile | string |
Fichier de prompt pour la commande (CDATA, optionnel). |
PmtFileLib | string |
Bibliothèque du fichier de prompt (CDATA, optionnel). |
PmtFileMsg | string |
Message pour le fichier de prompt (CDATA, optionnel). |
ExecBatch | string |
Indique si la commande peut être exécutée en batch (YES ou NO, obligatoire). |
ChgCmdExit | string |
Indicateur de changement de commande lors de la sortie (YES ou NO, obligatoire). |
RtvCmdExit | string |
Indicateur de récupération de commande lors de la sortie (YES ou NO, obligatoire). |
Parameters | List<CommandParameter> |
Liste des paramètres définis pour la commande. |
Dependencies | List<CommandDependency> |
Liste des dépendances définies entre les paramètres de la commande. |
Classe CommandParameter
(paramètre d’une commande, avec ses détails et configurations spécifiques.)
Propriété | Type | Description |
---|---|---|
Kwd | string |
Mot-clé du paramètre (CDATA, obligatoire). |
Type | string |
Type de données du paramètre (DEC, INT2, INT4, UINT2, UINT4, CHAR, etc... obligatoire). |
Min | string |
Valeur minimale autorisée pour le paramètre (CDATA, optionnel). |
Max | string |
Valeur maximale autorisée pour le paramètre (CDATA, optionnel). |
PmtCtlPgm | string |
Programme de contrôle de prompt (NMTOKEN, optionnel). |
PmtCtlLib | string |
Bibliothèque de contrôle de prompt (CDATA, optionnel). |
PmtCtl | string |
Contrôle de prompt (PMTRQS ou PMTCTL, optionnel). |
KeyParm | string |
Indicateur si le paramètre est clé (YES ou NO, valeur par défaut : NO). |
PosNbr | string |
Numéro de position du paramètre (CDATA, optionnel). |
Prompt | string |
Message de prompt pour le paramètre (CDATA, optionnel). |
PromptMsgID | string |
Identifiant du message de prompt (CDATA, optionnel). |
Len | string |
Longueur du paramètre (CDATA, optionnel). |
Dft | string |
Valeur par défaut du paramètre (CDATA, optionnel). |
Constant | string |
Indicateur de constante pour définir des valeurs fixes (CDATA, optionnel). |
Rel | string |
Relation de dépendance avec d’autres paramètres (GT, EQ, GE, LT, NE, LE, optionnel). |
RelVal | string |
Valeur pour la relation de dépendance (CDATA, optionnel). |
RelKwd | string |
Mot-clé associé à la relation de dépendance (CDATA, optionnel). |
RangeMinKwd | string |
Mot-clé pour définir la valeur minimale de plage (CDATA, optionnel). |
RangeMaxKwd | string |
Mot-clé pour la valeur maximale de plage (CDATA, optionnel). |
RangeMinVal | string |
Valeur minimale pour la plage (CDATA, optionnel). |
RangeMaxVal | string |
Valeur maximale pour la plage (CDATA, optionnel). |
ChoiceMsgID | string |
Identifiant du message de choix pour ce paramètre (CDATA, optionnel). |
ChoicePgm | string |
Programme de choix pour définir des options de valeurs (NMTOKEN, optionnel). |
ChoiceLib | string |
Bibliothèque où le programme de choix est stocké (CDATA, optionnel). |
Rstd | string |
Indicateur de restriction (YES ou NO, optionnel). |
Full | string |
Indicateur si le paramètre est complet (YES ou NO, optionnel). |
AlwUnprt | string |
Indicateur pour autoriser l'impression de ce paramètre (YES ou NO, optionnel). |
AlwVar | string |
Indicateur si le paramètre est variable (YES ou NO, optionnel). |
Expr | string |
Expression associée pour définir des calculs ou règles (YES ou NO, optionnel). |
IsDtaAra | string |
Indicateur pour spécifier si le paramètre est une zone de données (YES ou NO, optionnel). |
IsFile | string |
Indicateur si le paramètre est un fichier (IN, OUT, UPD, INOUT, UNSPFD, NO, optionnel). |
IsPgm | string |
Indicateur si le paramètre est un programme (YES ou NO, optionnel). |
Vary | string |
Indicateur si le paramètre est variable (INT2, INT4, NO, optionnel). |
ListDspl | string |
Indicateur pour afficher comme une liste (INT2 ou INT4, optionnel). |
PassAtr | string |
Attribut de passage pour le paramètre (YES ou NO, optionnel). |
Case | string |
Casse du paramètre (MONO ou MIXED, optionnel). |
CCSID | string |
Identifiant de codage de caractères pour le paramètre (JOB ou UTF16, optionnel). |
InlPmtLen | string |
Longueur du prompt en ligne pour l'entrée utilisateur (valeurs possibles : PWD, 1-12, 17, 25, 32, 50, 80, 132, 256, 512, optionnel). |
RtnVal | string |
Valeur de retour pour ce paramètre (YES ou NO, optionnel). |
PassVal | string |
Valeur passée pour ce paramètre à d'autres processus (DFT ou NULL, optionnel). |
Choice | string |
Options de choix possibles pour ce paramètre (CDATA, optionnel). |
Elements | List<CommandElement> |
Liste des sous-éléments définissant des composantes du paramètre. |
Qualifiers | List<CommandQualifier> |
Liste des qualificateurs pour ce paramètre. |
PromptControl | CommandPromptControl |
Contrôle de prompt défini pour le paramètre. |
Values | List<CommandValue> |
Liste des valeurs que le paramètre peut prendre. |
SingleValues | List<CommandSingleValues> |
Liste des valeurs uniques pour le paramètre. |
SpecialValues | List<CommandSpecialValues> |
Liste des valeurs spéciales définies pour le paramètre. |
ChoiceProgramText | List<CommandChoiceProgramText> |
Liste de textes associés au programme de choix du paramètre. |
ChoiceProgramValues | List<CommandChoiceProgramValue> |
Liste des valeurs de programmes de choix. |
Classe CommandElement
(élément d’un paramètre de commande, avec ses détails et configurations spécifiques.)
Propriété | Type | Description |
---|---|---|
Type | string |
Type de l’élément (DEC, INT2, INT4, UINT2, UINT4, CHAR, NAME, GENERIC, LGL, HEX, VARNAME, DATE, TIME, X, SNAME, CNAME, PNAME, ELEM, QUAL, ZEROELEM, obligatoire). |
Max | string |
Valeur maximale autorisée pour cet élément (CDATA, optionnel). |
Prompt | string |
Message de prompt associé à cet élément (CDATA, optionnel). |
PromptMsgID | string |
Identifiant du message de prompt (CDATA, optionnel). |
Len | string |
Longueur maximale de l'élément (CDATA, optionnel). |
Min | string |
Valeur minimale autorisée pour cet élément (CDATA, optionnel). |
Dft | string |
Valeur par défaut de l'élément si aucune autre valeur n'est fournie (CDATA, optionnel). |
Constant | string |
Indicateur de constante (CDATA, optionnel). |
Rel | string |
Relation de dépendance avec d'autres éléments (GT, EQ, GE, LT, NE, LE, optionnel). |
RelVal | string |
Valeur pour la relation de dépendance (CDATA, optionnel). |
RangeMinVal | string |
Valeur minimale de la plage pour cet élément (CDATA, optionnel). |
RangeMaxVal | string |
Valeur maximale de la plage pour cet élément (CDATA, optionnel). |
DspInput | string |
Indique si l'entrée doit être affichée (YES, NO, PROMPT, optionnel). |
ChoiceMsgID | string |
Identifiant du message de choix (CDATA, optionnel). |
ChoicePgm | string |
Programme de choix associé à l'élément (NMTOKEN, optionnel). |
ChoiceLib | string |
Bibliothèque du programme de choix (CDATA, optionnel). |
Rstd | string |
Indicateur de restriction (YES ou NO, optionnel). |
Full | string |
Indique si l'élément est complet (YES ou NO, optionnel). |
AlwUnprt | string |
Indique si l'élément peut être non imprimé (YES ou NO, optionnel). |
AlwVar | string |
Indique si l'élément est variable (YES ou NO, optionnel). |
Expr | string |
Expression associée pour les calculs ou règles de l'élément (YES ou NO, optionnel). |
IsDtaAra | string |
Indique si l'élément est une zone de données (YES ou NO, optionnel). |
IsFile | string |
Indique si l'élément est un fichier (IN, OUT, UPD, INOUT, UNSPFD, NO, optionnel). |
IsPgm | string |
Indique si l'élément est un programme (YES ou NO, optionnel). |
Vary | string |
Indique si l'élément est variable (INT2, INT4, NO, optionnel). |
PassAtr | string |
Attribut de passage pour cet élément (YES ou NO, optionnel). |
Case | string |
Indicateur de casse (MONO ou MIXED, optionnel). |
CCSID | string |
Identifiant de codage de caractères pour l'élément (JOB ou UTF16, optionnel). |
InlPmtLen | string |
Longueur du prompt en ligne pour l'élément (valeurs possibles : PWD, 1-12, 17, 25, 32, 50, 80, 132, 256, 512, optionnel). |
Choice | string |
Options de choix possibles pour cet élément (CDATA, optionnel). |
Qualifiers | List<CommandQualifier> |
Liste des qualificateurs pour cet élément, fournissant des informations supplémentaires. |
Values | List<CommandValue> |
Liste des valeurs possibles que l'élément peut prendre. |
SingleValues | List<CommandSingleValues> |
Liste des valeurs uniques pour cet élément. |
SpecialValues | List<CommandSpecialValues> |
Liste des valeurs spéciales définies pour cet élément. |
ChoiceProgramText | List<CommandChoiceProgramText> |
Liste des textes associés au programme de choix pour cet élément. |
ChoiceProgramValues | List<CommandChoiceProgramValue> |
Liste des valeurs de programmes de choix associées. |
Classe CommandQualifier
(qualificateur pour un paramètre de commande.)
Propriété | Type | Description |
---|---|---|
Type | string |
Type du qualificateur (INT2, INT4, UINT2, UINT4, CHAR, NAME, GENERIC, SNAME, CNAME, obligatoire). |
Prompt | string |
Message de prompt pour le qualificateur (CDATA, optionnel). |
PromptMsgID | string |
Identifiant du message de prompt (CDATA, optionnel). |
Len | string |
Longueur maximale pour le qualificateur (CDATA, optionnel). |
Min | string |
Valeur minimale autorisée pour ce qualificateur (CDATA, optionnel). |
Dft | string |
Valeur par défaut pour le qualificateur (CDATA, optionnel). |
Constant | string |
Indicateur de constante (CDATA, optionnel). |
Rel | string |
Relation de dépendance avec d'autres qualificateurs (GT, EQ, GE, LT, NE, LE, optionnel). |
RelVal | string |
Valeur de la relation de dépendance (CDATA, optionnel). |
RangeMinVal | string |
Valeur minimale pour la plage de ce qualificateur (CDATA, optionnel). |
RangeMaxVal | string |
Valeur maximale pour la plage de ce qualificateur (CDATA, optionnel). |
DspInput | string |
Indicateur d'affichage pour l'entrée (YES, NO, PROMPT, optionnel). |
ChoiceMsgID | string |
Identifiant du message de choix pour ce qualificateur (CDATA, optionnel). |
ChoicePgm | string |
Programme de choix pour définir des options de valeurs (NMTOKEN, optionnel). |
ChoiceLib | string |
Bibliothèque où le programme de choix est stocké (CDATA, optionnel). |
Rstd | string |
Indicateur de restriction (YES ou NO, optionnel). |
Full | string |
Indicateur si le qualificateur est complet (YES ou NO, optionnel). |
AlwUnprt | string |
Indique si le qualificateur peut être non imprimé (YES ou NO, optionnel). |
AlwVar | string |
Indique si le qualificateur est variable (YES ou NO, optionnel). |
Expr | string |
Expression associée pour les calculs ou règles du qualificateur (YES ou NO, optionnel). |
Vary | string |
Indicateur de variabilité pour le qualificateur (INT2, INT4, NO, optionnel). |
PassAtr | string |
Attribut de passage pour le qualificateur (YES ou NO, optionnel). |
InlPmtLen | string |
Longueur du prompt en ligne pour le qualificateur (valeurs possibles : PWD, 1-12, 17, 25, 32, 50, 80, 132, 256, 512, optionnel). |
Choice | string |
Options de choix possibles pour le qualificateur (CDATA, optionnel). |
Values | List<CommandValue> |
Liste des valeurs possibles pour le qualificateur. |
SpecialValues | List<CommandSpecialValues> |
Liste des valeurs spéciales pour le qualificateur. |
ChoiceProgramText | List<CommandChoiceProgramText> |
Liste des textes associés au programme de choix du qualificateur. |
ChoiceProgramValues | List<CommandChoiceProgramValue> |
Liste des valeurs de programmes de choix associées au qualificateur. |
Classe CommandPromptControl
(contrôle de prompt pour un paramètre de commande.)
Propriété | Type | Description |
---|---|---|
ControlKeyword | string |
Mot-clé pour le contrôle de prompt (CDATA, obligatoire). |
NumberTrueRelation | string |
Relation pour le nombre de conditions vraies (ALL, GT, EQ, GE, LT, NE, LE, obligatoire). |
NumberTrue | string |
Nombre de conditions vraies nécessaires pour activer le contrôle (CDATA, optionnel). |
LogicalRelation | string |
Relation logique entre les conditions (AND ou OR, optionnel). |
Conditions | List<CommandPromptControlCondition> |
Liste des conditions du contrôle de prompt associées. |
Classe CommandPromptControlCondition
(condition de contrôle de prompt.)
Propriété | Type | Description |
---|---|---|
Relation | string |
Relation de comparaison (GT, EQ, GE, LT, NE, LE, SPCFD, UNSPCFD, optionnel). |
CompareValue | string |
Valeur de comparaison pour la condition (CDATA, optionnel). |
Classe CommandValues
(Liste de valeurs pour un paramètre de commande.)
Propriété | Type | Description |
---|---|---|
Values | List<CommandValue> |
Liste des valeurs disponibles pour un paramètre. |
Classe CommandSingleValues
(Liste de valeurs uniques pour un paramètre.)
Propriété | Type | Description |
---|---|---|
SingleValues | List<CommandValue> |
Liste des valeurs uniques associées au paramètre. |
Classe CommandSpecialValues
(liste de valeurs spéciales pour un paramètre.)
Propriété | Type | Description |
---|---|---|
SpecialValues | List<CommandValue> |
Liste des valeurs spéciales définies pour le paramètre. |
Classe CommandChoiceProgramValues
(liste de valeurs de programme de choix.)
Propriété | Type | Description |
---|---|---|
ChoiceProgramValues | List<CommandChoiceProgramValue> |
Liste des valeurs associées au programme de choix. |
Classe CommandValue
(valeur pour un paramètre de commande.)
Propriété | Type | Description |
---|---|---|
Value | string |
Valeur du paramètre (CDATA, obligatoire). |
MapTo | string |
Valeur mappée associée à la valeur du paramètre (CDATA, optionnel). |
Classe CommandChoiceProgramText
( texte associé au programme de choix d'un paramètre.)
Propriété | Type | Description |
---|---|---|
Text | string |
Texte associé au programme de choix pour le paramètre (CDATA, obligatoire). |
Classe CommandSpecialValue
(valeur spéciale pour un paramètre.)
Propriété | Type | Description |
---|---|---|
Value | string |
Valeur spéciale du paramètre (CDATA, obligatoire). |
MapTo | string |
Valeur mappée associée à la valeur spéciale (CDATA, optionnel). |
Classe CommandChoiceProgramValue
(valeur de programme de choix.)
Propriété | Type | Description |
---|---|---|
Value | string |
Valeur de programme de choix pour le paramètre (CDATA, obligatoire). |
MapTo | string |
Valeur mappée associée à la valeur de programme de choix (CDATA, optionnel). |
Classe CommandDependency
(dépendance entre paramètres de commande.)
Propriété | Type | Description |
---|---|---|
ControlKeywordRelation | string |
Relation du mot-clé de contrôle (GT, EQ, GE, LT, NE, LE, SPCFD, ALWAYS, obligatoire). |
ControlKeyword | string |
Mot-clé de contrôle associé à la dépendance (CDATA, optionnel). |
CompareKeyword | string |
Mot-clé de comparaison pour évaluer la dépendance (CDATA, optionnel). |
CompareValue | string |
Valeur utilisée pour la comparaison dans la dépendance (CDATA, optionnel). |
NumberTrueRelation | string |
Relation pour le nombre de conditions vraies dans la dépendance (GT, EQ, GE, LT, NE, LE, ALL, optionnel). |
NumberTrue | string |
Nombre de conditions vraies nécessaires pour activer la dépendance (CDATA, optionnel). |
MessageID | string |
Identifiant du message associé à la dépendance (CDATA, optionnel). |
DependencyParameters | List<CommandDependencyParameter> |
Liste des paramètres de dépendance associés. |
Classe CommandDependencyParameter
(paramètre de dépendance.)
Propriété | Type | Description |
---|---|---|
Keyword | string |
Mot-clé du paramètre de dépendance (CDATA, obligatoire). |
Relation | string |
Relation de comparaison (GT, EQ, GE, LT, NE, LE, SPCFD, obligatoire). |
CompareKeyword | string |
Mot-clé pour comparer dans la relation de dépendance (CDATA, optionnel). |
CompareValue | string |
Valeur utilisée pour la comparaison dans le paramètre de dépendance (CDATA, optionnel). |
Exceptions
- InvalidOperationException : Lancée en cas d’échec lors de la récupération des informations de définition de la commande ou en cas d’une erreur de désérialisation XML.
Exemples d’utilisation
Récupération du XML pour la commande CL spécifiée
string commandXml = conn.RetrieveCommandDefinitionXml("CRTLIB", "QSYS", false);
Console.WriteLine(commandXml);
Récupération d'un objet commandDefinition pour la commande CL spécifiée
CommandDefinition commandDefinition = conn.RetrieveCommandDefinition("CRTLIB", "QSYS", false);
Console.WriteLine($"Command: {commandDefinition.CmdDefinition.First().CommandName}");
Références
Pour plus d’informations sur l’API QCDRCMDD, consultez la documentation officielle IBM.