$PBExportHeader$f_aps_mrp_cklock.srf global type f_aps_mrp_cklock from function_object end type forward prototypes global function integer f_aps_mrp_cklock (long arg_scid, ref string arg_msg) end prototypes global function integer f_aps_mrp_cklock (long arg_scid, ref string arg_msg);Int rslt = 1 Int li_iflock DateTime ldt_lastlocktime,ldt_locktime Long ll_h,ll_m IF sys_option_mrp_locktype = 0 THEN rslt = 1 GOTO ext END IF SELECT iflock, lastlocktime, locktime, DATEDIFF(hh,lastlocktime,getdate()), DATEDIFF(mi,locktime,getdate()) INTO :li_iflock, :ldt_lastlocktime, :ldt_locktime, :ll_h, :ll_m FROM aps_mrp_lock Where scid = :arg_scid; IF sqlca.SQLCode = -1 THEN arg_msg = '查询MRP运算锁定标记失败,'+sqlca.SQLErrText rslt = 0 GOTO ext ELSEIF sqlca.SQLCode = 100 THEN rslt = 1 GOTO ext END IF IF li_iflock = 0 THEN rslt = 1 GOTO ext ELSE IF ll_h >= 12 THEN rslt = 1 GOTO ext ELSE IF ll_m <= 20 THEN rslt = 0 arg_msg = 'MRP运算当中,请稍后操作' GOTO ext ELSE rslt = 1 GOTO ext END IF END IF END IF ext: RETURN rslt end function