DOCUMENTATION NTi

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 objet CommandDefinition 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 type CommandDefinition 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.