CREATE OR REPLACE FUNCTION NSISUPDB.GET_PRD_INFO_LIST ( in_prd_se IN TC_PRD_INFO.PRD_SE%TYPE DEFAULT NULL ) /****************************************************** ÆÄÀϸí : GET_PRD_INFO ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 20. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case¸í : ³» ¿ë : ÁÖ±âÁ¤º¸¸¦ Àд´Ù. ÁֱⱸºÐÀÌ ÁöÁ¤µÈ °æ¿ì, ÁöÁ¤µÈ ÁÖ±âÁ¤º¸¸¸ Àд´Ù. *******************************************************/ RETURN Types.cursorType IS v_cursor Types.cursorType; BEGIN OPEN v_cursor FOR SELECT PRD_SE, PRD_NM, PRD_ENG_NM FROM TC_PRD_INFO WHERE PRD_SE = NVL (in_prd_se, PRD_SE) ORDER BY PRD_NM; RETURN v_cursor; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN v_cursor; WHEN OTHERS THEN RAISE; END GET_PRD_INFO_LIST; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_ORG_NAME ( V_ORG_ID IN TN_ORG.ORG_ID%TYPE, V_LANG IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_ORG_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ±â°ü¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏÇÑ´Ù. ***********************************************************/ RETURN TN_ORG.ORG_NM%TYPE IS V_ORG_NM_KOR TN_ORG.ORG_NM%TYPE; V_ORG_NM_ENG TN_ORG.ORG_NM_ENG%TYPE; V_ORG_NM TN_ORG.ORG_NM%TYPE; BEGIN SELECT ORG_NM, ORG_NM_ENG INTO V_ORG_NM_KOR, V_ORG_NM_ENG FROM TN_ORG WHERE ORG_ID = V_ORG_ID; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched Organization Name not found. CD_ID = ' || V_ORG_ID); END IF; IF V_LANG = 'KOR' THEN V_ORG_NM := V_ORG_NM_KOR; ELSIF V_LANG = 'ENG' THEN V_ORG_NM := V_ORG_NM_ENG; ELSE V_ORG_NM := ''; DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' or ''ENG (or NULL)'); END IF; RETURN V_ORG_NM; END GET_ORG_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_OBJ_VAR_ID ( in_org_id IN TN_ITM_LIST.ORG_ID%TYPE, in_tbl_id IN TN_ITM_LIST.TBL_ID%TYPE, in_itm_id IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_OBJ_VAR_ID ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Ç׸ñÄڵ忡 ´ëÇØ ´ë»óÇ׸ñºÐ·ù¸¦ Àд´Ù.. **********************************************************/ RETURN TN_ITM_LIST.OBJ_VAR_ID%TYPE IS v_result TN_ITM_LIST.OBJ_VAR_ID%TYPE := NULL; BEGIN SELECT OBJ_VAR_ID INTO v_result FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND ITM_ID = in_itm_id; RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RAISE; END GET_OBJ_VAR_ID; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_NEXT_PRD_DE ( in_prd_se IN TN_DT.PRD_SE%TYPE, in_prd_de IN TN_DT.PRD_DE%TYPE ) RETURN TN_DT.PRD_DE%TYPE /********************************************************** ÆÄÀϸí : GET_NEXT_PRD_DE ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 11. 13. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Áֱ⿡ µû¸¥ ´ÙÀ½ ¼ö·Ï½ÃÁ¡À» ±¸ÇÑ´Ù. ***********************************************************/ IS yyyy NUMBER(4) := NULL; mm NUMBER(2) := NULL; dd NUMBER(2) := NULL; result TN_DT.PRD_DE%TYPE := NULL; BEGIN CASE in_prd_se WHEN 'D' THEN IF LENGTH (in_prd_de) <> 8 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; result := TO_CHAR ((TO_DATE (in_prd_de) + 1), 'YYYYMMDD'); WHEN 'T' THEN IF LENGTH (in_prd_de) <> 8 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); mm := TO_NUMBER (SUBSTR (in_prd_de, 5, 2)); dd := TO_NUMBER (SUBSTR (in_prd_de, 7, 2)); dd := dd + 1; IF dd > 3 THEN dd := 1; mm := mm + 1; END IF; IF mm > 12 THEN mm := 1; yyyy := yyyy + 1; END IF; result := yyyy || LPAD (mm, 2, '0') || LPAD (dd, 2, '0'); WHEN 'M' THEN IF LENGTH (in_prd_de) <> 6 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); mm := TO_NUMBER (SUBSTR (in_prd_de, 5, 2)); mm := mm + 1; IF mm > 12 THEN mm := 1; yyyy := yyyy + 1; END IF; result := yyyy || LPAD (mm, 2, '0'); WHEN 'B' THEN IF LENGTH (in_prd_de) <> 6 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); mm := TO_NUMBER (SUBSTR (in_prd_de, 5, 2)); mm := mm + 1; IF mm > 6 THEN mm := 1; yyyy := yyyy + 1; END IF; result := yyyy || LPAD (mm, 2, '0'); WHEN 'Q' THEN IF LENGTH (in_prd_de) <> 6 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); mm := TO_NUMBER (SUBSTR (in_prd_de, 5, 2)); mm := mm + 1; IF mm > 4 THEN mm := 1; yyyy := yyyy + 1; END IF; result := yyyy || LPAD (mm, 2, '0'); WHEN 'H' THEN IF LENGTH (in_prd_de) <> 6 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); mm := TO_NUMBER (SUBSTR (in_prd_de, 5, 2)); mm := mm + 1; IF mm > 2 THEN mm := 1; yyyy := yyyy + 1; END IF; result := yyyy || LPAD (mm, 2, '0'); WHEN 'Y' THEN IF LENGTH (in_prd_de) <> 4 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); yyyy := yyyy + 1; result := TO_CHAR (yyyy); WHEN 'F' THEN IF LENGTH (in_prd_de) <> 4 THEN RAISE_APPLICATION_ERROR (-20001, '¼ö·Ï½ÃÁ¡ Çü½Ä ¿À·ù'); END IF; yyyy := TO_NUMBER (SUBSTR (in_prd_de, 1, 4)); yyyy := yyyy + 1; result := TO_CHAR (yyyy); END CASE; RETURN result; EXCEPTION WHEN OTHERS THEN RAISE; END GET_NEXT_PRD_DE; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_LVL_CO ( in_org_id IN TN_ITM_LIST.ORG_ID%TYPE, in_tbl_id IN TN_ITM_LIST.TBL_ID%TYPE, in_itm_id IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_OBJ_VAR_ID ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Ç׸ñÄڵ忡 ´ëÇØ ´ë»óÇ׸ñºÐ·ù¸¦ Àд´Ù.. **********************************************************/ RETURN TN_OBJ_ITM_CLS.LVL_CO%TYPE IS v_result TN_OBJ_ITM_CLS.LVL_CO%TYPE; BEGIN v_result := 0; SELECT B.LVL_CO INTO v_result FROM TN_ITM_LIST A, TN_OBJ_ITM_CLS B WHERE A.ORG_ID = in_org_id AND A.TBL_ID = in_tbl_id AND A.ITM_ID = in_itm_id AND A.ORG_ID = B.ORG_ID AND A.TBL_ID = B.TBL_ID AND A.OBJ_VAR_ID = B.OBJ_VAR_ID; RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RAISE; END GET_LVL_CO; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_JBSS_USER_NAME ( vMid IN T_SM_USER.MID%TYPE ) /********************************************************** ÆÄÀϸí : GET_CODE_ABBR_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.11.14 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ÀüºÏµµÁ¤ÇöȲ½Ã½ºÅÛ »ç¿ëÀÚ¸íÀ» ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT UNM INTO V_NM FROM T_SM_USER WHERE MID = vMid; RETURN V_NM; END GET_JBSS_USER_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_ITM_PUB_SE ( in_org_id IN TN_ITM_LIST.ORG_ID%TYPE, in_tbl_id IN TN_ITM_LIST.TBL_ID%TYPE, in_itm_id IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_ITM_PUB_SE ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Ç׸ñÀÇ °øÇ¥±¸ºÐ Àбâ. **********************************************************/ RETURN TN_ITM_LIST.PUB_SE%TYPE IS v_result TN_ITM_LIST.PUB_SE%TYPE; BEGIN v_result := 0; SELECT DECODE (PUB_SE, NULL, '1210113', '1210110', '1210113', PUB_SE) PUB_SE INTO v_result FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND ITM_ID = in_itm_id; RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RAISE; END GET_ITM_PUB_SE; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_ITEM_SN ( V_TBL_ID IN TN_ITM_LIST.TBL_ID%TYPE, V_ORG_ID IN TN_ITM_LIST.ORG_ID%TYPE, V_OBJ_VAR_ID IN TN_ITM_LIST.OBJ_VAR_ID%TYPE, V_ITM_ID IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_ITM_SN ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 4 ÀÛ¼ºÀÚ : ±èÀº¿Á Use Case ¸í : ³» ¿ë : ÀÚ·áÇ׸ñÀÇ ¼ø¼­¸¦ ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_SN VARCHAR2(3); BEGIN DBMS_OUTPUT.ENABLE; SELECT to_char(nvl(CHAR_ITM_SN,0)) INTO V_SN FROM TN_ITM_LIST WHERE TBL_ID = V_TBL_ID AND ORG_ID = V_ORG_ID AND OBJ_VAR_ID = V_OBJ_VAR_ID AND ITM_ID = V_ITM_ID ; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. ITM_ID = ' || V_ITM_ID); END IF; RETURN V_SN; END GET_ITEM_SN; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_ITEM_LEVEL ( V_TBL_ID IN TN_ITM_LIST.TBL_ID%TYPE, V_ORG_ID IN TN_ITM_LIST.ORG_ID%TYPE, V_OBJ_VAR_ID IN TN_ITM_LIST.OBJ_VAR_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_ITM_LEVEL ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 14 ÀÛ¼ºÀÚ : À̵¿¿í Use Case ¸í : ³» ¿ë : ºÐ·ùÀÇ ·¹º§°ªÀ» ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_SN VARCHAR2(3); BEGIN DBMS_OUTPUT.ENABLE; SELECT to_char(nvl(LVL_CO,0)) INTO V_SN FROM TN_OBJ_ITM_CLS WHERE TBL_ID = V_TBL_ID AND ORG_ID = V_ORG_ID AND OBJ_VAR_ID = V_OBJ_VAR_ID ; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. LVL_CO = ' || V_OBJ_VAR_ID); END IF; RETURN V_SN; END GET_ITEM_LEVEL; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_FTN_VAL_CODE2 ( V_ORG_ID IN TN_ITM_LIST.ORG_ID%TYPE, V_TBL_ID IN TN_ITM_LIST.TBL_ID%TYPE, V_OBJ_VAR_ID IN VARCHAR2 ) RETURN VARCHAR2 IS sql_stmt VARCHAR2(350); ftn_val_at VARCHAR2(1); RESULT VARCHAR2(40); /********************************************************** ÆÄÀϸí : GET_PRD_SMBL ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 11. 21 ÀÛ¼ºÀÚ : ¾È¼º°ü Use Case ¸í : ³» ¿ë : ***********************************************************/ BEGIN ftn_val_at := 'Y'; sql_stmt := 'select ITM_ID from TN_ITM_LIST where (ORG_ID, TBL_ID, OBJ_VAR_ID) IN (select ORG_ID, TBL_ID, OBJ_VAR_ID from TN_ITM_LIST where (ORG_ID, TBL_ID, ITM_ID) IN (select ORG_ID, TBL_ID, '||V_OBJ_VAR_ID||' from TN_DIM where ORG_ID =:2 and TBL_ID=:3 and rownum=1) and ORG_ID =:4 and TBL_ID=:5) and FTN_VAL_AT = :6'; BEGIN EXECUTE IMMEDIATE sql_stmt INTO RESULT USING V_ORG_ID, V_TBL_ID, V_ORG_ID, V_TBL_ID, ftn_val_at; --EXECUTE IMMEDIATE 'select itm_id from tn_itm_list where org_id=:1 and tbl_id=:2 and rownum=1' INTO RESULT using V_ORG_ID,V_TBL_ID; EXCEPTION WHEN NO_DATA_FOUND THEN RESULT := '13999002'; END; RETURN RESULT; END; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_FTN_VAL_CODE ( V_ORG_ID IN TN_ITM_LIST.ORG_ID%TYPE, V_TBL_ID IN TN_ITM_LIST.TBL_ID%TYPE, V_OBJ_VAR_ID IN TN_ITM_LIST.OBJ_VAR_ID%TYPE ) RETURN VARCHAR2 IS RESULT VARCHAR2(40); BEGIN BEGIN SELECT itm_id INTO RESULT FROM tn_itm_list WHERE org_id = V_ORG_ID AND tbl_id = V_TBL_ID AND var_lvl_co = 1 AND obj_var_id = V_OBJ_VAR_ID AND char_itm_at='N' AND ftn_val_at ='Y'; EXCEPTION WHEN NO_DATA_FOUND THEN RESULT := '13999002'; END; RETURN RESULT; END; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_FTN_VAL_AT ( in_org_id IN TN_ITM_LIST.ORG_ID%TYPE, in_tbl_id IN TN_ITM_LIST.TBL_ID%TYPE, in_itm_id IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_OBJ_VAR_ID ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Ç׸ñÄڵ忡 ´ëÇØ ´ë»óÇ׸ñºÐ·ù¸¦ Àд´Ù.. **********************************************************/ RETURN TN_ITM_LIST.FTN_VAL_AT%TYPE IS v_result TN_ITM_LIST.FTN_VAL_AT%TYPE := NULL; BEGIN SELECT FTN_VAL_AT INTO v_result FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND ITM_ID = in_itm_id; RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RAISE; END GET_FTN_VAL_AT; / CREATE OR REPLACE FUNCTION NSISUPDB.get_emp_name ( in_emp_id IN tn_emp.emp_id%TYPE, in_org_id IN tn_emp.org_id%TYPE ) RETURN VARCHAR2 IS v_emp_nm VARCHAR2 (50); /****************************************************************************** NAME: GET_EMP_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 02 ÀÛ¼ºÀÚ : ¹Î±ÔÇõ Use Case ¸í : ³» ¿ë : »ç¿ëÀÚ¸íÀ» ¸®ÅÏ ******************************************************************************/ BEGIN SELECT emp_nm INTO v_emp_nm FROM tn_emp WHERE emp_id = in_emp_id AND org_id = in_org_id; IF SQL%NOTFOUND THEN v_emp_nm := NULL ; END IF; RETURN v_emp_nm; END get_emp_name; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_PRD_SE_LIST( in_org_id IN TN_STBL_RECD_INFO.org_id%TYPE, in_tbl_id IN TN_STBL_RECD_INFO.tbl_id%TYPE ) /****************************************************************************** NAME : GET_PRD_SE_LIST ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007.1. 16 ÀÛ¼ºÀÚ : À̱ÕÈñ Use Case ¸í : ³» ¿ë : Áֱ⸮½ºÆ®¸¦ ¸®ÅÏ ******************************************************************************/ RETURN VARCHAR2 IS v_prd_se VARCHAR2(20); BEGIN DBMS_OUTPUT.ENABLE; select SUBSTR (MAX (SYS_CONNECT_BY_PATH (prd_se, ',')), 2) INTO v_prd_se from ( select prd_se, ROW_NUMBER () OVER (ORDER BY prd_se) rnum from tn_stbl_recd_info where org_id = in_org_id and tbl_id = in_tbl_id ) START WITH rnum = 1 CONNECT BY PRIOR rnum = rnum - 1; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Emp Name not found. end_prd_de = ' || v_end_prd_de); END IF; RETURN v_prd_se; END GET_PRD_SE_LIST; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_PRD_NAME ( V_CD IN TC_CD_INFO.CD_ID%TYPE, V_LANG IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_PRD_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ±â°£¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); V_NM_KOR VARCHAR2(100); V_NM_ENG VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT DISTINCT PRD_NM, PRD_ENG_NM INTO V_NM_KOR, V_NM_ENG FROM TC_PRD_INFO WHERE PRD_SE=V_CD; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. CD_ID = ' || V_CD); END IF; IF V_LANG = 'KOR' THEN V_NM := V_NM_KOR; ELSIF V_LANG = 'ENG' THEN V_NM := V_NM_ENG; ELSE V_NM := ''; DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' or ''ENG (or NULL)'); END IF; RETURN V_NM; END GET_PRD_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_DIM_ITM_RCGN_SN ( in_org_id IN TN_DIM.ORG_ID%TYPE, in_tbl_id IN TN_DIM.TBL_ID%TYPE, in_char_itm_id IN TN_DIM.ITM_RCGN_SN%TYPE, in_ov_l1_id IN TN_DIM.OV_L1_ID%TYPE, in_ov_l2_id IN TN_DIM.OV_L2_ID%TYPE, in_ov_l3_id IN TN_DIM.OV_L3_ID%TYPE, in_ov_l4_id IN TN_DIM.OV_L4_ID%TYPE, in_ov_l5_id IN TN_DIM.OV_L5_ID%TYPE, in_ov_l6_id IN TN_DIM.OV_L6_ID%TYPE, in_ov_l7_id IN TN_DIM.OV_L7_ID%TYPE, in_ov_l8_id IN TN_DIM.OV_L8_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_DIM_ITM_RCGN_SN ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 7. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Åë°èÇ¥ Â÷¿ø Ç׸ñÀνĹøÈ£ Àбâ ***********************************************************/ RETURN NUMBER IS v_itm_rcgn_sn TN_DIM.ITM_RCGN_SN%TYPE := NULL; BEGIN SELECT ITM_RCGN_SN INTO v_itm_rcgn_sn FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_ID = in_char_itm_id AND OV_L1_ID = in_ov_l1_id AND OV_L2_ID = in_ov_l2_id AND OV_L3_ID = in_ov_l3_id AND OV_L4_ID = in_ov_l4_id AND OV_L5_ID = in_ov_l5_id AND OV_L6_ID = in_ov_l6_id AND OV_L7_ID = in_ov_l7_id AND OV_L8_ID = in_ov_l8_id; RETURN v_itm_rcgn_sn; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RETURN NULL; END GET_DIM_ITM_RCGN_SN; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CODE_PUB_SE ( V_CD_NM IN TC_CD_INFO.CD_NM%TYPE ) /********************************************************** ÆÄÀϸí : GET_CODE_PUB_SE ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 15 ÀÛ¼ºÀÚ : À̵¿¿í Use Case ¸í : ³» ¿ë : Äڵ带 ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_CD_ID VARCHAR2(100); BEGIN BEGIN DBMS_OUTPUT.ENABLE; SELECT CD_ID INTO V_CD_ID FROM TC_CD_INFO WHERE CD_NM = V_CD_NM AND UP_CD_ID='21101101'; EXCEPTION WHEN NO_DATA_FOUND THEN V_CD_ID := V_CD_NM; END; RETURN V_CD_ID; END GET_CODE_PUB_SE; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CODE_NAME_UPITEM ( V_CD IN TC_CD_INFO.CD_ID%TYPE, V_LANG IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_CODE_NAME_UPITEM ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 15 ÀÛ¼ºÀÚ : À̵¿¿í Use Case ¸í : ³» ¿ë : ±â°ü¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); V_NM_KOR VARCHAR2(100); V_NM_ENG VARCHAR2(100); V_UPITEM VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT TRIM(CD_NM), CD_ENG_NM INTO V_NM_KOR, V_NM_ENG FROM TC_CD_INFO WHERE CD_ID = V_CD; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. CD_ID = ' || V_CD); END IF; IF V_LANG = 'KOR' THEN IF V_NM_KOR = '±âŸ' THEN SELECT CD_NM INTO V_UPITEM FROM TC_CD_INFO WHERE CD_ID = (SELECT distinct UP_ITM_ID FROM TN_ITM_LIST WHERE ITM_ID = V_CD); V_NM := V_UPITEM || '-' || V_NM_KOR ; ELSE V_NM := V_NM_KOR ; END IF; ELSIF V_LANG = 'ENG' THEN V_NM := V_NM_ENG; ELSE V_NM := ''; --DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' or ''ENG (or NULL)'); END IF; RETURN V_NM; END GET_CODE_NAME_UPITEM; / CREATE OR REPLACE FUNCTION NSISUPDB.get_code_eng_name (p_cd_id IN tc_cd_info.CD_id%TYPE) RETURN VARCHAR2 IS v_cd_eng_nm VARCHAR2(1000); BEGIN SELECT CD_eng_nm INTO v_cd_eng_nm FROM tc_cd_info WHERE CD_id = p_cd_id; RETURN v_cd_eng_nm; END get_code_eng_nAmE; / CREATE OR REPLACE FUNCTION NSISUPDB.Get_Code_Cd_Name (p_cd_id IN TC_CD_INFO.CD_id%TYPE) RETURN VARCHAR2 IS v_cd_cd VARCHAR2(1000); BEGIN SELECT DECODE(SUBSTR(cd_id,1,5),'13102',SUBSTR(cd_cn,INSTR(cd_cn,'.')+1),cd_cn) INTO v_cd_cd FROM TC_CD_INFO WHERE CD_id = p_cd_id; RETURN v_cd_cd; END Get_Code_Cd_Name; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CODE_ABBR_NAME ( V_CD IN TC_CD_INFO.CD_ID%TYPE, V_LANG IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_CODE_ABBR_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.11.14 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ÄÚµå¾à¾î¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); V_NM_KOR VARCHAR2(100); V_NM_ENG VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT DECODE(CD_ABBR_NM, NULL, CD_NM, CD_ABBR_NM), DECODE(CD_ABBR_ENG_NM, NULL, CD_ENG_NM, CD_ABBR_ENG_NM) INTO V_NM_KOR, V_NM_ENG FROM TC_CD_INFO WHERE CD_ID = V_CD; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. CD_ID = ' || V_CD); END IF; IF V_LANG = 'KOR' THEN V_NM := V_NM_KOR; ELSIF V_LANG = 'ENG' THEN V_NM := V_NM_ENG; ELSE V_NM := ''; DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' or ''ENG (or NULL)'); END IF; RETURN V_NM; END GET_CODE_ABBR_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CLS_PUB_SE ( in_org_id IN TN_ITM_LIST.ORG_ID%TYPE, in_tbl_id IN TN_ITM_LIST.TBL_ID%TYPE, in_itm_id IN TN_ITM_LIST.ITM_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_CLS_PUB_SE ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : ºÐ·ùÀÇ °øÇ¥±¸ºÐ Àбâ. ¹ÌÁöÁ¤ÀÎ °æ¿ì ±âº»°ªÀº ±¹³»À̸ç, ±¸ÇØÁø °ª Áß °¡Àå ÀÛÀº °ªÀ» ¹ÝȯÇÑ´Ù. **********************************************************/ RETURN TN_ITM_LIST.PUB_SE%TYPE IS v_result TN_ITM_LIST.PUB_SE%TYPE; BEGIN v_result := 0; SELECT MIN(DECODE (PUB_SE, NULL, '1210113', '1210110', '1210113', PUB_SE)) PUB_SE INTO v_result FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OBJ_VAR_ID = ( SELECT OBJ_VAR_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND ITM_ID = in_itm_id ); RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RAISE; END GET_CLS_PUB_SE; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CODE_NAME ( V_CD IN TC_CD_INFO.CD_ID%TYPE, V_LANG IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_CODE_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ÄÚµå¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); V_NM_KOR VARCHAR2(100); V_NM_ENG VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT substr(CD_NM,1,100), substr(CD_ENG_NM,1,100) INTO V_NM_KOR, V_NM_ENG FROM TC_CD_INFO WHERE CD_ID = V_CD; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. CD_ID = ' || V_CD); END IF; IF V_LANG = 'KOR' THEN V_NM := V_NM_KOR; ELSIF V_LANG = 'ENG' THEN V_NM := V_NM_ENG; ELSE V_NM := ''; DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' or ''ENG (or NULL)'); END IF; RETURN V_NM; END GET_CODE_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CLASS_P ( in_cmok_code IN VARCHAR2, in_cname_p IN VARCHAR2 ) RETURN VARCHAR2 IS v_idx NUMBER := 1; v_next_idx NUMBER := 1; v_result VARCHAR2(2000) := NULL; v_exitFlag BOOLEAN := FALSE; v_cur_class VARCHAR2(2000) := NULL; v_class_name VARCHAR2(2000) := NULL; BEGIN LOOP v_next_idx := INSTR (in_cname_p, '*', v_idx); EXIT WHEN v_next_idx = 0; --DBMS_OUTPUT.PUT_lINE ('v_next_idx = ' || TO_CHAR (v_next_idx)); v_cur_class := SUBSTR (in_cname_p, v_idx, v_next_idx - v_idx); EXIT WHEN v_cur_class = NULL; --DBMS_OUTPUT.PUT_lINE ('v_cur_class = ' || v_cur_class); SELECT CD_NM INTO v_class_name FROM TC_CD_INFO WHERE CD_ID = v_cur_class; v_result := v_result || v_class_name || '*'; v_idx := v_next_idx + 1; END LOOP; RETURN TRIM (v_result); END GET_CLASS_P; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CELL_PRD_INFO ( in_rcgn IN TN_CELL_RECD_INFO.ITM_RCGN_SN%TYPE, in_prd IN TN_CELL_RECD_INFO.PRD_SE%TYPE ) /****************************************************** ÆÄÀϸí : GET_CELL_PRD_INFO ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 28. ÀÛ¼ºÀÚ : ±è Àº ¿Á Use Case¸í ³» ¿ë : ¼¿ ¼ö·ÏÁ¤º¸ÀÇ ½ÃÀÛ/Á¾·á ½ÃÁ¡À» Àд´Ù. *******************************************************/ RETURN Types.cursorType IS v_cursor Types.cursorType; BEGIN OPEN v_cursor FOR SELECT strt_prd_de, end_prd_de FROM TN_CELL_RECD_INFO WHERE ITM_RCGN_SN = in_rcgn AND PRD_SE = in_prd; RETURN v_cursor; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN v_cursor; WHEN OTHERS THEN RAISE; END GET_CELL_PRD_INFO; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CD_INFO_LIST ( in_cd_id IN TC_CD_INFO.CD_ID%TYPE DEFAULT NULL ) /****************************************************** ÆÄÀϸí : GET_CD_INFO_LIST ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 25. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case¸í : ³» ¿ë : ÀÔ·ÂµÈ ÄÚµå(in_cd_id)ÀÇ ÇÏÀ§ Äڵ带 ´Ù Àд´Ù. *******************************************************/ RETURN Types.cursorType IS v_cursor Types.cursorType; BEGIN IF in_cd_id IS NULL THEN RAISE_APPLICATION_ERROR (-20001,'»óÀ§ Äڵ带 ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.'); END IF; OPEN v_cursor FOR SELECT CD_ID, CD_NM, CD_ENG_NM, UP_CD_ID FROM ( SELECT /*+ INDEX (TC_CD_INFO XAK1TC_CD_INFO) */ CD_ID, CD_NM, CD_ENG_NM, UP_CD_ID FROM TC_CD_INFO WHERE (CD_TP_SE, CD_PRT_SE) = ( SELECT /*+ INDEX (TC_CD_INFO IDX1_TC_CD_INFO) */ DISTINCT CD_TP_SE, CD_PRT_SE FROM TC_CD_INFO WHERE UP_CD_ID = in_cd_id ) ) CONNECT BY PRIOR CD_ID = UP_CD_ID START WITH UP_CD_ID = in_cd_id; RETURN v_cursor; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN v_cursor; WHEN OTHERS THEN RAISE; END GET_CD_INFO_LIST; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_CD_CN ( v_cd_tp_se TC_CD_INFO.CD_TP_SE%TYPE, v_cd_prt_se TC_CD_INFO.CD_PRT_SE%TYPE, v_up_cd_id TC_CD_INFO.UP_CD_ID%TYPE, v_cd_id TC_CD_INFO.CD_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_CD_CN ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 21 ÀÛ¼ºÀÚ : ÀÌÈ£¿µ Use Case ¸í : ³» ¿ë : »ó¼¼Äڵ带 ¾ò´Â ÇÔ¼ö ***********************************************************/ RETURN VARCHAR2 IS v_cd_cn VARCHAR2(40); BEGIN --DBMS_OUTPUT.ENABLE; --IF v_up_cd_id is null THEN -- Àüü Äڵ忡¼­ ŸÀÔ+»öÀÎÀ» »« °ÍÀÌ »ó¼¼ÄÚµå °ªÀÌ´Ù. v_cd_cn := REPLACE( v_cd_id, CONCAT(v_cd_tp_se,v_cd_prt_se), ''); --ELSE -- Àüü Äڵ忡¼­ »óÀ§Äڵ带 »« °ªÀÌ »ó¼¼ÄÚµå °ªÀÌ´Ù. --v_cd_cn := REPLACE( v_cd_id, v_up_cd_id, ''); --END IF; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Code Name not found. CD_ID = ' || v_cd_id); END IF; RETURN v_cd_cn; END GET_CD_CN; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_WGT_CO ( V_CD IN TN_ITM_LIST.OBJ_VAR_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_WGT_CO ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ÄÚµå¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_WGTCO TN_ITM_LIST.WGT_CO%TYPE := 0; BEGIN DBMS_OUTPUT.ENABLE; SELECT WGT_CO INTO V_WGTCO FROM TN_ITM_LIST WHERE OBJ_VAR_ID = V_CD; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched WgtCo not found. ID = ' || V_CD); END IF; if V_WGTCO is null then V_WGTCO := 0; end if; RETURN V_WGTCO; END GET_WGT_CO; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_USER_NAME( in_emp_id IN tn_emp.emp_id%TYPE ) /****************************************************************************** NAME : GET_USER_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.9. 28 ÀÛ¼ºÀÚ : ÀÌÈ£¿µ Use Case ¸í : ³» ¿ë : »ç¿ëÀÚ¸íÀ» ¸®ÅÏ ******************************************************************************/ RETURN VARCHAR2 IS v_emp_nm VARCHAR2 (50); BEGIN DBMS_OUTPUT.ENABLE; SELECT emp_nm INTO v_emp_nm FROM tn_emp WHERE emp_id = in_emp_id; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Emp Name not found. emp_nm = ' || v_emp_nm); END IF; RETURN v_emp_nm; END GET_USER_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_UNIT_ABBR_NAME ( V_CD IN TC_CD_INFO.CD_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_UNIT_ABBR_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.11.21 ÀÛ¼ºÀÚ : ¾È¼º°ü Use Case ¸í : ³» ¿ë : ´ÜÀ§¾à¾î¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS V_NM VARCHAR2(100); BEGIN BEGIN SELECT decode(CD_ABBR_NM, NULL, CD_NM, CD_ABBR_NM) INTO V_NM FROM TC_CD_INFO WHERE CD_ID = V_CD; EXCEPTION WHEN NO_DATA_FOUND THEN V_NM := ''; END; RETURN V_NM; END GET_UNIT_ABBR_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_TN_ITM_LIST_FTN ( in_org_id IN TN_STBL_INFO.ORG_ID%TYPE, in_tbl_id IN TN_STBL_INFO.TBL_ID%TYPE, in_obj_var_id IN TN_ITM_LIST.OBJ_VAR_ID%TYPE ) /********************************************************** ÆÄÀϸí : FN_IN_GET_OV_LVL ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 7. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Åë°èÇ¥ Â÷¿ø¿¡ ÀúÀåµÈ ºÐ·ùÀÇ ´ë»óº¯¼ö ¼ø¼­ ***********************************************************/ RETURN TN_ITM_LIST.ITM_ID%TYPE IS result TN_ITM_LIST.ITM_ID%TYPE := NULL; BEGIN IF in_obj_var_id IS NULL THEN RETURN NULL; END IF; SELECT DECODE (MIN (ITM_ID), NULL, '13999002', MIN(ITM_ID)) INTO result FROM TN_ITM_LIST WHERE OBJ_VAR_ID = in_obj_var_id; RETURN result; EXCEPTION WHEN OTHERS THEN RAISE; -- RETURN NULL; END GET_TN_ITM_LIST_FTN; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_TN_DIM_OV_LVL ( in_org_id IN TN_STBL_INFO.ORG_ID%TYPE, in_tbl_id IN TN_STBL_INFO.TBL_ID%TYPE, in_obj_var_id IN TN_ITM_LIST.OBJ_VAR_ID%TYPE ) /********************************************************** ÆÄÀϸí : FN_IN_GET_OV_LVL ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 7. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Åë°èÇ¥ Â÷¿ø¿¡ ÀúÀåµÈ ºÐ·ùÀÇ ´ë»óº¯¼ö ¼ø¼­ ***********************************************************/ RETURN NUMBER IS LVL NUMBER; BEGIN IF in_obj_var_id IS NULL THEN RETURN NULL; END IF; SELECT DISTINCT B.LVL INTO LVL FROM TN_ITM_LIST A, ( SELECT MIN(OV_L1_ID) ITM_ID, 1 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L1_ID <> '13999002' UNION SELECT MIN(OV_L2_ID) ITM_ID, 2 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L2_ID <> '13999002' UNION SELECT MIN(OV_L3_ID) ITM_ID, 3 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L3_ID <> '13999002' UNION SELECT MIN(OV_L4_ID) ITM_ID, 4 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L4_ID <> '13999002' UNION SELECT MIN(OV_L5_ID) ITM_ID, 5 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L5_ID <> '13999002' UNION SELECT MIN(OV_L6_ID) ITM_ID, 6 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L6_ID <> '13999002' UNION SELECT MIN(OV_L7_ID) ITM_ID, 7 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L7_ID <> '13999002' UNION SELECT MIN(OV_L8_ID) ITM_ID, 8 LVL FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND OV_L8_ID <> '13999002' ) B WHERE A.ORG_ID = in_org_id AND A.TBL_ID = in_tbl_id AND A.OBJ_VAR_ID = in_obj_var_id AND A.ITM_ID = B.ITM_ID; RETURN LVL; EXCEPTION WHEN OTHERS THEN RAISE; -- RETURN NULL; END GET_TN_DIM_OV_LVL; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_TABLE_NAME ( V_TBL_ID TN_STBL_INFO.TBL_ID%TYPE, V_ORG_ID TN_STBL_INFO.ORG_ID%TYPE, V_LANG VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_TABLE_NAME ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ¾ð¾î¸¦ ±¸ºÐÇÏ¿© ÄÚµå¸íÀ» °¡Á®¿Â´Ù. ***********************************************************/ RETURN VARCHAR2 IS V_TBL_NM TN_STBL_INFO.TBL_NM%TYPE; V_TBL_ENG_NM TN_STBL_INFO.TBL_NM%TYPE; V_RESULT_NM TN_STBL_INFO.TBL_NM%TYPE; BEGIN DBMS_OUTPUT.ENABLE; SELECT TBL_NM, TBL_ENG_NM INTO V_TBL_NM, V_TBL_ENG_NM FROM TN_STBL_INFO WHERE TBL_ID = V_TBL_ID AND ORG_ID = V_ORG_ID; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fatched Table Name not found. TBL_ID = ' || V_TBL_ID); END IF; IF V_LANG = 'KOR' THEN V_RESULT_NM := V_TBL_NM; ELSIF V_LANG = 'ENG' THEN V_RESULT_NM := V_TBL_ENG_NM; ELSE V_RESULT_NM := ''; DBMS_OUTPUT.PUT_LINE('Language option only ''KOR'' OR ''ENG (OR NULL)'); END IF; RETURN V_RESULT_NM; END GET_TABLE_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_SUB_STRING( in_name IN VARCHAR2, in_max IN INT, in_add_str IN VARCHAR2 ) /****************************************************************************** NAME : GET_SUB_STRING ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.11. 6 ÀÛ¼ºÀÚ : ÀÌÈ£¿µ Use Case ¸í : ³» ¿ë : È®Àå subString ******************************************************************************/ RETURN VARCHAR2 IS v_name VARCHAR2(1000) := null; v_length INT :=0; BEGIN DBMS_OUTPUT.ENABLE; SELECT LENGTH(in_name) INTO v_length FROM DUAL; IF v_length > in_max THEN select SUBSTR(in_name,0,in_max-LENGTH(in_add_str))||in_add_str INTO v_name FROM DUAL; ELSE v_name := in_name; END IF; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Name not found. in_name = ' || v_name); END IF; RETURN v_name; END GET_SUB_STRING; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_VIEW_COUNT ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_STBL_VIEW_COUNT ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : Åë°èÇ¥ÀÇ Á¶È¸ Ä«¿îÆ®¸¦ °¡Á®¿Â´Ù. ***********************************************************/ RETURN VARCHAR2 IS vResult NUMBER(10); BEGIN DBMS_OUTPUT.ENABLE; SELECT count(*) INTO vResult FROM T_SM_LOG WHERE TBL_ID = vTblId; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_VIEW_COUNT not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; END GET_STBL_VIEW_COUNT; / CREATE OR REPLACE FUNCTION NSISUPDB.get_stbl_unit_id (p_org_id IN tn_stbl_info.org_id%TYPE, p_tbl_id IN tn_stbl_info.tbl_id%TYPE) RETURN VARCHAR2 IS v_unit_id VARCHAR2(40); BEGIN SELECT unit_id INTO v_unit_id FROM tn_stbl_info WHERE org_id = p_org_id AND tbl_id = p_tbl_id ; RETURN v_unit_id; END get_stbl_unit_id; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_RECENT_PRD ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_STBL_RECENT_PRD ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : Åë°èÇ¥ÀÇ °¡Àå ÃÖ±Ù ÀԷ±ⰣÀ» °¡Á®¿Â´Ù. ´Ü, YYYYMMDDÀÇ Çü½ÄÀ¸·Î ¸®ÅÏÇÑ´Ù. ***********************************************************/ RETURN VARCHAR2 IS vResult VARCHAR2(8); BEGIN DBMS_OUTPUT.ENABLE; SELECT MAX(DECODE(LENGTH(END_PRD_DE), 4, END_PRD_DE||'1231', DECODE(LENGTH(END_PRD_DE), 6, END_PRD_DE||'31', END_PRD_DE))) AS RECENT_PRD INTO vResult FROM TN_STBL_RECD_INFO WHERE TBL_ID = vTblId; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_RECENT_PRD not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; END GET_STBL_RECENT_PRD; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_PUB_SE ( in_org_id IN TN_STBL_INFO.ORG_ID%TYPE, in_tbl_id IN TN_STBL_INFO.TBL_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_STBL_PUB_SE ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 16. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : Åë°èÇ¥ÀÇ °øÇ¥±¸ºÐ Àбâ. **********************************************************/ RETURN TN_STBL_INFO.PUB_SE%TYPE IS v_result TN_STBL_INFO.PUB_SE%TYPE := NULL; BEGIN v_result := 0; SELECT PUB_SE INTO v_result FROM TN_STBL_INFO WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id; RETURN v_result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN v_result; WHEN OTHERS THEN RAISE; END GET_STBL_PUB_SE; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_PATH_ROOTID ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE ) /********************************************************** ÆÄÀϸí : GET_STBL_PATH_ROOTID ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ÇØ´ç Åë°èÇ¥°¡ ¼ÓÇÑ ¸ñ·Ï¿¡¼­ ·çÆ® ID¸¦ °¡Á®¿Â´Ù. ***********************************************************/ RETURN VARCHAR2 IS vResult VARCHAR2(8); BEGIN DBMS_OUTPUT.ENABLE; SELECT MAX(DECODE(LENGTH(END_PRD_DE), 4, END_PRD_DE||'1231', DECODE(LENGTH(END_PRD_DE), 6, END_PRD_DE||'31', END_PRD_DE))) INTO vResult FROM TN_STBL_RECD_INFO WHERE TBL_ID = vTblId AND ORG_ID = '214'; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_RECENT_PRD not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; END GET_STBL_PATH_ROOTID; / CREATE OR REPLACE FUNCTION NSISUPDB.DATE_FORMAT ( V_DATE DATE, V_CHAR_DATE IN VARCHAR2 := NULL ) /********************************************************** ÆÄÀϸí : DATE_FORMAT ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.8. 29 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : DATE¸¦ YYYY-MM-DD Æ÷¸äÀÇ ¹®ÀÚ¿­·Î ¹ÝȯÇÑ´Ù. ***********************************************************/ RETURN VARCHAR2 IS FORMAT_DATE VARCHAR2(20); BEGIN IF V_CHAR_DATE IS NULL THEN FORMAT_DATE := TO_CHAR(V_DATE, 'YYYY-MM-DD'); ELSE FORMAT_DATE := TO_CHAR(TO_DATE(V_CHAR_DATE,'YYYYMMDD'), 'YYYY-MM-DD'); END iF; RETURN FORMAT_DATE; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RETURN NULL; END DATE_FORMAT; / CREATE OR REPLACE FUNCTION NSISUPDB.FN_CHECK_DBLINK_SYNONYM ( in_func IN VARCHAR2, in_org_id IN TN_DBLINK_SYNM_INFO.ORG_ID%TYPE, in_dblink_nm IN TN_DBLINK_SYNM_INFO.LINK_NM%TYPE, in_synonym_nm IN VARCHAR2 DEFAULT NULL ) RETURN NUMBER /********************************************************** ÆÄÀϸí : FN_CHECK_DBLINK_SYNONYM ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 10. 26. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : DB Link Á¤º¸¸¦ °Ë»çÇÑ´Ù. 󸮳»¿ë : in_function 01 : DB Link »ý¼º °¡´É ¿©ºÎ in_dblink_nm°ú µ¿ÀÏÇÑ À̸§À» »ç¿ëÇÏ´Â DB Link, SynonymÀÌ ¾ø°Å³ª DB LinkÀÇ TN_DBLINK_SYNM_INFO.org_id = in_org_idÀÎ °æ¿ì 02 : Synonym »ý¼º °¡´É ¿©ºÎ Synonym ÀÌ ¾ø°Å³ª DB LinkÀÇ TN_DBLINK_SYNM_INFO.org_id = in_org_id ÀÎ °æ¿ì ¸®ÅÏ : 0 : DB Link, Synonym »ý¼º °¡´É 1 : DB Link, Synonym »ý¼º ºÒ°¡ ***********************************************************/ IS result NUMBER := 0; v_dblink_cnt NUMBER := 0; v_synonym_cnt NUMBER := 0; v_org_dblink_cnt NUMBER := 0; BEGIN CASE in_func WHEN '01' THEN -- DB LINK »ý¼º °¡´É ¿©ºÎ --DBMS_OUTPUT.PUT_LINE ('Checking database link''s owner...'); SELECT COUNT(SYNONYM_NAME) -- SYNONYM °³¼ö INTO v_synonym_cnt FROM USER_SYNONYMS WHERE UPPER(DB_LINK) = UPPER (in_dblink_nm); IF v_synonym_cnt > 0 THEN -- SYNONYMÀÌ ÀÖ´Â °æ¿ì DBLINKÀÇ ORG_ID ¸¦ °Ë»çÇÑ´Ù. --DBMS_OUTPUT.PUT_LINE ('DBLink has Synonyms...'); SELECT COUNT(LINK_NM) INTO v_org_dblink_cnt FROM TN_DBLINK_SYNM_INFO WHERE ORG_ID = in_org_id AND UPPER(LINK_NM) = UPPER(in_dblink_nm); IF v_org_dblink_cnt = 0 THEN result := 1; ELSE result := 0; END IF; ELSE -- SYNONYMÀÌ ¾ø´Â °æ¿ì, --DBMS_OUTPUT.PUT_LINE ('DBLink has no synonym...'); SELECT COUNT(DB_LINK) -- DB LINK °³¼ö INTO v_dblink_cnt FROM USER_DB_LINKS WHERE UPPER(DB_LINK) = UPPER(in_dblink_nm); IF v_dblink_cnt > 0 THEN -- DBLINK°¡ ÀÖ´Â °æ¿ì DBLINKÀÇ ORG_ID¸¦ °Ë»ç --DBMS_OUTPUT.PUT_LINE ('DBLink is exist....'); SELECT COUNT(LINK_NM) INTO v_org_dblink_cnt FROM TN_DBLINK_SYNM_INFO WHERE ORG_ID = in_org_id AND UPPER(LINK_NM) = UPPER(in_dblink_nm); IF v_org_dblink_cnt = 0 THEN --DBMS_OUTPUT.PUT_LINE ('different owner...'); result := 1; ELSE --DBMS_OUTPUT.PUT_LINE ('same owner...'); result := 0; END IF; ELSE --DBMS_OUTPUT.PUT_LINE ('No dblinks...'); result := 0; END IF; END IF; WHEN '02' THEN SELECT COUNT(SYNONYM_NAME) -- SYNONYM °³¼ö INTO v_synonym_cnt FROM USER_SYNONYMS WHERE UPPER(SYNONYM_NAME) = UPPER(in_synonym_nm); IF v_synonym_cnt > 0 THEN -- SYNONYMÀÌ ÀÖ´Â °æ¿ì DBLINKÀÇ ORG_ID ¸¦ °Ë»çÇÑ´Ù. SELECT COUNT(A.LINK_NM) INTO v_org_dblink_cnt FROM TN_DBLINK_SYNM_INFO A, USER_SYNONYMS B WHERE A.ORG_ID = in_org_id AND UPPER(A.LINK_NM) = UPPER(in_dblink_nm) AND UPPER(A.LINK_NM) = UPPER (B.DB_LINK) AND B.SYNONYM_NAME = UPPER(in_synonym_nm); IF v_org_dblink_cnt = 0 THEN result := 1; ELSE result := 0; END IF; ELSE -- SYNONYMÀÌ ¾ø´Â °æ¿ì, result := 0; END IF ; ELSE RAISE_APPLICATION_ERROR (-20001, 'Á¤ÀǵÇÁö ¾ÊÀº ¾÷¹«±¸ºÐÀÔ´Ï´Ù.'); END CASE; RETURN result; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN 1; WHEN OTHERS THEN RETURN 1; END FN_CHECK_DBLINK_SYNONYM; / CREATE OR REPLACE FUNCTION NSISUPDB.FN_IN_MANAGE_TN_DT ( in_func IN VARCHAR2, -- ÀÛ¾÷±¸ºÐ in_org_id IN TN_DT.ORG_ID%TYPE, -- Á¶Á÷¹øÈ£ in_tbl_id IN TN_DT.TBL_ID%TYPE, -- Åë°èÇ¥ ID in_char_itm_id IN TN_DIM.CHAR_ITM_ID%TYPE DEFAULT NULL, -- ǥƯ¼ºÇ׸ñ in_ov_l1_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L1 in_ov_l2_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L2 in_ov_l3_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L3 in_ov_l4_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L4 in_ov_l5_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L5 in_ov_l6_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L6 in_ov_l7_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L7 in_ov_l8_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, -- ´ë»óº¯¼ö L8 in_prd_se IN TN_DT.PRD_SE%TYPE DEFAULT NULL, -- ±â°£±¸ºÐ in_prd_de IN TN_DT.PRD_DE%TYPE DEFAULT NULL, -- ±â°£ÄÚµå in_dtval_co IN TN_DT.DTVAL_CO%TYPE DEFAULT 0, -- ¼öÄ¡°ª in_dtval_cn IN TN_DT.DTVAL_CN%TYPE DEFAULT NULL, -- ¹®ÀÚ°ª in_smbl_cn IN TN_DT.SMBL_CN%TYPE DEFAULT NULL, in_cmmt_at IN TN_DT.CMMT_AT%TYPE DEFAULT NULL, -- ÁÖ¼®Á¸Àç¿©ºÎ in_pub_se IN TN_DT.PUB_SE%TYPE DEFAULT NULL, -- °øÇ¥±¸ºÐ in_lst_chn_nm IN TN_DT.LST_CHN_NM%TYPE DEFAULT NULL -- ÃÖÁ¾º¯°æÀÚ /********************************************************** ÆÄÀϸí : FN_IN_MANAGE_TN_DT ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 12. 7. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : ¼öÄ¡ µ¥ÀÌÅÍ ÀÔ·Â. in_func = '10' ±âÁ¸ µ¥ÀÌÅͰ¡ ÀÖ´Â °æ¿ì ¼öÄ¡°ª³ª ¹®ÀÚ°ªÀÌ NULLÀÌ ¾Æ´Ñ °æ¿ì UPDATE ó¸® ¼öÄ¡°ª°ú ¹®ÀÚ°ªÀÌ NULLÀÎ °æ¿ì DELETE ó¸® ±âÁ¸ µ¥ÀÌÅͰ¡ ¾ø´Â °æ¿ì ¼öÄ¡°ª³ª ¹®ÀÚ°ªÀÌ NULLÀÌ ¾Æ´Ñ °æ¿ì INSERT ó¸® ***********************************************************/ ) RETURN VARCHAR2 IS v_result VARCHAR2(10) := NULL; v_itm_rcgn_sn TN_DT.ITM_RCGN_SN%TYPE; v_count NUMBER; BEGIN CASE in_func WHEN '10' THEN SELECT ITM_RCGN_SN INTO v_itm_rcgn_sn FROM TN_DIM WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_ID = in_char_itm_id AND NVL (OV_L1_ID, ' ') = NVL (in_ov_l1_id, ' ') AND NVL (OV_L2_ID, ' ') = NVL (in_ov_l2_id, ' ') AND NVL (OV_L3_ID, ' ') = NVL (in_ov_l3_id, ' ') AND NVL (OV_L4_ID, ' ') = NVL (in_ov_l4_id, ' ') AND NVL (OV_L5_ID, ' ') = NVL (in_ov_l5_id, ' ') AND NVL (OV_L6_ID, ' ') = NVL (in_ov_l6_id, ' ') AND NVL (OV_L7_ID, ' ') = NVL (in_ov_l7_id, ' ') AND NVL (OV_L8_ID, ' ') = NVL (in_ov_l8_id, ' '); --DBMS_OUTPUT.PUT_LINE ('v_itm_rcgn_sn============' || TO_CHAR(v_itm_rcgn_sn)); SELECT COUNT(PRD_DE) INTO v_count FROM TN_DT WHERE ITM_RCGN_SN = v_itm_rcgn_sn AND PRD_SE = in_prd_se AND PRD_DE = in_prd_de; IF v_count = 0 THEN IF in_dtval_co IS NOT NULL OR in_dtval_cn IS NOT NULL THEN INSERT INTO TN_DT ( ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, DTVAL_CN, SMBL_CN, PUB_SE, LST_CHN_DE, LST_CHN_NM ) VALUES ( v_itm_rcgn_sn, in_prd_se, in_prd_de, in_org_id, in_tbl_id, in_dtval_co, in_dtval_cn, in_smbl_cn, GET_STBL_PUB_SE(in_org_id, in_tbl_id), TO_CHAR(SYSDATE, 'YYYYMMDD'), in_lst_chn_nm ); SP_IN_UPDATE_CELL_RECD_INFO ('01', in_org_id, in_tbl_id, v_itm_rcgn_sn, in_prd_se, in_lst_chn_nm); v_result := 'I'; ELSE v_result := 'N'; END IF; ELSE IF in_dtval_co IS NOT NULL OR in_dtval_cn IS NOT NULL THEN UPDATE TN_DT SET DTVAL_CO = in_dtval_co, DTVAL_CN = in_dtval_cn, SMBL_CN = in_smbl_cn, LST_CHN_DE = TO_CHAR(SYSDATE, 'YYYYMMDD'), LST_CHN_NM = in_lst_chn_nm WHERE ITM_RCGN_SN = v_itm_rcgn_sn AND PRD_SE = in_prd_se AND PRD_DE = in_prd_de; v_result := 'U'; ELSE DELETE TN_DT WHERE ITM_RCGN_SN = v_itm_rcgn_sn AND PRD_SE = in_prd_se AND PRD_DE = in_prd_de; v_result := 'D'; SP_IN_UPDATE_CELL_RECD_INFO ('01', in_org_id, in_tbl_id, v_itm_rcgn_sn, in_prd_se, in_lst_chn_nm); END IF; END IF; ELSE v_result := 'N'; END CASE; RETURN v_result; END FN_IN_MANAGE_TN_DT; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_PRD_SMBL ( V_ORG_ID IN TN_RECD_PRD.ORG_ID%TYPE, V_TBL_ID IN TN_RECD_PRD.TBL_ID%TYPE, V_PRD_SE IN TN_RECD_PRD.PRD_SE%TYPE, V_PRD_DE IN TN_RECD_PRD.PRD_DE%TYPE ) RETURN VARCHAR2 IS RESULT VARCHAR2(5); /********************************************************** ÆÄÀϸí : GET_PRD_SMBL ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 11. 10 ÀÛ¼ºÀÚ : ¾È¼º°ü Use Case ¸í : ³» ¿ë : ½ÃÁ¡º° Åë°èÇ¥ºÎÈ£ ¸®ÅÏ ( p : ÀáÁ¤Ä¡ e : ÃßÁ¤Ä¡ ¡ä: ½Ã°è¿­ÀǺҿ¬¼Ó x : ºñ¹Ðº¸È£ ) ***********************************************************/ BEGIN BEGIN SELECT decode(SMBL_CN, '', '', ' '||SMBL_CN||')') INTO RESULT FROM tn_recd_prd WHERE org_id = V_ORG_ID AND tbl_id = V_TBL_ID AND prd_se = V_PRD_SE AND prd_de = V_PRD_DE; EXCEPTION WHEN NO_DATA_FOUND THEN RESULT := ''; END; RETURN RESULT; END; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_SRVC_LIST_NAME (in_vw_cd IN TN_SRVC_LIST.VW_CD%TYPE, in_list_id IN TN_SRVC_LIST.LIST_ID%TYPE) RETURN VARCHAR2 IS v_srvc_list_name VARCHAR2 (100); BEGIN SELECT decode(list_nm,null,list_eng_nm,list_nm) INTO v_srvc_list_name FROM TN_SRVC_LIST WHERE VW_CD = in_vw_cd AND LIST_ID=in_list_id; RETURN v_srvc_list_name; END GET_SRVC_LIST_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_NAME (in_tbl_id IN tn_stbl_info.tbl_id%TYPE) RETURN VARCHAR2 IS v_tbl_nm VARCHAR2 (100); BEGIN SELECT tbl_nm INTO v_tbl_nm FROM tn_stbl_info WHERE tbl_id = in_tbl_id; RETURN v_tbl_nm; END GET_STBL_NAME; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_LIST_PATH ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE, vVwCd IN TN_SRVC_VW.VW_CD%TYPE := '', vLang IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_STBL_LIST_PATH ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : Åë°èÇ¥°¡ ¼ÓÇÑ ¸ñ·Ï°æ·Î °¡Á®¿À±â (ÀÏ´ÜÀº... ÇϳªÀÇ ·Î¿ì¸¸) ***********************************************************/ RETURN VARCHAR2 IS vResult VARCHAR2(1000); BEGIN DBMS_OUTPUT.ENABLE; SELECT GET_SERVICE_VIEW_NAME(VW_CD) || SYS_CONNECT_BY_PATH(LIST_NM, '>') INTO vResult FROM ( SELECT VW_CD, LIST_NM, LIST_ID, UP_LIST_ID FROM TN_SRVC_LIST WHERE PUB_SE IN ('1210110', '1210113', '1210114') ) A WHERE LIST_ID IN (SELECT LIST_ID FROM TN_LIST_STBL_REL WHERE TBL_ID = vTblId AND VW_CD LIKE '%'||vVwCd||'%') AND ROWNUM = 1 CONNECT BY PRIOR LIST_ID = UP_LIST_ID START WITH UP_LIST_ID IS NULL; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_LIST_PATH not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; END GET_STBL_LIST_PATH; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_STBL_COMMENT ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE, vLang IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_RECD_PRD_STRING ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : Åë°èÇ¥ÁÖ¼®À» ÇϳªÀÇ Ä÷³À¸·Î ¸®ÅÏÇÑ´Ù. ***********************************************************/ RETURN VARCHAR2 IS vResult VARCHAR2(30000); BEGIN DBMS_OUTPUT.ENABLE; SELECT SUBSTRB(FULL_NM, -LENGTHB(FULL_NM) + 2) FULL_NM_WITH_DIV INTO vResult FROM ( SELECT SYS_CONNECT_BY_PATH(CMMT_DC, ' ') FULL_NM, C_RN FROM ( SELECT CMMT_DC, RN, LAG(RN) OVER(ORDER BY RN) P_RN, LEAD(RN) OVER(ORDER BY RN) C_RN FROM ( SELECT CMMT_DC, ROWNUM RN FROM ( SELECT CMMT_DC FROM TN_CMMT_INFO WHERE CMMT_SE = '1210610' -- Åë°èÇ¥ÁÖ¼® AND TBL_ID = vTblId ORDER BY LINE_SN ASC ) ) ORDER BY RN ) CONNECT BY PRIOR RN = P_RN START WITH P_RN IS NULL ) T WHERE C_RN IS NULL; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_COMMENT not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; EXCEPTION WHEN OTHERS THEN return ''; END GET_STBL_COMMENT; / CREATE OR REPLACE FUNCTION NSISUPDB.get_stat_name (in_stat_id IN tn_stat.stat_id%TYPE) RETURN VARCHAR2 IS v_stat_nm VARCHAR2 (100); BEGIN SELECT stat_nm INTO v_stat_nm FROM tn_stat WHERE stat_id = in_stat_id; RETURN v_stat_nm; END get_stat_name; / CREATE OR REPLACE FUNCTION NSISUPDB.DATE_STR ( v_str IN VARCHAR2 ) /********************************************************** ÆÄÀϸí : DATE_FORMAT ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.10.23 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : 00000000 Çü½ÄÀÇ ¹®ÀÚ¸¦ 0000/00/00 ÇüÅ·Π¹ÝȯÇÑ´Ù. ***********************************************************/ RETURN VARCHAR2 IS format_str VARCHAR2(15); v_DENIM VARCHAR2(1) := '/'; BEGIN IF length(v_str) = 4 THEN format_str := substr(v_str, 1); ELSIF length(v_str) >= 6 AND length(v_str) < 8 THEN format_str := substr(v_str, 1, 4)||v_DENIM||substr(v_str,5,2); ELSIF length(v_str) >= 8 THEN format_str := substr(v_str, 1, 4)||v_DENIM||substr(v_str,5,2)||v_DENIM||substr(v_str, 7); ELSE format_str := v_str; END IF; RETURN format_str; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN NULL; WHEN OTHERS THEN RETURN 'Exception occurred'; END DATE_STR; / CREATE OR REPLACE FUNCTION NSISUPDB.FN_IN_CREATE_QUTRYEAR_INS ( in_org_id IN TN_STBL_INFO.ORG_ID%TYPE, in_tbl_id IN TN_STBL_INFO.TBL_ID%TYPE, in_func IN VARCHAR2, in_src_prd_se IN TN_DT.PRD_SE%TYPE, in_cre_prd_se IN TN_DT.PRD_SE%TYPE, in_prd_de IN TN_DT.PRD_DE%TYPE, in_strt_prd_de IN TN_DT.PRD_DE%TYPE, in_end_prd_de IN TN_DT.PRD_DE%TYPE, in_lst_chn_nm IN TN_DT.LST_CHN_NM%TYPE, in_char_itm_id IN TN_DIM.CHAR_ITM_ID%TYPE, in_ov_l1_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, in_ov_l2_id IN TN_DIM.OV_L2_ID%TYPE DEFAULT NULL, in_ov_l3_id IN TN_DIM.OV_L3_ID%TYPE DEFAULT NULL, in_ov_l4_id IN TN_DIM.OV_L4_ID%TYPE DEFAULT NULL, in_ov_l5_id IN TN_DIM.OV_L5_ID%TYPE DEFAULT NULL, in_ov_l6_id IN TN_DIM.OV_L6_ID%TYPE DEFAULT NULL, in_ov_l7_id IN TN_DIM.OV_L7_ID%TYPE DEFAULT NULL, in_ov_l8_id IN TN_DIM.OV_L8_ID%TYPE DEFAULT NULL, in_sm_l1_id IN TN_DIM.OV_L1_ID%TYPE DEFAULT NULL, in_sm_l2_id IN TN_DIM.OV_L2_ID%TYPE DEFAULT NULL, in_sm_l3_id IN TN_DIM.OV_L3_ID%TYPE DEFAULT NULL, in_sm_l4_id IN TN_DIM.OV_L4_ID%TYPE DEFAULT NULL, in_sm_l5_id IN TN_DIM.OV_L5_ID%TYPE DEFAULT NULL, in_sm_l6_id IN TN_DIM.OV_L6_ID%TYPE DEFAULT NULL, in_sm_l7_id IN TN_DIM.OV_L7_ID%TYPE DEFAULT NULL, in_sm_l8_id IN TN_DIM.OV_L7_ID%TYPE DEFAULT NULL, in_dec_pnt IN NUMBER DEFAULT 0, in_proc_dec_pnt IN VARCHAR2 DEFAULT '1' -- ¼Ò¼öÁ¡ 󸮹æ¹ý. 1-¹Ý¿Ã¸², 2-¹ö¸² ) RETURN NUMBER /********************************************************** ÆÄÀϸí : FN_IN_CREATE_QUTRYEAR_INS ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006. 9. 8. ÀÛ¼ºÀÚ : À¯µ¿¸í Use Case ¸í : ³» ¿ë : ºÐ±â³âÀڷḦ »ý¼ºÇÑ´Ù. ´ë»óº¯¼ö ¹× °¹¼ö´Â ¾Õ¿¡¼­ºÎÅÍ Ã¤¿öÁ®¾ß ÇÑ´Ù. ´ë»óº¯¼ö 3ÀÌ NULLÀ̸é 4¹øÀÌÈÄ´Â ¸ðµÎ NULL·Î °£ÁÖÇÏ¿© ó¸®ÇÏÁö ¾Ê´Â´Ù. 2006. 9. 29. ¼¿¼ö·ÏÁ¤º¸ ¼öÁ¤ Ãß°¡¿¡ µû¸¥ ¼öÁ¤ 2006. 11. 10. °è»ê ¹æ¹ý º¯°æ ¼±ÅÃµÈ ºÐ·ù°¡ ¾Æ´Ñ ¼±ÅÃµÈ ÃÖ»óÀ§ºÐ·ùÀÇ ¸ðµç ÇÏÀ§ ºÐ·ù¸¦ °è»ê. ***********************************************************/ IS v_temp NUMBER := 0; v_itm_rcgn_sn TN_DT.ITM_RCGN_SN%TYPE := 0; v_cursor Types.cursorType; v_cursor_1 Types.cursorType; v_result NUMBER := 0; v_prd_se TN_DT.PRD_SE%TYPE := NULL; v_prd_de TN_DT.PRD_DE%TYPE := NULL; v_undefined_data TN_DT.DTVAL_CO%TYPE := 9999999999.99999; -- ¹Ì»óÀÚ·á BEGIN -- DBMS_OUTPUT.PUT_LINE (in_strt_prd_de || ':' || in_end_prd_de || ':' || in_prd_de || ':' || in_cre_prd_se); -- DBMS_OUTPUT.PUT_LINE (in_char_itm_id || '::' || in_ov_l1_id || '::' || in_ov_l2_id); CASE in_func -- ´Ü¼øÇÕ °è»ê WHEN '1' THEN -- ¹Ì»óÀڷḦ °¡ÁöÁö ¾Ê´Â Ç׸ñ¼ø¹øÀÇ µ¥ÀÌÅÍ INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ DECODE (in_proc_dec_pnt, '1', ROUND(SUM (DTVAL_CO), in_dec_pnt), TRUNC (SUM (DTVAL_CO), in_dec_pnt)) DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B, ( SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de MINUS SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de AND DTVAL_CO = v_undefined_data ) C WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.ITM_RCGN_SN = C.ITM_RCGN_SN AND A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; -- ¹Ì»óÀÚ·á µ¥ÀÌÅͰ¡ 1°ÇÀÌ¶óµµ ÀÖ´Â °æ¿ì, ÇØ´ç ÀÚ·á´Â ¹«Á¶°Ç ¹Ì»óÀÚ·á·Î »ý¼ºµÈ´Ù. INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ --DECODE (in_proc_dec_pnt, '1', ROUND(SUM (DTVAL_CO), in_dec_pnt), TRUNC (SUM (DTVAL_CO), in_dec_pnt)) DTVAL_CO, v_undefined_data DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.DTVAL_CO = v_undefined_data AND A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; OPEN v_cursor FOR SELECT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_cre_prd_se AND prd_de = in_prd_de; LOOP FETCH v_cursor INTO v_itm_rcgn_sn; EXIT WHEN v_cursor%NOTFOUND; SP_IN_UPDATE_CELL_RECD_INFO ('01', in_org_id, in_tbl_id, v_itm_rcgn_sn, in_cre_prd_se, in_lst_chn_nm); END LOOP; -- ´Ü¼øÆò±Õ °è»ê WHEN '2' THEN -- ¹Ì»óÀÚ·á Á¦¿ÜÇϰí ó¸® INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ DECODE (in_proc_dec_pnt, '1', ROUND(AVG(DTVAL_CO), in_dec_pnt),TRUNC (AVG (DTVAL_CO), in_dec_pnt)) DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B, ( SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de MINUS SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de AND DTVAL_CO = v_undefined_data ) C WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.ITM_RCGN_SN = C.ITM_RCGN_SN AND A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; -- ¹Ì»óÀÚ·á ó¸® INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ --DECODE (in_proc_dec_pnt, '1', ROUND(AVG(DTVAL_CO), in_dec_pnt),TRUNC (AVG (DTVAL_CO), in_dec_pnt)) DTVAL_CO, v_undefined_data DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.DTVAL_CO = v_undefined_data AND -- ¹Ì»óÀÚ·á¿¡ ´ëÇØ¼­¸¸ ó¸® A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; OPEN v_cursor FOR SELECT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_cre_prd_se AND prd_de = in_prd_de; LOOP FETCH v_cursor INTO v_itm_rcgn_sn; EXIT WHEN v_cursor%NOTFOUND; SP_IN_UPDATE_CELL_RECD_INFO ('01', in_org_id, in_tbl_id, v_itm_rcgn_sn, in_cre_prd_se, in_lst_chn_nm); END LOOP; -- ÃÖ±ÙÄ¡ °è»ê WHEN '3' THEN -- ¹Ì»óÀÚ·á Á¦¿ÜÇϰí ó¸® INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ DECODE (in_proc_dec_pnt, '1', ROUND (SUM (DTVAL_CO), in_dec_pnt), TRUNC (SUM (DTVAL_CO), in_dec_pnt)) DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B, ( SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de MINUS SELECT DISTINCT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_src_prd_se AND PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de AND DTVAL_CO = v_undefined_data ) C WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.ITM_RCGN_SN = C.ITM_RCGN_SN AND A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; -- ¹Ì»óÀÚ·á ó¸® INSERT INTO TN_DT (ITM_RCGN_SN, PRD_SE, PRD_DE, ORG_ID, TBL_ID, DTVAL_CO, PUB_SE, LST_CHN_DE, LST_CHN_NM) SELECT /*+ INDEX (Z IDX2_TN_DIM) */ Z.ITM_RCGN_SN, in_cre_prd_se, in_prd_de, in_org_id, in_tbl_id, Y.DTVAL_CO, GET_STBL_PUB_SE (in_org_id, in_tbl_id), TO_CHAR (SYSDATE, 'YYYYMMDD'), in_lst_chn_nm FROM TN_DIM Z, ( SELECT /*+ ordered use_hash(a) use_hash(b) */ --DECODE (in_proc_dec_pnt, '1', ROUND (SUM (DTVAL_CO), in_dec_pnt), TRUNC (SUM (DTVAL_CO), in_dec_pnt)) DTVAL_CO, v_undefined_data DTVAL_CO, B.CHAR_ITM_ID, DECODE (B.OV_L1_ID, NULL, in_sm_l1_id, B.OV_L1_ID) OV_L1_ID, DECODE (B.OV_L2_ID, NULL, in_sm_l2_id, B.OV_L2_ID) OV_L2_ID, DECODE (B.OV_L3_ID, NULL, in_sm_l3_id, B.OV_L3_ID) OV_L3_ID, DECODE (B.OV_L4_ID, NULL, in_sm_l4_id, B.OV_L4_ID) OV_L4_ID, DECODE (B.OV_L5_ID, NULL, in_sm_l5_id, B.OV_L5_ID) OV_L5_ID, DECODE (B.OV_L6_ID, NULL, in_sm_l6_id, B.OV_L6_ID) OV_L6_ID, DECODE (B.OV_L7_ID, NULL, in_sm_l7_id, B.OV_L7_ID) OV_L7_ID, DECODE (B.OV_L8_ID, NULL, in_sm_l8_id, B.OV_L8_ID) OV_L8_ID FROM TN_DT A, ( SELECT ITM_RCGN_SN, AA.* FROM TN_DIM L, ( SELECT /*+ ordered use_hash(a) use_hash(b) use_hash(c) use_hash(d) use_hash(e) use_hash(f) use_hash(g) use_hash(h) */ Z.ITM_ID CHAR_ITM_ID, A.ITM_ID OV_L1_ID, B.ITM_ID OV_L2_ID, C.ITM_ID OV_L3_ID, D.ITM_ID OV_L4_ID, E.ITM_ID OV_L5_ID, F.ITM_ID OV_L6_ID, G.ITM_ID OV_L7_ID, H.ITM_ID OV_L8_ID FROM ( SELECT ITM_ID -- Ç׸ñ FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'Y' AND UP_ITM_ID IS NULL AND ITM_ID = in_char_itm_id ) Z, ( SELECT DISTINCT DECODE (in_ov_l1_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l1_id, NULL, NULL, UP_ITM_ID) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l1_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l1_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l1_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) A, ( SELECT DISTINCT DECODE(in_ov_l2_id, NULL, NULL, ITM_ID) ITM_ID, DECODE(in_ov_l2_id, NULL, NULL, in_ov_l2_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l2_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l2_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l2_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) B, ( SELECT DISTINCT DECODE (in_ov_l3_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l3_id, NULL, NULL, in_ov_l3_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l3_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l3_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l3_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) C, ( SELECT DISTINCT DECODE (in_ov_l4_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l4_id, NULL, NULL, in_ov_l4_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l4_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l4_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l4_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) D, ( SELECT DISTINCT DECODE (in_ov_l5_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l5_id, NULL, NULL, in_ov_l5_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l5_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l5_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l5_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) E, ( SELECT DISTINCT DECODE (in_ov_l6_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l6_id, NULL, NULL, in_ov_l6_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l6_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l6_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l6_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) F, ( SELECT DISTINCT DECODE (in_ov_l7_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l7_id, NULL, NULL, in_ov_l7_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l7_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l7_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l7_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) G, ( SELECT DISTINCT DECODE (in_ov_l8_id, NULL, NULL, ITM_ID) ITM_ID, DECODE (in_ov_l8_id, NULL, NULL, in_ov_l8_id) UP_ITM_ID FROM TN_ITM_LIST WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND CHAR_ITM_AT = 'N' AND NVL (OBJ_VAR_ID, ' ') = DECODE (in_ov_l8_id, NULL, NVL (OBJ_VAR_ID, ' '), in_ov_l8_id) AND NVL (FTN_VAL_AT, 'N') = DECODE (in_ov_l8_id, NULL, 'N', NVL (FTN_VAL_AT, 'N')) ) H ) AA WHERE L.ORG_ID = in_org_id AND L.TBL_ID = in_tbl_id AND NVL (L.CHAR_ITM_ID, ' ') = NVL (AA.CHAR_ITM_ID, ' ') AND DECODE (in_ov_l1_id, NULL, ' ', NVL (L.OV_L1_ID, ' ')) = DECODE (in_ov_l1_id, NULL, ' ', NVL (AA.OV_L1_ID, ' ')) AND DECODE (in_ov_l2_id, NULL, ' ', NVL (L.OV_L2_ID, ' ')) = DECODE (in_ov_l2_id, NULL, ' ', NVL (AA.OV_L2_ID, ' ')) AND DECODE (in_ov_l3_id, NULL, ' ', NVL (L.OV_L3_ID, ' ')) = DECODE (in_ov_l3_id, NULL, ' ', NVL (AA.OV_L3_ID, ' ')) AND DECODE (in_ov_l4_id, NULL, ' ', NVL (L.OV_L4_ID, ' ')) = DECODE (in_ov_l4_id, NULL, ' ', NVL (AA.OV_L4_ID, ' ')) AND DECODE (in_ov_l5_id, NULL, ' ', NVL (L.OV_L5_ID, ' ')) = DECODE (in_ov_l5_id, NULL, ' ', NVL (AA.OV_L5_ID, ' ')) AND DECODE (in_ov_l6_id, NULL, ' ', NVL (L.OV_L6_ID, ' ')) = DECODE (in_ov_l6_id, NULL, ' ', NVL (AA.OV_L6_ID, ' ')) AND DECODE (in_ov_l7_id, NULL, ' ', NVL (L.OV_L7_ID, ' ')) = DECODE (in_ov_l7_id, NULL, ' ', NVL (AA.OV_L7_ID, ' ')) AND DECODE (in_ov_l8_id, NULL, ' ', NVL (L.OV_L8_ID, ' ')) = DECODE (in_ov_l8_id, NULL, ' ', NVL (AA.OV_L8_ID, ' ')) ORDER BY AA.CHAR_ITM_ID, AA.OV_L1_ID, AA.OV_L2_ID ) B WHERE A.ITM_RCGN_SN = B.ITM_RCGN_SN AND A.DTVAL_CO = v_undefined_data AND -- ¹Ì»óÀÚ·á¿¡ ´ëÇØ¼­¸¸ ó¸® A.PRD_SE = in_src_prd_se AND A.PRD_DE BETWEEN in_strt_prd_de AND in_end_prd_de GROUP BY B.CHAR_ITM_ID, B.OV_L1_ID, B.OV_L2_ID, B.OV_L3_ID, B.OV_L4_ID, B.OV_L5_ID, B.OV_L6_ID, B.OV_L7_ID, B.OV_L8_ID ) Y WHERE Z.ORG_ID = in_org_id AND Z.TBL_ID = in_tbl_id AND Z.CHAR_ITM_ID = Y.CHAR_ITM_ID AND Y.DTVAL_CO IS NOT NULL AND NVL (Z.OV_L1_ID, ' ') = NVL (Y.OV_L1_ID, ' ') AND NVL (Z.OV_L2_ID, ' ') = NVL (Y.OV_L2_ID, ' ') AND NVL (Z.OV_L3_ID, ' ') = NVL (Y.OV_L3_ID, ' ') AND NVL (Z.OV_L4_ID, ' ') = NVL (Y.OV_L4_ID, ' ') AND NVL (Z.OV_L5_ID, ' ') = NVL (Y.OV_L5_ID, ' ') AND NVL (Z.OV_L6_ID, ' ') = NVL (Y.OV_L6_ID, ' ') AND NVL (Z.OV_L7_ID, ' ') = NVL (Y.OV_L7_ID, ' ') AND NVL (Z.OV_L8_ID, ' ') = NVL (Y.OV_L8_ID, ' '); v_result := v_result + SQL%ROWCOUNT; OPEN v_cursor FOR SELECT ITM_RCGN_SN FROM TN_DT WHERE ORG_ID = in_org_id AND TBL_ID = in_tbl_id AND PRD_SE = in_cre_prd_se AND prd_de = in_prd_de; LOOP FETCH v_cursor INTO v_itm_rcgn_sn; EXIT WHEN v_cursor%NOTFOUND; SP_IN_UPDATE_CELL_RECD_INFO ('01', in_org_id, in_tbl_id, v_itm_rcgn_sn, in_cre_prd_se, in_lst_chn_nm); END LOOP; END CASE; -- DBMS_OUTPUT.PUT_LINE ('»ý¼º : ' || v_result); RETURN v_result; END FN_IN_CREATE_QUTRYEAR_INS; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_LAST_RECD_DATA( in_org_id IN TN_STBL_RECD_INFO.org_id%TYPE, in_tbl_id IN TN_STBL_RECD_INFO.tbl_id%TYPE ) /****************************************************************************** NAME : GET_LAST_RECD_DATA ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2006.11. 22 ÀÛ¼ºÀÚ : ÀÌÈ£¿µ Use Case ¸í : ³» ¿ë : »ç¿ëÀÚ¸íÀ» ¸®ÅÏ ******************************************************************************/ RETURN VARCHAR2 IS v_end_prd_de VARCHAR2 (20); BEGIN DBMS_OUTPUT.ENABLE; SELECT end_prd_de || '(' || GET_PRD_NAME(PRD_SE) || ')' INTO v_end_prd_de FROM TN_STBL_RECD_INFO WHERE org_id = in_org_id and tbl_id = in_tbl_id and end_prd_de = ( select max(end_prd_de) from TN_STBL_RECD_INFO WHERE org_id = in_org_id and tbl_id = in_tbl_id ) AND ROWNUM = 1; -- SELECT max(end_prd_de) INTO v_end_prd_de -- FROM TN_STBL_RECD_INFO -- WHERE org_id = in_org_id -- AND tbl_id = in_tbl_id; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(''); --DBMS_OUTPUT.PUT_LINE('Fetched Emp Name not found. end_prd_de = ' || v_end_prd_de); END IF; RETURN v_end_prd_de; END GET_LAST_RECD_DATA; / CREATE OR REPLACE FUNCTION NSISUPDB.GET_RECD_PRD_STRING ( vTblId IN TN_STBL_INFO.TBL_ID%TYPE, vLang IN VARCHAR2 := 'KOR' ) /********************************************************** ÆÄÀϸí : GET_RECD_PRD_STRING ¹öÀü : 0.0.0.1 ÀÛ¼ºÀÏ : 2007. 05. 11 ÀÛ¼ºÀÚ : ±èÁÖ°ü Use Case ¸í : ³» ¿ë : ±â°£¸íÀ» ¾ð¾î¿¡ ¸Â°Ô ¸®ÅÏ ***********************************************************/ RETURN VARCHAR2 IS vResult VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; SELECT D || T || M || B || Q || H || Y || F INTO vResult FROM (SELECT TBL_ID, MIN (D) D, MIN (T) T, MIN (M) M, MIN (B) B, MIN (Q) Q, MIN (H) H, MIN (Y) Y, MIN (F) F FROM (SELECT TBL_ID, DECODE (PRD_SE, 'D', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS D, DECODE (PRD_SE, 'T', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS T, DECODE (PRD_SE, 'M', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS M, DECODE (PRD_SE, 'B', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS B, DECODE (PRD_SE, 'Q', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS Q, DECODE (PRD_SE, 'H', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS H, DECODE (PRD_SE, 'Y', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS Y, DECODE (PRD_SE, 'F', GET_PRD_NAME (PRD_SE) || ':' || DATE_STR (STRT_PRD_DE) || '~' || DATE_STR (END_PRD_DE) || ' ' ) AS F FROM TN_STBL_RECD_INFO WHERE TBL_ID = vTblId) GROUP BY TBL_ID); IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('Fetched STBL_RECD_PRD not found. TBL_ID = ' || vTblId); END IF; RETURN vResult; END GET_RECD_PRD_STRING; /