$PBExportHeader$uf_wfjg_warebalc_check_inoutflag.srf global type uf_wfjg_warebalc_check_inoutflag from function_object end type forward prototypes global function integer uf_wfjg_warebalc_check_inoutflag (datetime arg_balcdate, ref string arg_msg) end prototypes global function integer uf_wfjg_warebalc_check_inoutflag (datetime arg_balcdate, ref string arg_msg);Long rslt = 1 Long cnt = 0 //String ls_storagename // //SELECT storagename // INTO :ls_storagename // FROM u_storage // Where storageid = :arg_storageid; //IF sqlca.SQLCode <> 0 THEN // rslt = 0 // arg_msg = '查询操作失败,仓库名称' // GOTO ext //END IF //检查日期前 cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_in WHERE flag = 0 AND indate <= :arg_balcdate ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期前是否有外协进仓单未审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '结存日期前有外协进仓单未审' GOTO ext END IF cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_out WHERE flag = 0 AND outdate <= :arg_balcdate ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期前是否有外协出仓单未审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '结存日期前有外协出仓单未审' GOTO ext END IF //检查日期后 cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_in WHERE flag = 1 AND indate > :arg_balcdate ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期后是否有外协进仓单已审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '结存日期后有外协进仓单已审' GOTO ext END IF cnt = 0 SELECT count(*) INTO :cnt FROM ow_wfjg_out WHERE flag = 1 AND outdate > :arg_balcdate ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = '查询操作失败,结存日期后是否有外协出仓单已审' GOTO ext END IF IF cnt > 0 THEN rslt = 0 arg_msg = '结存日期后有外协出仓单已审' GOTO ext END IF ext: RETURN rslt end function