EBS采购订单创建发票
2017-09-08 00:10
615 查看
--初始化
/*
begin
fnd_global.apps_initialize(user_id => 8162,
resp_id => 50692,
resp_appl_id => 20003);
mo_global.init('M');
end;
*/
--注意,以下产生的发票会产生差异,需要手动调整发票,然后重新手工验证发票即可验证
declare
l_api_name CONSTANT VARCHAR2(30) := 'insert_ap_tmp';
l_savepoint_name CONSTANT VARCHAR2(30) := '';
l_iface_rec ap_invoices_interface%ROWTYPE;
l_iface_lines_rec ap_invoice_lines_interface%ROWTYPE;
l_ip_invoice_amount NUMBER;
l_ip_tax_amount NUMBER;
l_stmt_amount NUMBER;
l_tax_code VARCHAR2(30);
l_line_num NUMBER;
l_vendor_site_id NUMBER;
l_ccid NUMBER;
l_seg24 VARCHAR2(100) := '/0/';
l_seg678910 VARCHAR2(100) := '/0/0/0/0/0';
l_wait BOOLEAN;
x_phase VARCHAR2(80);
x_status VARCHAR2(80);
x_dev_phase VARCHAR2(80);
x_dev_status VARCHAR2(80);
x_message VARCHAR2(80);
x_group_id number;
x_request_id number;
BEGIN
x_group_id := NULL;
IF x_group_id IS NULL THEN
x_group_id := cux_ap_statement_imp_group_s.nextval;
END IF;
l_vendor_site_id := NULL;
l_iface_rec := NULL;
l_iface_rec.last_updated_by := 8162;
l_iface_rec.creation_date := SYSDATE;
l_iface_rec.created_by := 8162;
l_iface_rec.last_update_login := -1;
l_iface_rec.last_update_date := SYSDATE;
l_iface_rec.invoice_id := ap_invoices_interface_s.nextval;
l_iface_rec.group_id := x_group_id;
l_iface_rec.org_id := 295;--c_invc.org_id;
l_iface_rec.source := 'INVOICE GATEWAY';
l_iface_rec.attribute6 := 'ZP';--ZP增值税专票--QT其他票据--PP增值税普票--c_invc.vat_invoice_type; ---发票类型
select 'zsxcdf1234'
INTO l_iface_rec.invoice_num
from dual;
select 0.1,0.01--含税金额和不含税金额
INTO l_ip_invoice_amount, l_ip_tax_amount
from dual;
select 0.11--对账单金额
INTO l_stmt_amount
from dual;
select 0.11
INTO l_iface_rec.invoice_amount
from dual;
/* fnd_file.put_line(fnd_file.log,
'l_iface_rec.invoice_amount:' ||
l_iface_rec.invoice_amount);*/
l_iface_rec.invoice_type_lookup_code := 'STANDARD';--STANDARD标准、CREDIT贷项通知单、MIXED混合发票
select 598395--供应商地点ID
INTO l_vendor_site_id
from dual;
SELECT 326957,'8707','供应商名称',598395,'材料','CNY',226875,'E-Bank'
INTO l_iface_rec.vendor_id,
l_iface_rec.vendor_num,
l_iface_rec.vendor_name,
l_iface_rec.vendor_site_id,
l_iface_rec.vendor_site_code,
l_iface_rec.invoice_currency_code,
l_iface_rec.accts_pay_code_combination_id,
l_iface_rec.payment_method_code
FROM DUAL;
/*
SELECT 326957,
asv.segment1 vendor_num,
asv.vendor_name,
asvs.vendor_site_id,
asvs.vendor_site_code,
'CNY',
asvs.accts_pay_code_combination_id,
cux_ap_stmt_imp_invoice_pkg.get_payment_method(p_org_id => 295,
p_party_site_id => asvs.party_site_id,
p_party_id => asv.party_id) payment_method_lookup_code
FROM ap_suppliers asv,
ap_supplier_sites_all asvs
WHERE 1 = 1
AND asv.vendor_id = 326957
AND asvs.vendor_id = asv.vendor_id
AND asv.end_date_active IS NULL
AND asvs.vendor_site_id = 598395
AND rownum = 1;
*/
SELECT TO_DATE('2017-09-07','YYYY-MM-DD'),TO_DATE('2017-09-07','YYYY-MM-DD'),
TO_DATE('2017-09-07','YYYY-MM-DD'),1,'User','','测试','VAT17'
INTO l_iface_rec.invoice_date,
l_iface_rec.gl_date,
l_iface_rec.exchange_date,
l_iface_rec.exchange_rate,
l_iface_rec.exchange_rate_type,
l_iface_rec.attribute1,
l_iface_rec.description,
l_tax_code
from dual;
SELECT t.term_id INTO l_iface_rec.terms_id FROM ap_terms_vl t WHERE t.name = 'immediately';
l_iface_rec.terms_date
b781
:= l_iface_rec.invoice_date;
INSERT INTO ap_invoices_interface VALUES l_iface_rec;
l_line_num := 0;
/* FOR c_line IN csr_line(c_invc.org_id,
p_statement_batch_id => c_invc.statement_batch_id) LOOP*/
l_line_num := l_line_num + 1;
l_iface_lines_rec := NULL;
l_iface_lines_rec.invoice_line_id := ap_invoice_lines_interface_s.nextval;
l_iface_lines_rec.invoice_id := l_iface_rec.invoice_id;
l_iface_lines_rec.org_id := 295;--c_invc.org_id;
l_iface_lines_rec.accounting_date := l_iface_rec.gl_date;
l_iface_lines_rec.line_number := l_line_num;
l_iface_lines_rec.line_type_lookup_code := 'ITEM';
l_iface_lines_rec.amount := 0.11;--c_line.amount;
l_iface_lines_rec.po_header_id := 529302;--c_line.po_header_id;
l_iface_lines_rec.po_line_id := 885818;--c_line.po_line_id;
l_iface_lines_rec.po_line_location_id := 1030063;--c_line.po_line_location_id;
l_iface_lines_rec.po_distribution_id := 779119;--c_line.po_distribution_id;
l_iface_lines_rec.po_release_id := null;--c_line.po_release_id;
/* IF c_line.quantity > 0 THEN*/
l_iface_lines_rec.rcv_transaction_id := 1266942;--c_line.rcv_transaction_id;
/* ELSE
l_iface_lines_rec.rcv_transaction_id := c_line.parent_transaction_id;
END IF;*/
l_iface_lines_rec.receipt_number := '18';--c_line.receipt_num;
l_iface_lines_rec.po_shipment_num := '1';--c_line.shipment_num;
l_iface_lines_rec.po_line_number := '1';--c_line.po_line_num;
l_iface_lines_rec.receipt_line_number := '1';--c_line.line_num;
l_iface_lines_rec.quantity_invoiced := 0.11;--c_line.quantity;
l_iface_lines_rec.unit_price := 1;--c_line.po_unit_price;
l_iface_lines_rec.description := '胶条(EPDM)黑色压块式胶条';--c_line.item_description;
l_iface_lines_rec.attribute1 := '123';--c_line.statement_id;
l_iface_lines_rec.attribute2 := '456';--c_line.statement_line_id;
l_iface_lines_rec.attribute5 := '789';--c_line.attribute4;
l_iface_lines_rec.inventory_item_id := 231102;--c_line.item_id;
l_iface_lines_rec.prorate_across_flag := 'N';
INSERT INTO ap_invoice_lines_interface VALUES l_iface_lines_rec;
l_line_num := l_line_num + 1;
l_iface_lines_rec := NULL;
l_iface_lines_rec.invoice_line_id := ap_invoice_lines_interface_s.nextval;
l_iface_lines_rec.invoice_id := l_iface_rec.invoice_id;
l_iface_lines_rec.org_id := 295;--c_invc.org_id;
l_iface_lines_rec.accounting_date := l_iface_rec.gl_date;
l_iface_lines_rec.line_number := l_line_num;
l_iface_lines_rec.line_type_lookup_code := 'ITEM';
l_iface_lines_rec.attribute1 := '123';--c_line.statement_id;
l_iface_lines_rec.attribute2 := '456';--c_line.statement_line_id;
l_iface_lines_rec.amount := 0.01;--c_line.tax_amount;
l_iface_lines_rec.description := '增值税 ' || l_tax_code;
/* IF c_line.new_tax_flag_code = 'Y' THEN
l_ccid := cux_gl_utl.get_gl_coa_ccid(c_line.chart_of_accounts_id,
c_line.seg_comp || l_seg24 ||
g_vat_account_code_y ||
l_seg24 || c_line.project_num ||
l_seg678910);
END IF;*/
-- l_iface_lines_rec.dist_code_combination_id := l_ccid;
l_iface_lines_rec.prorate_across_flag := 'N';
INSERT INTO ap_invoice_lines_interface VALUES l_iface_lines_rec;
x_request_id := fnd_request.submit_request(application => 'SQLAP',
program => 'APXIIMPT',
description => NULL,
start_time => NULL,
sub_request => NULL,
argument1 => NULL,
argument2 => 'INVOICE GATEWAY', --'MANUAL INVOICE ENTRY',
argument3 => x_group_id,
argument4 => 'N/A',
argument5 => NULL,
argument6 => NULL,
argument7 => NULL,
argument8 => 'Y',
argument9 => 'Y',
argument10 => 'Y',
argument11 => 'N');
commit work;
l_wait := fnd_concurrent.wait_for_request(request_id => x_request_id,
INTERVAL => 10,
max_wait => 600,
phase => x_phase,
status => x_status,
dev_phase => x_dev_phase,
dev_status => x_dev_status,
message => x_message);
IF (l_wait) THEN
IF ((x_dev_phase <> 'COMPLETE') OR (x_dev_status <> 'NORMAL')) THEN
dbms_output.put_line('ERROR1'||to_char(x_request_id)||':'||x_message);
END IF;
ELSE
dbms_output.put_line('ERROR2'||to_char(x_request_id)||':'||x_message);
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROROTHERS');
END ;
--初始化
/*
begin
fnd_global.apps_initialize(user_id => 8162,
resp_id => 50692,
resp_appl_id => 20003);
mo_global.init('M');
end;
*/
--注意,以下产生的发票会产生差异,需要手动调整发票,然后重新手工验证发票即可验证
declare
l_api_name CONSTANT VARCHAR2(30) := 'insert_ap_tmp';
l_savepoint_name CONSTANT VARCHAR2(30) := '';
l_iface_rec ap_invoices_interface%ROWTYPE;
l_iface_lines_rec ap_invoice_lines_interface%ROWTYPE;
l_ip_invoice_amount NUMBER;
l_ip_tax_amount NUMBER;
l_stmt_amount NUMBER;
l_tax_code VARCHAR2(30);
l_line_num NUMBER;
l_vendor_site_id NUMBER;
l_ccid NUMBER;
l_seg24 VARCHAR2(100) := '/0/';
l_seg678910 VARCHAR2(100) := '/0/0/0/0/0';
l_wait BOOLEAN;
x_phase VARCHAR2(80);
x_status VARCHAR2(80);
x_dev_phase VARCHAR2(80);
x_dev_status VARCHAR2(80);
x_message VARCHAR2(80);
x_group_id number;
x_request_id number;
BEGIN
x_group_id := NULL;
IF x_group_id IS NULL THEN
x_group_id := cux_ap_statement_imp_group_s.nextval;
END IF;
l_vendor_site_id := NULL;
l_iface_rec := NULL;
l_iface_rec.last_updated_by := 8162;
l_iface_rec.creation_date := SYSDATE;
l_iface_rec.created_by := 8162;
l_iface_rec.last_update_login := -1;
l_iface_rec.last_update_date := SYSDATE;
l_iface_rec.invoice_id := ap_invoices_interface_s.nextval;
l_iface_rec.group_id := x_group_id;
l_iface_rec.org_id := 295;--c_invc.org_id;
l_iface_rec.source := 'INVOICE GATEWAY';
l_iface_rec.attribute6 := 'ZP';--ZP增值税专票--QT其他票据--PP增值税普票--c_invc.vat_invoice_type; ---发票类型
select 'zsxcdf1234'
INTO l_iface_rec.invoice_num
from dual;
select 0.1,0.01--含税金额和不含税金额
INTO l_ip_invoice_amount, l_ip_tax_amount
from dual;
select 0.11--对账单金额
INTO l_stmt_amount
from dual;
select 0.11
INTO l_iface_rec.invoice_amount
from dual;
/* fnd_file.put_line(fnd_file.log,
'l_iface_rec.invoice_amount:' ||
l_iface_rec.invoice_amount);*/
l_iface_rec.invoice_type_lookup_code := 'STANDARD';--STANDARD标准、CREDIT贷项通知单、MIXED混合发票
select 598395--供应商地点ID
INTO l_vendor_site_id
from dual;
SELECT 326957,'8707','供应商名称',598395,'材料','CNY',226875,'E-Bank'
INTO l_iface_rec.vendor_id,
l_iface_rec.vendor_num,
l_iface_rec.vendor_name,
l_iface_rec.vendor_site_id,
l_iface_rec.vendor_site_code,
l_iface_rec.invoice_currency_code,
l_iface_rec.accts_pay_code_combination_id,
l_iface_rec.payment_method_code
FROM DUAL;
/*
SELECT 326957,
asv.segment1 vendor_num,
asv.vendor_name,
asvs.vendor_site_id,
asvs.vendor_site_code,
'CNY',
asvs.accts_pay_code_combination_id,
cux_ap_stmt_imp_invoice_pkg.get_payment_method(p_org_id => 295,
p_party_site_id => asvs.party_site_id,
p_party_id => asv.party_id) payment_method_lookup_code
FROM ap_suppliers asv,
ap_supplier_sites_all asvs
WHERE 1 = 1
AND asv.vendor_id = 326957
AND asvs.vendor_id = asv.vendor_id
AND asv.end_date_active IS NULL
AND asvs.vendor_site_id = 598395
AND rownum = 1;
*/
SELECT TO_DATE('2017-09-07','YYYY-MM-DD'),TO_DATE('2017-09-07','YYYY-MM-DD'),
TO_DATE('2017-09-07','YYYY-MM-DD'),1,'User','','测试','VAT17'
INTO l_iface_rec.invoice_date,
l_iface_rec.gl_date,
l_iface_rec.exchange_date,
l_iface_rec.exchange_rate,
l_iface_rec.exchange_rate_type,
l_iface_rec.attribute1,
l_iface_rec.description,
l_tax_code
from dual;
SELECT t.term_id INTO l_iface_rec.terms_id FROM ap_terms_vl t WHERE t.name = 'immediately';
l_iface_rec.terms_date
b781
:= l_iface_rec.invoice_date;
INSERT INTO ap_invoices_interface VALUES l_iface_rec;
l_line_num := 0;
/* FOR c_line IN csr_line(c_invc.org_id,
p_statement_batch_id => c_invc.statement_batch_id) LOOP*/
l_line_num := l_line_num + 1;
l_iface_lines_rec := NULL;
l_iface_lines_rec.invoice_line_id := ap_invoice_lines_interface_s.nextval;
l_iface_lines_rec.invoice_id := l_iface_rec.invoice_id;
l_iface_lines_rec.org_id := 295;--c_invc.org_id;
l_iface_lines_rec.accounting_date := l_iface_rec.gl_date;
l_iface_lines_rec.line_number := l_line_num;
l_iface_lines_rec.line_type_lookup_code := 'ITEM';
l_iface_lines_rec.amount := 0.11;--c_line.amount;
l_iface_lines_rec.po_header_id := 529302;--c_line.po_header_id;
l_iface_lines_rec.po_line_id := 885818;--c_line.po_line_id;
l_iface_lines_rec.po_line_location_id := 1030063;--c_line.po_line_location_id;
l_iface_lines_rec.po_distribution_id := 779119;--c_line.po_distribution_id;
l_iface_lines_rec.po_release_id := null;--c_line.po_release_id;
/* IF c_line.quantity > 0 THEN*/
l_iface_lines_rec.rcv_transaction_id := 1266942;--c_line.rcv_transaction_id;
/* ELSE
l_iface_lines_rec.rcv_transaction_id := c_line.parent_transaction_id;
END IF;*/
l_iface_lines_rec.receipt_number := '18';--c_line.receipt_num;
l_iface_lines_rec.po_shipment_num := '1';--c_line.shipment_num;
l_iface_lines_rec.po_line_number := '1';--c_line.po_line_num;
l_iface_lines_rec.receipt_line_number := '1';--c_line.line_num;
l_iface_lines_rec.quantity_invoiced := 0.11;--c_line.quantity;
l_iface_lines_rec.unit_price := 1;--c_line.po_unit_price;
l_iface_lines_rec.description := '胶条(EPDM)黑色压块式胶条';--c_line.item_description;
l_iface_lines_rec.attribute1 := '123';--c_line.statement_id;
l_iface_lines_rec.attribute2 := '456';--c_line.statement_line_id;
l_iface_lines_rec.attribute5 := '789';--c_line.attribute4;
l_iface_lines_rec.inventory_item_id := 231102;--c_line.item_id;
l_iface_lines_rec.prorate_across_flag := 'N';
INSERT INTO ap_invoice_lines_interface VALUES l_iface_lines_rec;
l_line_num := l_line_num + 1;
l_iface_lines_rec := NULL;
l_iface_lines_rec.invoice_line_id := ap_invoice_lines_interface_s.nextval;
l_iface_lines_rec.invoice_id := l_iface_rec.invoice_id;
l_iface_lines_rec.org_id := 295;--c_invc.org_id;
l_iface_lines_rec.accounting_date := l_iface_rec.gl_date;
l_iface_lines_rec.line_number := l_line_num;
l_iface_lines_rec.line_type_lookup_code := 'ITEM';
l_iface_lines_rec.attribute1 := '123';--c_line.statement_id;
l_iface_lines_rec.attribute2 := '456';--c_line.statement_line_id;
l_iface_lines_rec.amount := 0.01;--c_line.tax_amount;
l_iface_lines_rec.description := '增值税 ' || l_tax_code;
/* IF c_line.new_tax_flag_code = 'Y' THEN
l_ccid := cux_gl_utl.get_gl_coa_ccid(c_line.chart_of_accounts_id,
c_line.seg_comp || l_seg24 ||
g_vat_account_code_y ||
l_seg24 || c_line.project_num ||
l_seg678910);
END IF;*/
-- l_iface_lines_rec.dist_code_combination_id := l_ccid;
l_iface_lines_rec.prorate_across_flag := 'N';
INSERT INTO ap_invoice_lines_interface VALUES l_iface_lines_rec;
x_request_id := fnd_request.submit_request(application => 'SQLAP',
program => 'APXIIMPT',
description => NULL,
start_time => NULL,
sub_request => NULL,
argument1 => NULL,
argument2 => 'INVOICE GATEWAY', --'MANUAL INVOICE ENTRY',
argument3 => x_group_id,
argument4 => 'N/A',
argument5 => NULL,
argument6 => NULL,
argument7 => NULL,
argument8 => 'Y',
argument9 => 'Y',
argument10 => 'Y',
argument11 => 'N');
commit work;
l_wait := fnd_concurrent.wait_for_request(request_id => x_request_id,
INTERVAL => 10,
max_wait => 600,
phase => x_phase,
status => x_status,
dev_phase => x_dev_phase,
dev_status => x_dev_status,
message => x_message);
IF (l_wait) THEN
IF ((x_dev_phase <> 'COMPLETE') OR (x_dev_status <> 'NORMAL')) THEN
dbms_output.put_line('ERROR1'||to_char(x_request_id)||':'||x_message);
END IF;
ELSE
dbms_output.put_line('ERROR2'||to_char(x_request_id)||':'||x_message);
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('ERROROTHERS');
END ;
相关文章推荐
- Oracle EBS PO 采购订单接口 创建后 点击发运后 未修改任何数据 需要保存
- 自动创建采购订单
- MM--发票校验 及基于采购订单的MIRO发票校验过程(
- 批量创建采购订单 BAPI_PO_CREATE1
- 3.12 批量创建采购订单
- Oracle EBS-SQL (PO-11):检查采购订单退货数.sql
- BAPI_PO_CREATE1 批量创建采购订单(可一个PO采购多个材料)
- 在采购订单过帐发票时选择装箱单后提示错误“无法预留要为装箱单 A的物料 B 匹配的库存数量”
- 创建采购订单和销售订单
- BAPI_PO_CREATE1 批量创建采购订单
- SAP收货时自动创建采购订单
- MM模块-收货自动创建采购订单
- 自动创建采购订单
- 在采购订单过帐发票时选择装箱单后提示错误“无法预留要为装箱单 A的物料 B 匹配的库存数量”
- SAP收货时自动创建采购订单
- 发票和采购订单匹配时,对于税码的处理总结
- SD--根据订单创建发票(相关的函数列表的介绍系列篇(3))
- BAPI_PO_CREATE创建采购订单
- 创建采购订单DEMO
- oracle ebs 采购订单导入 来源参考 Oracle metalink