$PBExportHeader$f_find_emp.srf global type f_find_emp from function_object end type forward prototypes global function integer f_find_emp (string arg_empcode, ref s_empinfo arg_s_emp) end prototypes global function integer f_find_emp (string arg_empcode, ref s_empinfo arg_s_emp);Int rslt = 1 Long cnt = 0 String ls_empcode,ls_empname,ls_find_code String ls_cardcode,ls_sex Long ll_empid,ll_deptid,ll_jobid Boolean if_find = FALSE IF Trim(arg_empcode) = '' THEN rslt = 0 GOTO ext END IF SELECT u_rs_empinfo.empid, u_rs_empinfo.empname, u_rs_empinfo.empcode, u_rs_empinfo.cardcode, u_rs_empinfo.sex, u_rs_empinfo.deptid, u_rs_empinfo.jobid INTO :ll_empid, :ls_empname, :ls_empcode, :ls_cardcode, :ls_sex, :ll_deptid, :ll_jobid FROM u_rs_empinfo Where ( empcode = :arg_empcode OR empname = :arg_empcode ); IF sqlca.SQLCode <> 0 THEN IF Pos(Trim(arg_empcode),'%') = 0 THEN ls_find_code = '%'+ Trim(arg_empcode) + '%' ELSE ls_find_code = Trim(arg_empcode) END IF SELECT count(*) INTO :cnt FROM u_rs_empinfo Where ( empcode Like :ls_find_code OR empname Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext END IF IF cnt <> 1 THEN rslt = 0 GOTO ext ELSE SELECT u_rs_empinfo.empid, u_rs_empinfo.empcode, u_rs_empinfo.empname, u_rs_empinfo.cardcode, u_rs_empinfo.sex, u_rs_empinfo.deptid, u_rs_empinfo.jobid INTO :ll_empid, :ls_empcode, :ls_empname, :ls_cardcode, :ls_sex, :ll_deptid, :ll_jobid FROM u_rs_empinfo Where ( empcode Like :ls_find_code OR empname Like :ls_find_code ); IF sqlca.SQLCode <> 0 THEN rslt = 0 GOTO ext ELSE if_find = TRUE END IF END IF ELSE if_find = TRUE END IF IF if_find THEN arg_s_emp.empid = ll_empid arg_s_emp.empcode = ls_empcode arg_s_emp.empname = ls_empname arg_s_emp.cardcode = ls_cardcode arg_s_emp.cardcode = ls_sex arg_s_emp.deptid = ll_deptid arg_s_emp.jobid = ll_jobid END IF ext: RETURN rslt end function