
CREATE OR REPLACE PROCEDURE STG.FP_CHECK_IN_DATA(EXITCODE OUT NUMBER) AS /*********************************************************************** ** 存储过程详细说明 ** 存储过程名称: FP_CHECK_IN_DATA ** 存储过程创建日期: 2016/08/25 ** 存储过程创建人: 谭湘 ** 目的: 检查STG IN表是否有数据,如果没有数据则报错 ** 输入参数: ** 输出参数: EXITCODE: 0=Success/1=Failure ** 返回值: ** 用法: ** ** 修订版本: ** 版本号 修订时间 修订人 描述 ** --------- ---------- ------------ ------------------------ ** 1.0 2016/08/25 *** 1. 新建存储过程. ** **********************************************************************/ ----------------------- 以下定义存储过程使用的变量--------------------------------- V_PKGName VARCHAR2 (40) := 'PKG_FP'; V_ProName VARCHAR2 (40) := 'FP_CHECK_IN_DATA'; V_Action VARCHAR2 (1); V_Step VARCHAR2 (40); V_MainTable VARCHAR2 (40); V_StartDate DATE; V_EndDate DATE; V_Count NUMBER := 0; V_CheckResult BOOLEAN := TRUE; E_ErrMessage VARCHAR2 (2000); ----------------------- 以下是存储过程的主体------------------------------------------ BEGIN EXITCODE := 0; V_Step := 1; V_Action := 'S'; FOR C_SQL IN (SELECT 'SELECT ''' || TABLE_NAME || ''' TABLENAME, COUNT(*) RC FROM ' || TABLE_NAME TEXT FROM USER_TABLES WHERE TABLE_NAME IN ('IN_BOM_DETAILS', 'IN_BOM_HEADER', 'IN_CUSTOMER', 'IN_INVENTORY', 'IN_ITEM', 'IN_ITEM_SITE', 'IN_ITEMBOMROUTING', 'IN_MO_SHORT', 'IN_PO', 'IN_ROUTING_HEADER', 'IN_ROUTINGOPERATION', 'IN_SALES_ORDER', 'IN_SFCHEADER', 'IN_SFCLINE', 'IN_SUPPLIER', 'IN_SUPPLIER_ITEM', 'IN_UOMCONVERSION', 'TEMP_ITEM_WITHOUT_SUPPLIER')) LOOP EXECUTE IMMEDIATE c_sql.TEXT INTO V_MainTable, V_Count; PKG_UTIL.CREATELOG (V_PKGName, V_ProName, V_Step, V_Action, PKG_CONSTANT.CONS_MSG_INFO, 'Check Data Rows Count: ' || V_Count, V_MainTable); IF V_COUNT = 0 THEN V_CHECKRESULT := FALSE; END IF; END LOOP; IF V_CHECKRESULT = FALSE THEN EXITCODE := 1; END IF; EXCEPTION --总程序异常处理部分 WHEN OTHERS THEN BEGIN ROLLBACK; EXITCODE := 1; V_MainTable := ''; e_ErrMessage := SUBSTR (SQLERRM, 1, 1000) || SUBSTR (DBMS_UTILITY.FORMAT_ERROR_BACKTRACE, 1, 2000); PKG_UTIL.CREATELOG (V_PKGName, V_ProName, V_Step, V_Action, PKG_CONSTANT.CONS_MSG_EXCEPTION, e_ErrMessage, V_MainTable); END; END; /
浙公网安备 33010602011771号