PROCEDURE DELETELOC ( P_LAYTKY IN VARCHAR2 ,P_LBUILD IN VARCHAR2 ,P_LSTORY IN VARCHAR2 ,P_WAREKY IN VARCHAR2 ,P_STOKKY IN VARCHAR2 ,P_ZONEKY IN VARCHAR2 ,L_RESULT OUT WOSRECCURTYP) IS V_ALTZONE VARCHAR2(3000); V_ERRNUM VARCHAR(255); V_ERRMSG VARCHAR(255); BEGIN BEGIN UPDATE LAYOI SET INDBZL = 'D' WHERE LAYTKY = P_LAYTKY AND BLOCTY NOT IN ('30','39'); COMMIT; UPDATE LAYOI SET INDBZL = 'D' WHERE LAYTKY = P_LAYTKY AND LBLOCK IN ( SELECT LBLOCK FROM LOCBL WHERE STOKKY = P_STOKKY AND WAREKY = P_WAREKY --AND ZONEKY IN (V_ALTZONE) AND ZONEKY IN ( SELECT * FROM table(split(REPLACE(P_ZONEKY,'::', ''),',') ) ) ); COMMIT; OPEN L_RESULT for SELECT '0' FROM DUAL; EXCEPTION WHEN OTHERS THEN ROLLBACK; OPEN L_RESULT for SELECT '-1' FROM DUAL; V_ERRNUM := SQLCODE; V_ERRMSG := substr(SQLERRM, 1, 255); raise_application_error(-20002, v_errmsg); END; END DELETELOC;
저번에 이프로시저에 대해 물어보았는데 Error 떨어지는부분이
raise_application_error(-20002, v_errmsg) 이 함수 입니다 .단순히 로그를 남기는 함수인데 , 지우 고 실행하면 에러는 없네요..
9I 하고 11G 하고 버젼 차이때문에 그런것같은데.. 11g 를 9I 환경에 맞게 셋팅하려면 어떤것을 참조하면서 해야 할까요 ?
항상 좋은 답변 감사드립니다. ( __ )