本章主要目的是介绍Oracle EBS 应付发票 接口导入的API,因为有时需要开发一些应付发票批量导入或者给外围系统提供应付发票导入功能。
背景介绍:因为有时需要开发一些应付发票批量导入或者从外围系统导入功能,这些时候我们就需要用到Oracle提供的应付发票接口表和API。
Oracle EBS 版本:11.5i
开发工具:PL/SQL Developer
代码:(以下代码已经在11.5i环境测试通过)
--author:jimmy
--Date:2014.05.24
--program:invoice_import
--desc:应付发票导入程序
DECLARE
l_iface_rec ap_invoices_interface%ROWTYPE;
l_iface_lines_rec ap_invoice_lines_interface%ROWTYPE;
l_org_id NUMBER := 232;
gv_user_id NUMBER := 0;--fnd_global.user_id;
gv_login_id NUMBER := 0;--fnd_global.login_id;
l_success BOOLEAN;
--
v_batch_error_flag VARCHAR2(30);
v_invoices_fetched NUMBER;
v_invoices_created NUMBER;
v_total_invoice_amount NUMBER; -- bug 989221
v_print_batch_flag VARCHAR2(30);
l_input_batch_number VARCHAR2(80);
--
BEGIN
--SELECT * FROM fnd_user WHERE user_name='SYSADMIN';
--初始化环境变量变量
fnd_global.apps_initialize(user_id => gv_user_id,
resp_id => 50243,
resp_appl_id => 20003);
--set who date
--发票头最后更新人
l_iface_rec.last_updated_by := gv_user_id;
--发票头创建时间
l_iface_rec.creation_date := SYSDATE;
--发票头创建人
l_iface_rec.created_by := gv_user_id;
--发票头最后登录人
l_iface_rec.last_update_login := gv_login_id;
--发票行最后更新时间
l_iface_lines_rec.last_update_date := SYSDATE;
--发票行最后更新人
l_iface_lines_rec.last_updated_by := gv_user_id;
--发票行创建时间
l_iface_lines_rec.creation_date := SYSDATE;
--发票行的创建人
l_iface_lines_rec.created_by := gv_user_id;
--发票行最后更新人
l_iface_lines_rec.last_update_login := gv_login_id;
--
--发票头
--获取发票invoice id
SELECT ap_invoices_interface_s.NEXTVAL
INTO l_iface_rec.invoice_id
FROM dual;
dbms_output.put_l