调用包里的过程导入数据,报没有声明,到底如何声明???

瞌觉兴国 2015-01-29 01:36:05


我就想问下怎么解决这个问题,不是问出了什么问题。

包里具体的内容
PROCEDURE insert_emp_sap_lifnr_expand
(
p_employee_id NUMBER,
p_company_id NUMBER,
p_sap_lifnr VARCHAR2,
p_user_id NUMBER
) IS
v_count NUMBER := 0;

e_sap_lifnr_duplicate_error EXCEPTION;
BEGIN
--校验员工供应商是否重复
SELECT COUNT(1)
INTO v_count
FROM exp_emp_assigns_sap_lifnr l
WHERE l.employee_id = p_employee_id
AND l.company_id = p_company_id;

IF v_count > 0 THEN
RAISE e_sap_lifnr_duplicate_error;
END IF;

--新增
insert_exp_emp_sap_lifnr(p_employee_id => p_employee_id,
p_company_id => p_company_id,
p_sap_lifnr => p_sap_lifnr,
p_user_id => p_user_id);

--传SAP
csc_iface_vender_pkg.sap_vender_save(p_employee_id => p_employee_id,
p_company_id => p_company_id);
EXCEPTION
WHEN e_sap_lifnr_duplicate_error THEN
sys_raise_app_error_pkg.raise_user_define_error(p_message_code => 'EXP_SAP_LIFNR_DUPLICATE_ERROR',
p_created_by => p_user_id,
p_package_name => 'EXP_EMP_SAP_LIFNR_PKG',
p_procedure_function_name => 'INSERT_EMP_SAP_LIFNR_EXPAND');
raise_application_error(sys_raise_app_error_pkg.c_error_number,
sys_raise_app_error_pkg.g_err_line_id);
END insert_emp_sap_lifnr_expand;
...全文
111 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2015-01-29
  • 打赏
  • 举报
回复
好吧... 败给你了
小灰狼W 2015-01-29
  • 打赏
  • 举报
回复
你那个是包体,检查包里是否有声明 另外,是否是用错包了,比如用了不同的用户
瞌觉兴国 2015-01-29
  • 打赏
  • 举报
回复
问题找到了, 使用的PKG是 exp_emp_sap_lifnr_pkg ,不是 data_load,所以会报错。 被细节折腾了半天,唉

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧