HI
how can run PL/SQL application as:
create or replace
function getChecksiffra (in_string varchar2) return number is
xSvar number := 0;
xNR number := 0;
xSumma number := 0;
xString varchar2(100) := null;
BEGIN
if in_string IS NOT NULL then xString:=replac e(in_string,'-'); end if;
if substr(xString, 12,1) IS NOT NULL
and substr(xString, 10,1) <= '9'
and substr(xString, 11,1) <= '9'
and substr(xString, 9,1) <= '9'
then
xNR := to_number(subst r(xString,3,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,5,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,7,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,9,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,11,1) * 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,4,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,6,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,8,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,10,1) );
xSumma := xSumma + xNR;
if xSumma between 61 and 70 then xSvar:=70-xSumma; end if;
if xSumma between 51 and 60 then xSvar:=60-xSumma; end if;
if xSumma between 41 and 50 then xSvar:=50-xSumma; end if;
if xSumma between 31 and 40 then xSvar:=40-xSumma; end if;
if xSumma between 21 and 30 then xSvar:=30-xSumma; end if;
if xSumma between 11 and 20 then xSvar:=20-xSumma; end if;
if xSumma between 0 and 10 then xSvar:=10-xSumma; end if;
end if;
return( xSvar );
/*EXCEPTION when others then return( null );*/
end;
/
From oracle FORMS trigger or procedure/funcktion.
i check if the numeral which i insert to field is correct.
Thanks
how can run PL/SQL application as:
create or replace
function getChecksiffra (in_string varchar2) return number is
xSvar number := 0;
xNR number := 0;
xSumma number := 0;
xString varchar2(100) := null;
BEGIN
if in_string IS NOT NULL then xString:=replac e(in_string,'-'); end if;
if substr(xString, 12,1) IS NOT NULL
and substr(xString, 10,1) <= '9'
and substr(xString, 11,1) <= '9'
and substr(xString, 9,1) <= '9'
then
xNR := to_number(subst r(xString,3,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,5,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,7,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,9,1)* 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,11,1) * 2);
if xNR>9 then xNR:=xNR-9; end if;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,4,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,6,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,8,1)) ;
xSumma := xSumma + xNR;
xNR := to_number(subst r(xString,10,1) );
xSumma := xSumma + xNR;
if xSumma between 61 and 70 then xSvar:=70-xSumma; end if;
if xSumma between 51 and 60 then xSvar:=60-xSumma; end if;
if xSumma between 41 and 50 then xSvar:=50-xSumma; end if;
if xSumma between 31 and 40 then xSvar:=40-xSumma; end if;
if xSumma between 21 and 30 then xSvar:=30-xSumma; end if;
if xSumma between 11 and 20 then xSvar:=20-xSumma; end if;
if xSumma between 0 and 10 then xSvar:=10-xSumma; end if;
end if;
return( xSvar );
/*EXCEPTION when others then return( null );*/
end;
/
From oracle FORMS trigger or procedure/funcktion.
i check if the numeral which i insert to field is correct.
Thanks
Comment