$PBExportHeader$f_check_pf_flag.srf global type f_check_pf_flag from function_object end type forward prototypes global function integer f_check_pf_flag (long arg_mtrlid, string arg_pfcode, integer arg_flagtype, ref string arg_msg) end prototypes global function integer f_check_pf_flag (long arg_mtrlid, string arg_pfcode, integer arg_flagtype, ref string arg_msg);Int rslt = 1 Int li_flag,li_affirmflag String ls_mtrlcode SELECT mtrlcode INTO :ls_mtrlcode FROM u_mtrldef Where mtrlid = :arg_mtrlid; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询物料编码失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF SELECT flag,affirmflag INTO :li_flag,:li_affirmflag FROM u_mtrl_pf WHERE mtrlid = :arg_mtrlid AND pfcode = :arg_pfcode; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询:'+ls_mtrlcode+'物料清单:'+arg_pfcode+',是否已审核失败,操作失败' GOTO ext END IF IF arg_flagtype = 1 THEN //检查是否已审 IF li_flag = 1 THEN rslt = 0 arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'已审核' GOTO ext END IF ELSEIF arg_flagtype = 0 THEN //检查是否未审 IF li_flag = 0 THEN rslt = 0 arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'未审核' GOTO ext END IF ELSEIF arg_flagtype = 2 THEN //检查是否已确认 IF li_affirmflag = 1 THEN rslt = 0 arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'已确认' GOTO ext END IF ELSEIF arg_flagtype = 3 THEN //检查是否未确认 IF li_affirmflag = 0 THEN rslt = 0 arg_msg = '物料:'+ls_mtrlcode+'物料清单:'+arg_pfcode+'未确认' GOTO ext END IF END IF ext: RETURN rslt end function