API for Supplier & Supplier Site Creation in R12
API for Supplier & Supplier Site Creation in R12
In this tutorial, we will see how to create Supplier , Supplier sites in the Oracle apps through Oracle Standard API. Supplier master conversion includes loading Suppliers, Supplier sites and Supplier contacts details to the Oracle system.
CREATE PACKAGE xxdcb_supplier_imp AS PROCEDURE create_supplier ( p_supplier_number IN VARCHAR2, p_supplier_name IN VARCHAR2, p_supplier_site_code IN VARCHAR2, p_ou IN NUMBER, p_addr1 IN VARCHAR2, p_country IN VARCHAR2, p_purchasing_site_flag IN VARCHAR2, p_pay_site_flag IN VARCHAR2, p_status OUT VARCHAR2, p_ret_msg OUT VARCHAR2 ); END;
CREATE OR REPLACE PACKAGE BODY APPS.xxdcb_supplier_imp AS PROCEDURE create_supplier (p_supplier_number IN VARCHAR2, p_supplier_name IN VARCHAR2, p_supplier_site_code IN VARCHAR2, p_ou IN NUMBER, p_addr1 IN VARCHAR2, p_country IN VARCHAR2, p_purchasing_site_flag IN VARCHAR2, p_pay_site_flag IN VARCHAR2, p_status OUT VARCHAR2, p_ret_msg OUT VARCHAR2) IS l_vendor_rec AP_VENDOR_PUB_PKG.r_vendor_rec_type; l_vendor_site_rec AP_VENDOR_PUB_PKG.r_vendor_site_rec_type; x_return_status VARCHAR2 (2000); x_msg_count NUMBER; x_msg_data VARCHAR2 (2000); x_vendor_id NUMBER; x_party_id NUMBER; x_vendor_site_id NUMBER; x_party_site_id NUMBER; x_location_id NUMBER; lc_found VARCHAR2 (1) := 'N'; lc_ou_name VARCHAR2 (240); BEGIN l_vendor_rec.SEGMENT1 := p_supplier_number; l_vendor_rec.VENDOR_NAME := p_supplier_name; l_vendor_rec.SUMMARY_FLAG := 'N'; l_vendor_rec.ENABLED_FLAG := 'Y'; l_vendor_rec.start_date_active := SYSDATE - 1; mo_global.set_policy_context ('S', p_ou); FND_GLOBAL.APPS_INITIALIZE (USER_ID => 1318, -- User Id RESP_ID => 63234,-- Responsibility Id RESP_APPL_ID => 200); -- Responsibility Application Id (200 is for SQLAP Module) BEGIN SELECT 'Y' INTO lc_found FROM ap.ap_Suppliers WHERE segment1 = p_supplier_number OR LOWER (vendor_name) = LOWER (p_supplier_name); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line ('Supplier does not exists'); END; BEGIN SELECT name INTO lc_ou_name FROM hr_organization_units WHERE organization_id = p_ou; END; IF (lc_found = 'Y') THEN p_status := 'E'; p_ret_msg := 'Supplier already Exists with the given name or supplier number. please check.'; ELSE AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version => 1, x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, p_vendor_rec => l_vendor_rec, x_vendor_id => x_vendor_id, x_party_id => x_party_id); p_status := x_return_status; IF (x_return_status <> 'S') THEN DBMS_OUTPUT.put_line ('ERROR in supplier creation!!'); DBMS_OUTPUT.put_line (x_msg_data); IF x_msg_count > 1 THEN FOR i IN 1 .. x_msg_count LOOP DBMS_OUTPUT.put_line ( SUBSTR (FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE), 1, 255)); p_ret_msg := p_ret_msg || SUBSTR ( FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE), 1, 255); END LOOP; END IF; ELSE l_vendor_site_rec.vendor_id := x_vendor_id; l_vendor_site_rec.VENDOR_SITE_CODE := p_supplier_site_code; l_vendor_site_rec.org_id := p_ou; l_vendor_site_rec.COUNTRY := p_country; l_vendor_site_rec.ADDRESS_LINE1 := p_addr1; l_vendor_site_rec.PURCHASING_SITE_FLAG := p_purchasing_site_flag; l_vendor_site_rec.PAY_SITE_FLAG := p_pay_site_flag; l_vendor_site_rec.org_name := lc_ou_name; AP_VENDOR_PUB_PKG.Create_Vendor_Site ( p_api_version => 1, x_return_status => x_return_status, x_msg_count => x_msg_count, x_msg_data => x_msg_data, p_vendor_site_rec => l_vendor_site_rec, x_vendor_site_id => x_vendor_site_id, x_party_site_id => x_party_site_id, x_location_id => x_location_id); IF (x_return_status <> 'S') THEN DBMS_OUTPUT.put_line ('ERROR in supplier site creation!!!'); DBMS_OUTPUT.put_line (x_msg_data); IF x_msg_count > 1 THEN FOR i IN 1 .. x_msg_count LOOP DBMS_OUTPUT.put_line ( SUBSTR ( FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE), 1, 255)); p_ret_msg := p_ret_msg || SUBSTR ( FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE), 1, 255); END LOOP; END IF; ELSE DBMS_OUTPUT.put_line ('Supplier Site Created!!!'); p_ret_msg:='Supplier,Supplier Site got Created Successfully..! '; commit; END IF; END IF; END IF; END; END xxdcb_supplier_imp; /
Post a Comment