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
|
function msg(chaine in varchar2,param in varchar2) return varchar2 IS
i integer;
c t_msg_str;
msg t_msg_str;
val t_msg_str;
par integer;
BEGIN
msg:=NULL;
val:=chaine;
par:=0;
i:=instr(val,C_SEP_STR);
while i>0 loop
c:=substr(val,i+1,1);
if c between '1' and '9' OR c in ('s','t','n') then
msg:=msg || substr(val,0,i-1);
val:=substr(val,i+2,length(val)-i-1);
if c between '1' and '9' then
msg:=msg|| Get_param(param,to_number(c));
elsif c = 's' then
par:=par+1;
msg:=msg || Get_param(param,par);
elsif c = 't' then
msg:=msg || chr(9);
elsif c = 'n' then
msg:=msg || chr(10);
end if;
else
msg:=msg || substr(val,0,i);
val:=substr(val,i+1);
end if;
i:=instr(val,C_SEP_STR);
end loop;
if msg is null then
return val;
end if;
return msg||val;
END; |
Partager