-- API to Create Supplier
--segment1:设置路径:AP超级用户->设置->选项->应付款系统设置:选择供应商编号为自动或者是手动
--若为自动,则segment1由系统给出,若为手动,则以手动给字段为准。
--由于使用了这个API,会自动创建相对应的party.而API中并没有提供关于party的一些字段.例如duns_number,则需要调用其他的API去更新party信息了.
DECLARE
l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
l_return_status VARCHAR2(10);
l_msg_count NUMBER;
l_msg_data VARCHAR2(1000);
l_vendor_id NUMBER;
l_party_id NUMBER;
BEGIN
-- --------------
-- Required
-- --------------
l_vendor_rec.vendor_name := 'TEST_SUPP';
l_vendor_rec.segment1 := '0000235916';
-- -------------
-- Optional
-- --------------
l_vendor_rec.vendor_name_alt := 'K1';
l_vendor_rec.summary_flag := 'Y';
l_vendor_rec.enabled_flag := 'Y';
pos_vendor_pub_pkg.create_vendor( -- -------------------------
-- Input Parameters
-- -------------------------
p_vendor_rec => l_vendor_rec,
-- ----------------------------
-- Output Parameters
-- ----------------------------
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_vendor_id => l_vendor_id,
x_party_id => l_party_id);
dbms_output.put_line('供应商ID:'||l_vendor_id);
dbms_output.put_line('Party ID:'||l_party_id);
if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
fa_debug_pkg.dump_debug_messages(max_mesgs => 0);
l_msg_count := fnd_msg_pub.count_msg;
if l_msg_count > 0 then
l_msg_data := substr(fnd_msg_pub.get(fnd_msg_pub.G_FIRST, fnd_api.G_FALSE),
1,
512);
dbms_output.put_line(substr(l_msg_data, 1, 255));
for i in 1 .. l_msg_count - 1 loop
l_msg_data := substr(fnd_msg_pub.get(fnd_msg_pub.G_NEXT,
fnd_api.G_FALSE),
1,
512);
dbms_output.put_line(substr(l_msg_data, 1, 255));
end loop;
fnd_msg_pub.delete_msg();
end if;
else
dbms_output.put_line('SUCCESS');
end if;
--COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/
select * from po_vendors pv where pv.VENDOR_ID = 35173;