1、供应商导入组成
供应商导入主要分为供应商头信息导入、供应商地点信息导入、供应商联系人导入三个部分的信息,其他按实际需求进行添加。
供应商头信息导入:导入供应商的头信息
供应商地点信息导入:导入供应商的地点、地址信息
供应商联系人信息导入:导入对应地址上的联系人信息
供应商地点附加信息导入:导入供应商对应地点上的附加信息
供应商税率导入:导入供应商地点上的税信息及税率
供应商付款方法导入:导入供应商地点上的默认付款方法
供应商银行导入:导入供应商地点上对应的银行、账户等信息
2、供应商导入顺序
由于数据的先后关联依赖关系,同一供应商的信息导入必须按照一定的顺序进行:先导头信息,再导地点信息,最后导入地点下的地点附加信息、联系人、税率、银行、默认付款方法等信息。
供应商导入流程:
第一步:创建需要导入供应商信息的中间表,字段上提供供应商头信息、地点信息等必输字段。
第二步:向中间表中插入需要导入的供应商信息,验证需要插入的数据是否满足供应商信息规则,去除不合规范的数据。
第三步:对需要导入的数据在数据库标准表中尽行验证是否存在,不存在的供应商信息调用标准API进行导入操作,已存在的供应商根据实际需求是否进行更新。
第四步:导入完成后在界面或者后台表中查询该供应商信息,检验导入的供应商信息是否正确。
3、供应商导入的接口程序
(1)、供应商头信息创建和更新
--供应商头信息的创建
l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
--供应商类型
l_vendor_rec.vendor_type_lookup_code := i_vendor_type_code;
--供应商名称
l_vendor_rec.vendor_name := i_vendor_name;
--供应商编码
l_vendor_rec.segment1 :=get_vendor_number(i_tax_no, i_vendor_type_code);
--供应商税号
l_vendor_rec.tax_reference := i_tax_no;
l_vendor_rec.pay_group_lookup_code := 'STANDARD';
来源系统编码
l_vendor_rec.attribute2 := i_src_vendor_num;
--供应商类别
l_vendor_rec.attribute4 := i_vendor_classify_code;
--创建新的供应商
pos_vendor_pub_pkg.create_vendor
(
p_vendor_rec => l_vendor_rec,
x_return_status => l_return_status, --返回的状态
x_msg_count => l_msg_count, --返回的错误数量
x_msg_data => l_msg_data, --返回的错误信息
x_vendor_id => l_vendor_id, --返回的创建的供应商id
x_party_id => l_party_id); --返回的机构id
l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
--更新供应商头信息
pos_vendor_pub_pkg.update_vendor
(
p_vendor_rec => l_vendor_rec,
x_return_status => l_return_status, --返回的状态
x_msg_count => l_msg_count, --返回的错误数量
x_msg_data => l_msg_data); --返回的错误信息
(2)、供应商地点的创建和更新
--供应商地点的创建
l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
--赋值
l_vendor_site_code := ‘TEST001’;
--地址编码
l_vendor_site_rec.vendor_site_code := l_vendor_site_code;
--地址名称
l_party_site_name := 'TEST'
l_vendor_site_rec.party_site_name := l_party_site_name;
--国家编码
l_vendor_site_rec.country := 'CN';
--当地址的国家不是中国、香港和其他时,必输字段
/*IF l_country_code NOT IN ('CN', 'ZZ', 'HK') THEN
l_vendor_site_rec.state := 'US';
l_vendor_site_rec.county := &