IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Recherche d'un critère dans tous les fichiers de mon système


Sujet :

AS/400

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut Recherche d'un critère dans tous les fichiers de mon système
    Bonjour,

    Je souhaiterai faire une recherche dans tous les fichiers de mon système à partir d'un critère exemple: un numéro de compte, à la suite du test j'aimerai connaitre les noms des fichiers qui contiennent le critère de recherche.
    Y a t-il une commande pour activer cette recherche ou bien un petit programme maison.

    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Pas de commande pour faire ce genre de SCAN.
    Le mieux reste les Apis avec du RPGLE derrière.
    M'enfin un moyen simple (mais pas très rapide) reste le CLP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
                 DCLF       FILE(QADSPOBJ) OPNID(F1)                     
                 DCLF       FILE(QAFDMBRL) OPNID(F2)                     
                 DCL        VAR(&DATETIME) TYPE(*CHAR) LEN(20)           
                 DCL        VAR(&DONNEES)  TYPE(*CHAR) LEN(10)           
                 DCL        VAR(&ENREGS)   TYPE(*DEC) LEN(10 0)          
                 DCL        VAR(&TITRE)    TYPE(*CHAR) LEN(50)           
                 DCL        VAR(&TEXTE) TYPE(*CHAR) LEN(3) VALUE('EVA')  
                 MONMSG     MSGID(CPF0000)                               
    /*-------------------------------------------------*/                
    /* RECHERCHE DE TOUS LES FICHIERS DANS LE SYSTEME  */                
    /*-------------------------------------------------*/                
                 DLTF       FILE(QTEMP/FICHIERS)                         
                 DSPOBJD    OBJ(*ALLUSR/*ALL) OBJTYPE(*FILE) +         
                              OUTPUT(*OUTFILE) OUTFILE(QTEMP/FICHIERS)   
                 OVRDBF     FILE(QADSPOBJ) TOFILE(QTEMP/FICHIERS)        
     LECFIC:     RCVF       OPNID(F1)                                    
                 MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN_LECFIC))   
                 IF         COND(&F1_ODOBAT ^= 'PF') THEN(GOTO +           
                              CMDLBL(LECFIC))                              
    /*-------------------------------------------------*/                  
    /* RECHERCHE DES MEMBRES POUR LE FICHIER CONCERNE  */                  
    /*-------------------------------------------------*/                  
                 DLTF       FILE(QTEMP/MEMBRES)                            
                 DSPFD      FILE(&F1_ODLBNM/&F1_ODOBNM) TYPE(*MBRLIST) +   
                              OUTPUT(*OUTFILE) OUTFILE(QTEMP/MEMBRES)      
                 OVRDBF     FILE(QAFDMBRL) TOFILE(QTEMP/MEMBRES)           
     LECMBR:     RCVF       OPNID(F2)                                      
                 MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN_LECMBR))   
    /*-------------------------------------------------*/                  
    /* COPIE DES DONNEES DANS LE FICHIER               */                  
    /*-------------------------------------------------*/                  
                 RTVJOBA    DATETIME(&DATETIME)                            
                 CHGVAR     VAR(&DONNEES) VALUE('F' !! %SST(&DATETIME 12 +  
                              9))                                           
                 CPYF       FROMFILE(&F1_ODLBNM/&F1_ODOBNM) +               
                              TOFILE(QTEMP/&DONNEES) +                      
                              FROMMBR(&F2_MLNAME) MBROPT(*ADD) +            
                              CRTFILE(*YES) INCCHAR(*RCD 1 *CT &TEXTE)      
                 RTVMBRD    FILE(QTEMP/&DONNEES) NBRCURRCD(&ENREGS)         
                 IF         COND(&ENREGS = 0) THEN(DO)                      
                 DLTF       FILE(QTEMP/&DONNEES)                            
                 ENDDO                                                      
                 ELSE       CMD(DO)                                         
                 CHGVAR     VAR(&TITRE) VALUE(&F1_ODLBNM !! '/' !! +        
                                              &F1_ODOBNM !! '(' !! +        
                                              &F2_MLNAME !! ')')            
                 CHGOBJD    OBJ(&F1_ODLBNM/&F1_ODOBNM) OBJTYPE(*FILE) +     
                              TEXT(&TITRE)                                  
                 ENDDO                                       
                                                             
                 GOTO       CMDLBL(LECMBR)                   
    FIN_LECMBR:                                              
                 CLOSE      OPNID(F2)                        
                 DLTOVR     FILE(QAFDMBRL)                   
                 DLTF       FILE(QTEMP/MEMBRES)              
                 GOTO       CMDLBL(LECFIC)                   
    FIN_LECFIC:                                              
                 DLTOVR     FILE(QADSPOBJ)                   
                 DLTF       FILE(QTEMP/FICHIERS)             
                 DSPOBJD OBJ(QTEMP/*ALL) OBJTYPE(*FILE) OUTPUT(*PRINT)
    Modifie ce CL et à la ligne
    DCL VAR(&TEXTE) TYPE(*CHAR) LEN(3) VALUE('EVA')
    il faut mettre le texte recherché (ici EVA) et la longueur recherchée (ici 3)

    Il te genera un spool dans lequel tu auras la liste des fichiers contenant la chaine recherchée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Bibliothèque  . .   QTEMP            Afficher à partir de  . . .               
                                         Afficher à partir du type .               
                                                                                   
    Indiquez vos options, puis appuyez sur ENTREE.                                 
      2=Modifier      3=Copier        4=Supprimer    5=Afficher       7=Rebaptiser 
      8=Description   9=Sauvegarder   10=Restaurer   11=Déplacer...                
                                                                                   
    Opt  Objet       Type        Attribut    Texte                                 
         F447631956  *FILE       PF-DTA      JEUDESSAI /EMPLOYEE  (EMPLOYEE  )
    Je te conseille vivement de le soumettre en batch

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 375
    Points : 173
    Points
    173
    Par défaut Recherche d'un critère dans tous les fichiers de mon système
    Merci pour l'aide

    Je n'ai jamais écrit de clp dans quel type de fichier je dois mettre le code
    quel commande utiliser pour le faire ce fichier.

    Y a t-il une compilation à faire si oui quel commande utilisée.

    Comment le lancer en batch c'est quoi la commande.

    Il n'y a pas de risque de bloquer le système en exécutant une recherche comme ca.
    Une fois lancer en batch comment je peux suivre l'exécution de celui-ci pour voir s'il tourne bien et à quel moment il est terminée.

    Je suis désolé je suis débutant sur ce type de matériel il me manque ce genre de réponse pour effectuer ce genre de procédure après toutes ces infos je pourrais plus facilement créer de petite procédure bon c'est pas gagné mais je garde le moral

    Merci 100000000 fois pour l'aide

    Bonne Soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/09/2014, 16h09
  2. Application de recherche de texte dans tous les fichiers d'un répertoire
    Par altair8080 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 25/03/2014, 07h59
  3. Réponses: 1
    Dernier message: 02/10/2012, 11h14
  4. Réponses: 3
    Dernier message: 02/10/2012, 08h27
  5. [Batch] Recherche récursive d'un mot dans tous les fichiers
    Par hackoofr dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 11/05/2012, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo