API To Update Vendor Site Inactive Date Based On Vendor Site Code
SET SERVEROUTPUT ON;
DECLARE
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);
lr_vendor_site_rec apps.ap_vendor_pub_pkg.r_vendor_site_rec_type;
lr_existing_vendor_site_rec ap_supplier_sites_all%rowtype;
p_vendor_site_id NUMBER;
p_calling_prog VARCHAR2(200);
CURSOR c1 IS
SELECT
assa.*
/*asup.SEGMENT1 Supplier_Number,
asup.vendor_id,
asup.vendor_name Supplier_Name,
asup.START_DATE_ACTIVE supplier_start_date,
asup.END_DATE_ACTIVE supplier_end_date,
assa.vendor_site_code SITE_ADDRESS,
assa.INACTIVE_DATE SITE_INACTIVE_DATE*/
FROM
ap_suppliers asup,
ap_supplier_sites_all assa
WHERE
asup.vendor_id = assa.vendor_id
AND assa.vendor_site_code IN ( 'HOME', 'OFFICE' )
AND asup.vendor_id = 24205
--and assa.VENDOR_SITE_ID=102079
;
BEGIN
FOR i IN c1 LOOP
-- Initialize apps session
fnd_global.apps_initialize(5155, 20639, 200);
mo_global.init('SQLAP');
fnd_client_info.set_org_context(101);
-- Assign Basic Values
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;
p_vendor_site_id := i.vendor_site_id;--2040; -- to be end dated
-- p_calling_prog := 'XXCUSTOM';
/* BEGIN
SELECT *
INTO lr_existing_vendor_site_rec
FROM ap_supplier_sites_all assa
WHERE assa.vendor_site_id = p_vendor_site_id;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('Unable to derive the supplier site information for site id:' ||
p_vendor_site_id);
END;
*/
-- Assign Vendor Site Details
lr_vendor_site_rec.vendor_site_id := i.vendor_site_id;---lr_existing_vendor_site_rec.vendor_site_id;
lr_vendor_site_rec.last_update_date := sysdate;
--lr_vendor_site_rec.last_updated_by := 1119;
lr_vendor_site_rec.vendor_id := i.vendor_id;--lr_existing_vendor_site_rec.vendor_id;
lr_vendor_site_rec.org_id := i.org_id;--lr_existing_vendor_site_rec.org_id;
IF i.vendor_site_code = 'OFFICE' THEN
lr_vendor_site_rec.inactive_date := '31-Dec-4712';
ELSIF i.vendor_site_code = 'HOME' THEN
lr_vendor_site_rec.inactive_date := '30-Dec-2023';
END IF;
ap_vendor_pub_pkg.update_vendor_site_public(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_site_rec => lr_vendor_site_rec,
p_vendor_site_id => p_vendor_site_id
-- p_calling_prog => p_calling_prog
);
dbms_output.put_line('X_RETURN_STATUS = ' || x_return_status);
dbms_output.put_line('X_MSG_COUNT = ' || x_msg_count);
dbms_output.put_line('X_MSG_DATA = ' || x_msg_data);
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(sqlerrm);
END;
No comments:
Post a Comment