12345678910111213141516171819202122232425262728293031323334353637383940 |
- $PBExportHeader$f_rst_item_sub_bbalc.srf
- global type f_rst_item_sub_bbalc from function_object
- end type
- forward prototypes
- global function decimal f_rst_item_sub_bbalc (long arg_itemid, string arg_subid, long arg_cmonth, integer arg_postflag)
- end prototypes
- global function decimal f_rst_item_sub_bbalc (long arg_itemid, string arg_subid, long arg_cmonth, integer arg_postflag);//项目科目期初数
- //1.计算初始化数
- //2.计算期间发生数
- Decimal rst_bbalc,init_bbalc,ins_bbalc
- //1.
- SELECT uv_item_init.balance INTO :init_bbalc FROM uv_item_init
- WHERE uv_item_init.accsetid = :sys_accsetid
- AND uv_item_init.itemid = :arg_itemid
- AND uv_item_init.subid = :arg_subid;
- IF sqlca.SQLCode <> 0 OR IsNull(init_bbalc) THEN
- init_bbalc = 0.00
- END IF
- //2.
- SELECT sum(uv_dept_bala.debit)-sum(uv_dept_bala.credit) INTO :ins_bbalc FROM uv_dept_bala
- WHERE uv_dept_bala.accsetid = :sys_accsetid
- AND uv_dept_bala.itemid = :arg_itemid
- AND uv_dept_bala.subid = :arg_subid
- AND uv_dept_bala.cmonth < :arg_cmonth
- And ( uv_dept_bala.postflag = :arg_postflag OR :arg_postflag = -1) ;
- IF sqlca.SQLCode <> 0 OR IsNull(ins_bbalc) THEN
- ins_bbalc = 0.00
- END IF
- rst_bbalc = init_bbalc + ins_bbalc
- RETURN rst_bbalc
- end function
|