> Tech > Utiliser QCMDCHK pour solliciter une commande mais la soumettre au BATCH

Utiliser QCMDCHK pour solliciter une commande mais la soumettre au BATCH

Tech - Par Dan Riehl - Publié le 24 juin 2010
email

L’API QCMDCHK est un programme qui vérifie la syntaxe et les paramètres d’une commande CL. L’API s’assure que tous les paramètres voulus sont fournis et que tous ont des valeurs autorisées. Quand la commande est soumise à l’API QCMDCHK, elle est simplement vérifiée, pas exécutée. Si QCMDCHK rencontre une erreur, elle envoie un message à […]

L’API QCMDCHK est un programme qui vérifie la syntaxe et les paramètres d’une commande CL. L’API s’assure que tous les paramètres voulus sont fournis et que tous ont des valeurs autorisées. Quand la commande est soumise à l’API QCMDCHK, elle est simplement vérifiée, pas exécutée. Si QCMDCHK rencontre une erreur, elle envoie un message à la file d’attente de messages du programme appelant. Si QCMDCHK ne produit pas de message d’erreur, c’est que la syntaxe de commande est bonne.

Cette API particulière est rarement utilisée dans de banales applications de gestion. On la trouve plutôt dans des utilitaires relevant du système et du programmeur. Mais l’API QCMDCHK donne toute sa mesure quand votre programme CL sollicite l’utilisateur avec une commande. QCMDCHK accepte les changements de paramètres de commande sur l’affichage de l’invite, puis stocke la commande complétée dans une variable chaîne de caractères pour exécution.

Dans votre programme CL, vous devez appeler QCMDCHK en respectant le format suivant (taper sur une seule ligne) :

CALL QCMDCHK PARM (CL-Command Command-Length)

CL-Command est soit une variable caractère contenant la commande CL à exécuter, soit une littérale chaîne de caractères. Command-Length est une variable décimale contenant la longueur de la commande à vérifier ou une littérale numérique indiquant la longueur de cette commande. Si vous utilisez une variable pour Command-Length, vous devez lui octroyer une longueur de 15 chiffres, dont cinq à droite du point décimal. Le fait de placer un point d’interrogation (?) devant une commande sur une ligne de commande est comme si vous aviez entré la commande et actionné F4=Prompt. Le point d’interrogation est le caractère d’invite grâce auquel vous demandez au programme CL de solliciter l’utilisateur.

Le programme CL de la figure 1 montre comment utiliser le caractère ? et QCMDCHK pour inviter un utilisateur à fournir les paramètres SAVLIB. Pour obtenir cette invite, placez un ? comme premier caractère de la commande. Une fois que l’utilisateur a répondu à l’invite en entrant le nom de l’unité, les bibliothèques à sauvegarder et autres détails, le programme reprend la main. À ce stade, la variable &command contient la chaîne de commandes SAVLIB complétée, telle que l’utilisateur l’a entrée.

Le programme envoie ensuite la chaîne de commandes complétée à une file d’attente de jobs batch en utilisant la commande SMBJOB. En prime, le programme renverra ensuite le message Job Submitted à l’utilisateur de la station d’affichage.

En plus de superviser le message CPF6801 (F3 ou F12 actionnée à l’invite affichée), vous devez aussi vérifier le message CPF0006 et CPF0005. QCMDCHK renvoie le message CPF 006 si la commande entrée contient une erreur. Le message CPF005 est généré si la chaîne de commandes complétée (dans ce cas, la commande SAVLIB complétée) est trop longue pour tenir dans la variable &command. Si l’une de ces deux erreurs est générée, le moniteur de messages placé au début du programme (MONMSG CPF000) interceptera l’erreur et passera la main à la routine ERROR.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Dan Riehl - Publié le 24 juin 2010