Aller au contenu

FNDSTRPDM

Rechercher une chaîne par PDM

En bref

La commande FNDSTRPDM (Rechercher une chaîne par PDM) permet de rechercher des chaînes de type caractère ou hexadécimal dans des membres de fichiers physiques source ou dans des membres de fichiers physiques de données.

Syntaxe minimale

FNDSTRPDM STRING(…) FILE(…) MBR(…) OPTION(…)

Paramètres

  • STRING Rechercher 'chaîne' obligatoire
  • FILE Fichier obligatoire
  • MBR Membre obligatoire
  • OPTION Opération à exécuter obligatoire
  • COL Colonnes à explorer
  • CASE Distinction majusc/minusc
  • PRTMBRLIST Imprimer liste
  • PRTRCDS Imprimer enregistrements
  • PARM Paramètres

Astuce : dans une session 5250, tapez FNDSTRPDM puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QPDA)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande FNDSTRPDM (Rechercher une chaîne par PDM) permet de rechercher des chaînes de type caractère ou hexadécimal dans des membres de fichiers physiques source ou dans des membres de fichiers physiques de données. Vous pouvez utiliser une option PDM ou l'une de vos options utilisateur sur le membre contenant une occurrence de la chaîne.

Paramètres

Mot-clé Description Valeurs possibles Remarques
STRING Rechercher 'chaîne' Valeur caractère Obligatoire, positionnel 1
FILE Fichier Nom d'objet qualifié Obligatoire, positionnel 2
Qualificatif 1: Fichier Nom
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
MBR Membre Valeurs uniques: *ALL
Autres valeurs (jusqu'à 300 répétitions): Valeur caractère
Obligatoire, positionnel 3
OPTION Opération à exécuter Liste d'éléments Obligatoire, positionnel 4
Élément 1: Option Valeur caractère, *EDIT, *COPY, *DLT, *DSP, *PRT, *RNM, *DSPD, *SAVE, *CHGT, *CMPR, *CMPL, *MOD, *MRG, *RUNP, *SDA, *DFU, *RLU, *NONE
Élément 2: Invite *NOPROMPT, *PROMPT
COL Colonnes à explorer Liste d'éléments Facultatif
Élément 1: De la colonne Valeur caractère, 1, *RCDLEN
Élément 2: A la colonne Valeur caractère, *RCDLEN
CASE Distinction majusc/minusc *IGNORE, *MATCH Facultatif
PRTMBRLIST Imprimer liste *NO, *YES Facultatif
PRTRCDS Imprimer enregistrements Valeurs uniques: *NONE
Autres valeurs: Liste d'éléments
Facultatif
Élément 1: Nombre à trouver Valeur caractère, '*ALL ', *ALL
Élément 2: Format d'impression *CHAR, *HEX, *ALTHEX
Élément 3: Marquer enregistrement *MARK, *NOMARK
Élément 4: Dépassement d'enregistrement *FOLD, *TRUNCATE
PARM Paramètres Valeur caractère Facultatif

Rechercher 'chaîne' (STRING)

Indique la chaîne à rechercher.

Ce paramètre est obligatoire.

valeur-alphanumérique
Indiquez, entre apostrophes, la chaîne à rechercher. Elle peut être de type caractère ou hexadécimal.

Fichier (FILE)

Indique le fichier contenant les membres que vous souhaitez rechercher. Il peut s'agir d'un fichier physique source ou d'un fichier physique de données.

Ce paramètre est obligatoire.

Qualificatif 1 : Fichier

nom
Indiquez le nom du fichier physique contenant les membres à rechercher.

Qualificatif 2 : Bibliothèque

*LIBL
Le fichier spécifié est recherché dans toutes les bibliothèques de la liste des bibliothèques du travail.
*CURLIB
Le fichier spécifié est recherché dans bibliothèque en cours du travail. Si aucune bibliothèque en cours n'est définie, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle le fichier spécifié doit être recherché.

Membre (MBR)

Indique le(s) membre(s) à rechercher. Vous pouvez utiliser ce paramètre pour faire porter la recherche sur tous les membres ou sur une sous-liste de membres d'un fichier particulier.

Ce paramètre est obligatoire.

Vous pouvez spécifier 300 valeurs pour ce paramètre.

Le paramètre MBR prend en charge jusqu'à 300 valeurs qui peuvent correspondre à un nombre de membre spécifique ou à un nom de membre générique. Si vous devez spécifier plus de 300 noms de membre ou si vous souhaitez rechercher des membres dans plusieurs fichiers ou dans plusieurs bibliothèques, vous pouvez utiliser la commande FNDSTRPDM2. La commande FNDSTRPDM2 vous permet de définir une liste de recherche de fichiers et de membres dans laquelle chaque enregistrement contient le nom de la bibliothèque, du fichier et du membre à rechercher.

Valeurs uniques

*ALL
La chaîne indiquée est recherchée dans tous les membres de fichiers.

Autres valeurs

nom-générique
Spécifiez le nom générique des membres de fichiers à rechercher.

Le nom générique peut se présenter sous l'une des formes suivantes :

ABC*
La recherche porte sur tous les membres dont les noms commencent par les caractères ABC. Exemple : ABC, ABCD ou ABCTEST.
*ABC
La recherche porte sur tous les membres dont les noms se terminent par les caractères ABC. Exemple : ABC, DABC ou TESTABC.
*B*
La recherche porte sur tous les membres comportant le caractère B (la position de ce dernier est indifférente). Exemple : B, BALL ou ABCD.
A*C
La recherche porte sur tous les membres commençant par A et se terminant par C. Exemple : AC, ABC ou AZZZC.
"a*"
La recherche porte sur tous les membres dont les noms figurent entre guillemets et commencent par la lettre a. Par exemple : "a", "aB", "aD".
**ALL
La recherche porte sur tous les membres dont les noms se terminent par les caractères ALL. Exemple : ALL, BALL ou TESTALL. Vous devez dans ce cas entrer **ALL, car *ALL est la valeur spéciale permettant de rechercher tous les membres du fichier.
nom
Indiquez le nom du membre à rechercher.

Opération à exécuter (OPTION)

Indique l'option PDM à exécuter sur chaque membre pour lequel une occurrence de la chaîne recherchée a été trouvée. Ce paramètre se compose de deux éléments, l'un servant à sélectionner une option et le second à demander un écran d'invite. L'option à exécuter peut être toute option PDM correcte pour le type de fichier ou toute option utilisateur définie dans votre fichier d'options en cours. Les options admises ne sont pas les mêmes pour les fichiers physiques source et pour les fichiers physiques de données.

Ce paramètre est obligatoire.

Elément 1 : Option

*NONE
Aucune option n'est exécutée sur le membre contenant la chaîne recherchée. Choisissez cette valeur pour imprimer la liste des membres ou des enregistrements contenant la chaîne recherchée.

Options de la liste de membres de fichiers physiques source

*EDIT
Vous permet d'éditer un ou plusieurs membres à l'aide de SEU.
*CHGT
Vous permet de modifier certains attributs d'un ou de plusieurs des membres.
*CMPL
Vous permet de compiler un ou plusieurs membres. Le système crée un objet en fonction du membre compilé. La compilation s'effectue en mode interactif ou par lots, selon les informations indiquées à l'écran MODIFICATION DES VALEURS PAR DEFAUT ou dans la commande CHGPDMDFT.

Les types de membres suivants peuvent être compilés : BAS, BAS36, BAS38, C, CBL, CBLLE, CBL36, CBL38, CICSC, CICSCBL, CICSCBLLE, CICSSQLCBL,CLD, CLLE, CLP, CLP38, CMD, CMD38, CPP, DSPF, DSPF36, DSPF38, FTN, ICFF, LF, LF38, MENU, PAS, PF, PF38, PLI, PLI38, PNLGRP, PRTF, PRINT38, QRY38, RMC, RPG, RPGLE, RPG36, RPG38, RPT, RPT36, RPT38, SPADCT, SQLC, SQLCPP, SQLCBL, SQLCBLLE, SQLFTN, SQLPLI, SQLRPG, SQLRPGLE et TBL.

Lorsque PDM compile un programme à l'aide des commandes de création appropriées, le nom de l'objet à créer est toujours celui indiqué comme nom du membre source. Vous pouvez remplacer le paramètre de nom d'objet par un autre en demandant l'affichage de l'invite correspondante ou en indiquant le paramètre correct sur la ligne de commande. PDM vérifie si ce nom existe déjà. Si c'est le cas, il affiche l'écran CONFIRMATION DE COMPILATION D'UN MEMBRE, qui vous donne la possibilité de supprimer l'objet existant.

Remarque :Cet écran ne s'affiche pas si O (ou *YES) est indiqué en regard de l'invite Remplacement objet de l'écran MODIFICATION DES VALEURS PAR DEFAUT (ou dans la commande CHGPDMDFT).

Si vous avez attribué une valeur spéciale au paramètre de nom d'objet, PDM ne vérifie pas si l'objet existe déjà. Par exemple, si vous compilez un programme RPG et indiquez *CTLSPEC en regard de l'invite Programme, PDM n'effectue pas cette vérification.

*CMPR
Vous permet de comparer un ou plusieurs membres.
*COPY
Vous permet de copier un ou plusieurs membres dans un ou plusieurs nouveaux membres. Ces derniers peuvent appartenir à un autre fichier et/ou une autre bibliothèque.
*DLT
Vous permet de supprimer un ou plusieurs membres du fichier.
*DSP
Vous permet d'afficher un ou plusieurs membres à l'aide de SEU.
*DSPD
Vous permet d'afficher des informations sur un ou plusieurs membres.
*MOD
Vous permet de créer un objet de module pour un type de source ILE.
*MRG
Vous permet de fusionner le membre cible avec un autre membre.
*PRT
Vous permet d'imprimer un ou plusieurs membres à l'aide de SEU.
*RNM
Vous permet de rebaptiser un ou plusieurs membres.
*RUNP
Vous permet d'exécuter un membre source de type REXX, OCL36, BASP ou BASP38. Si vous utilisez un membre dont le type ne permet pas le traitement, un message d'erreur apparaît. Pour qu'une procédure OCL36 puisse être lancée, le nom de fichier doit être QS36PRC. Le traitement s'effectue en mode interactif ou par lots, selon les informations indiquées en regard de l'invite Exécution par lots de l'écran MODIFICATION DES VALEURS PAR DEFAUT (ou dans la commande CHGPDMDFT).
*SAVE
Vous permet de sauvegarder un membre sur une disquette ou une bande.
*SDA
Vous permet d'utiliser SDA pour gérer les membres sélectionnés.
  • Si le type de membre est DSPF ou DSPF38, SDA assure la gestion d'un écran.
  • Si le type de membre est MNU, MNUDDS ou MNUCMD, SDA assure la gestion d'un menu.
  • Si le type de membre est DSPF36 ou MNU36, le menu principal SDA (environnement 36) s'affiche.
  • Si l'ancien type de membre MNU a été entré, SDA le convertit en MNUDDS.
  • Notez que les membres de menu de PDM sont de type MNUDDS pour le membre image et de type MNUCMD pour le membre source de commandes. Les deux sont liés et forment un groupe ; ainsi, en indiquant l'un des deux types, vous agissez automatiquement sur le membre associé.
*RLU
Vous permet d'utiliser RLU pour gérer les membres sélectionnés.

Options de la liste de membres de fichiers physiques de données

*CHGT
Vous permet de modifier certains attributs d'un ou de plusieurs des membres d'un fichier physique.
*CMPR
Vous permet de comparer un ou plusieurs membres.
*COPY
Vous permet de copier un ou plusieurs membres dans un ou plusieurs nouveaux membres. Ces derniers peuvent appartenir à un autre fichier et/ou une autre bibliothèque.
*DFU
Vous permet d'appeler DFU pour modifier les membres sélectionnés.
*DLT
Vous permet de supprimer un ou plusieurs membres du fichier.
*DSP
Vous permet d'afficher un ou plusieurs membres.
*DSPD
Vous permet d'afficher des informations sur un ou plusieurs membres.
*RNM
Vous permet de rebaptiser un ou plusieurs membres.
*SAVE
Vous permet de sauvegarder un membre sur une disquette ou une bande.

Option de la liste des membres définis par l'utilisateur

valeur-alphanumérique
Spécifiez le nom d'une option que vous avez définie dans votre fichier d'options actif.

Elément 2 : Invite

Cette partie du paramètre vous permet d'indiquer si vous désirez l'affichage d'un écran d'invite à chaque exécution de la commande correspondant à l'option.

*NOPROMPT
Le système n'affiche pas l'invite à chaque exécution de la commande, lorsque l'occurrence de la chaîne a été trouvée dans un membre.
*PROMPT
Le système affiche l'invite à chaque exécution de la commande, lorsque l'occurrence de la chaîne a été trouvée dans un membre.

Colonnes à explorer (COL)

Indiquez les numéros des colonnes de début et de fin de la partie de chaque enregistrement de fichier faisant l'objet de la recherche. Cela vous permet de rechercher le début, la fin ou le milieu de chaque enregistrement.

Le numéro de la colonne de début ne doit pas dépasser la longueur de l'enregistrement.

Elément 1 : De la colonne

1
La recherche commence à la colonne 1 de chaque enregistrement.
*RCDLEN
La recherche ne porte que sur la dernière colonne des enregistrements.
numéro
Indiquez la première colonne de la partie de chaque enregistrement sur laquelle porte la recherche.

Elément 2 : A la colonne

*RCDLEN
La partie de chaque enregistrement sur laquelle porte la recherche s'étend de la colonne de début spécifiée à la dernière colonne de l'enregistrement.
numéro
Indiquez la dernière colonne de la partie d'enregistrement faisant l'objet de la recherche.

Distinction majusc/minusc (CASE)

Indique si la distinction majuscules/minuscules doit être prise en compte lors de la recherche.

*IGNORE
Vous permet de rechercher le membre de la chaîne spécifiée sans tenir compte de la casse.
*MATCH
Vous permet de rechercher l'occurrence exacte de la chaîne spécifiée.

Imprimer liste (PRTMBRLIST)

Vous permet d'indiquer si vous souhaitez imprimer la liste des membres pour lesquels une occurrence a été trouvée.

*NO
Sélectionnez cette option si vous ne souhaitez pas imprimer la liste des membres contenant une occurrence de la chaîne.
*YES
Sélectionnez cette option si vous souhaitez imprimer la liste des membres contenant une occurrence de la chaîne spécifiée.

Imprimer enregistrements (PRTRCDS)

Indique les enregistrements contenant la chaîne à imprimer.

Valeurs uniques

*NONE
Aucun enregistrement contenant la chaîne spécifiée ne sera imprimé.

Elément 1 : Nombre à trouver

*ALL
Permet d'imprimer tous les enregistrements contenant la chaîne spécifiée.
1-99999
Spécifiez le nombre d'enregistrements à imprimer contenant la chaîne spécifiée.

Elément 2 : Format d'impression

*CHAR
Permet d'imprimer les enregistrements au format alphanumérique.
*HEX
Permet d'imprimer les enregistrements au format hexadécimal superposé. Cela signifie que les valeurs hexadécimales apparaîtront au-dessous des valeurs alphanumériques.
*ALTHEX
Permet d'imprimer les enregistrements au format hexadécimal côte-à-côte.

Elément 3 : Marquer enregistrement

Vous pouvez marquer la chaîne au sein de l'enregistrement imprimé. Dans les recherches portant sur des caractères, c'est la chaîne elle-même qui sert de marque pour permettre un repérage rapide. En revanche, pour les recherches hexadécimales, la chaîne est marquée à l'aide d'astérisques.

*MARK
Permet de marquer l'occurrence de la chaîne au sein de l'enregistrement.
*NOMARK
L'occurrence de la chaîne au sein de l'enregistrement ne sera pas marquée.

Elément 4 : Dépassement d'enregistrement

Vous pouvez préciser si les données de l'enregistrement doivent être renvoyées à la ligne ou tronquées lorsqu'elles dépassent la longueur de la ligne d'impression.

*FOLD
Permet d'imprimer l'enregistrement entier sur plusieurs lignes d'impression.
*TRUNCATE
Permet d'imprimer uniquement la partie de l'enregistrement qui tient sur la ligne d'impression. Si vous indiquez *ALTHEX, seules les colonnes 1 à 32 sont imprimées ; si vous indiquez *CHAR ou *HEX, les colonnes 1 à 100 sont imprimées.

Paramètres (PARM)

Permet d'indiquer les paramètres à ajouter à la commande correspondant à la valeur spécifiée pour l'élément 1 du paramètre OPTION (Opération à exécuter).

valeur-alphanumérique
Indiquez les paramètres que vous souhaitez transmettre à la commande associée à la valeur spécifiée pour le paramètre OPTION. Par défaut, ce paramètre ne contient aucune option. Dans ce cas, aucun paramètre n'est transmis.

Exemples

Exemple 1 : Recherche d'occurrences de chaînes dans un membre

FNDSTRPDM   STRING('Ms') FILE(*LIBL/CUST)
            MBR('NEW')  CASE(*MATCH)
            OPTION(*NONE)  PRTRCDS(*ALL *CHAR)

Cette commande permet de rechercher tous les enregistrements du membre NEW du fichier CUST contenant la chaîne Ms. Le fichier est identifié à l'aide de la liste des travaux. La recherche tient compte de la casse. Un fichier spoule est généré. Il contient la liste de tous les enregistrements contenant la chaîne recherchée.

Exemple 2 : Recherche d'une chaîne dans une liste de membres

FNDSTRPDM   STRING('*TEST*')  FILE(MYLIB/MYFILE)
            MBR('*APP') CASE(*IGNORE)
            OPTION(FIX)

Cette commande permet de rechercher des occurrences de la chaîne *TEST* dans les membres du fichier MYFILE de la bibliothèque MYLIB dont le nom se termine par les lettres APP. La recherche ne tient pas compte de la casse. Par conséquent, les enregistrements comportant la valeur *test* ou *Test* sont pris en compte lors de la recherche. Pour chaque membre contenant la chaîne recherchée, l'option FIX définie par l'utilisateur est exécutée à partir du fichier d'options actif.

Messages d'erreur

Messages *ESCAPE

PDM0055
Erreur pendant l'exécution de la commande &1.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.