f_rst_cus_bbala.srf 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. $PBExportHeader$f_rst_cus_bbala.srf
  2. global type f_rst_cus_bbala from function_object
  3. end type
  4. forward prototypes
  5. global function decimal f_rst_cus_bbala (long arg_accsetid, long arg_cmonth, string arg_subid, long arg_cusid)
  6. end prototypes
  7. global function decimal f_rst_cus_bbala (long arg_accsetid, long arg_cmonth, string arg_subid, long arg_cusid);//返回项目总帐期初数
  8. decimal rst_cus_bbala
  9. decimal init_cus_bala,cur_cus_bala
  10. SELECT isnull(sum(uv_dept_bala.credit),0) - isnull(sum(uv_dept_bala.debit),0)
  11. into :cur_cus_bala
  12. FROM uv_dept_bala
  13. WHERE ( uv_dept_bala.accsetid = :arg_accsetid ) AND
  14. ( uv_dept_bala.cmonth < :arg_cmonth ) AND
  15. ( uv_dept_bala.subid = :arg_subid ) and
  16. ( uv_dept_bala.cusid = :arg_cusid )
  17. GROUP BY uv_dept_bala.cmonth,
  18. uv_dept_bala.subid,
  19. uv_dept_bala.itemid ;
  20. SELECT isnull(uv_cus_init.balance,0)
  21. into :init_cus_bala
  22. FROM uv_cus_init
  23. WHERE ( uv_cus_init.accsetid = :arg_accsetid ) AND
  24. ( uv_cus_init.subid = :arg_subid ) and
  25. ( uv_cus_init.cusid = :arg_cusid ) ;
  26. if isnull(cur_cus_bala) then cur_cus_bala=0
  27. if isnull(init_cus_bala) then init_cus_bala=0
  28. rst_cus_bbala=cur_cus_bala + init_cus_bala
  29. return rst_cus_bbala
  30. end function