I have a postgresql function at the bottom , when i run at EMS POSTGRESQL debug mode with F8 step by step. Its work great but when i use with play button it returns null what is the different about debug mode and run mode. BEST REGARDS. CREATE OR REPLACE FUNCTION "public"."allocatedamount" (varchar, integer) RETURNS numeric AS $body$ /* allocatedamount (varchar,integer) raporlarda kullan?lmak ?zere belirli bir sold un nekadar?n?n allocate edildi?ini bulmak i?in $1: Varchar: Tablo ismi.(SOCIAL,ACCOMODATION,vs) $2: Integer: Soldid. */ declare res numeric(15,2); _pida integer[4]; _pid integer; _rec record; begin if $1 = 'REGISTRATION' then begin _pid:=1; for _rec in select personaldetails.id from personaldetails where personaldetails.id=$2 or personaldetails.masterid=$2 loop _pida[_pid]:=_rec.id; _pid:=_pid+1; end loop; select into res sum(allocatedpayments.amount) from allocatedpayments where allocatedpayments.tablename='REGISTRATION' and allocatedpayments.tableid = ANY (_pida::integer[]); res=888; end; ELSIF $1 = 'MASTER-REGISTRATION' then select into res sum(allocatedpayments.amount) from allocatedpayments where allocatedpayments.tablename='REGISTRATION' and allocatedpayments.tableid=$2; ELSIF $1 = 'ACC-REGISTRATION' then select into res sum(allocatedpayments.amount) from allocatedpayments where allocatedpayments.tablename='REGISTRATION' and allocatedpayments.tableid=$2; else select into res sum(allocatedpayments.amount) from allocatedpayments where allocatedpayments.tablename=$1 and allocatedpayments.tableid=$2; end if; if res is null then res:=0; end if; return res; end; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org