PLS-00103编译错误咨询:遇LC_SQLERRM,预期language相关项
编译错误PLS-00103排查与解决
错误原因
你的代码存在两个核心问题:
- 包结构混淆:PL/SQL包分为包规范(PACKAGE)和包体(PACKAGE BODY),你重复使用
CREATE OR REPLACE PACKAGE定义包体,编译器无法识别包体内的变量声明逻辑,导致遇到lc_sqlerrm变量时抛出语法错误。 - 冗余语法与客户端命令:代码中混入了SQL*Plus客户端命令(
SET VERIFY OFF、WHENEVER SQLERROR...),这些命令不属于PL/SQL包定义的一部分,会干扰编译;同时存在多余的END XX_INS_DATA_ADI;语句,破坏了包体结构完整性。
解决方案
- 将第二个包定义语句从
CREATE OR REPLACE PACKAGE改为CREATE OR REPLACE PACKAGE BODY,匹配包规范与包体的对应关系。 - 移除所有SQL*Plus客户端命令,确保代码仅包含纯PL/SQL包定义。
- 删除多余的
END XX_INS_DATA_ADI;语句,保证包体语法结构正确。
修正后的完整代码
-- 包规范 CREATE OR REPLACE PACKAGE APPS.XX_PROC_ADI_test AS PROCEDURE XX_INS_DATA_ADI ( p_primary_uom_flag VARCHAR2, p_list_line_type_code VARCHAR2, p_price_break_type_code VARCHAR2, p_arithmetic_operator VARCHAR2, p_operand NUMBER, p_start_date_active DATE, p_end_date_active DATE, p_product_precedence NUMBER ); END XX_PROC_ADI_test; / -- 包体 CREATE OR REPLACE PACKAGE BODY APPS.XX_PROC_ADI_test AS PROCEDURE XX_INS_DATA_ADI ( p_primary_uom_flag VARCHAR2, p_list_line_type_code VARCHAR2, p_price_break_type_code VARCHAR2, p_arithmetic_operator VARCHAR2, p_operand NUMBER, p_start_date_active DATE, p_end_date_active DATE, p_product_precedence NUMBER )IS lc_sqlerrm VARCHAR2(2000); lc_error_msg VARCHAR2 (2000); l_responsibility_id NUMBER := apps.fnd_global.resp_id; l_resp_application_id NUMBER := apps.fnd_global.resp_appl_id; l_org_id NUMBER := apps.fnd_global.org_id; l_user_id NUMBER := apps.fnd_global.user_id; BEGIN INSERT INTO QP_LIST_LINES( primary_uom_flag, list_line_type_code, price_break_type_code, arithmetic_operator, operand, start_date_active, end_date_active, product_precedence ) VALUES ( p_primary_uom_flag, p_list_line_type_code, p_price_break_type_code, p_arithmetic_operator, p_operand, p_start_date_active, p_end_date_active, p_product_precedence ); COMMIT; EXCEPTION WHEN OTHERS THEN lc_sqlerrm := SUBSTR(SQLERRM,1,1999); raise_application_error (-20001, 'OTHER_EXCEPTION - MSG | ' || lc_sqlerrm); END XX_INS_DATA_ADI; END XX_PROC_ADI_test; /
内容的提问来源于stack exchange,提问作者LittleBitDeveloper
相关产品推荐
相关产品推荐

