标签:art loop lob begin get put erro var pkg
例:更新供应商地点可採购flag
DECLARE l_api_version CONSTANT NUMBER := 1; l_msg_data VARCHAR2(2000); l_msg VARCHAR2(4000); l_msg_count NUMBER; l_return_status VARCHAR2(1); l_method_code VARCHAR2(50); l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type; CURSOR cur_vendor IS SELECT vendor.vendor_id, vendor_site.vendor_site_id, vendor_site.org_id FROM ap_suppliers vendor, ap_supplier_sites_all vendor_site WHERE vendor.vendor_id = vendor_site.vendor_id AND vendor.vendor_type_lookup_code = ‘EMPLOYEE‘; BEGIN fnd_global.apps_initialize(user_id => 1170, resp_id => 50717, resp_appl_id => 20005); --mo_global.set_policy_context(p_access_mode => ‘S‘, p_org_id => 83); --fnd_profile.PUT(NAME =>‘MFG_ORGANIZATION_ID‘ ,VAL => 83); FOR rec_vendor IN cur_vendor LOOP mo_global.set_policy_context(p_access_mode => ‘S‘, p_org_id => rec_vendor.org_id); l_vendor_site_rec.purchasing_site_flag := ‘N‘; l_vendor_site_rec.vendor_id := rec_vendor.vendor_id; l_vendor_site_rec.vendor_site_id := rec_vendor.vendor_site_id; BEGIN ap_vendor_pub_pkg.update_vendor_site(p_api_version => l_api_version, p_init_msg_list => fnd_api.g_false, p_commit => fnd_api.g_false, p_validation_level => fnd_api.g_valid_level_full, x_return_status => l_return_status, x_msg_count => l_msg_count, x_msg_data => l_msg_data, p_vendor_site_rec => l_vendor_site_rec, p_vendor_site_id => rec_vendor.vendor_site_id, p_calling_prog => ‘NOT ISETUP‘); EXCEPTION WHEN OTHERS THEN dbms_output.put_line(‘ERROR:‘ || SQLERRM); END; --COMMIT; --dbms_output.put_line(‘o_return_status:‘||o_return_status); IF l_return_status <> fnd_api.g_ret_sts_success THEN FOR i IN 1 .. l_msg_count LOOP l_msg_data := fnd_msg_pub.get(p_msg_index => i, p_encoded => ‘F‘); dbms_output.put_line(‘l_msg_data:‘ || l_msg_data); END LOOP; --FOR i IN 1 .. x_msg_count LOOP dbms_output.put_line(‘x_return_status:‘ || l_return_status); dbms_output.put_line(‘l_msg_data:‘ || l_msg_data); RAISE fnd_api.g_exc_unexpected_error; -- o_msg_data := l_msg_data; ELSE NULL; --dbms_output.put_line(‘S‘); END IF; END LOOP; -- FOR REC_VENDOR IN cur_vendor LOOP END;
标签:art loop lob begin get put erro var pkg
原文地址:http://www.cnblogs.com/liguangsunls/p/6915226.html