Recherche de chaîne de caractères dans le PDS et excluent les résultats à l'aide de JCL
Je suis en train de faire ce qui suit:
1) la Recherche des membres d'une PDS pour une chaîne de caractères.
2) d'Exclure les membres-dessus de la chaîne et d'obtenir une liste de membres.
Je veux le faire à l'aide d'un JCL ou de toute autre armature de l'outil ou de l'utilitaire.
Toute aide est appréciée.
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes à la recherche pour l'ISPF Recherche Pour utilitaire, qui peut également être exécuté dans le lot.
Vous pouvez également utiliser le SRCHFOR commande à partir d'une ISPF la liste des membres de l'écran, puis de les trier par l'invite de la colonne qui indique les membres avaient des allumettes.
Il y a probablement beaucoup de meilleures façons de le faire, mais cela devrait fonctionner pour vous.
Copiez le texte suivant JCL et remplacer:
La liste du PDS membres qui ne contiennent pas de chaîne-de-recherche-pour seront inscrites en vertu de DD LISTE,
qui vous pouvez rediriger, le cas échéant.
La première étape de travail (de RECHERCHE) invoque l'ISPF SEARCHFOR utilitaire, pour identifier tous les PDS membres qui contiennent la chaîne.
La deuxième étape (LSTPDS invoque le TSO LISTDS utilitaire permettant de lister tous les membres du PDS. La troisième étape (REXXPGM) écrit un peu
REXX procédure temporaire PDS pour une utilisation dans l'étape suivante. La dernière étape (LSTMBR) exécute la procédure REXX pour construire la LISTE de dataset
et supprime les fichiers temporaires construits le long de la manière.
Si l'on a été assez intelligent, je pense que ICETOOL pourrait probablement remplacer les 2 dernières étapes (mais que diable... en Fait je n'ai trouver un meilleur processus, voir le prochain JCL après celui-ci)
Et c'est une encore meilleure réponse... Juste fallu un certain temps pour y arriver
La clé est la
LNFMTO
paramètre de la fed à ISRSUPC. Ce paramètre indique à ISRSUPC pour répertorier uniquement les membresla chaîne de recherche n'a pas été trouvé. Exactement ce qui était demandé. La prochaine étape juste
les formats les résultats de l'étape précédente. La liste des membres qui ne contiennent pas de la recherche
chaîne sont répertoriés dans
SYSOUT
qui peut être redirigé en cas de besoin.Une autre approche: "coup de poing" de l'ensemble de la PDS, non triés dans l'ordre, pour un "plat" du fichier; utilisation JOINKEYS avec les données préparées à l'aide de SS, pour les Sous-Chaîne, le type de champ.
Après, un JOINKEYS étape à l'aide de TRI:
Traite ensuite les coups de poing de fichier, la lecture de deux fois dans la même étape, et à l'aide de JOINKEYS "correspond à" un extrait du fichier à un autre extrait du fichier.
Sur INA via JNF1CNTL extrait tous les noms de membres.
Sur les INB via JNF2CNTL extrait tous les noms des membres, en plus de toutes les lignes qui correspondent à la recherche. IFTHEN=(LORSQU'=GROUPE est ensuite utilisé pour marquer chaque ligne de données appariées avec les états-nom dont ils font partie, et les etats-nom lui-même est donné un vide membre-nom.
La JOINKEYS puis correspondance sur le membre-nom-clés. Tous ceux de l'INA via JNF1CNTL qui ne correspondent pas sont ceux qui ne contiennent pas la chaîne recherché. Les deux fichiers nécessitent de tri, ce qui se passe par défaut pour chaque JOINKEYS déclaration.
Cela fonctionne avec DFSORT. Avec SyncSort ça dépendra si votre installation prend en charge JNFnCNTL des fichiers ou pas (vous devez l'essayer, il n'est pas documenté). Si vous n'avez pas JNFnCNTL de soutien, il aurait besoin de deux précédemment, les séparer, les étapes pour extraire les données.
/*
je n'utilise jamais (niEND
pour le TRI). Si pas besoin, ils introduisent une très faible chance d'une faute de frappe (très limité car ils seront copiés, plutôt que de tapé... la plupart du temps). Lorsque "espacement" des mesures pour faciliter la lecture, je vais pour//*
./*
si elle vous dérange. Une autre observation si, ce qui arrive quand les 13 premiers caractères d'un enregistrement à partir d'un PDS membres ontMEMBER NAME
comme données? Votre processus de sélection de ce qui suit en tant que nouveau membre nom?LNFMTO
parm pour ISRSUPC et c'est à peu près les clous de ce que l'OP est à la recherche pour. Apprendre quelque chose de nouveau chaque jour...