$PBExportHeader$uo_basewage.sru forward global type uo_basewage from nonvisualobject end type end forward global type uo_basewage from nonvisualobject end type global uo_basewage uo_basewage forward prototypes public function integer uof_basepay_init (long arg_empid, string arg_empname, decimal arg_basepay, string arg_dscrp, ref string arg_msg, boolean arg_ifcommit) end prototypes public function integer uof_basepay_init (long arg_empid, string arg_empname, decimal arg_basepay, string arg_dscrp, ref string arg_msg, boolean arg_ifcommit);Int rslt = 1 Long cnt IF arg_empid = 0 THEN arg_msg = '员工:'+arg_empname+',错误的员工ID' rslt = 0 GOTO ext END IF SELECT count(*) INTO :cnt FROM u_rs_empinfo Where empid = :arg_empid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询员工:'+arg_empname+',基本资料失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt = 0 THEN arg_msg = '员工:'+arg_empname+',基本资料不存在,请检查' rslt = 0 GOTO ext ELSEIF cnt > 1 THEN arg_msg = '员工:'+arg_empname+',基本资料重复,请检查' rslt = 0 GOTO ext END IF IF arg_basepay < 0 THEN arg_msg = '请输入正确的基本工资' rslt = 0 GOTO ext END IF UPDATE u_basepay SET basepay = :arg_basepay, dscrp = :arg_dscrp Where empid = :arg_empid; IF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN INSERT INTO u_basepay (empid,basepay,dscrp,moddate) Values(:arg_empid,:arg_basepay,:arg_dscrp,getdate()); IF sqlca.SQLCode <> 0 THEN arg_msg = '新增员工:'+arg_empname+',基本工资失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF ELSE arg_msg = '更新员工:'+arg_empname+',基本工资失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF ext: IF rslt = 0 THEN ROLLBACK; ELSEIF rslt = 1 AND arg_ifcommit THEN COMMIT; END IF RETURN rslt end function on uo_basewage.create call super::create TriggerEvent( this, "constructor" ) end on on uo_basewage.destroy TriggerEvent( this, "destructor" ) call super::destroy end on