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

SAP Crystal Reports Discussion :

recherche chaine de caractères dans clob pour sélection


Sujet :

SAP Crystal Reports

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    CdP ERP
    Inscrit en
    Mars 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : CdP ERP
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 33
    Points : 33
    Points
    33
    Par défaut recherche chaine de caractères dans clob pour sélection
    Bonjour tout le monde,

    Je cherche à sélectionner des parties de texte dans un champs clob, par l’intermédiaire de chaines de caractères bien spécifiques.
    Ex, d'un champs clob que je souhaite exploiter :

    TEXTFRA
    texte en français
    TEXTFRAFIN
    TEXTENG
    texte en anglais
    TEXTENGFIN
    TEXTGER
    texte en allemand
    TEXTGERFIN

    Le but est de faires apparaître le texte dans la langues du partenaire.

    j'ai fais différent test ci-dessous, avec plus ou moins de réussite (un coup ça me prend le bon texte, parfois ça m'en prend deux, et parfois pas le bon).

    local stringvar texte;
    local numbervar debuttextfra;
    local numbervar debuttexteng;
    local numbervar debuttextger;
    local numbervar fintextfra;
    local numbervar fintexteng;
    local numbervar fintextger;

    if not isnull({ACLOB.CLOB_0}) then texte:=cstr({ACLOB.CLOB_0});

    if texte like '*DEBUTTEXTFRA*' then debuttextfra:=instr(texte,"DEBUTTEXTFRA")+12 else debuttextfra:=0;
    if texte like '*DEBUTTEXTENG*' then debuttexteng:=instr(texte,"DEBUTTEXTENG")+12 else debuttexteng:=0;
    if texte like '*DEBUTTEXTGER*' then debuttextger:=instr(texte,"DEBUTTEXTGER")+12 else debuttextger:=0;

    if texte like '*FINTEXTFRA*' then fintextfra:=instr(texte,"FINTEXTFRA")-13 else fintextfra:=0;
    if texte like '*FINTEXTENG*' then fintexteng:=instr(texte,"FINTEXTENG")-13 else fintexteng:=0;
    if texte like '*FINTEXTGER*' then fintextger:=instr(texte,"FINTEXTGER")-13 else fintextger:=0;

    //debuttextfra:=instr(texte,"DEBUTTEXTFRA")+12;
    //debuttexteng:=instr(texte,"DEBUTTEXTENG")+12;
    //debuttextger:=instr(texte,"DEBUTTEXTGER")+12;
    //fintextfra:=instr(texte,"FINTEXTFRA")-13;
    //fintexteng:=instr(texte,"FINTEXTENG")-13;
    //fintextger:=instr(texte,"FINTEXTGER")-13;


    //if not isnull({ACLOB.CLOB_0}) then
    // select {?Pm-BPARTNER.LAN_0}
    // case 'FRA' : if debuttextfra >0 and fintextfra >0 then mid(texte, debuttextfra, fintextfra)
    // case 'ENG' : if debuttexteng >0 and fintexteng >0 then mid(texte, debuttexteng, fintexteng)
    // case 'GER' : if debuttextger >0 and fintextger >0 then mid(texte, debuttextger, fintextger)
    // default : if debuttexteng >0 and fintexteng >0 then mid(texte, debuttexteng, fintexteng);

    if {?Pm-BPARTNER.LAN_0} = 'FRA' and debuttextfra >0 and fintextfra >0
    then mid(texte, debuttextfra, fintextfra);

    if {?Pm-BPARTNER.LAN_0} = 'ENG' and debuttexteng >0 and fintexteng >0
    then mid(texte, debuttexteng, fintexteng);

    if {?Pm-BPARTNER.LAN_0} = 'GER' and debuttextger >0 and fintextger >0
    then mid(texte, debuttextger, fintextger)
    else if debuttexteng >0 and fintexteng >0
    then mid(texte, debuttexteng, fintexteng);


    J'ai pas une super syntaxe,

    Comment vous procéderiez à ma place?

    merci pour votre aide par avance,

    pyth

  2. #2
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 202
    Points : 258
    Points
    258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    split("TEXTFRAbonjourTEXTFRAFINTEXTENGhelloTEXTENGFINTEXTGERgutentagTEXTGERFIN","TEXT" + {?Pm-BPARTNER.LAN_0})[2]
    renvoie "bonjour" quand {?Pm-BPARTNER.LAN_0} vaut "FRA"
    renvoie "hello" quand {?Pm-BPARTNER.LAN_0} vaut "ENG"
    renvoie "gutentag" quand {?Pm-BPARTNER.LAN_0} vaut "GER"

Discussions similaires

  1. [XL-2003] Recherche chaine de caractères dans plage de celulles
    Par gdy59 dans le forum Excel
    Réponses: 3
    Dernier message: 25/09/2013, 17h20
  2. Regex : Recherche chaine de caractère dans une autre chaine de caractère (Unix)
    Par framus.class dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 18/01/2011, 22h05
  3. Recherche chaine de caractère dans un fichier txt
    Par 4rocky4 dans le forum Débuter
    Réponses: 11
    Dernier message: 31/12/2010, 17h29
  4. Recherche chaine de caractère dans un fichier
    Par izghad_06 dans le forum Shell et commandes POSIX
    Réponses: 7
    Dernier message: 17/12/2010, 12h44
  5. [VBS] Recherche chaine de caractères dans un fichier
    Par parker13 dans le forum VBScript
    Réponses: 1
    Dernier message: 08/07/2006, 00h22

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