Oracle 完全测试记录 供应商导入
吴若童
总述 供应商接口 供应商接口的原理 接口的原理? 的原理? 系统从三个表分别导入供应商、供应商地点、供应商联系人。 供应商:AP_SUPPLIERS_INT 供应商地点:AP_SUPPLIER_SITES_INT 供应商联系人:AP_SUP_SITE_CONTACT_INT 这三张表分别对应三张正式表: ap_suppliers_int 对应 po_vendors ap_supplier_sites_int 对应 po_vendor_sites_all ap_sup_site_contact_int 对应 po_vendor_contacts 供应商银行如何导入? 供应商银行如何导入? 供应商银行是没有接口表的。银行相关的表关系如下: PO_Vendors -> PO_Vendor_Sites_All -> Ap_Bank_Accounts_Uses -> Ap_Bank_Accounts_All -> ap_bank_branches
银行的三张表都可以直接写正式表完成,但一定要注意这几张表有一个序列要处理!
目录 总述 ........................................................................................................................................... 1 目录 ........................................................................................................................................... 1 参考 ........................................................................................................................................... 3 测试前的准备 ............................................................................................................................ 4 测试环境 ............................................................................................................................ 4 1)
查看组织代码 ............................................................................................................ 4
供应商头信息导入..................................................................................................................... 4 1)
清除供应商头接口数据............................................................................................. 4
2)
将供应商头信息写入接口 ......................................................................................... 4
3)
查看接口数据 ............................................................................................................ 5
4)
确认提交 ................................................................................................................... 5
5)
执行供应商导入 ........................................................................................................ 5 1 / 12
Oracle 完全测试记录 供应商导入 6)
吴若童
确认导入后的结果 .................................................................................................... 6
供应商地点导入 ........................................................................................................................ 6 1)
清除地点接口数据 .................................................................................................... 7
2)
查询供应商编码 ........................................................................................................ 7
3)
将供应商地点信息写入接口 ..................................................................................... 7
4)
查看接口数据 ............................................................................................................ 7
5)
确认提交 ................................................................................................................... 7
6)
执行供应商地点导入 ................................................................................................ 7
7)
确认导入后的结果 .................................................................................................... 8
供应商联系人导入..................................................................................................................... 8 1)
清除联系人接口数据 ................................................................................................ 8
2)
查询供应商编码 ........................................................................................................ 9
3)
写入供应商地点联系人到接口 ................................................................................. 9
4)
查看接口数据 ............................................................................................................ 9
5)
确认提交 ................................................................................................................... 9
6)
执行供应商联系人导入............................................................................................. 9
7)
确认导入后的结果 .................................................................................................. 10
相关查询 SQL ........................................................................................................................... 10 1)
查询供应商基本分类 .............................................................................................. 10
2)
查询供应商付款条件 .............................................................................................. 11
3)
查询供应商发运方法 .............................................................................................. 11
4)
导出供应商头 .......................................................................................................... 11
5)
导出供应商地点 ...................................................................................................... 11
6)
导出供应商联系人 .................................................................................................. 12
7)
导出供应商银行 ...................................................................................................... 12
2 / 12
Oracle 完全测试记录 供应商导入
吴若童
参考 测试记录由 吴若童 实测,参考了 metalink 及 user guide 中相关文档。你可以任意的传播本文件。 MSN:
[email protected] SPACE: http://toney-wu.spaces.live.com/
How to use the Supplier Open Interface Import Process [NOTE:291903.1]
3 / 12
Oracle 完全测试记录 供应商导入
吴若童
测试前的准备 测试 前的准备 测试环境 Oracle 应用产品 : 11.5.10.2
2007-6-23
组织架构: SOB: 201
OU: T_工厂
INV: TM1
以上组织在系统中均以设置完成。
1) 查看组织代码 [SQL]通过以下代码查到到 OU 的编码及对应的帐套。 Select * from org_organization_definitions; 测试环境的设置如下: ORGANIZATION_ID
ORGANIZATION_CODE
ORGANIZATION_NAME
SET_OF_BOOK_ID
282
TM1
T_工厂
1001
供应商头信息 供应商头信息导入 头信息导入 1) 清除供应商头 清除供应商头接口数据 供应商头接口数据 [SQL]每次导入前通过 TRUNCATE 命令,在导入前将接口中的数据清理干净 TRUNCATE TABLE AP.Ap_Suppliers_Int;
2) 将供应商头信息写入接口 供应商头信息写入接口 [SQL]插入两个供应商到接口中,名称分别“简单的供应商导入”、“简单的供应商导入 2” insert into Ap_Suppliers_Int (vendor_interface_id,vendor_name) values (1,'简单的供应商导入');
4 / 12
Oracle 完全测试记录 供应商导入
吴若童
insert into Ap_Suppliers_Int (vendor_interface_id,vendor_name) values (1,'简单的供应商导入 2');
vendor_interface_id 可以理解为是其它接口表常见的 set_process_id,在实际应用中可以 分组编号,实现分批导入。(仅为个人解理,非官方解释)
供应商编码在导入完成后会存在“segment1”字段中。经测试即使在接口中手工填写 了 segment1,导入后仍然是自动编号,会覆盖手工录入的编号。
3) 查看接口数据 [SQL]通过以下命令,确保上两步正确插入: Select * from Ap_Suppliers_Int
4) 确认提交 [SQL]完成后执行 commit;
5) 执行供应商导入 执行供应商导入 [M]查看:请求:供应商开放接口导入
完成后查看输出
5 / 12
Oracle 完全测试记录 供应商导入
吴若童
在输出中可以看到导入的两行供应商接口记录。但供应商编号显示都一样。
6) 确认导入后的结果 确认导入后的结果 [SQL]查看物料接口的数据,记录仍然存在。但 STATUS 列变成为‘PROCESSED’ Select * from Ap_Suppliers_Int [N]采购:供应来源:供应商 查到刚才的之前的供应商:“简单的供应商导入%”
可以看到存在两个供应商,编码分别为 830, 829。
供应商地点导入 供应商地点 导入
6 / 12
Oracle 完全测试记录 供应商导入
吴若童
1) 清除地点 清除地点接口数据 地点接口数据 [SQL]每次导入前通过 TRUNCATE 命令,在导入前将接口中的数据清理干净 TRUNCATE TABLE AP.Ap_Supplier_Sites_Int;
2) 查询供应商编码 [SQL]通过以下命令查询到供应商对应的 VENDOR_ID select * from po_vendors pv where pv.vendor_name='简单的供应商导入' 注意: 注意:“简单的供应商导入”为上一个测试导入的供应商名称,请按实际情况修改。
本例中,VENDOR_ID 为 39475
3) 将供应商地点 将供应商地点信息写入接口 地点信息写入接口 [SQL]插入供应商地点到地点接口表,名称为“地点导入”,设置为收单、收货用途。 insert into AP_SUPPLIER_SITES_INT
(vendor_id, vendor_site_code, pay_site_flag, purchasing_site_flag,org_id) Values (39475,'地点导入','Y','Y', 282);
注意: 注意:39475 为上一步测试时导入的供应商编码,请按实际情况修改。
4) 查看接口数据 [SQL]通过以下命令,确保上两步正确插入: Select * from Ap_Suppliers_Int
5) 确认提交 [SQL]完成后执行 commit;
6) 执行供应商地点 执行供应商地点导入 地点导入 [M]查看:请求:供应商站点开放接口导入
7 / 12
Oracle 完全测试记录 供应商导入
吴若童
完成后查看输出
7) 确认导入后的结果 [SQL]查看物料接口的数据,记录仍然存在。但 STATUS 列变成为‘PROCESSED’ [N]采购:供应来源:供应商:地点 查到刚才的之前的供应商:“简单的供应商导入”
地名“地点导入”已经存在,用途为支付、采购。
供应商联系人 供应商 联系人导入 联系人导入 1) 清除联系人接口数据 [SQL]每次导入前通过 TRUNCATE 命令,在导入前将接口中的数据清理干净 8 / 12
Oracle 完全测试记录 供应商导入
吴若童
TRUNCATE TABLE AP.Ap_Sup_Site_Contact_Int;
2) 查询供应商编码 [SQL]通过以下命令查询到供应商对应的 VENDOR_SITE_ID select
pvsa.vendor_site_id,
pvsa.vendor_site_code,
po_vendor_sites_all pvsa where pvsa.vendor_id=39475
pvsa.vendor_id,
pvsa.org_id
from
注意: 注意:“39475”为上一个测试导入的供应商名称,请按实际情况修改。
注意: 注意: 不推荐用 VENDOR_SITE_CODE 为依据进行导入,容易出现重名的错误。并且在测试过程 中发现中文 VENDOR_SITE_CODE 无法正确导入。
3) 写入供应商地点联系人到接口 [SQL]插入供应商地点到地点接口表,名称为“地点导入”,设置为收单、收货用途。 insert into Ap_Sup_Site_Contact_Int assi (vendor_site_id,org_id,last_name) Values
(1712,282,'吴若童');
4) 查看接口数据 [SQL]通过以下命令,确保上两步正确插入: Select * from Ap_Sup_Site_Contact_Int
5) 确认提交 [SQL]完成后执行 commit; 完成后查看输出
6) 执行供应商联系人导入 [M]查看:请求:供应商地点联系人开放接口导入。
9 / 12
Oracle 完全测试记录 供应商导入
吴若童
完成后查看输出
7) 确认导入后的结果 [SQL]查看物料接口的数据,记录仍然存在。但 STATUS 列变成为‘PROCESSED’ [N]采购:供应来源:供应商 查到刚才的之前的供应商:“简单的供应商导入”
相关查询 SQL 1) 查询供应商基本分类 设置路径:[N] 采购:设置:采购:查找代码 类型:VENDOR TYPE 用户名:有效供应商类型 10 / 12
Oracle 完全测试记录 供应商导入
吴若童
应用:采购管理系统 说明:有效供应商类型
SELECT * FROM FND_LOOKUP_VALUES_VL WHERE lookup_type = 'VENDOR TYPE' and LOOKUP_TYPE='VENDOR TYPE' and (VIEW_APPLICATION_ID=201)
2) 查询供应商付款条件 设置路径:采购:设置:财务系统:付款条件 select name,description from ap_terms
3) 查询供应商发运方法 查询供应商发运方法 设置路径[N]: 采购:设置:采购:承运人 (接口中用的是“简称”字段) select wc.freight_code from wsh_carriers wc 注意在设置完成后,系统会自动插入一个 lookup code,这个 lookup code 编码以“000001_”开头,和 导入插口无关。 SELECT * FROM FND_LOOKUP_VALUES_VL WHERE lookup_type = 'SHIP_METHOD' and (LOOKUP_TYPE LIKE 'SHIP_METHOD') and (VIEW_APPLICATION_ID=3) and (SECURITY_GROUP_ID=0) order by LOOKUP_CODE --列出已经导入的供应商明细
4) 导出供应商头 导出供应商头 select pv.vendor_name 供应商名称, VAT_REGISTRATION_NUM 税务登记号, from po_vendors pv where pv.vendor_type_lookup_code != 'EMPLOYEE'
5) 导出供应商地点 select ood.ORGANIZATION_CODE,pv.vendor_name,pvsa.vendor_id,pvsa.vendor_site_code,pvsa.ven
11 / 12
Oracle 完全测试记录 供应商导入 dor_site_id
吴若童
,pvsa.province,pvsa.city,pvsa.address_line1,pvsa.area_code,pvsa.phone,
pvsa.fax from po_vendor_sites_all pvsa, po_vendors pv,org_organization_definitions ood where pvsa.vendor_id=pv.vendor_id and
ood.ORGANIZATION_ID=pvsa.ORG_ID
6) 导出供应商联系人 select ood.ORGANIZATION_CODE, pv.vendor_name, pvsa.vendor_site_code, pvc.title , pvc.last_name,
pvc.area_code,
pvc.phone,
pvc.alt_phone,
pvc.contact_name_alt,
pvc.mail_stop,pvc.inactive_date from
po_vendor_contacts
pvc,
po_vendor_sites_all
pvsa,
po_vendors
pv,org_organization_definitions ood where pvsa.vendor_id=pv.vendor_id and
ood.ORGANIZATION_ID=pvsa.ORG_ID
and pvc.vendor_site_id=pvsa.vendor_site_id
7) 导出供应商银行 select ood.ORGANIZATION_CODE,abb.bank_name, abb.bank_branch_name, abaa.bank_account_name, abaa.bank_account_num, pv.vendor_name, pvsa.vendor_site_code from
ap_bank_branches
abb
,
ap_bank_accounts_all
abaa,ap_bank_account_uses_all
abaua,po_vendor_sites_all pvsa, po_vendors pv,org_organization_definitions ood where pvsa.vendor_id=pv.vendor_id and ood.ORGANIZATION_ID=pvsa.ORG_ID and abaua.vendor_site_id = pvsa.vendor_site_id and abaua.external_bank_account_id = abaa.bank_account_id and abaa.bank_branch_id = abb.bank_branch_id
12 / 12