在EBS 系统中客制化采购对账系统时,采用了ISP客户化,采购对账流程经历:1、手动/自动生成采购对账单;2、将采购对账单提交给供应商查看/确认;3、将供应商确认后的对账单进行审批,审批可提交放置在OA系统;4、审批后的对账单进行立账,即产生AP发票。
本章简要梳理产生AP发票的过程,即AP发票的接口导入。
AP发票接口相关表主要有:
ap_invoices_interface
ap_invoice_lines_interface
ap_interface_rejections
以及 APXIIMPT 标准发票接口导入请求
1、首先是校验需要导入发票的对账单信息,校验数据是否完整/正确,校验完成后再分别导入到AP接口表中。
可创建PKG进行CODE。
org_id 组织ID不可为空,有效
vendor_id 供应商ID不可为空,有效
vendor_site_id 供应商地点ID不可为空,有效
currency_code 币种不可为空,有效,非本位币还需校验汇率
invoice_number 发票号不可为空,且不ap_invoices_all 重复
invoice_date 发票日期不可为空
gl_date 记账日期不可为空
condition_date 条件日期不可为空
terms_id 付款条件不可为空,有效
payment_method_lookup_code 付款方法不可为空,有效
select count(1)
into v_cnt
from Iby_Payment_Methods_b ipmb
where ipmb.payment_method_code = c.payment_method_lookup_code
and (ipmb.inactive_date is null oripmb.inactive_date >= trunc(c.invoice_date));
if v_cnt = 0 then
v_error_message := v_error_message || chr(13) || '付款方法【' ||
c.payment_method_lookup_code || '】无效!';
v_error_count := v_error_count + 1;
end if;
LINE_LOCATION_ID 发运行id,不为空,有效
AMOUNT 金额不可为空,有效
inventory_item_id 物料ID不可为空!
invoice_quantity 开票数量不可为空!
发票行ID 的产生:ap_invoice_lines_interface_s.nextval =>v_invoice_line_id
发票ID 的产生:ap_invoices_interface_s.nextval =>v_invoice_id
(1)导入ap_invoice_lines_interface数据
一个发票可能存在多条发票行。
声明接口表类型变量:
TYPE ap_inv_lines_ifc_tbl IS TABLE OF ap_invoice_lines_interface%rowtype INDEX BY BINARY_INTEGER;
v_ap_inv_line_ifc_tbl_c ap_inv_lines_ifc_tbl;
查看ap_invoice_lines_interface的表栏位字段,其中是ap发票接口所必需的,如下:
v_ap_inv_line_ifc_tbl_c(i).invoice_id := v_invoice_id_c; --发票ID
v_ap_inv_line_ifc_tbl_c(i).invoice_line_id := v_invoice_line_id; --发票行ID
v_ap_inv_line_ifc_tbl_c(i).line_number := d.detail_number; --发票行号
v_ap_inv_line_ifc_tbl_c(i).line_type_lookup_code := xxcusp001.C_AP_INV_