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
Partager