You are on page 1of 12

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:toney_wu@hotmail.com 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, pvsa.vendor_id, pvsa.org_id from


po_vendor_sites_all pvsa where pvsa.vendor_id=39475

注意:“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

You might also like