SET serveroutput ON size 1000000;
DECLARE
CURSOR CUR_SITES
IS
SELECT asa.vendor_site_id, asa.org_id
FROM ap_suppliers aps, ap_supplier_sites_all asa
WHERE aps.VENDOR_ID = asa.VENDOR_ID
AND asa.vendor_site_id IN
(1427732, 107040, 648640, 1408728, 109163, 387011)
AND aps.END_DATE_ACTIVE IS NULL
AND asa.INACTIVE_DATE IS NULL
ORDER BY asa.auto_tax_calc_flag,
aps.VENDOR_NAME,
asa.vendor_site_code;
L_VENDOR_SITE_ID NUMBER;
l_SITES_msg_count NUMBER;
l_SITES_msg_data VARCHAR2 (4000);
l_SITES_return_status VARCHAR2 (10);
l_vendor_site_rec AP_VENDOR_PUB_PKG.r_vendor_site_rec_type;
l_resp_id number;
BEGIN
FOR SITES_REC IN CUR_SITES
LOOP
SELECT frv.responsibility_ID
INTO l_resp_id
FROM apps.fnd_profile_options_vl fpo,
apps.fnd_responsibility_Vl frv,
apps.fnd_profile_option_values fpov,
apps.hr_organization_units hou
WHERE 1 = 1
AND hou.ORGANIZATION_ID = SITES_REC.org_id
AND fpov.profile_option_value = TO_CHAR (hou.organization_id)
AND fpo.profile_option_id = fpov.profile_option_id
AND fpo.user_profile_option_name = 'MO: Operating Unit'
AND frv.responsibility_id = fpov.level_value
AND frv.APPLICATION_ID = 200
AND UPPER (frv.responsibility_name) LIKE 'AP%%SUPER%USER'
ORDER BY frv.responsibility_name;
FND_GLOBAL.apps_initialize (0, l_resp_id, 200);
l_vendor_site_id := SITES_REC.VENDOR_SITE_ID;
l_vendor_site_rec.AUTO_TAX_CALC_FLAG := 'Y';
AP_VENDOR_PUB_PKG.UPDATE_VENDOR_SITE (
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 => l_vendor_site_id,
p_vendor_site_rec => l_vendor_site_rec,
x_return_status => l_SITES_return_status,
x_msg_count => l_SITES_msg_count,
x_msg_data => l_SITES_msg_data
);
IF l_SITES_return_status = 'S'
THEN
COMMIT;
DBMS_OUTPUT.put_line( 'vendor Site ID : '
|| l_vendor_site_id
|| ' Status is : '
|| l_SITES_return_status);
ELSE
ROLLBACK;
DBMS_OUTPUT.put_line( 'vendor Site ID : '
|| l_vendor_site_id
|| ' Error Status is : '
|| l_SITES_return_status);
END IF;
FOR I IN 1 .. l_SITES_msg_count
LOOP
l_SITES_msg_data :=
SUBSTR (FND_MSG_PUB.GET (p_encoded => 'T'), 1, 255);
DBMS_OUTPUT.put_line (l_SITES_msg_data);
END LOOP;
L_RESP_ID := NULL;
END LOOP;
END;