123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- $PBExportHeader$f_update_printnum2.srf
- global type f_update_printnum2 from function_object
- end type
- forward prototypes
- global function integer f_update_printnum2 (long arg_scid, string arg_code, boolean arg_ifscid, long arg_printnum, ref string arg_msg, boolean arg_ifcommit)
- end prototypes
- global function integer f_update_printnum2 (long arg_scid, string arg_code, boolean arg_ifscid, long arg_printnum, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1
- Long cnt
- String ls_sccode
- String ls_billcode,ls_tablename,ls_codename
- Boolean if_f
- IF arg_printnum = 0 THEN
- rslt = 1
- GOTO ext
- END IF
- IF arg_ifscid THEN
- SELECT sccode
- INTO :ls_sccode
- FROM u_scdef
- Where scid = :arg_scid;
- IF sqlca.SQLCode <> 0 Or IsNull(ls_sccode) THEN ls_sccode = ''
- ELSE
- ls_sccode = ''
- END IF
- ls_billcode = Mid(Trim(arg_code),Len(ls_sccode) + 1,2)
- //IF sys_option_saletask_ifuse_typebillcode = 1 THEN
- // SELECT count(*) INTO :cnt
- // From u_saletype Where billcode = :ls_billcode;
- // IF sqlca.SQLCode <> 0 THEN
- // cnt = 0
- // END IF
- //
- // IF cnt > 0 THEN
- // ls_billcode = 'SG'
- // END IF
- //END IF
- //IF sys_option_saletask_ifuse_typebillcode = 1 And cnt > 0 THEN
- // if_f = False
- //ELSE
- SELECT tablename,codename
- INTO :ls_tablename,:ls_codename
- FROM u_billcode
- Where firststr = :ls_billcode;
- IF sqlca.SQLCode <> 0 THEN
- if_f = False
- ELSE
- if_f = True
- END IF
- //END IF
- IF Not if_f THEN
- SELECT tablename,codename
- INTO :ls_tablename,:ls_codename
- FROM u_billcode
- Where oldfirststr = :ls_billcode;
- IF sqlca.SQLCode <> 0 THEN
- if_f = False
- ELSE
- if_f = True
- END IF
- END IF
- IF Trim(ls_tablename) = '' THEN
- rslt = 0
- arg_msg = '没有表名'
- GOTO ext
- END IF
- IF Trim(ls_codename) = '' THEN
- rslt = 0
- arg_msg = '没有单号列名'
- GOTO ext
- END IF
- IF if_f THEN
-
- String update_sql
-
- update_sql = ''
- update_sql += " update " + ls_tablename
- update_sql += " set printnum = printnum + " + String(arg_printnum)
- update_sql += " where " + ls_codename + " = '" + arg_code + "'"
-
- // MessageBox('',update_sql)
-
- EXECUTE Immediate :update_sql;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '更新表:'+ls_tablename+'打印次数失败'
- rslt = 0
- GOTO ext
- END IF
-
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSEIF rslt = 1 And arg_ifcommit THEN
- COMMIT;
- END IF
- RETURN rslt
- end function
|