$PBExportHeader$f_rst_cus_bbala.srf global type f_rst_cus_bbala from function_object end type forward prototypes global function decimal f_rst_cus_bbala (long arg_accsetid, long arg_cmonth, string arg_subid, long arg_cusid) end prototypes global function decimal f_rst_cus_bbala (long arg_accsetid, long arg_cmonth, string arg_subid, long arg_cusid);//返回项目总帐期初数 decimal rst_cus_bbala decimal init_cus_bala,cur_cus_bala SELECT isnull(sum(uv_dept_bala.credit),0) - isnull(sum(uv_dept_bala.debit),0) into :cur_cus_bala FROM uv_dept_bala WHERE ( uv_dept_bala.accsetid = :arg_accsetid ) AND ( uv_dept_bala.cmonth < :arg_cmonth ) AND ( uv_dept_bala.subid = :arg_subid ) and ( uv_dept_bala.cusid = :arg_cusid ) GROUP BY uv_dept_bala.cmonth, uv_dept_bala.subid, uv_dept_bala.itemid ; SELECT isnull(uv_cus_init.balance,0) into :init_cus_bala FROM uv_cus_init WHERE ( uv_cus_init.accsetid = :arg_accsetid ) AND ( uv_cus_init.subid = :arg_subid ) and ( uv_cus_init.cusid = :arg_cusid ) ; if isnull(cur_cus_bala) then cur_cus_bala=0 if isnull(init_cus_bala) then init_cus_bala=0 rst_cus_bbala=cur_cus_bala + init_cus_bala return rst_cus_bbala end function