12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- $PBExportHeader$f_update_fj_cnt.srf
- global type f_update_fj_cnt from function_object
- end type
- forward prototypes
- global function integer f_update_fj_cnt (long arg_billtype, long arg_scid, long arg_relid, long arg_relid_mx, ref string arg_msg)
- end prototypes
- global function integer f_update_fj_cnt (long arg_billtype, long arg_scid, long arg_relid, long arg_relid_mx, ref string arg_msg);Int rslt = 1
- Long cnt
- Long ll_ConnectionID
- IF Not (arg_billtype = 201 Or arg_billtype = 9102) THEN RETURN 1
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) <> 1 THEN
- rslt = 0
- arg_msg = '更新附件数量失败,'+arg_msg
- GOTO ext
- END IF
- SELECT count(*) INTO :cnt
- FROM U_File
- WHERE relid = :arg_relid
- AND scid = :arg_scid
- AND relid_mx = :arg_relid_mx
- And billtype = :arg_billtype Using sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询附件数量失败,'+sys_fileDB_sqlca.SQLErrText
- GOTO ext
- END IF
- CHOOSE CASE arg_billtype
- CASE 201
- UPDATE u_mtrldef
- SET fjcnt = :cnt
- Where mtrlid = :arg_relid Using sqlca;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新产品附件数失败,'+sqlca.SQLErrText
- GOTO ext
- END IF
- CASE 9102
-
-
- END CHOOSE
- ext:
- IF rslt = 0 THEN
- ROLLBACK Using sqlca;
- ELSEIF rslt = 1 THEN
- COMMIT Using sqlca;
- END IF
- RETURN rslt
- end function
|