> Tech > Au coeur de CLNUPOUTQ

Au coeur de CLNUPOUTQ

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email


La commande CLNUPOUTQ est constituée de trois éléments, à  savoir : la commande CLNUPOUTQ elle-même, c'est-à -dire la définition de la
commande, le panel group CLNUPOUTQ0, qui contient le texte de l'aide correspondant à  la commande, et enfin le programme RPG IV
CLNUPOUTQ1, qui représente le programme de traitement

Au coeur de CLNUPOUTQ

des instructions. C’est ce dernier qui nettoie les files d’attente d’impression. Pour de
plus amples informations sur la manière d’acquérir et d’installer la commande, consultez l’encadré “ Installer la commande CLNUPOUTQ ”. 

Intéressons-nous à  présent au programme RPG IV CLNUPOUTQ1 (figure 2), et analysons son mode de fonctionnement. A l’instar de
tous les utilitaires de la série RPG IV Tools, CLNUPOUTQ1 utilise énormément la boîte à  outils jointe à  la série. Cette boîte à  outils est
constituée d’une collection de programmes de service qui effectuent bon nombre des fonctions de base exigées par CLNUPOUTQ1. Pour de plus
amples informations sur la boîte à  outils, consultez l’article “ A l’intérieur du kit d’outils RPG IV ”, NEWSMAGAZINE, décembre 1998. Pour plus
d’informations sur le programme de service SplLst qu’utilise CLNUPOUTQ1 pour récupérer la liste des fichiers spoules, consultez l’article
“ Listing Spool File Entries — Simplified!”, NEWS/400, février 1999. 

Les cartes D du programme CLNUPOUTQ1 sont divisées en deux sections. La première définit les paramètres passés à  la commande
(en A). Vous vous souviendrez probablement de la présentation ci-dessus, que le paramètre OUTQ définit une liste simple de 50 éléments au
plus. Les listes simples sont passées à  un programme de traitement sous forme d’une variable composée qui définit le nombre d’éléments
passés, suivi de leurs valeurs. CLNUPOUTQ1 réceptionne le paramètre OUTQ dans une structure de données nommée OutQueStrDs. Celle-ci
contient deux champs : OutQueSiz qui définit le nombre d’éléments de la liste et OutQueStr qui contient la chaîne des éléments. La deuxième
section des spécifications D (B) définit les zones de travail qu’utilise le programme. 

L’instruction principale des cartes C (C) de CLNUPOUTQ1 gère le processus de nettoyage. En effet, c’est elle qui : 

1.Reçoit et vérifie les paramètres. 
2.Crée un espace utilisateur pour énumérer l’ensemble des fichiers spoules. 
3.Traite l’option sélectionnée pour inclure ou omettre des files d’attente d’impression. 
4.Supprime l’espace de travail utilisateur. 
5.Envoie un message de confirmation spécifiant le nombre de fichiers spoules ayant été supprimés ou archivés. 

La sous-routine CheckPrms (D) vérifie et formate les paramètres passés au programme. Cette sous-routine s’exécute en trois phases.
Premièrement, la liste des files d’attente d’impression est validée puis copiée dans le tableau OutQueAry. Ensuite, le paramètre définissant le
nombre de jours de rétention est converti en une date butoir qui peut être comparée à  la date de création des fichiers spoules. Pour terminer, le
nom de la file d’attente d’archivage est validé. Si un des paramètres génère une erreur, la sous-routine ExitOnErr, située dans le membre copie
TlsErrPrc, retourne un message d’erreur au programme appelant et le traitement de CLNUPOUTQ1 s’interrompt. 

La sous-routine IncludeQues (E) traite les files d’attente d’impression sélectionnées lorsqu’on spécifie l’option *INCLUDE. La
sous-routine boucle à  travers la liste des files d’attente d’impression enregistrée dans le tableau OutQueAry. Le tableau contiendra soit une liste
de noms de files d’attente d’impression spécifiques, soit la valeur réservée *ALL. Pour chaque élément de la liste, la procédure LoadSplLst, du
programme de service SplLst de la boîte à  outils, génère la liste des fichiers spoules de la file d’attente correspondante. Ensuite, IncludeQues
utilise la procédure NextSplLstEnt pour extraire les éléments de la liste les uns après les autres afin que la sous-routine CleanSplFil réalise le
traitement nécessaire. 

La sous-routine OmitQues (F) gère les files d’attente d’impression lorsque l’option *OMIT a été spécifiée. Le traitement effectué dans
OmitQues est plus complexe que celui réalisé dans IncludeQues. OmitQues invoque la procédure LoadSplLst pour charger une liste de tous les
fichiers spoules appartenant soit à  l’utilisateur sélectionné soit à  l’ensemble des utilisateurs. Encore une fois, la procédure NextSplLstEnt extraie
les éléments de la liste les uns après les autres. C’est alors que la sous-routine CleanSplFil est exécutée pour faire le ménage parmi les entrées
qui ne figurent pas dans la liste des files d’attente d’impression omises. 

La sous-routine CleanSplFil (G) archive ou supprime un fichier spoule donné. La routine convertit la date de création du fichier dans un
format équivalent à  celui de la date d’expiration de la période de rétention. Si la date de création du fichier est postérieure à  celle de l’expiration
de la période de rétention, ou si le fichier est situé dans la file d’attente contenant les archives, le fichier est ignoré. Si on a choisi d’effacer le
fichier, la commande DLTSPLF (Delete Spool File) efface le fichier. Si en revanche on a décidé de l’archiver, la commande CHGSPLFA (Change
Spool File Attributes) modifie le nom de la file d’attente du fichier pour que celui-ci corresponde désormais au nom de la file d’attente contenant
les archives.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010