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

DB2 Discussion :

Programmer le "like" du QUERY


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 50
    Par défaut Programmer le "like" du QUERY
    Bonjour,
    Quelqu'un saurait-il comment programmer le like du query en RGP3 (colonnage)
    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Je ne suis pas sûr de bien comprendre la question. Tu veux parler du LIKE DEFN ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         C           *LIKE     DEFN W$REC     WW$REC
         C                     Z-ADDW$REC     WW$REC
    Ici, ça veut dire que je crée une nouvelle zone que j'appelel WW$REC dont la définition est identique à celle de W$REC, zone déjà définie qqpart ailleurs et pas forcément dans le programme.

  3. #3
    Membre confirmé
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 50
    Par défaut
    Non, je parle de ça :
    Choix des enregistrements

    Entrez les comparaisons, appuyez sur ENTREE. Entrez OR pour un nouveau groupe.
    Tests : EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT...

    AND/OR Zone Test Valeur (Zone, Nombre, 'Caractères', ou ...)
    LBTAB LIKE '%xxx%'


    Merci Mercure

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Je suis peut-être lent à la détente mais je n'ai toujours pas compris ce que tu cherches à faire dans ton programme RPG III.

    "programmer like du query en RGP3 (colonnage)", qu'est-ce que ça veut dire ?
    Tu veux parler du LIKE de SQL ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2007
    Messages : 50
    Par défaut
    Lorsque j'utilise QUERY j'ai la possibilité de rechercher à l'interieur de zones alpha une chain de caractères par exemple :

    la zone libellé article peut être art1="vis" art2="demi vis" art3="quart de vis"
    Si je recherche "vis" en programmation j'aurais que le 1er article dont le libellé commence par "vis" si je fais un query avec la fonction LIKE et que je mette LIKE '%vis%' j'aurais les 3 articles car ils contiennent la recherche "vis"
    J'espère avoir été assez claire
    Merci

  6. #6
    Membre Expert
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Par défaut
    Bonjour fspiecart.

    Regarde si tu as la fonction SCAN, ou peut être CHEKR et CHECK, comme je ne connais pas très bien le RPG, je ne peux pas t'aider plus

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Oui, c'est plus clair.

    Au moins deux soluces:

    1/ Tu peux intégrer du langage SQL dans ton RPG III et utiliser directement LIKE dans l'instruction DECLARE CURSOR :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    C/EXEC SQL 
    C+ Declare CSR cursor For
    C+ Select * From MaTable
    C+ Where UPPER(LIBART) LIKE '%VIS%'
    C/END-EXEC
    Tu peux facilement rendre cette instruction dynamique, c'est à dire que tu peux changer la valeur recherchée ("VIS" ici) sans avoir à la coder en dur dans le programme. Ensuite, il faut ouvrir le curseur, intégrer un FETCH dans une boucle DO pour récupérer les data puis fermer le curseur.

    2/ ou bien faire un READE sur ta clé dans une boucleDO et scanner la zone LIBART en recherchant la valeur voulue à chaque lecture.

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