Bonjour,
Pour des raisons juridiques, nous ne pouvons plus utiliser le mot VELCRO dans les libellés ( c'est devenu une marque déposée).
Les n° de plan commencant par VEL devront désormais commencer par AA et les libellés contenant VELCRO devront avoir Auto Agrip à la place.
Pour les n° de plan, je m'en tire avec un %subst et un cat mais comment faire pour le libellé, VELCRO pouvant se trouver n'importe où dans la zone ? je tourne la fonction %replace dans tous les sens mais je n'ai pas encore trouvé la bonne méthode.
Merci
Pour le %replace je ne sais pas par contre tu peux essayer avec
%Scan qui te permet de savoir si ton 'VELCRO' est présent et à partir de quel position x
ensuite avec le %Subst tu recompose ta zone libelle (
lib = %subst(lib:1:x-1) + 'Auto Agrip' + %subst(lib:x+6:y-x-10)
ou y est la longueur de ton lib
le probleme est que tu remplace VELCRO (6 C) par Auto Agrip (10 C) donc tu risque de perdre une partie de ton libelle ... les 4 derniers
Merci steph,
c'est justement ce que le REPLACE doit faire mais je ne vois pas comment... pour le moment.
j'essaie ta version.
Merci
sinon sur ce lien un exemple d'utilisation de %replace
http://www.volubis.fr/bonus/RPG_memoA.htm
Erick,
Si tu veux faire ton %Replace en une seule instruction, en combinant %Scan dans la fonction %Replace et ceci sans perdre d'info dans ta zone libellé, alors tu vas au devant des ennuis.
Il vaudrait bien mieux que tu emploies la méthode de Steph qui décompose l'opération en deux étapes avec %Scan et %Substring.
Tu t'embêteras bien moins et tu verras bien mieux ce que tu fais...
utilise CLI DB2
pourquoi pas un sql sur ta bd en utilisant REPLACE(source_string,search_string,replace_string)
j'ai pas essaye mais ca devrai marcher, attention si ta zone est varchar.. . voir la doc sql ref , nous en sommes en VR53 icite
bonjour
avec %replace cela donne ceci :
lib=%replace('Auto grip':lib:%scan('VELCRO':lib ):6 )
utilise CLI DB2
Merci je l ai utilisé pour un de mes besoins mais ...
j ai du isoler le %scan car ca crash si il y n'y a rien à remplacer.
donc:
j ai isoler le %scan et si je trouve alors je fais le %replace.
Merci les amis.
Jeudi 01 Février 2007 15:51:47