客制供应商申请审批单和供应商导入api
来源:互联网 发布:java破解版游戏. 编辑:程序博客网 时间:2024/04/19 07:50
用户需求:由于公司没有OA系统,但是又想对新建的供应商有一个审批的功能,以致可以很好的
对新供应商进行有效管理,收集供应商数据,审厂审批,部门经理审批等流程。
做法:客制Form界面,用户界面中录入供应商相关资料,然后workflow送审到相关人员,
最后部门主管审批时,系统调用api导入供应商
供应商导入api code如下:
procedure new_vendor_api(p_vendor_id number,p_flag out varchar2) is--供应商导入api --新建供应商部分 p_api_version number; p_init_msg_list varchar2(200); p_commit varchar2(200); p_validation_level number; x_return_status varchar2(200); x_msg_count number; x_msg_data varchar2(200); l_msg varchar2(200); lr_vend apps.ap_vendor_pub_pkg.r_vendor_rec_type; lr_ex_vend ap_suppliers%rowtype; x_vendor_id number; x_party_id number; pin_copy_vendor_id number; --新建供应商地点部分 l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type; lc_return_status VARCHAR2(10); ln_msg_count NUMBER; lc_msg_data VARCHAR2(1000); ln_vendor_site_id NUMBER; ln_party_site_id NUMBER; ln_location_id NUMBER; --新建联系人部分 l_vendor_contact_rec ap_vendor_pub_pkg.r_vendor_contact_rec_type; l_return_status VARCHAR2(10); l_msg_count NUMBER; l_msg_data VARCHAR2(1000); l_vendor_contact_id NUMBER; l_per_party_id NUMBER; l_rel_party_id NUMBER; l_rel_id NUMBER; l_org_contact_id NUMBER; l_party_site_id NUMBER; l_vendor jw_vendor_t%rowtype; cursor ou1 is select o.ou_id,o.vat_code from jw_vendor_org_t o where o.jw_vendor_id = p_vendor_id and o.flag = 'Y'; begin select * into l_vendor from jw_vendor_t t where t.jw_vendor_id = p_vendor_id; fnd_global.apps_initialize(l_vendor.created_by, 50643, 201); mo_global.init('SQLAP'); p_api_version := 1.0; p_init_msg_list := fnd_api.g_true; p_commit := fnd_api.g_true; p_validation_level := fnd_api.g_valid_level_full; lr_vend.hold_flag := null; lr_vend.purchasing_hold_reason := null; lr_vend.hold_by := null; lr_vend.hold_date := null; begin if l_vendor.attribute9 is not null then lr_vend.END_DATE_ACTIVE := sysdate + l_vendor.attribute9;--增加临时厂商的有效期天数 end if; exception when others then null; end; lr_vend.vendor_id := null; lr_vend.vendor_name := l_vendor.vendor_name; --供应商名字 lr_vend.start_date_active := sysdate; ap_vendor_pub_pkg.create_vendor(p_api_version => p_api_version, p_init_msg_list => p_init_msg_list, p_commit => p_commit, p_validation_level => p_validation_level, x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, p_vendor_rec => lr_vend, x_vendor_id => x_vendor_id, x_party_id => x_party_id); commit; IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN --失败 p_flag := 'E'; else--成功后新建供应商地点 p_flag := 'Y'; for org1 in ou1 loop l_vendor_site_rec.vendor_id := x_vendor_id;--vendor_id l_vendor_site_rec.vendor_site_code := l_vendor.vendor_site_code; l_vendor_site_rec.address_line1 := l_vendor.vendor_site_address; --l_vendor_site_rec.city := 'New York'; l_vendor_site_rec.country := 'CN'; l_vendor_site_rec.org_id := org1.ou_id; l_vendor_site_rec.terms_id := l_vendor.attribute1;--付款条件 l_vendor_site_rec.purchasing_site_flag :='Y'; l_vendor_site_rec.pay_site_flag :='Y'; l_vendor_site_rec.rfq_only_site_flag :='N'; l_vendor_site_rec.vat_code := org1.vat_code; l_vendor_site_rec.payment_currenCY_code := l_vendor.attribute4; l_vendor_site_rec.INVOICE_currenCY_code := l_vendor.attribute4; pos_vendor_pub_pkg.create_vendor_site ( -- ------------------------------ -- Input data elements -- ------------------------------ p_vendor_site_rec => l_vendor_site_rec, -- --------------------------------- -- Output data elements -- --------------------------------- x_return_status => lc_return_status, x_msg_count => ln_msg_count, x_msg_data => lc_msg_data, x_vendor_site_id => ln_vendor_site_id, x_party_site_id => ln_party_site_id, x_location_id => ln_location_id ); commit; IF (lc_return_status <> FND_API.G_RET_STS_SUCCESS) THEN --失败 p_flag :='E'; else p_flag := 'Y'; end if; end loop; if p_flag = 'Y' then if l_vendor.vendor_contact is not null then--有联系人时才调用此api l_vendor_contact_rec.vendor_id := x_vendor_id; -- l_vendor_contact_rec.org_id := org1.ou_id; l_vendor_contact_rec.person_last_name := l_vendor.vendor_contact; l_vendor_contact_rec.phone := l_vendor.vendor_contact_tel; l_vendor_contact_rec.org_party_site_id := ln_party_site_id; pos_vendor_pub_pkg.create_vendor_contact( p_vendor_contact_rec => l_vendor_contact_rec, x_return_status => l_return_status, x_msg_count => l_msg_count, x_msg_data => l_msg_data, x_vendor_contact_id => l_vendor_contact_id, x_per_party_id => l_per_party_id, x_rel_party_id => l_rel_party_id, x_rel_id => l_rel_id, x_org_contact_id => l_org_contact_id, x_party_site_id => l_party_site_id); COMMIT; IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN p_flag :='E'; else p_flag := 'Y'; end if; end if; end if; end if; null; end;
ps:以上api包括导入供应商名字,地点,联系人,没有银行等数据,系统版本R12.1.3
0 0
- 客制供应商申请审批单和供应商导入api
- 供应商导入API Demo
- 供应商导入API
- 供应商导入
- 供应商地点导入(API)Demo
- 供应商
- 供应商导入的API补充(详解EBS接口开发之供应商导入)
- 供应商信息导入
- 供应商导入R12
- R12供应商和银行
- Oracle EBS供应商接口导入
- Oracle EBS供应商接口导入
- 采购申请不固定供应商怎么破?
- 客户和供应商账户信息
- 物料转移---供应商、工单、客户物料
- AP模块供应商数据导入参考
- 详解EBS接口开发之供应商导入
- 使用API失效供应商地址Demo
- C语言程序-打豆豆(函数版)
- SetMouseCallback
- wemall app商城源码中基于PHP的ThinkPHP惯例配置文件代码
- wegt命令
- mysqli预处理和事务处理
- 客制供应商申请审批单和供应商导入api
- 致CSDN博客团队的一封信【强行关闭博客客服邮件记录】
- java.lang.NoSuchMethodException: Unknown property 'weightQO'
- Android6.0里面webview关于onReceivedTitle的一个系统bug
- web————http(报文详解篇)
- 不常用(基本命令)
- c++多态性及对象链表
- 关于ethercat开发的一些感想
- linux UDP广播通信