DBA Data[Home] [Help]

PACKAGE BODY: APPS.POS_VENDOR_PUB_PKG

Source


1 PACKAGE BODY POS_VENDOR_PUB_PKG AS
2 /* $Header: POSVNDRB.pls 120.67 2011/11/22 06:08:52 ashgup ship $ */
3 
4 g_module_name VARCHAR2(30) := 'POS_VENDOR_PUB_PKG';
5 
6 PROCEDURE log_vendor_rec
7   (p_vendor_rec IN ap_vendor_pub_pkg.r_vendor_rec_type, p_flow IN VARCHAR2)
8   IS
9 BEGIN
10 
11    IF (fnd_log.level_procedure < fnd_log.g_current_runtime_level) THEN
12       RETURN;
13    END IF;
14 
15    pos_log.set_msg_prefix(p_flow || ': p_vendor_rec');
16    pos_log.set_msg_module(g_module_name);
17 
18    pos_log.log_field('vendor_id', p_vendor_rec.vendor_id);
19    pos_log.log_field('segment1', p_vendor_rec.segment1);
20    pos_log.log_field('vendor_name', p_vendor_rec.vendor_name);
21    pos_log.log_field('vendor_name_alt', p_vendor_rec.vendor_name_alt);
22    pos_log.log_field('summary_flag', p_vendor_rec.summary_flag);
23    pos_log.log_field('enabled_flag', p_vendor_rec.enabled_flag);
24    pos_log.log_field('segment2', p_vendor_rec.segment2);
25    pos_log.log_field('segment3', p_vendor_rec.segment3);
26    pos_log.log_field('segment4', p_vendor_rec.segment4);
27    pos_log.log_field('segment5', p_vendor_rec.segment5);
28    pos_log.log_field('employee_id', p_vendor_rec.employee_id);
29    pos_log.log_field('vendor_type_lookup_code', p_vendor_rec.vendor_type_lookup_code);
30    pos_log.log_field('customer_num', p_vendor_rec.customer_num);
31    pos_log.log_field('one_time_flag', p_vendor_rec.one_time_flag);
32    pos_log.log_field('parent_vendor_id', p_vendor_rec.parent_vendor_id);
33    pos_log.log_field('min_order_amount', p_vendor_rec.min_order_amount);
34    pos_log.log_field('terms_id', p_vendor_rec.terms_id);
35    pos_log.log_field('set_of_books_id', p_vendor_rec.set_of_books_id);
36    pos_log.log_field('always_take_disc_flag', p_vendor_rec.always_take_disc_flag);
37    pos_log.log_field('pay_date_basis_lookup_code', p_vendor_rec.pay_date_basis_lookup_code);
38    pos_log.log_field('pay_group_lookup_code', p_vendor_rec.pay_group_lookup_code);
39    pos_log.log_field('payment_priority', p_vendor_rec.payment_priority);
40    pos_log.log_field('invoice_currency_code', p_vendor_rec.invoice_currency_code);
41    pos_log.log_field('payment_currency_code', p_vendor_rec.payment_currency_code);
42    pos_log.log_field('invoice_amount_limit', p_vendor_rec.invoice_amount_limit);
43    pos_log.log_field('hold_all_payments_flag', p_vendor_rec.hold_all_payments_flag);
44    pos_log.log_field('hold_future_payments_flag', p_vendor_rec.hold_future_payments_flag);
45    pos_log.log_field('hold_reason', p_vendor_rec.hold_reason);
46    pos_log.log_field('type_1099', p_vendor_rec.type_1099);
47    pos_log.log_field('withholding_status_lookup_code', p_vendor_rec.withholding_status_lookup_code);
48    pos_log.log_field('withholding_start_date', p_vendor_rec.withholding_start_date);
49    pos_log.log_field('organization_type_lookup_code', p_vendor_rec.organization_type_lookup_code);
50    pos_log.log_field('start_date_active', p_vendor_rec.start_date_active);
51    pos_log.log_field('end_date_active', p_vendor_rec.end_date_active);
52    pos_log.log_field('minority_group_lookup_code', p_vendor_rec.minority_group_lookup_code);
53    pos_log.log_field('women_owned_flag', p_vendor_rec.women_owned_flag);
54    pos_log.log_field('small_business_flag', p_vendor_rec.small_business_flag);
55    pos_log.log_field('hold_flag', p_vendor_rec.hold_flag);
56    pos_log.log_field('purchasing_hold_reason', p_vendor_rec.purchasing_hold_reason);
57    pos_log.log_field('hold_by', p_vendor_rec.hold_by);
58    pos_log.log_field('hold_date', p_vendor_rec.hold_date);
59    pos_log.log_field('terms_date_basis', p_vendor_rec.terms_date_basis);
60    pos_log.log_field('inspection_required_flag', p_vendor_rec.inspection_required_flag);
61    pos_log.log_field('receipt_required_flag', p_vendor_rec.receipt_required_flag);
62    pos_log.log_field('qty_rcv_tolerance', p_vendor_rec.qty_rcv_tolerance);
63    pos_log.log_field('qty_rcv_exception_code', p_vendor_rec.qty_rcv_exception_code);
64    pos_log.log_field('enforce_ship_to_location_code', p_vendor_rec.enforce_ship_to_location_code);
65    pos_log.log_field('days_early_receipt_allowed', p_vendor_rec.days_early_receipt_allowed);
66    pos_log.log_field('days_late_receipt_allowed', p_vendor_rec.days_late_receipt_allowed);
67    pos_log.log_field('receipt_days_exception_code', p_vendor_rec.receipt_days_exception_code);
68    pos_log.log_field('receiving_routing_id', p_vendor_rec.receiving_routing_id);
69    pos_log.log_field('allow_substitute_receipts_flag', p_vendor_rec.allow_substitute_receipts_flag);
70    pos_log.log_field('allow_unordered_receipts_flag', p_vendor_rec.allow_unordered_receipts_flag);
71    pos_log.log_field('hold_unmatched_invoices_flag', p_vendor_rec.hold_unmatched_invoices_flag);
72    pos_log.log_field('tax_verification_date', p_vendor_rec.tax_verification_date);
73    pos_log.log_field('name_control', p_vendor_rec.name_control);
74    pos_log.log_field('state_reportable_flag', p_vendor_rec.state_reportable_flag);
75    pos_log.log_field('federal_reportable_flag', p_vendor_rec.federal_reportable_flag);
76    pos_log.log_field('attribute_category', p_vendor_rec.attribute_category);
77    pos_log.log_field('attribute1', p_vendor_rec.attribute1);
78    pos_log.log_field('attribute2', p_vendor_rec.attribute2);
79    pos_log.log_field('attribute3', p_vendor_rec.attribute3);
80    pos_log.log_field('attribute4', p_vendor_rec.attribute4);
81    pos_log.log_field('attribute5', p_vendor_rec.attribute5);
82    pos_log.log_field('attribute6', p_vendor_rec.attribute6);
83    pos_log.log_field('attribute7', p_vendor_rec.attribute7);
84    pos_log.log_field('attribute8', p_vendor_rec.attribute8);
85    pos_log.log_field('attribute9', p_vendor_rec.attribute9);
86    pos_log.log_field('attribute10', p_vendor_rec.attribute10);
87    pos_log.log_field('attribute11', p_vendor_rec.attribute11);
88    pos_log.log_field('attribute12', p_vendor_rec.attribute12);
89    pos_log.log_field('attribute13', p_vendor_rec.attribute13);
90    pos_log.log_field('attribute14', p_vendor_rec.attribute14);
91    pos_log.log_field('attribute15', p_vendor_rec.attribute15);
92    pos_log.log_field('auto_calculate_interest_flag', p_vendor_rec.auto_calculate_interest_flag);
93    pos_log.log_field('validation_number', p_vendor_rec.validation_number);
94    pos_log.log_field('exclude_freight_from_discount', p_vendor_rec.exclude_freight_from_discount);
95    pos_log.log_field('tax_reporting_name', p_vendor_rec.tax_reporting_name);
96    pos_log.log_field('check_digits', p_vendor_rec.check_digits);
97    pos_log.log_field('allow_awt_flag', p_vendor_rec.allow_awt_flag);
98    pos_log.log_field('awt_group_id', p_vendor_rec.awt_group_id);
99     pos_log.log_field('pay_awt_group_id', p_vendor_rec.pay_awt_group_id);
100    pos_log.log_field('awt_group_name', p_vendor_rec.awt_group_name);
101    pos_log.log_field('pay_awt_group_name', p_vendor_rec.pay_awt_group_name);
102    pos_log.log_field('global_attribute1', p_vendor_rec.global_attribute1);
103    pos_log.log_field('global_attribute2', p_vendor_rec.global_attribute2);
104    pos_log.log_field('global_attribute3', p_vendor_rec.global_attribute3);
105    pos_log.log_field('global_attribute4', p_vendor_rec.global_attribute4);
106    pos_log.log_field('global_attribute5', p_vendor_rec.global_attribute5);
107    pos_log.log_field('global_attribute6', p_vendor_rec.global_attribute6);
108    pos_log.log_field('global_attribute7', p_vendor_rec.global_attribute7);
109    pos_log.log_field('global_attribute8', p_vendor_rec.global_attribute8);
110    pos_log.log_field('global_attribute9', p_vendor_rec.global_attribute9);
111    pos_log.log_field('global_attribute10', p_vendor_rec.global_attribute10);
112    pos_log.log_field('global_attribute11', p_vendor_rec.global_attribute11);
113    pos_log.log_field('global_attribute12', p_vendor_rec.global_attribute12);
114    pos_log.log_field('global_attribute13', p_vendor_rec.global_attribute13);
115    pos_log.log_field('global_attribute14', p_vendor_rec.global_attribute14);
116    pos_log.log_field('global_attribute15', p_vendor_rec.global_attribute15);
117    pos_log.log_field('global_attribute16', p_vendor_rec.global_attribute16);
118    pos_log.log_field('global_attribute17', p_vendor_rec.global_attribute17);
119    pos_log.log_field('global_attribute18', p_vendor_rec.global_attribute18);
120    pos_log.log_field('global_attribute19', p_vendor_rec.global_attribute19);
121    pos_log.log_field('global_attribute20', p_vendor_rec.global_attribute20);
122    pos_log.log_field('global_attribute_category', p_vendor_rec.global_attribute_category);
123    pos_log.log_field('bank_charge_bearer', p_vendor_rec.bank_charge_bearer);
124    pos_log.log_field('match_option', p_vendor_rec.match_option);
125    pos_log.log_field('create_debit_memo_flag', p_vendor_rec.create_debit_memo_flag);
126    pos_log.log_field('party_id', p_vendor_rec.party_id);
127    pos_log.log_field('parent_party_id', p_vendor_rec.parent_party_id);
128    pos_log.log_field('jgzz_fiscal_code', p_vendor_rec.jgzz_fiscal_code);
129    pos_log.log_field('sic_code', p_vendor_rec.sic_code);
130    pos_log.log_field('tax_reference', p_vendor_rec.tax_reference);
131    pos_log.log_field('inventory_organization_id', p_vendor_rec.inventory_organization_id);
132    pos_log.log_field('terms_name', p_vendor_rec.terms_name);
133    pos_log.log_field('default_terms_id', p_vendor_rec.default_terms_id);
134    pos_log.log_field('vendor_interface_id', p_vendor_rec.vendor_interface_id);
135    pos_log.log_field('ni_number', p_vendor_rec.ni_number);
136    --pos_log.log_field('ext_payee_rec', p_vendor_rec.ext_payee_rec);
137 
138    pos_log.finish_log_field;
139 
140 END log_vendor_rec;
141 
142 PROCEDURE log_vendor_site_rec
143   (p_vendor_site_rec IN ap_vendor_pub_pkg.r_vendor_site_rec_type, p_flow IN VARCHAR2)
144   IS
145 BEGIN
146    IF (fnd_log.level_procedure < fnd_log.g_current_runtime_level) THEN
147       RETURN;
148    END IF;
149 
150    pos_log.set_msg_prefix(p_flow || ': p_vendor_site_rec');
151    pos_log.set_msg_module(g_module_name);
152 
153    pos_log.log_field('area_code', p_vendor_site_rec.area_code);
154    pos_log.log_field('phone', p_vendor_site_rec.phone);
155    pos_log.log_field('customer_num', p_vendor_site_rec.customer_num);
156    pos_log.log_field('ship_to_location_id', p_vendor_site_rec.ship_to_location_id);
157    pos_log.log_field('bill_to_location_id', p_vendor_site_rec.bill_to_location_id);
158    pos_log.log_field('ship_via_lookup_code', p_vendor_site_rec.ship_via_lookup_code);
159    pos_log.log_field('freight_terms_lookup_code', p_vendor_site_rec.freight_terms_lookup_code);
160    pos_log.log_field('fob_lookup_code', p_vendor_site_rec.fob_lookup_code);
161    pos_log.log_field('inactive_date', p_vendor_site_rec.inactive_date);
162    pos_log.log_field('fax', p_vendor_site_rec.fax);
163    pos_log.log_field('fax_area_code', p_vendor_site_rec.fax_area_code);
164    pos_log.log_field('telex', p_vendor_site_rec.telex);
165    pos_log.log_field('terms_date_basis', p_vendor_site_rec.terms_date_basis);
166    pos_log.log_field('distribution_set_id', p_vendor_site_rec.distribution_set_id);
167    pos_log.log_field('accts_pay_code_combination_id', p_vendor_site_rec.accts_pay_code_combination_id);
168    pos_log.log_field('prepay_code_combination_id', p_vendor_site_rec.prepay_code_combination_id);
169    pos_log.log_field('pay_group_lookup_code', p_vendor_site_rec.pay_group_lookup_code);
170    pos_log.log_field('payment_priority', p_vendor_site_rec.payment_priority);
171    pos_log.log_field('terms_id', p_vendor_site_rec.terms_id);
172    pos_log.log_field('invoice_amount_limit', p_vendor_site_rec.invoice_amount_limit);
173    pos_log.log_field('pay_date_basis_lookup_code', p_vendor_site_rec.pay_date_basis_lookup_code);
174    pos_log.log_field('always_take_disc_flag', p_vendor_site_rec.always_take_disc_flag);
175    pos_log.log_field('invoice_currency_code', p_vendor_site_rec.invoice_currency_code);
176    pos_log.log_field('payment_currency_code', p_vendor_site_rec.payment_currency_code);
177    pos_log.log_field('vendor_site_id', p_vendor_site_rec.vendor_site_id);
178    pos_log.log_field('last_update_date', p_vendor_site_rec.last_update_date);
179    pos_log.log_field('last_updated_by', p_vendor_site_rec.last_updated_by);
180    pos_log.log_field('vendor_id', p_vendor_site_rec.vendor_id);
181    pos_log.log_field('vendor_site_code', p_vendor_site_rec.vendor_site_code);
182    pos_log.log_field('vendor_site_code_alt', p_vendor_site_rec.vendor_site_code_alt);
183    pos_log.log_field('purchasing_site_flag', p_vendor_site_rec.purchasing_site_flag);
184    pos_log.log_field('rfq_only_site_flag', p_vendor_site_rec.rfq_only_site_flag);
185    pos_log.log_field('pay_site_flag', p_vendor_site_rec.pay_site_flag);
186    pos_log.log_field('attention_ar_flag', p_vendor_site_rec.attention_ar_flag);
187    pos_log.log_field('hold_all_payments_flag', p_vendor_site_rec.hold_all_payments_flag);
188    pos_log.log_field('hold_future_payments_flag', p_vendor_site_rec.hold_future_payments_flag);
189    pos_log.log_field('hold_reason', p_vendor_site_rec.hold_reason);
190    pos_log.log_field('hold_unmatched_invoices_flag', p_vendor_site_rec.hold_unmatched_invoices_flag);
191    pos_log.log_field('tax_reporting_site_flag', p_vendor_site_rec.tax_reporting_site_flag);
192    pos_log.log_field('attribute_category', p_vendor_site_rec.attribute_category);
193    pos_log.log_field('attribute1', p_vendor_site_rec.attribute1);
194    pos_log.log_field('attribute2', p_vendor_site_rec.attribute2);
195    pos_log.log_field('attribute3', p_vendor_site_rec.attribute3);
196    pos_log.log_field('attribute4', p_vendor_site_rec.attribute4);
197    pos_log.log_field('attribute5', p_vendor_site_rec.attribute5);
198    pos_log.log_field('attribute6', p_vendor_site_rec.attribute6);
199    pos_log.log_field('attribute7', p_vendor_site_rec.attribute7);
200    pos_log.log_field('attribute8', p_vendor_site_rec.attribute8);
201    pos_log.log_field('attribute9', p_vendor_site_rec.attribute9);
202    pos_log.log_field('attribute10', p_vendor_site_rec.attribute10);
203    pos_log.log_field('attribute11', p_vendor_site_rec.attribute11);
204    pos_log.log_field('attribute12', p_vendor_site_rec.attribute12);
205    pos_log.log_field('attribute13', p_vendor_site_rec.attribute13);
206    pos_log.log_field('attribute14', p_vendor_site_rec.attribute14);
207    pos_log.log_field('attribute15', p_vendor_site_rec.attribute15);
208    pos_log.log_field('validation_number', p_vendor_site_rec.validation_number);
209    pos_log.log_field('exclude_freight_from_discount', p_vendor_site_rec.exclude_freight_from_discount);
210    pos_log.log_field('bank_charge_bearer', p_vendor_site_rec.bank_charge_bearer);
211    pos_log.log_field('org_id', p_vendor_site_rec.org_id);
212    pos_log.log_field('check_digits', p_vendor_site_rec.check_digits);
213    pos_log.log_field('allow_awt_flag', p_vendor_site_rec.allow_awt_flag);
214    pos_log.log_field('awt_group_id', p_vendor_site_rec.awt_group_id);
215    pos_log.log_field('pay_awt_group_id', p_vendor_site_rec.pay_awt_group_id);
216    pos_log.log_field('default_pay_site_id', p_vendor_site_rec.default_pay_site_id);
217    pos_log.log_field('pay_on_code', p_vendor_site_rec.pay_on_code);
218    pos_log.log_field('pay_on_receipt_summary_code', p_vendor_site_rec.pay_on_receipt_summary_code);
219    pos_log.log_field('global_attribute_category', p_vendor_site_rec.global_attribute_category);
220    pos_log.log_field('global_attribute1', p_vendor_site_rec.global_attribute1);
221    pos_log.log_field('global_attribute2', p_vendor_site_rec.global_attribute2);
222    pos_log.log_field('global_attribute3', p_vendor_site_rec.global_attribute3);
223    pos_log.log_field('global_attribute4', p_vendor_site_rec.global_attribute4);
224    pos_log.log_field('global_attribute5', p_vendor_site_rec.global_attribute5);
225    pos_log.log_field('global_attribute6', p_vendor_site_rec.global_attribute6);
226    pos_log.log_field('global_attribute7', p_vendor_site_rec.global_attribute7);
227    pos_log.log_field('global_attribute8', p_vendor_site_rec.global_attribute8);
228    pos_log.log_field('global_attribute9', p_vendor_site_rec.global_attribute9);
229    pos_log.log_field('global_attribute10', p_vendor_site_rec.global_attribute10);
230    pos_log.log_field('global_attribute11', p_vendor_site_rec.global_attribute11);
231    pos_log.log_field('global_attribute12', p_vendor_site_rec.global_attribute12);
232    pos_log.log_field('global_attribute13', p_vendor_site_rec.global_attribute13);
233    pos_log.log_field('global_attribute14', p_vendor_site_rec.global_attribute14);
234    pos_log.log_field('global_attribute15', p_vendor_site_rec.global_attribute15);
235    pos_log.log_field('global_attribute16', p_vendor_site_rec.global_attribute16);
236    pos_log.log_field('global_attribute17', p_vendor_site_rec.global_attribute17);
237    pos_log.log_field('global_attribute18', p_vendor_site_rec.global_attribute18);
238    pos_log.log_field('global_attribute19', p_vendor_site_rec.global_attribute19);
239    pos_log.log_field('global_attribute20', p_vendor_site_rec.global_attribute20);
240    pos_log.log_field('tp_header_id', p_vendor_site_rec.tp_header_id);
241    pos_log.log_field('edi_id_number', p_vendor_site_rec.edi_id_number);
242    pos_log.log_field('ece_tp_location_code', p_vendor_site_rec.ece_tp_location_code);
243    pos_log.log_field('pcard_site_flag', p_vendor_site_rec.pcard_site_flag);
244    pos_log.log_field('match_option', p_vendor_site_rec.match_option);
245    pos_log.log_field('country_of_origin_code', p_vendor_site_rec.country_of_origin_code);
246    pos_log.log_field('future_dated_payment_ccid', p_vendor_site_rec.future_dated_payment_ccid);
247    pos_log.log_field('create_debit_memo_flag', p_vendor_site_rec.create_debit_memo_flag);
248    pos_log.log_field('supplier_notif_method', p_vendor_site_rec.supplier_notif_method);
249    pos_log.log_field('email_address', p_vendor_site_rec.email_address);
250    pos_log.log_field('primary_pay_site_flag', p_vendor_site_rec.primary_pay_site_flag);
251    pos_log.log_field('shipping_control', p_vendor_site_rec.shipping_control);
252    pos_log.log_field('selling_company_identifier', p_vendor_site_rec.selling_company_identifier);
253    pos_log.log_field('gapless_inv_num_flag', p_vendor_site_rec.gapless_inv_num_flag);
254    pos_log.log_field('location_id', p_vendor_site_rec.location_id);
255    pos_log.log_field('party_site_id', p_vendor_site_rec.party_site_id);
256    pos_log.log_field('org_name', p_vendor_site_rec.org_name);
257    pos_log.log_field('duns_number', p_vendor_site_rec.duns_number);
258    pos_log.log_field('address_style', p_vendor_site_rec.address_style);
259    pos_log.log_field('language', p_vendor_site_rec.language);
260    pos_log.log_field('province', p_vendor_site_rec.province);
261    pos_log.log_field('country', p_vendor_site_rec.country);
262    pos_log.log_field('address_line1', p_vendor_site_rec.address_line1);
263    pos_log.log_field('address_line2', p_vendor_site_rec.address_line2);
264    pos_log.log_field('address_line3', p_vendor_site_rec.address_line3);
265    pos_log.log_field('address_line4', p_vendor_site_rec.address_line4);
266    pos_log.log_field('address_lines_alt', p_vendor_site_rec.address_lines_alt);
267    pos_log.log_field('county', p_vendor_site_rec.county);
268    pos_log.log_field('city', p_vendor_site_rec.city);
269    pos_log.log_field('state', p_vendor_site_rec.state);
270    pos_log.log_field('zip', p_vendor_site_rec.zip);
271    pos_log.log_field('terms_name', p_vendor_site_rec.terms_name);
272    pos_log.log_field('default_terms_id', p_vendor_site_rec.default_terms_id);
273    pos_log.log_field('awt_group_name', p_vendor_site_rec.awt_group_name);
274    pos_log.log_field('pay_awt_group_name', p_vendor_site_rec.awt_group_name);
275    pos_log.log_field('distribution_set_name', p_vendor_site_rec.distribution_set_name);
276    pos_log.log_field('ship_to_location_code', p_vendor_site_rec.ship_to_location_code);
277    pos_log.log_field('bill_to_location_code', p_vendor_site_rec.bill_to_location_code);
278    pos_log.log_field('default_dist_set_id', p_vendor_site_rec.default_dist_set_id);
279    pos_log.log_field('default_ship_to_loc_id', p_vendor_site_rec.default_ship_to_loc_id);
280    pos_log.log_field('default_bill_to_loc_id', p_vendor_site_rec.default_bill_to_loc_id);
281    pos_log.log_field('tolerance_id', p_vendor_site_rec.tolerance_id);
282    pos_log.log_field('tolerance_name', p_vendor_site_rec.tolerance_name);
283    pos_log.log_field('vendor_interface_id', p_vendor_site_rec.vendor_interface_id);
284    pos_log.log_field('vendor_site_interface_id', p_vendor_site_rec.vendor_site_interface_id);
285    --pos_log.log_field('ext_payee_rec', p_vendor_site_rec.ext_payee_rec);
286    pos_log.log_field('retainage_rate', p_vendor_site_rec.retainage_rate);
287    pos_log.log_field('services_tolerance_id', p_vendor_site_rec.services_tolerance_id);
288    pos_log.log_field('services_tolerance_name', p_vendor_site_rec.services_tolerance_name);
289 
290    pos_log.finish_log_field;
291 
292 END log_vendor_site_rec;
293 
294 procedure hack_org_id
295   (px_vendor_rec IN OUT nocopy AP_VENDOR_PUB_PKG.r_vendor_rec_type)
296   IS
297      CURSOR l_cur IS
298 	SELECT organization_id
299 	  FROM hr_operating_units m
300 	     , financials_system_params_all fspa
301 	     , ap_system_parameters_all aspa
302 	     , po_system_parameters_all pspa
303          WHERE m.organization_id = fspa.org_id
304            AND m.organization_id = aspa.org_id
305 	   AND m.organization_id = pspa.org_id
306 	   AND mo_global.check_access(m.organization_id) = 'Y' ;
307 
308      l_org_id NUMBER;
309 BEGIN
310    --IF px_vendor_rec.org_id IS NOT NULL THEN
311    --   RETURN;
312    --END IF;
313 
314    --OPEN l_cur;
315    --FETCH l_cur INTO l_org_id;
316    --IF l_cur%found THEN
317    --   px_vendor_rec.org_id := l_org_id;
318    --END IF;
319    --CLOSE l_cur;
320    NULL;
321 END hack_org_id;
322 
323 function check_for_dupe_vendor(p_vendor_name in varchar2)
324 return number
325 is
326 l_count number;
327 begin
328     select count(*)
329     into l_count
330     from ap_suppliers
331     where upper(vendor_name) like upper(p_vendor_name)
332     AND nvl(VENDOR_TYPE_LOOKUP_CODE,'nonemp') <> 'EMPLOYEE';
333 
334     return l_count;
335 
336 end;
337 
338 function get_nls_language(p_language_code in varchar2)
339 return varchar2
340 is
341 l_nls_language fnd_languages.nls_language%TYPE;
342 
343 cursor l_nls_lang_cur is
344     select nls_language
345     from fnd_languages_vl
346     where language_code = p_language_code;
347 
348 begin
349     l_nls_language := null;
350 
351     open l_nls_lang_cur;
352     fetch l_nls_lang_cur into l_nls_language;
353     close  l_nls_lang_cur;
354 
355     return l_nls_language;
356 end;
357 
358 
359 PROCEDURE check_for_site_errors
360 (
361   p_vendor_site_rec IN ap_vendor_pub_pkg.r_vendor_site_rec_type,
362   x_return_status  OUT NOCOPY VARCHAR2,
363   x_msg_count      OUT NOCOPY NUMBER,
364   x_msg_data       OUT NOCOPY VARCHAR2
365 )
366 IS
367 
368 l_primary_pay_flag AP_SUPPLIER_SITES.primary_pay_site_flag%TYPE;
369 l_org_id AP_SUPPLIER_SITES.ORG_ID%TYPE;
370 l_count number;
371 l_vendor_site_code AP_SUPPLIER_SITES.VENDOR_SITE_CODE%TYPE;
372 l_vendor_site_id number;
373 BEGIN
374 
375     l_primary_pay_flag := p_vendor_site_rec.primary_pay_site_flag;
376 
377     if (l_primary_pay_flag is null or l_primary_pay_flag <> 'Y' ) then
378        x_return_status := FND_API.g_ret_sts_success;
379        x_msg_count :=0;
380        x_msg_data := null;
381        return;
382     end if;
383 
384     l_org_id := p_vendor_site_rec.org_id;
385     l_vendor_site_id := p_vendor_site_rec.vendor_site_id;
386 
387     if (l_vendor_site_id is null) then
388         -- if the vendor site is being created vendor site will be null
389         l_vendor_site_id := -23123;
390     end if;
391 
392 
393     select  count(*)
394     into l_count
395     from ap_supplier_sites_all
396     where org_id = l_org_id
397     and primary_pay_site_flag = l_primary_pay_flag
398     and vendor_id = p_vendor_site_rec.vendor_id
399     and vendor_site_id <> l_vendor_site_id
400     and ( inactive_date is null or inactive_date > sysdate );
401 
402     if (l_count = 0) then
403        x_return_status := FND_API.g_ret_sts_success;
404        x_msg_count :=0;
405        x_msg_data := null;
406        return;
407     end if;
408 
409     select  vendor_site_code
410     into l_vendor_site_code
411     from ap_supplier_sites_all
412     where org_id = l_org_id
413     and primary_pay_site_flag = l_primary_pay_flag
414     and vendor_id = p_vendor_site_rec.vendor_id
415     and vendor_site_id <> l_vendor_site_id
416     and ( inactive_date is null or inactive_date > sysdate )
417     and rownum = 1;
418 
419     if ( l_vendor_site_code is not null ) then
420         x_msg_count := 1;
421         fnd_message.set_name('POS','POS_HT_SP_DUP_PRIMARY_PAY');
422         --fnd_message.set_token('VENDOR_SITE_CODE', p_vendor_site_rec.vendor_site_code);
423         x_msg_data  := fnd_message.get();
424         x_return_status := 'E';
425     else
426        x_return_status := FND_API.g_ret_sts_success;
427        x_msg_count :=0;
428        x_msg_data := null;
429     end if;
430 
431 END;
432 
433 PROCEDURE Create_Vendor
434 ( p_vendor_rec     IN  AP_VENDOR_PUB_PKG.r_vendor_rec_type,
435   x_return_status  OUT NOCOPY VARCHAR2,
436   x_msg_count      OUT NOCOPY NUMBER,
437   x_msg_data       OUT NOCOPY VARCHAR2,
438   x_vendor_id      OUT NOCOPY NUMBER,
439   x_party_id       OUT NOCOPY NUMBER
440 ) IS
441    l_step VARCHAR2(100);
442    l_vendor_rec AP_VENDOR_PUB_PKG.r_vendor_rec_type;
443    --l_temp_party_id number;
444    l_party_usage_rec HZ_PARTY_USG_ASSIGNMENT_PVT.party_usg_assignment_rec_type;
445 
446    /* Bug No: 8973060.
447       Added following varirables to build the message with bind variables.*/
448    l_segment1    AP_SUPPLIERS.SEGMENT1%TYPE;
449    l_vendor_id   AP_SUPPLIERS.VENDOR_ID%TYPE;
450    l_vendor_name AP_SUPPLIERS.VENDOR_NAME%TYPE;
451    l_party_id    HZ_PARTIES.PARTY_ID%TYPE;
452     event_id Number;
453 BEGIN
454 
455    savepoint crt_vndr_a;
456 
457    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
458       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
459                       , g_module_name
460                       , 'Enter Create Vendor Procedure'
461                       );
462    END IF;
463 
464    l_step := 'Log vendor rec values';
465 
466    log_vendor_rec (p_vendor_rec, 'create vendor');
467 
468    l_step := 'Check for duplicate vendors';
469 
470   /*  Added for bug6779711
471       If the vendor is of EMPLOYEE type then do not
472       perform duplicate check for supplier name
473   */
474 
475   if (p_vendor_rec.vendor_type_lookup_code = 'EMPLOYEE') then
476     null;
477   else
478    if ( check_for_dupe_vendor(p_vendor_rec.vendor_name) > 0 ) then
479     x_msg_count := 1;
480 
481    /* Bug 8973060 - Start
482    Added following code to build messages with bind variables.*/
483 
484    select segment1, vendor_name, party_id, vendor_id
485    INTO l_segment1, l_vendor_name, l_party_id, l_vendor_id
486    from ap_suppliers
487    where upper(vendor_name) like upper(p_vendor_rec.vendor_name);
488 
489    fnd_message.set_name('POS','POS_HT_SP_DUP_VENDOR');
490    fnd_message.set_token('VENDOR_NAME',l_vendor_name);
491    fnd_message.set_token('VENDOR_NUMBER',l_segment1);
492    x_msg_data  := fnd_message.get;
493    x_vendor_id := l_vendor_id;
494    x_party_id  := l_party_id;
495 
496    /*Bug 8973060 - End*/
497 
498     x_return_status := 'E';
499     return;
500    end if;
501   end if;
502 
503    -- create the party usage
504     --l_temp_party_id := p_vendor_rec.party_id;
505     if (p_vendor_rec.party_id > 0 ) then
506         l_step := 'Create party usage for organization';
507         l_party_usage_rec.party_id := p_vendor_rec.party_id;
508         l_party_usage_rec.party_usage_code := 'SUPPLIER';
509         l_party_usage_rec.created_by_module := 'POS_SUPPLIER_MGMT';
510         HZ_PARTY_USG_ASSIGNMENT_PUB.assign_party_usage (
511             p_init_msg_list => FND_API.G_TRUE,
512             p_party_usg_assignment_rec => l_party_usage_rec,
513             x_return_status            => x_return_status,
514             x_msg_count                => x_msg_count,
515             x_msg_data                 => x_msg_data
516         );
517         IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
518          fnd_log.string(FND_LOG.LEVEL_ERROR
519                          , g_module_name
520                          , l_step
521                          || ' x_return_status = ' || x_return_status
522                          || ', x_msg_count = ' || x_msg_count
523                          || ', x_msg_data = ' || x_msg_data);
524 
525       END IF;
526 
527         if (x_return_status <> 'S') then
528             return;
529         end if;
530     end if;
531 
532    -- hack: we should not need to set org_id as this is vendor not site
533    --       but there is a bug in ap api right now.
534    --       so set it here temporarily
535    l_vendor_rec := p_vendor_rec;
536    hack_org_id(l_vendor_rec);
537 
538    l_step := 'Call AP_VENDOR_PUB_PKG.Create_Vendor';
539 
540    AP_VENDOR_PUB_PKG.Create_Vendor
541      (  p_api_version           => 1.0,
542         p_init_msg_list         => FND_API.G_TRUE,
543         p_commit                => FND_API.G_FALSE,
544         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
545         x_return_status         => x_return_status,
546         x_msg_count             => x_msg_count,
547         x_msg_data              => x_msg_data,
548         p_vendor_rec            => l_vendor_rec,
549         x_vendor_id             => x_vendor_id,
550         x_party_id              => x_party_id
551         );
552 
553    IF x_return_status IS NOT NULL AND
554      x_return_status = FND_API.g_ret_sts_success THEN
555       -- succeed
556 
557       /* Begin Supplier Hub - Supplier Data Publication */
558       /* Raise Supplier Creation/Approval event*/
559         event_id:= pos_appr_rej_supp_event_raise.raise_appr_rej_supp_event('oracle.apps.pos.supplier.approvesupplier', x_vendor_id, x_party_id);
560 
561       /* End Supplier Hub - Supplier Data Publication */
562 
563       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
564          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
565                          , g_module_name
566                          , l_step
567                          || ' x_return_status = ' || x_return_status
568                          || ', x_vendor_id = '  || x_vendor_id
569                          || ', x_party_id = '   || x_party_id);
570       END IF;
571     ELSE
572       -- failed
573       rollback to crt_vndr_a;
574       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
575          fnd_log.string(FND_LOG.LEVEL_ERROR
576                          , g_module_name
577                          , l_step
578                          || ' x_return_status = ' || x_return_status
579                          || ', x_msg_count = ' || x_msg_count
580                          || ', x_msg_data = ' || x_msg_data);
581 
582       END IF;
583    END IF;
584 
585 END Create_Vendor;
586 
587 -- Notes: This API will not update any TCA tables. It updates vendor info only.
588 --        This is because the procedure calls the corresponding procedure in
589 --        AP_VENDOR_PUB_PKG which does not update TCA tables.
590 PROCEDURE Update_Vendor
591 ( p_vendor_rec      IN  AP_VENDOR_PUB_PKG.r_vendor_rec_type,
592   x_return_status   OUT NOCOPY VARCHAR2,
593   x_msg_count       OUT NOCOPY NUMBER,
594   x_msg_data        OUT NOCOPY VARCHAR2
595 ) IS
596    l_step VARCHAR2(100);
597 BEGIN
598    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
599       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
600                       , g_module_name
601                       , 'Enter Update Vendor Procedure'
602                       );
603    END IF;
604 
605    l_step := 'Log vendor rec values';
606 
607    log_vendor_rec (p_vendor_rec, 'update vendor');
608 
609    l_step := 'Call AP_VENDOR_PUB_PKG.Update_Vendor';
610 
611    savepoint upd_vndr_a;
612    AP_VENDOR_PUB_PKG.Update_Vendor
613      (  p_api_version           => 1.0,
614         p_init_msg_list         => FND_API.G_TRUE,
615         p_commit                => FND_API.G_FALSE,
616         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
617         x_return_status         => x_return_status,
618         x_msg_count             => x_msg_count,
619         x_msg_data              => x_msg_data,
620         p_vendor_rec            => p_vendor_rec,
621         p_vendor_id             => p_vendor_rec.vendor_id
622         );
623 
624    IF x_return_status IS NOT NULL AND
625      x_return_status = FND_API.g_ret_sts_success THEN
626       -- succeed
627       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
628          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
629                          , g_module_name
630                          , l_step
631                          || ' x_return_status = ' || x_return_status
632                          );
633       END IF;
634     ELSE
635       -- failed
636       rollback to upd_vndr_a;
637       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
638          fnd_log.string(FND_LOG.LEVEL_ERROR
639                          , g_module_name
640                          , l_step
641                          || ' x_return_status = ' || x_return_status
642                          || ', x_msg_count = ' || x_msg_count
643                          || ', x_msg_data = ' || x_msg_data);
644 
645       END IF;
646    END IF;
647 
648 END Update_Vendor;
649 
650 -- Notes:
651 --   p_mode: Indicates whether the calling code is in insert or update mode.
652 --           (I, U)
653 --
654 --   p_party_valid:  Indicates how valid the calling program's party_id was
655 --                   (V, N, F) Valid, Null or False
656 
657 PROCEDURE Validate_Vendor
658 ( p_vendor_rec     IN  OUT NOCOPY AP_VENDOR_PUB_PKG.r_vendor_rec_type,
659   p_mode           IN  VARCHAR2,
660   x_return_status  OUT NOCOPY VARCHAR2,
661   x_msg_count      OUT NOCOPY NUMBER,
662   x_msg_data       OUT NOCOPY VARCHAR2,
663   x_party_valid    OUT NOCOPY VARCHAR2
664 ) IS
665    l_step        VARCHAR2(100);
666    l_payee_valid VARCHAR2(1);
667 BEGIN
668    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
669       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
670                       , g_module_name
671                       , 'Enter Validate Vendor Procedure'
672                       );
673    END IF;
674 
675    l_step := 'Log vendor rec values';
676 
677    log_vendor_rec (p_vendor_rec, 'validate vendor');
678 
679    IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
680       fnd_log.string(FND_LOG.LEVEL_STATEMENT
681                       , g_module_name
682                       , 'p_mode = ' || p_mode
683                       );
684    END IF;
685 
686    l_step := 'Validate p_mode';
687 
688    IF p_mode IS NULL OR p_mode NOT IN ('I','U') THEN
689       x_return_status := FND_API.G_RET_STS_ERROR;
690       x_msg_count := 1;
691       x_msg_data := 'Invalid p_mode ' || p_mode || ' passed. Expects I or U.';
692       RETURN;
693    END IF;
694 
695    l_step := 'Call AP_VENDOR_PUB_PKG.Validate_Vendor';
696 
697    AP_VENDOR_PUB_PKG.Validate_Vendor
698      (  p_api_version           => 1.0,
699         p_init_msg_list         => FND_API.G_TRUE,
700         p_commit                => FND_API.G_FALSE,
701         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
702         x_return_status         => x_return_status,
703         x_msg_count             => x_msg_count,
704         x_msg_data              => x_msg_data,
705         p_vendor_rec            => p_vendor_rec,
706         p_mode                  => p_mode,
707         p_calling_prog          => g_module_name || '.' || 'Validate_Vendor',
708         x_party_valid           => x_party_valid,
709 	x_payee_valid           => l_payee_valid,
710         p_vendor_id             => p_vendor_rec.vendor_id
711         );
712 
713    IF x_return_status IS NOT NULL AND
714      x_return_status = FND_API.g_ret_sts_success THEN
715       -- succeed
716       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
717          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
718                          , g_module_name
719                          , l_step
720                          || ' x_return_status = ' || x_return_status
721                          || ', x_party_valid = '   || x_party_valid);
722       END IF;
723     ELSE
724       -- failed
725       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
726          fnd_log.string(FND_LOG.LEVEL_ERROR
727                          , g_module_name
728                          , l_step
729                          || ' x_return_status = ' || x_return_status
730                          || ', x_msg_count = ' || x_msg_count
731                          || ', x_msg_data = ' || x_msg_data);
732 
733       END IF;
734    END IF;
735 
736 END Validate_Vendor;
737 
738 PROCEDURE vendor_site_create_default
739   (x_vendor_site_rec IN OUT nocopy ap_vendor_pub_pkg.r_vendor_site_rec_type
740    )
741   IS
742      CURSOR l_phone_cur (p_party_site_id IN NUMBER) IS
743 	SELECT phone_area_code,
744 	       phone_number
745 	  FROM hz_contact_points
746 	 WHERE owner_table_name = 'HZ_PARTY_SITES'
747            AND owner_table_id = p_party_site_id
748            AND contact_point_type = 'PHONE'
749            AND phone_line_type = 'GEN'
750            AND primary_flag = 'Y'
751            AND status = 'A' ;
752 
753      CURSOR l_fax_cur (p_party_site_id IN NUMBER) IS
754 	SELECT phone_area_code fax_area_code,
755 	       phone_number fax_number
756 	  FROM hz_contact_points
757 	 WHERE owner_table_name = 'HZ_PARTY_SITES'
758            AND owner_table_id = p_party_site_id
759            AND contact_point_type = 'PHONE'
760            AND phone_line_type = 'FAX'
761 	   AND status = 'A' ;
762 
763      CURSOR l_email_cur (p_party_site_id IN NUMBER) IS
764 	SELECT email_address
765 	  FROM hz_contact_points
766 	 WHERE owner_table_name = 'HZ_PARTY_SITES'
767            AND owner_table_id = p_party_site_id
768            AND contact_point_type = 'EMAIL'
769            AND primary_flag = 'Y'
770            AND status = 'A' ;
771 
772   l_phone_rec l_phone_cur%ROWTYPE;
773   l_fax_rec   l_fax_cur%ROWTYPE;
774   l_email_rec l_email_cur%ROWTYPE;
775 
776 BEGIN
777    IF x_vendor_site_rec.party_site_id IS NULL THEN
778       RETURN;
779    END IF;
780 
781    OPEN l_phone_cur(x_vendor_site_rec.party_site_id);
782    fetch l_phone_cur INTO l_phone_rec;
783    CLOSE l_phone_cur;
784 
785    OPEN l_fax_cur(x_vendor_site_rec.party_site_id);
786    fetch l_fax_cur INTO l_fax_rec;
787    CLOSE l_fax_cur;
788 
789    OPEN l_email_cur(x_vendor_site_rec.party_site_id);
790    fetch l_email_cur INTO l_email_rec;
791    CLOSE l_email_cur;
792 
793    IF (x_vendor_site_rec.phone IS NULL OR x_vendor_site_rec.phone = fnd_api.g_null_char) AND
794       (x_vendor_site_rec.area_code IS NULL OR x_vendor_site_rec.area_code = fnd_api.g_null_char) THEN
795       x_vendor_site_rec.phone := l_phone_rec.phone_number;
796       x_vendor_site_rec.area_code := l_phone_rec.phone_area_code;
797    END IF;
798 
799    IF (x_vendor_site_rec.fax IS NULL OR x_vendor_site_rec.fax = fnd_api.g_null_char) AND
800       (x_vendor_site_rec.fax_area_code IS NULL OR x_vendor_site_rec.fax_area_code = fnd_api.g_null_char) THEN
801       x_vendor_site_rec.fax := l_fax_rec.fax_number;
802       x_vendor_site_rec.fax_area_code := l_fax_rec.fax_area_code;
803    END IF;
804 
805    IF (x_vendor_site_rec.email_address IS NULL OR x_vendor_site_rec.email_address = fnd_api.g_null_char) THEN
806       x_vendor_site_rec.email_address := l_email_rec.email_address;
807    END IF;
808 
809 END vendor_site_create_default;
810 
811 PROCEDURE Create_Vendor_Site
812 ( p_vendor_site_rec IN  ap_vendor_pub_pkg.r_vendor_site_rec_type,
813   x_return_status   OUT NOCOPY VARCHAR2,
814   x_msg_count       OUT NOCOPY NUMBER,
815   x_msg_data        OUT NOCOPY VARCHAR2,
816   x_vendor_site_id  OUT NOCOPY NUMBER,
817   x_party_site_id   OUT NOCOPY NUMBER,
818   x_location_id     OUT NOCOPY NUMBER
819 ) IS
820    l_step VARCHAR2(100);
821    l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
822 BEGIN
823    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
824       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
825                       , g_module_name
826                       , 'Enter Create_Vendor_Site Procedure'
827                       );
828    END IF;
829 
830    l_step := 'Log vendor site rec values';
831 
832    l_vendor_site_rec := p_vendor_site_rec;
833 
834    log_vendor_site_rec (l_vendor_site_rec,'create vendor site');
835 
836    l_step := 'Call Check_for_site_errors';
837 
838 
839    -- Check for errors
840    check_for_site_errors(l_vendor_site_rec, x_return_status,
841         x_msg_count, x_msg_data );
842 
843    IF ( (x_return_status IS NULL) OR (x_return_status <> FND_API.g_ret_sts_success) ) THEN
844     -- Found an error in validation
845       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
846          fnd_log.string(FND_LOG.LEVEL_ERROR
847                          , g_module_name
848                          , l_step
849                          || ' x_return_status = ' || x_return_status
850                          || ', x_msg_count = ' || x_msg_count
851                          || ', x_msg_data = ' || x_msg_data);
852       END IF;
853 
854       return;
855    END IF;
856 
857    savepoint crt_vndr_st_a;
858    l_step := 'Call AP_VENDOR_PUB_PKG.Create_Vendor_Site';
859    AP_VENDOR_PUB_PKG.Create_Vendor_Site
860      (  p_api_version           => 1.0,
861         p_init_msg_list         => FND_API.G_TRUE,
862         p_commit                => FND_API.G_FALSE,
863         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
864         x_return_status         => x_return_status,
865         x_msg_count             => x_msg_count,
866         x_msg_data              => x_msg_data,
867         p_vendor_site_rec       => l_vendor_site_rec,
868         x_vendor_site_id        => x_vendor_site_id,
869         x_party_site_id         => x_party_site_id,
870         x_location_id           => x_location_id
871         );
872 
873    IF x_return_status IS NOT NULL AND
874      x_return_status = FND_API.g_ret_sts_success THEN
875       -- succeed
876       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
877          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
878                          , g_module_name
879                          , l_step
880                          || ' x_return_status = ' || x_return_status
881                          || ', x_vendor_site_id = '  || x_vendor_site_id
882                          || ', x_party_site_id = '  || x_party_site_id
883                          || ', x_location_id = '  || x_location_id);
884       END IF;
885     ELSE
886       -- failed
887       rollback to crt_vndr_st_a;
888       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
889          fnd_log.string(FND_LOG.LEVEL_ERROR
890                          , g_module_name
891                          , l_step
892                          || ' x_return_status = ' || x_return_status
893                          || ', x_msg_count = ' || x_msg_count
894                          || ', x_msg_data = ' || x_msg_data);
895       END IF;
896    END IF;
897 
898 END Create_Vendor_Site;
899 
900 --  Notes: This API will not update any TCA records.
901 --         It will only update vendor site info.
902 --         This is because the procedure calls the corresponding procedure in
903 --         AP_VENDOR_PUB_PKG which does not update TCA tables.
904 --
905 PROCEDURE Update_Vendor_Site
906 ( p_vendor_site_rec IN  AP_VENDOR_PUB_PKG.r_vendor_site_rec_type,
907   x_return_status   OUT NOCOPY VARCHAR2,
908   x_msg_count       OUT NOCOPY NUMBER,
909   x_msg_data        OUT NOCOPY VARCHAR2
910   ) IS
911      l_step VARCHAR2(100);
912 BEGIN
913    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
914       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
915                       , g_module_name
916                       , 'Enter Update_Vendor_Site Procedure'
917                       );
918    END IF;
919 
920    l_step := 'Log vendor site rec values';
921 
922    log_vendor_site_rec (p_vendor_site_rec, 'update vendor site');
923 
924 
925 
926    l_step := 'Call check_for_site_errors';
927    -- Check for errors
928    check_for_site_errors(p_vendor_site_rec, x_return_status,
929         x_msg_count, x_msg_data );
930 
931    IF ( (x_return_status IS NULL) OR (x_return_status <> FND_API.g_ret_sts_success) ) THEN
932     -- Found an error in validation
933       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
934          fnd_log.string(FND_LOG.LEVEL_ERROR
935                          , g_module_name
936                          , l_step
937                          || ' x_return_status = ' || x_return_status
938                          || ', x_msg_count = ' || x_msg_count
939                          || ', x_msg_data = ' || x_msg_data);
940       END IF;
941       return;
942    END IF;
943 
944    savepoint upd_vndr_st_a;
945    l_step := 'Call AP_VENDOR_PUB_PKG.Update_Vendor_Site';
946    AP_VENDOR_PUB_PKG.Update_Vendor_Site
947      (  p_api_version           => 1.0,
948         p_init_msg_list         => FND_API.G_TRUE,
949         p_commit                => FND_API.G_FALSE,
950         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
951         x_return_status         => x_return_status,
952         x_msg_count             => x_msg_count,
953         x_msg_data              => x_msg_data,
954         p_vendor_site_rec       => p_vendor_site_rec,
955         p_vendor_site_id        => p_vendor_site_rec.vendor_site_id
956         );
957 
958    IF x_return_status IS NOT NULL AND
959      x_return_status = FND_API.g_ret_sts_success THEN
960       -- succeed
961       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
962          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
963                          , g_module_name
964                          , l_step
965                          || ' x_return_status = ' || x_return_status
966                          );
967       END IF;
968     ELSE
969       -- failed
970       rollback to upd_vndr_st_a;
971       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
972          fnd_log.string(FND_LOG.LEVEL_ERROR
973                          , g_module_name
974                          , l_step
975                          || ' x_return_status = ' || x_return_status
976                          || ', x_msg_count = ' || x_msg_count
977                          || ', x_msg_data = ' || x_msg_data);
978       END IF;
979    END IF;
980 
981 END Update_Vendor_Site;
982 
983 
984 -- Notes:
985 --   p_mode: Indicates whether the calling code is in insert or update mode.
986 --           (I, U)
987 --
988 --   x_party_site_valid: Indicates how valid the calling program's party_site_id was
989 --                   (V, N, F) Valid, Null or False
990 
991 PROCEDURE Validate_Vendor_Site
992 ( p_vendor_site_rec   IN  OUT NOCOPY AP_VENDOR_PUB_PKG.r_vendor_site_rec_type,
993   p_mode              IN  VARCHAR2,
994   x_return_status     OUT NOCOPY VARCHAR2,
995   x_msg_count         OUT NOCOPY NUMBER,
996   x_msg_data          OUT NOCOPY VARCHAR2,
997   x_party_site_valid  OUT NOCOPY VARCHAR2,
998   x_location_valid    OUT NOCOPY VARCHAR2
999 ) IS
1000    l_step        VARCHAR2(100);
1001    l_payee_valid VARCHAR2(1);
1002 BEGIN
1003    IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1004       fnd_log.string(FND_LOG.LEVEL_PROCEDURE
1005                       , g_module_name
1006                       , 'Enter Validate_Vendor_Site Procedure'
1007                       );
1008    END IF;
1009 
1010    l_step := 'Log vendor site rec values';
1011 
1012    log_vendor_site_rec (p_vendor_site_rec, 'validate vendor site');
1013 
1014    IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1015       fnd_log.string(FND_LOG.LEVEL_STATEMENT
1016                       , g_module_name
1017                       , 'p_mode = ' || p_mode
1018                       );
1019    END IF;
1020 
1021    l_step := 'Validate p_mode';
1022 
1023    IF p_mode IS NULL OR p_mode NOT IN ('I','U') THEN
1024       x_return_status := FND_API.G_RET_STS_ERROR;
1025       x_msg_count := 1;
1026       x_msg_data := 'Invalid p_mode ' || p_mode || ' passed. Expects I or U.';
1027       RETURN;
1028    END IF;
1029 
1030    l_step := 'Call AP_VENDOR_PUB_PKG.Validate_Vendor_Site';
1031 
1032    AP_VENDOR_PUB_PKG.Validate_Vendor_Site
1033      (  p_api_version           => 1.0,
1034         p_init_msg_list         => FND_API.G_TRUE,
1035         p_commit                => FND_API.G_FALSE,
1036         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
1037         x_return_status         => x_return_status,
1038         x_msg_count             => x_msg_count,
1039         x_msg_data              => x_msg_data,
1040         p_vendor_site_rec       => p_vendor_site_rec,
1041         p_mode                  => p_mode,
1042         p_calling_prog          => 'POS_VENDOR_PUB_PKG',
1043         x_party_site_valid      => x_party_site_valid,
1044         x_location_valid        => x_location_valid,
1045 	x_payee_valid           => l_payee_valid,
1046         p_vendor_site_id        => p_vendor_site_rec.vendor_site_id
1047         );
1048 
1049    IF x_return_status IS NOT NULL AND
1050      x_return_status = FND_API.g_ret_sts_success THEN
1051       -- succeed
1052       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1053          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
1054                          , g_module_name
1055                          , l_step
1056                          || ' x_return_status = ' || x_return_status
1057                          || ', x_party_site_valid = ' || x_party_site_valid
1058                          || ', x_location_valid = ' || x_location_valid
1059                          );
1060       END IF;
1061     ELSE
1062       -- failed
1063       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1064          fnd_log.string(FND_LOG.LEVEL_ERROR
1065                          , g_module_name
1066                          , l_step
1067                          || ' x_return_status = ' || x_return_status
1068                          || ', x_msg_count = ' || x_msg_count
1069                          || ', x_msg_data = ' || x_msg_data);
1070       END IF;
1071    END IF;
1072 
1073 END Validate_Vendor_Site;
1074 
1075 PROCEDURE create_vendor_contact
1076 ( p_vendor_contact_rec  IN  ap_vendor_pub_pkg.r_vendor_contact_rec_type,
1077   x_return_status       OUT NOCOPY VARCHAR2,
1078   x_msg_count           OUT NOCOPY NUMBER,
1079   x_msg_data            OUT NOCOPY VARCHAR2,
1080   x_vendor_contact_id   OUT NOCOPY NUMBER,
1081   x_per_party_id        OUT NOCOPY NUMBER,
1082   x_rel_party_id        OUT NOCOPY NUMBER,
1083   x_rel_id              OUT NOCOPY NUMBER,
1084   x_org_contact_id      OUT NOCOPY NUMBER,
1085   x_party_site_id       OUT NOCOPY NUMBER
1086 )
1087   IS
1088      l_step VARCHAR2(100);
1089 BEGIN
1090    l_step := 'call ap_vendor_pub_pkg.create_vendor_contact';
1091    ap_vendor_pub_pkg.create_vendor_contact
1092      (  p_api_version           => 1.0,
1093         p_init_msg_list         => FND_API.G_TRUE,
1094         p_commit                => FND_API.G_FALSE,
1095         p_validation_level      => FND_API.G_VALID_LEVEL_FULL,
1096         x_return_status         => x_return_status,
1097         x_msg_count             => x_msg_count,
1098         x_msg_data              => x_msg_data,
1099 	p_vendor_contact_rec    => p_vendor_contact_rec,
1100 	x_vendor_contact_id     => x_vendor_contact_id,
1101 	x_per_party_id          => x_per_party_id,
1102 	x_rel_party_id          => x_rel_party_id,
1103 	x_rel_id                => x_rel_id,
1104 	x_org_contact_id        => x_org_contact_id,
1105 	x_party_site_id         => x_party_site_id
1106         );
1107 
1108    IF x_return_status IS NOT NULL AND
1109      x_return_status = FND_API.g_ret_sts_success THEN
1110       -- succeed
1111       IF  (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1112          fnd_log.string(FND_LOG.LEVEL_PROCEDURE
1113                          , g_module_name
1114                          , l_step
1115 			|| ' x_return_status = ' || x_return_status
1116 			|| ' x_vendor_contact_id = ' || x_vendor_contact_id
1117 			|| ' x_per_party_id = ' || x_per_party_id
1118 			|| ' x_rel_party_id = ' || x_rel_party_id
1119 			|| ' x_rel_id = ' || x_rel_id
1120 			|| ' x_org_contact_id = ' || x_org_contact_id
1121 			|| ' x_party_site_id = ' || x_party_site_id
1122 			);
1123       END IF;
1124     ELSE
1125       -- failed
1126       IF  (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1127          fnd_log.string(FND_LOG.LEVEL_ERROR
1128                          , g_module_name
1129                          , l_step
1130 			|| ' x_return_status = ' || x_return_status
1131 			|| ', x_msg_count = ' || x_msg_count
1132 			|| ', x_msg_data = ' || x_msg_data);
1133       END IF;
1134    END IF;
1135 
1136 END create_vendor_contact;
1137 
1138 PROCEDURE combine_err_msg
1139   (p_return_status IN  VARCHAR2,
1140    p_msg_count     IN  NUMBER,
1141    p_msg_data      IN  VARCHAR2,
1142    x_msg_data      OUT NOCOPY VARCHAR2
1143    )
1144   IS
1145 BEGIN
1146    IF p_return_status = fnd_api.g_ret_sts_success THEN
1147       RETURN;
1148    END IF;
1149 
1150    IF p_msg_count = 1 THEN
1151       x_msg_data := fnd_msg_pub.get(1,'F');
1152       IF x_msg_data IS NULL THEN
1153 	 x_msg_data := p_msg_data;
1154       END IF;
1155       RETURN;
1156    END IF;
1157 
1158    FOR l_idx IN 1..p_msg_count LOOP
1159       x_msg_data := x_msg_data || ' ' || fnd_msg_pub.get(l_idx,'F');
1160    END LOOP;
1161 
1162 END combine_err_msg;
1163 
1164 
1165 PROCEDURE Create_Vendor
1166 (
1167   p_vendor_id                       IN  NUMBER   DEFAULT NULL,
1168   p_segment1                        IN  VARCHAR2 DEFAULT NULL,
1169   p_vendor_name                     IN  VARCHAR2 DEFAULT NULL,
1170   p_vendor_name_alt                 IN  VARCHAR2 DEFAULT NULL,
1171   p_summary_flag                    IN  VARCHAR2 DEFAULT NULL,
1172   p_enabled_flag                    IN  VARCHAR2 DEFAULT NULL,
1173   p_segment2                        IN  VARCHAR2 DEFAULT NULL,
1174   p_segment3                        IN  VARCHAR2 DEFAULT NULL,
1175   p_segment4                        IN  VARCHAR2 DEFAULT NULL,
1176   p_segment5                        IN  VARCHAR2 DEFAULT NULL,
1177   p_employee_id                     IN  NUMBER   DEFAULT NULL,
1178   p_vendor_type_lookup_code         IN  VARCHAR2 DEFAULT NULL,
1179   p_customer_num                    IN  VARCHAR2 DEFAULT NULL,
1180   p_one_time_flag                   IN  VARCHAR2 DEFAULT NULL,
1181   p_parent_vendor_id                IN  NUMBER   DEFAULT NULL,
1182   p_min_order_amount                IN  NUMBER   DEFAULT NULL,
1183   p_terms_id                        IN  NUMBER   DEFAULT NULL,
1184   p_set_of_books_id                 IN  NUMBER   DEFAULT NULL,
1185   p_always_take_disc_flag           IN  VARCHAR2 DEFAULT NULL,
1186   p_pay_date_basis_lookup_code      IN  VARCHAR2 DEFAULT NULL,
1187   p_pay_group_lookup_code           IN  VARCHAR2 DEFAULT NULL,
1188   p_payment_priority                IN  NUMBER   DEFAULT NULL,
1189   p_invoice_currency_code           IN  VARCHAR2 DEFAULT NULL,
1190   p_payment_currency_code           IN  VARCHAR2 DEFAULT NULL,
1191   p_invoice_amount_limit            IN  NUMBER   DEFAULT NULL,
1192   p_hold_all_payments_flag          IN  VARCHAR2 DEFAULT NULL,
1193   p_hold_future_payments_flag       IN  VARCHAR2 DEFAULT NULL,
1194   p_hold_reason                     IN  VARCHAR2 DEFAULT NULL,
1195   p_type_1099                       IN  VARCHAR2 DEFAULT NULL,
1196   p_withhold_status_lookup_code     IN  VARCHAR2 DEFAULT NULL,
1197   p_withholding_start_date          IN  DATE     DEFAULT NULL,
1198   p_org_type_lookup_code            IN  VARCHAR2 DEFAULT NULL,
1199   p_start_date_active               IN  DATE     DEFAULT NULL,
1200   p_end_date_active                 IN  DATE     DEFAULT NULL,
1201   p_minority_group_lookup_code      IN  VARCHAR2 DEFAULT NULL,
1202   p_women_owned_flag                IN  VARCHAR2 DEFAULT NULL,
1203   p_small_business_flag             IN  VARCHAR2 DEFAULT NULL,
1204   p_hold_flag                       IN  VARCHAR2 DEFAULT NULL,
1205   p_purchasing_hold_reason          IN  VARCHAR2 DEFAULT NULL,
1206   p_hold_by                         IN  NUMBER   DEFAULT NULL,
1207   p_hold_date                       IN  DATE     DEFAULT NULL,
1208   p_terms_date_basis                IN  VARCHAR2 DEFAULT NULL,
1209   p_inspection_required_flag        IN  VARCHAR2 DEFAULT NULL,
1210   p_receipt_required_flag           IN  VARCHAR2 DEFAULT NULL,
1211   p_qty_rcv_tolerance               IN  NUMBER   DEFAULT NULL,
1212   p_qty_rcv_exception_code          IN  VARCHAR2 DEFAULT NULL,
1213   p_enforce_ship_to_loc_code        IN  VARCHAR2 DEFAULT NULL,
1214   p_days_early_receipt_allowed      IN  NUMBER   DEFAULT NULL,
1215   p_days_late_receipt_allowed       IN  NUMBER   DEFAULT NULL,
1216   p_receipt_days_exception_code     IN  VARCHAR2 DEFAULT NULL,
1217   p_receiving_routing_id            IN  NUMBER   DEFAULT NULL,
1218   p_allow_substi_receipts_flag      IN  VARCHAR2 DEFAULT NULL,
1219   p_allow_unorder_receipts_flag     IN  VARCHAR2 DEFAULT NULL,
1220   p_hold_unmatched_invoices_flag    IN  VARCHAR2 DEFAULT NULL,
1221   p_tax_verification_date           IN  DATE     DEFAULT NULL,
1222   p_name_control                    IN  VARCHAR2 DEFAULT NULL,
1223   p_state_reportable_flag           IN  VARCHAR2 DEFAULT NULL,
1224   p_federal_reportable_flag         IN  VARCHAR2 DEFAULT NULL,
1225   p_attribute_category              IN  VARCHAR2 DEFAULT NULL,
1226   p_attribute1                      IN  VARCHAR2 DEFAULT NULL,
1227   p_attribute2                      IN  VARCHAR2 DEFAULT NULL,
1228   p_attribute3                      IN  VARCHAR2 DEFAULT NULL,
1229   p_attribute4                      IN  VARCHAR2 DEFAULT NULL,
1230   p_attribute5                      IN  VARCHAR2 DEFAULT NULL,
1231   p_attribute6                      IN  VARCHAR2 DEFAULT NULL,
1232   p_attribute7                      IN  VARCHAR2 DEFAULT NULL,
1233   p_attribute8                      IN  VARCHAR2 DEFAULT NULL,
1234   p_attribute9                      IN  VARCHAR2 DEFAULT NULL,
1235   p_attribute10                     IN  VARCHAR2 DEFAULT NULL,
1236   p_attribute11                     IN  VARCHAR2 DEFAULT NULL,
1237   p_attribute12                     IN  VARCHAR2 DEFAULT NULL,
1238   p_attribute13                     IN  VARCHAR2 DEFAULT NULL,
1239   p_attribute14                     IN  VARCHAR2 DEFAULT NULL,
1240   p_attribute15                     IN  VARCHAR2 DEFAULT NULL,
1241   p_auto_calculate_interest_flag    IN  VARCHAR2 DEFAULT NULL,
1242   p_validation_number               IN  NUMBER   DEFAULT NULL,
1243   p_exclude_freight_from_discnt     IN  VARCHAR2 DEFAULT NULL,
1244   p_tax_reporting_name              IN  VARCHAR2 DEFAULT NULL,
1245   p_check_digits                    IN  VARCHAR2 DEFAULT NULL,
1246   p_allow_awt_flag                  IN  VARCHAR2 DEFAULT NULL,
1247   p_awt_group_id                    IN  NUMBER   DEFAULT NULL,
1248   p_pay_awt_group_id                    IN  NUMBER   DEFAULT NULL,
1249   p_awt_group_name                  IN  VARCHAR2 DEFAULT NULL,
1250   p_pay_awt_group_name                  IN  VARCHAR2 DEFAULT NULL,
1251   p_global_attribute1               IN  VARCHAR2 DEFAULT NULL,
1252   p_global_attribute2               IN  VARCHAR2 DEFAULT NULL,
1253   p_global_attribute3               IN  VARCHAR2 DEFAULT NULL,
1254   p_global_attribute4               IN  VARCHAR2 DEFAULT NULL,
1255   p_global_attribute5               IN  VARCHAR2 DEFAULT NULL,
1256   p_global_attribute6               IN  VARCHAR2 DEFAULT NULL,
1257   p_global_attribute7               IN  VARCHAR2 DEFAULT NULL,
1258   p_global_attribute8               IN  VARCHAR2 DEFAULT NULL,
1259   p_global_attribute9               IN  VARCHAR2 DEFAULT NULL,
1260   p_global_attribute10              IN  VARCHAR2 DEFAULT NULL,
1261   p_global_attribute11              IN  VARCHAR2 DEFAULT NULL,
1262   p_global_attribute12              IN  VARCHAR2 DEFAULT NULL,
1263   p_global_attribute13              IN  VARCHAR2 DEFAULT NULL,
1264   p_global_attribute14              IN  VARCHAR2 DEFAULT NULL,
1265   p_global_attribute15              IN  VARCHAR2 DEFAULT NULL,
1266   p_global_attribute16              IN  VARCHAR2 DEFAULT NULL,
1267   p_global_attribute17              IN  VARCHAR2 DEFAULT NULL,
1268   p_global_attribute18              IN  VARCHAR2 DEFAULT NULL,
1269   p_global_attribute19              IN  VARCHAR2 DEFAULT NULL,
1270   p_global_attribute20              IN  VARCHAR2 DEFAULT NULL,
1271   p_global_attribute_category       IN  VARCHAR2 DEFAULT NULL,
1272   p_bank_charge_bearer              IN  VARCHAR2 DEFAULT NULL,
1273   p_bank_branch_type                IN  VARCHAR2 DEFAULT NULL,
1274   p_match_option                    IN  VARCHAR2 DEFAULT NULL,
1275   p_create_debit_memo_flag          IN  VARCHAR2 DEFAULT NULL,
1276   p_party_id                        IN  NUMBER   DEFAULT NULL,
1277   p_parent_party_id                 IN  NUMBER   DEFAULT NULL,
1278   p_jgzz_fiscal_code                IN  VARCHAR2 DEFAULT NULL,
1279   p_sic_code                        IN  VARCHAR2 DEFAULT NULL,
1280   p_tax_reference                   IN  VARCHAR2 DEFAULT NULL,
1281   p_inventory_organization_id       IN  NUMBER   DEFAULT NULL,
1282   p_terms_name                      IN  VARCHAR2 DEFAULT NULL,
1283   p_default_terms_id                IN  NUMBER   DEFAULT NULL,
1284   p_ni_number                       IN  VARCHAR2 DEFAULT NULL,
1285   x_return_status  OUT NOCOPY VARCHAR2,
1286   x_error_msg      OUT NOCOPY VARCHAR2,
1287   x_vendor_id      OUT NOCOPY NUMBER,
1288   x_party_id       OUT NOCOPY NUMBER
1289 ) IS
1290    l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
1291    l_msg_count  NUMBER;
1292    l_msg_data   VARCHAR2(4000);
1293 BEGIN
1294 
1295    l_vendor_rec.vendor_id                      := p_vendor_id;
1296    l_vendor_rec.segment1                       := p_segment1;
1297    l_vendor_rec.vendor_name                    := p_vendor_name;
1298    l_vendor_rec.vendor_name_alt                := p_vendor_name_alt;
1299    l_vendor_rec.summary_flag                   := p_summary_flag;
1300    l_vendor_rec.enabled_flag                   := p_enabled_flag;
1301    l_vendor_rec.segment2                       := p_segment2;
1302    l_vendor_rec.segment3                       := p_segment3;
1303    l_vendor_rec.segment4                       := p_segment4;
1304    l_vendor_rec.segment5                       := p_segment5;
1305    l_vendor_rec.employee_id                    := p_employee_id;
1306    l_vendor_rec.vendor_type_lookup_code        := p_vendor_type_lookup_code;
1307    l_vendor_rec.customer_num                   := p_customer_num;
1308    l_vendor_rec.one_time_flag                  := p_one_time_flag;
1309    l_vendor_rec.parent_vendor_id               := p_parent_vendor_id;
1310    l_vendor_rec.min_order_amount               := p_min_order_amount;
1311    l_vendor_rec.terms_id                       := p_terms_id;
1312    l_vendor_rec.set_of_books_id                := p_set_of_books_id;
1313    l_vendor_rec.always_take_disc_flag          := p_always_take_disc_flag;
1314    l_vendor_rec.pay_date_basis_lookup_code     := p_pay_date_basis_lookup_code;
1315    l_vendor_rec.pay_group_lookup_code          := p_pay_group_lookup_code;
1316    l_vendor_rec.payment_priority               := p_payment_priority;
1317    l_vendor_rec.invoice_currency_code          := p_invoice_currency_code;
1318    l_vendor_rec.payment_currency_code          := p_payment_currency_code;
1319    l_vendor_rec.invoice_amount_limit           := p_invoice_amount_limit;
1320    l_vendor_rec.hold_all_payments_flag         := p_hold_all_payments_flag;
1321    l_vendor_rec.hold_future_payments_flag      := p_hold_future_payments_flag;
1322    l_vendor_rec.hold_reason                    := p_hold_reason;
1323    l_vendor_rec.type_1099                      := p_type_1099;
1324    l_vendor_rec.withholding_status_lookup_code := p_withhold_status_lookup_code;
1325    l_vendor_rec.withholding_start_date         := p_withholding_start_date;
1326    l_vendor_rec.organization_type_lookup_code  := p_org_type_lookup_code;
1327    l_vendor_rec.start_date_active              := p_start_date_active;
1328    l_vendor_rec.end_date_active                := p_end_date_active;
1329    l_vendor_rec.minority_group_lookup_code     := p_minority_group_lookup_code;
1330    l_vendor_rec.women_owned_flag               := p_women_owned_flag;
1331    l_vendor_rec.small_business_flag            := p_small_business_flag;
1332    l_vendor_rec.hold_flag                      := p_hold_flag;
1333    l_vendor_rec.purchasing_hold_reason         := p_purchasing_hold_reason;
1334    l_vendor_rec.hold_by                        := p_hold_by;
1335    l_vendor_rec.hold_date                      := p_hold_date;
1336    l_vendor_rec.terms_date_basis               := p_terms_date_basis;
1337    l_vendor_rec.inspection_required_flag       := p_inspection_required_flag;
1338    l_vendor_rec.receipt_required_flag          := p_receipt_required_flag;
1339    l_vendor_rec.qty_rcv_tolerance              := p_qty_rcv_tolerance;
1340    l_vendor_rec.qty_rcv_exception_code         := p_qty_rcv_exception_code;
1341    l_vendor_rec.enforce_ship_to_location_code  := p_enforce_ship_to_loc_code;
1342    l_vendor_rec.days_early_receipt_allowed     := p_days_early_receipt_allowed;
1343    l_vendor_rec.days_late_receipt_allowed      := p_days_late_receipt_allowed;
1344    l_vendor_rec.receipt_days_exception_code    := p_receipt_days_exception_code;
1345    l_vendor_rec.receiving_routing_id           := p_receiving_routing_id;
1346    l_vendor_rec.allow_substitute_receipts_flag := p_allow_substi_receipts_flag;
1347    l_vendor_rec.allow_unordered_receipts_flag  := p_allow_unorder_receipts_flag;
1348    l_vendor_rec.hold_unmatched_invoices_flag   := p_hold_unmatched_invoices_flag;
1349    l_vendor_rec.tax_verification_date          := p_tax_verification_date;
1350    l_vendor_rec.name_control                   := p_name_control;
1351    l_vendor_rec.state_reportable_flag          := p_state_reportable_flag;
1352    l_vendor_rec.federal_reportable_flag        := p_federal_reportable_flag;
1353    l_vendor_rec.attribute_category             := p_attribute_category;
1354    l_vendor_rec.attribute1                     := p_attribute1;
1355    l_vendor_rec.attribute2                     := p_attribute2;
1356    l_vendor_rec.attribute3                     := p_attribute3;
1357    l_vendor_rec.attribute4                     := p_attribute4;
1358    l_vendor_rec.attribute5                     := p_attribute5;
1359    l_vendor_rec.attribute6                     := p_attribute6;
1360    l_vendor_rec.attribute7                     := p_attribute7;
1361    l_vendor_rec.attribute8                     := p_attribute8;
1362    l_vendor_rec.attribute9                     := p_attribute9;
1363    l_vendor_rec.attribute10                    := p_attribute10;
1364    l_vendor_rec.attribute11                    := p_attribute11;
1365    l_vendor_rec.attribute12                    := p_attribute12;
1366    l_vendor_rec.attribute13                    := p_attribute13;
1367    l_vendor_rec.attribute14                    := p_attribute14;
1368    l_vendor_rec.attribute15                    := p_attribute15;
1369    l_vendor_rec.auto_calculate_interest_flag   := p_auto_calculate_interest_flag;
1370    l_vendor_rec.validation_number              := p_validation_number;
1371    l_vendor_rec.exclude_freight_from_discount  := p_exclude_freight_from_discnt;
1372    l_vendor_rec.tax_reporting_name             := p_tax_reporting_name;
1373    l_vendor_rec.check_digits                   := p_check_digits;
1374    l_vendor_rec.allow_awt_flag                 := p_allow_awt_flag;
1375    l_vendor_rec.awt_group_id                   := p_awt_group_id;
1376    l_vendor_rec.pay_awt_group_id               := p_pay_awt_group_id;
1377    l_vendor_rec.awt_group_name                 := p_awt_group_name;
1378    l_vendor_rec.pay_awt_group_name             := p_pay_awt_group_name;
1379    l_vendor_rec.global_attribute1              := p_global_attribute1;
1380    l_vendor_rec.global_attribute2              := p_global_attribute2;
1381    l_vendor_rec.global_attribute3              := p_global_attribute3;
1382    l_vendor_rec.global_attribute4              := p_global_attribute4;
1383    l_vendor_rec.global_attribute5              := p_global_attribute5;
1384    l_vendor_rec.global_attribute6              := p_global_attribute6;
1385    l_vendor_rec.global_attribute7              := p_global_attribute7;
1386    l_vendor_rec.global_attribute8              := p_global_attribute8;
1387    l_vendor_rec.global_attribute9              := p_global_attribute9;
1388    l_vendor_rec.global_attribute10             := p_global_attribute10;
1389    l_vendor_rec.global_attribute11             := p_global_attribute11;
1390    l_vendor_rec.global_attribute12             := p_global_attribute12;
1391    l_vendor_rec.global_attribute13             := p_global_attribute13;
1392    l_vendor_rec.global_attribute14             := p_global_attribute14;
1393    l_vendor_rec.global_attribute15             := p_global_attribute15;
1394    l_vendor_rec.global_attribute16             := p_global_attribute16;
1395    l_vendor_rec.global_attribute17             := p_global_attribute17;
1396    l_vendor_rec.global_attribute18             := p_global_attribute18;
1397    l_vendor_rec.global_attribute19             := p_global_attribute19;
1398    l_vendor_rec.global_attribute20             := p_global_attribute20;
1399    l_vendor_rec.global_attribute_category      := p_global_attribute_category;
1400    l_vendor_rec.bank_charge_bearer             := p_bank_charge_bearer;
1401    --l_vendor_rec.bank_branch_type               := p_bank_branch_type;
1402    l_vendor_rec.match_option                   := p_match_option;
1403    l_vendor_rec.create_debit_memo_flag         := p_create_debit_memo_flag;
1404    l_vendor_rec.party_id                       := p_party_id;
1405    l_vendor_rec.parent_party_id                := p_parent_party_id;
1406    l_vendor_rec.jgzz_fiscal_code               := p_jgzz_fiscal_code;
1407    l_vendor_rec.sic_code                       := p_sic_code;
1408    l_vendor_rec.tax_reference                  := p_tax_reference;
1409    l_vendor_rec.inventory_organization_id      := p_inventory_organization_id;
1410    l_vendor_rec.terms_name                     := p_terms_name;
1411    l_vendor_rec.default_terms_id               := p_default_terms_id;
1412    l_vendor_rec.ni_number                      := p_ni_number;
1413 
1414    Create_Vendor
1415      (
1416       p_vendor_rec      => l_vendor_rec,
1417       x_return_status   => x_return_status,
1418       x_msg_count       => l_msg_count,
1419       x_msg_data        => l_msg_data,
1420       x_vendor_id       => x_vendor_id,
1421       x_party_id        => x_party_id
1422       );
1423 
1424    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
1425 
1426 END Create_Vendor;
1427 
1428 -- Notes: This API will not update any TCA tables. It updates vendor info only.
1429 --        This is because the procedure calls the corresponding procedure in
1430 --        AP_VENDOR_PUB_PKG which does not update TCA tables.
1431 PROCEDURE Update_Vendor
1432 (
1433   p_vendor_id                       IN  NUMBER   ,
1434   p_segment1                        IN  VARCHAR2 ,
1435   p_vendor_name                     IN  VARCHAR2 ,
1436   p_vendor_name_alt                 IN  VARCHAR2 ,
1437   p_summary_flag                    IN  VARCHAR2 ,
1438   p_enabled_flag                    IN  VARCHAR2 ,
1439   p_segment2                        IN  VARCHAR2 ,
1440   p_segment3                        IN  VARCHAR2 ,
1441   p_segment4                        IN  VARCHAR2 ,
1442   p_segment5                        IN  VARCHAR2 ,
1443   p_employee_id                     IN  NUMBER   ,
1444   p_vendor_type_lookup_code         IN  VARCHAR2 ,
1445   p_customer_num                    IN  VARCHAR2 ,
1446   p_one_time_flag                   IN  VARCHAR2 ,
1447   p_parent_vendor_id                IN  NUMBER   ,
1448   p_min_order_amount                IN  NUMBER   ,
1449   p_terms_id                        IN  NUMBER   ,
1450   p_set_of_books_id                 IN  NUMBER   ,
1451   p_always_take_disc_flag           IN  VARCHAR2 ,
1452   p_pay_date_basis_lookup_code      IN  VARCHAR2 ,
1453   p_pay_group_lookup_code           IN  VARCHAR2 ,
1454   p_payment_priority                IN  NUMBER   ,
1455   p_invoice_currency_code           IN  VARCHAR2 ,
1456   p_payment_currency_code           IN  VARCHAR2 ,
1457   p_invoice_amount_limit            IN  NUMBER   ,
1458   p_hold_all_payments_flag          IN  VARCHAR2 ,
1459   p_hold_future_payments_flag       IN  VARCHAR2 ,
1460   p_hold_reason                     IN  VARCHAR2 ,
1461   p_type_1099                       IN  VARCHAR2 ,
1462   p_withhold_status_lookup_code     IN  VARCHAR2 ,
1463   p_withholding_start_date          IN  DATE     ,
1464   p_org_type_lookup_code            IN  VARCHAR2 ,
1465   p_start_date_active               IN  DATE     ,
1466   p_end_date_active                 IN  DATE     ,
1467   p_minority_group_lookup_code      IN  VARCHAR2 ,
1468   p_women_owned_flag                IN  VARCHAR2 ,
1469   p_small_business_flag             IN  VARCHAR2 ,
1470   p_hold_flag                       IN  VARCHAR2 ,
1471   p_purchasing_hold_reason          IN  VARCHAR2 ,
1472   p_hold_by                         IN  NUMBER   ,
1473   p_hold_date                       IN  DATE     ,
1474   p_terms_date_basis                IN  VARCHAR2 ,
1475   p_inspection_required_flag        IN  VARCHAR2 ,
1476   p_receipt_required_flag           IN  VARCHAR2 ,
1477   p_qty_rcv_tolerance               IN  NUMBER   ,
1478   p_qty_rcv_exception_code          IN  VARCHAR2 ,
1479   p_enforce_ship_to_loc_code        IN  VARCHAR2 ,
1480   p_days_early_receipt_allowed      IN  NUMBER   ,
1481   p_days_late_receipt_allowed       IN  NUMBER   ,
1482   p_receipt_days_exception_code     IN  VARCHAR2 ,
1483   p_receiving_routing_id            IN  NUMBER   ,
1484   p_allow_substi_receipts_flag      IN  VARCHAR2 ,
1485   p_allow_unorder_receipts_flag     IN  VARCHAR2 ,
1486   p_hold_unmatched_invoices_flag    IN  VARCHAR2 ,
1487   p_tax_verification_date           IN  DATE     ,
1488   p_name_control                    IN  VARCHAR2 ,
1489   p_state_reportable_flag           IN  VARCHAR2 ,
1490   p_federal_reportable_flag         IN  VARCHAR2 ,
1491   p_attribute_category              IN  VARCHAR2 ,
1492   p_attribute1                      IN  VARCHAR2 ,
1493   p_attribute2                      IN  VARCHAR2 ,
1494   p_attribute3                      IN  VARCHAR2 ,
1495   p_attribute4                      IN  VARCHAR2 ,
1496   p_attribute5                      IN  VARCHAR2 ,
1497   p_attribute6                      IN  VARCHAR2 ,
1498   p_attribute7                      IN  VARCHAR2 ,
1499   p_attribute8                      IN  VARCHAR2 ,
1500   p_attribute9                      IN  VARCHAR2 ,
1501   p_attribute10                     IN  VARCHAR2 ,
1502   p_attribute11                     IN  VARCHAR2 ,
1503   p_attribute12                     IN  VARCHAR2 ,
1504   p_attribute13                     IN  VARCHAR2 ,
1505   p_attribute14                     IN  VARCHAR2 ,
1506   p_attribute15                     IN  VARCHAR2 ,
1507   p_auto_calculate_interest_flag    IN  VARCHAR2 ,
1508   p_validation_number               IN  NUMBER   ,
1509   p_exclude_freight_from_discnt     IN  VARCHAR2 ,
1510   p_tax_reporting_name              IN  VARCHAR2 ,
1511   p_check_digits                    IN  VARCHAR2 ,
1512   p_allow_awt_flag                  IN  VARCHAR2 ,
1513   p_awt_group_id                    IN  NUMBER   ,
1514   p_pay_awt_group_id                IN  NUMBER   ,
1515   p_awt_group_name                  IN  VARCHAR2 ,
1516   p_pay_awt_group_name              IN  VARCHAR2 ,
1517   p_global_attribute1               IN  VARCHAR2 ,
1518   p_global_attribute2               IN  VARCHAR2 ,
1519   p_global_attribute3               IN  VARCHAR2 ,
1520   p_global_attribute4               IN  VARCHAR2 ,
1521   p_global_attribute5               IN  VARCHAR2 ,
1522   p_global_attribute6               IN  VARCHAR2 ,
1523   p_global_attribute7               IN  VARCHAR2 ,
1524   p_global_attribute8               IN  VARCHAR2 ,
1525   p_global_attribute9               IN  VARCHAR2 ,
1526   p_global_attribute10              IN  VARCHAR2 ,
1527   p_global_attribute11              IN  VARCHAR2 ,
1528   p_global_attribute12              IN  VARCHAR2 ,
1529   p_global_attribute13              IN  VARCHAR2 ,
1530   p_global_attribute14              IN  VARCHAR2 ,
1531   p_global_attribute15              IN  VARCHAR2 ,
1532   p_global_attribute16              IN  VARCHAR2 ,
1533   p_global_attribute17              IN  VARCHAR2 ,
1534   p_global_attribute18              IN  VARCHAR2 ,
1535   p_global_attribute19              IN  VARCHAR2 ,
1536   p_global_attribute20              IN  VARCHAR2 ,
1537   p_global_attribute_category       IN  VARCHAR2 ,
1538   p_bank_charge_bearer              IN  VARCHAR2 ,
1539   p_bank_branch_type                IN  VARCHAR2 ,
1540   p_match_option                    IN  VARCHAR2 ,
1541   p_create_debit_memo_flag          IN  VARCHAR2 ,
1542   p_party_id                        IN  NUMBER   ,
1543   p_parent_party_id                 IN  NUMBER   ,
1544   p_jgzz_fiscal_code                IN  VARCHAR2 ,
1545   p_sic_code                        IN  VARCHAR2 ,
1546   p_tax_reference                   IN  VARCHAR2 ,
1547   p_inventory_organization_id       IN  NUMBER   ,
1548   p_terms_name                      IN  VARCHAR2 ,
1549   p_default_terms_id                IN  NUMBER   ,
1550   p_ni_number                       IN  VARCHAR2 ,
1551   p_last_update_date                IN  DATE DEFAULT NULL,
1552   x_return_status   OUT NOCOPY VARCHAR2,
1553   x_error_msg       OUT NOCOPY VARCHAR2
1554 )
1555   IS
1556    l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
1557    l_msg_count  NUMBER;
1558    l_msg_data   VARCHAR2(4000);
1559    l_last_update_date DATE;
1560    is_supp_ccr VARCHAR2(1);
1561 
1562 BEGIN
1563 
1564    -- BUG 5926560
1565    if p_last_update_date is not NULL then
1566     select last_update_date into l_last_update_date
1567     from ap_suppliers where vendor_id = p_vendor_id;
1568     if l_last_update_date > p_last_update_date then
1569       x_error_msg :=  fnd_message.get_string('POS','POS_LOCK_SUPPLIER_ROW');
1570       x_return_status := 'E';
1571       return;
1572     end if;
1573    end if;
1574 
1575    l_vendor_rec.vendor_id                      := p_vendor_id;
1576    l_vendor_rec.segment1                       := Nvl(p_segment1, fnd_api.g_null_char);
1577    l_vendor_rec.vendor_name                    := Nvl(p_vendor_name, fnd_api.g_null_char);
1578    l_vendor_rec.vendor_name_alt                := Nvl(p_vendor_name_alt, fnd_api.g_null_char);
1579    l_vendor_rec.summary_flag                   := Nvl(p_summary_flag, fnd_api.g_null_char);
1580    l_vendor_rec.enabled_flag                   := Nvl(p_enabled_flag, fnd_api.g_null_char);
1581    l_vendor_rec.segment2                       := Nvl(p_segment2, fnd_api.g_null_char);
1582    l_vendor_rec.segment3                       := Nvl(p_segment3, fnd_api.g_null_char);
1583    l_vendor_rec.segment4                       := Nvl(p_segment4, fnd_api.g_null_char);
1584    l_vendor_rec.segment5                       := Nvl(p_segment5, fnd_api.g_null_char);
1585    l_vendor_rec.employee_id                    := p_employee_id;
1586    l_vendor_rec.vendor_type_lookup_code        := Nvl(p_vendor_type_lookup_code, fnd_api.g_null_char);
1587    l_vendor_rec.customer_num                   := Nvl(p_customer_num, fnd_api.g_null_char);
1588    l_vendor_rec.one_time_flag                  := Nvl(p_one_time_flag, fnd_api.g_null_char);
1589    l_vendor_rec.parent_vendor_id               := Nvl(p_parent_vendor_id, fnd_api.g_null_num);
1590    l_vendor_rec.min_order_amount               := Nvl(p_min_order_amount, fnd_api.g_null_num);
1591    l_vendor_rec.terms_id                       := Nvl(p_terms_id, fnd_api.g_null_num);
1592    l_vendor_rec.set_of_books_id                := Nvl(p_set_of_books_id, fnd_api.g_null_num);
1593    l_vendor_rec.always_take_disc_flag          := Nvl(p_always_take_disc_flag, fnd_api.g_null_char);
1594    l_vendor_rec.pay_date_basis_lookup_code     := Nvl(p_pay_date_basis_lookup_code, fnd_api.g_null_char);
1595    l_vendor_rec.pay_group_lookup_code          := Nvl(p_pay_group_lookup_code, fnd_api.g_null_char);
1596    l_vendor_rec.payment_priority               := Nvl(p_payment_priority, fnd_api.g_null_num);
1597    l_vendor_rec.invoice_currency_code          := Nvl(p_invoice_currency_code, fnd_api.g_null_char);
1598    l_vendor_rec.payment_currency_code          := Nvl(p_payment_currency_code, fnd_api.g_null_char);
1599    l_vendor_rec.invoice_amount_limit           := Nvl(p_invoice_amount_limit, fnd_api.g_null_num);
1600    l_vendor_rec.hold_all_payments_flag         := Nvl(p_hold_all_payments_flag, fnd_api.g_null_char);
1601    l_vendor_rec.hold_future_payments_flag      := Nvl(p_hold_future_payments_flag, fnd_api.g_null_char);
1602    l_vendor_rec.hold_reason                    := Nvl(p_hold_reason, fnd_api.g_null_char);
1603    l_vendor_rec.type_1099                      := Nvl(p_type_1099, fnd_api.g_null_char);
1604    l_vendor_rec.withholding_status_lookup_code := Nvl(p_withhold_status_lookup_code, fnd_api.g_null_char);
1605    l_vendor_rec.withholding_start_date         := Nvl(p_withholding_start_date, fnd_api.g_null_date);
1606    l_vendor_rec.organization_type_lookup_code  := Nvl(p_org_type_lookup_code, fnd_api.g_null_char);
1607    l_vendor_rec.start_date_active              := Nvl(p_start_date_active, fnd_api.g_null_date);
1608    l_vendor_rec.end_date_active                := Nvl(p_end_date_active, fnd_api.g_null_date);
1609    l_vendor_rec.minority_group_lookup_code     := Nvl(p_minority_group_lookup_code, fnd_api.g_null_char);
1610    l_vendor_rec.women_owned_flag               := Nvl(p_women_owned_flag, fnd_api.g_null_char);
1611    l_vendor_rec.small_business_flag            := Nvl(p_small_business_flag, fnd_api.g_null_char);
1612    l_vendor_rec.hold_flag                      := Nvl(p_hold_flag, fnd_api.g_null_char);
1613    l_vendor_rec.purchasing_hold_reason         := Nvl(p_purchasing_hold_reason, fnd_api.g_null_char);
1614    l_vendor_rec.hold_by                        := Nvl(p_hold_by, fnd_api.g_null_num);
1615    l_vendor_rec.hold_date                      := Nvl(p_hold_date, fnd_api.g_null_date);
1616    l_vendor_rec.terms_date_basis               := Nvl(p_terms_date_basis, fnd_api.g_null_char);
1617    l_vendor_rec.inspection_required_flag       := Nvl(p_inspection_required_flag, fnd_api.g_null_char);
1618    l_vendor_rec.receipt_required_flag          := Nvl(p_receipt_required_flag, fnd_api.g_null_char);
1619    l_vendor_rec.qty_rcv_tolerance              := Nvl(p_qty_rcv_tolerance, fnd_api.g_null_num);
1620    l_vendor_rec.qty_rcv_exception_code         := Nvl(p_qty_rcv_exception_code, fnd_api.g_null_char);
1621    l_vendor_rec.enforce_ship_to_location_code  := Nvl(p_enforce_ship_to_loc_code, fnd_api.g_null_char);
1622    l_vendor_rec.days_early_receipt_allowed     := Nvl(p_days_early_receipt_allowed, fnd_api.g_null_num);
1623    l_vendor_rec.days_late_receipt_allowed      := Nvl(p_days_late_receipt_allowed, fnd_api.g_null_num);
1624    l_vendor_rec.receipt_days_exception_code    := Nvl(p_receipt_days_exception_code, fnd_api.g_null_char);
1625    l_vendor_rec.receiving_routing_id           := Nvl(p_receiving_routing_id, fnd_api.g_null_num);
1626    l_vendor_rec.allow_substitute_receipts_flag := Nvl(p_allow_substi_receipts_flag, fnd_api.g_null_char);
1627    l_vendor_rec.allow_unordered_receipts_flag  := Nvl(p_allow_unorder_receipts_flag, fnd_api.g_null_char);
1628    l_vendor_rec.hold_unmatched_invoices_flag   := Nvl(p_hold_unmatched_invoices_flag, fnd_api.g_null_char);
1629    l_vendor_rec.tax_verification_date          := Nvl(p_tax_verification_date, fnd_api.g_null_date);
1630    l_vendor_rec.name_control                   := Nvl(p_name_control, fnd_api.g_null_char);
1631    l_vendor_rec.state_reportable_flag          := Nvl(p_state_reportable_flag, fnd_api.g_null_char);
1632    l_vendor_rec.federal_reportable_flag        := Nvl(p_federal_reportable_flag, fnd_api.g_null_char);
1633    l_vendor_rec.attribute_category             := Nvl(p_attribute_category, fnd_api.g_null_char);
1634    l_vendor_rec.attribute1                     := Nvl(p_attribute1, fnd_api.g_null_char);
1635    l_vendor_rec.attribute2                     := Nvl(p_attribute2, fnd_api.g_null_char);
1636    l_vendor_rec.attribute3                     := Nvl(p_attribute3, fnd_api.g_null_char);
1637    l_vendor_rec.attribute4                     := Nvl(p_attribute4, fnd_api.g_null_char);
1638    l_vendor_rec.attribute5                     := Nvl(p_attribute5, fnd_api.g_null_char);
1639    l_vendor_rec.attribute6                     := Nvl(p_attribute6, fnd_api.g_null_char);
1640    l_vendor_rec.attribute7                     := Nvl(p_attribute7, fnd_api.g_null_char);
1641    l_vendor_rec.attribute8                     := Nvl(p_attribute8, fnd_api.g_null_char);
1642    l_vendor_rec.attribute9                     := Nvl(p_attribute9, fnd_api.g_null_char);
1643    l_vendor_rec.attribute10                    := Nvl(p_attribute10, fnd_api.g_null_char);
1644    l_vendor_rec.attribute11                    := Nvl(p_attribute11, fnd_api.g_null_char);
1645    l_vendor_rec.attribute12                    := Nvl(p_attribute12, fnd_api.g_null_char);
1646    l_vendor_rec.attribute13                    := Nvl(p_attribute13, fnd_api.g_null_char);
1647    l_vendor_rec.attribute14                    := Nvl(p_attribute14, fnd_api.g_null_char);
1648    l_vendor_rec.attribute15                    := Nvl(p_attribute15, fnd_api.g_null_char);
1649    l_vendor_rec.auto_calculate_interest_flag   := Nvl(p_auto_calculate_interest_flag, fnd_api.g_null_char);
1650    l_vendor_rec.validation_number              := Nvl(p_validation_number, fnd_api.g_null_num);
1651    l_vendor_rec.exclude_freight_from_discount  := Nvl(p_exclude_freight_from_discnt, fnd_api.g_null_char);
1652    l_vendor_rec.tax_reporting_name             := Nvl(p_tax_reporting_name, fnd_api.g_null_char);
1653    l_vendor_rec.check_digits                   := Nvl(p_check_digits, fnd_api.g_null_char);
1654    l_vendor_rec.allow_awt_flag                 := Nvl(p_allow_awt_flag, fnd_api.g_null_char);
1655    l_vendor_rec.awt_group_id                   := Nvl(p_awt_group_id, fnd_api.g_null_num);
1656    l_vendor_rec.pay_awt_group_id                   := Nvl(p_pay_awt_group_id, fnd_api.g_null_num);
1657    l_vendor_rec.awt_group_name                 := p_awt_group_name;
1658    l_vendor_rec.pay_awt_group_name                 := p_pay_awt_group_name;
1659    l_vendor_rec.global_attribute1              := Nvl(p_global_attribute1, fnd_api.g_null_char);
1660    l_vendor_rec.global_attribute2              := Nvl(p_global_attribute2, fnd_api.g_null_char);
1661    l_vendor_rec.global_attribute3              := Nvl(p_global_attribute3, fnd_api.g_null_char);
1662    l_vendor_rec.global_attribute4              := Nvl(p_global_attribute4, fnd_api.g_null_char);
1663    l_vendor_rec.global_attribute5              := Nvl(p_global_attribute5, fnd_api.g_null_char);
1664    l_vendor_rec.global_attribute6              := Nvl(p_global_attribute6, fnd_api.g_null_char);
1665    l_vendor_rec.global_attribute7              := Nvl(p_global_attribute7, fnd_api.g_null_char);
1666    l_vendor_rec.global_attribute8              := Nvl(p_global_attribute8, fnd_api.g_null_char);
1667    l_vendor_rec.global_attribute9              := Nvl(p_global_attribute9, fnd_api.g_null_char);
1668    l_vendor_rec.global_attribute10             := Nvl(p_global_attribute10, fnd_api.g_null_char);
1669    l_vendor_rec.global_attribute11             := Nvl(p_global_attribute11, fnd_api.g_null_char);
1670    l_vendor_rec.global_attribute12             := Nvl(p_global_attribute12, fnd_api.g_null_char);
1671    l_vendor_rec.global_attribute13             := Nvl(p_global_attribute13, fnd_api.g_null_char);
1672    l_vendor_rec.global_attribute14             := Nvl(p_global_attribute14, fnd_api.g_null_char);
1673    l_vendor_rec.global_attribute15             := Nvl(p_global_attribute15, fnd_api.g_null_char);
1674    l_vendor_rec.global_attribute16             := Nvl(p_global_attribute16, fnd_api.g_null_char);
1675    l_vendor_rec.global_attribute17             := Nvl(p_global_attribute17, fnd_api.g_null_char);
1676    l_vendor_rec.global_attribute18             := Nvl(p_global_attribute18, fnd_api.g_null_char);
1677    l_vendor_rec.global_attribute19             := Nvl(p_global_attribute19, fnd_api.g_null_char);
1678    l_vendor_rec.global_attribute20             := Nvl(p_global_attribute20, fnd_api.g_null_char);
1679    l_vendor_rec.global_attribute_category      := Nvl(p_global_attribute_category, fnd_api.g_null_char);
1680    l_vendor_rec.bank_charge_bearer             := Nvl(p_bank_charge_bearer, fnd_api.g_null_char);
1681    l_vendor_rec.match_option                   := Nvl(p_match_option, fnd_api.g_null_char);
1682    l_vendor_rec.create_debit_memo_flag         := Nvl(p_create_debit_memo_flag, fnd_api.g_null_char);
1683    l_vendor_rec.party_id                       := Nvl(p_party_id, fnd_api.g_null_num);
1684    l_vendor_rec.parent_party_id                := Nvl(p_parent_party_id, fnd_api.g_null_num);
1685    l_vendor_rec.jgzz_fiscal_code               := Nvl(p_jgzz_fiscal_code, fnd_api.g_null_char);
1686    l_vendor_rec.sic_code                       := p_sic_code;
1687    l_vendor_rec.tax_reference                  := Nvl(p_tax_reference, fnd_api.g_null_char);
1688    l_vendor_rec.inventory_organization_id      := Nvl(p_inventory_organization_id, fnd_api.g_null_num);
1689    l_vendor_rec.terms_name                     := p_terms_name;
1690    l_vendor_rec.default_terms_id               := Nvl(p_default_terms_id, fnd_api.g_null_num);
1691    l_vendor_rec.ni_number                      := Nvl(p_ni_number, fnd_api.g_null_char);
1692    -- ccr code starts
1693    is_supp_ccr := POS_UTIL_PKG.IS_SUPP_CCR(1.0,null,l_vendor_rec.vendor_id);
1694    if is_supp_ccr = 'T' then
1695       l_vendor_rec.jgzz_fiscal_code := null;
1696    end if;
1697    -- ccr code ends
1698    Update_Vendor
1699      (
1700       p_vendor_rec      => l_vendor_rec,
1701       x_return_status   => x_return_status,
1702       x_msg_count       => l_msg_count,
1703       x_msg_data        => l_msg_data
1704       );
1705 
1706    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
1707 
1708 END Update_Vendor;
1709 
1710 -- Notes:
1711 --   p_mode: Indicates whether the calling code is in insert or update mode.
1712 --           (I, U)
1713 --
1714 --   p_party_valid:  Indicates how valid the calling program's party_id was
1715 --                   (V, N, F) Valid, Null or False
1716 
1717 PROCEDURE Validate_Vendor
1718 (
1719   p_vendor_id                       IN  NUMBER   ,
1720   p_segment1                        IN  VARCHAR2 ,
1721   p_vendor_name                     IN  VARCHAR2 ,
1722   p_vendor_name_alt                 IN  VARCHAR2 ,
1723   p_summary_flag                    IN  VARCHAR2 ,
1724   p_enabled_flag                    IN  VARCHAR2 ,
1725   p_segment2                        IN  VARCHAR2 ,
1726   p_segment3                        IN  VARCHAR2 ,
1727   p_segment4                        IN  VARCHAR2 ,
1728   p_segment5                        IN  VARCHAR2 ,
1729   p_employee_id                     IN  NUMBER   ,
1730   p_vendor_type_lookup_code         IN  VARCHAR2 ,
1731   p_customer_num                    IN  VARCHAR2 ,
1732   p_one_time_flag                   IN  VARCHAR2 ,
1733   p_parent_vendor_id                IN  NUMBER   ,
1734   p_min_order_amount                IN  NUMBER   ,
1735   p_terms_id                        IN  NUMBER   ,
1736   p_set_of_books_id                 IN  NUMBER   ,
1737   p_always_take_disc_flag           IN  VARCHAR2 ,
1738   p_pay_date_basis_lookup_code      IN  VARCHAR2 ,
1739   p_pay_group_lookup_code           IN  VARCHAR2 ,
1740   p_payment_priority                IN  NUMBER   ,
1741   p_invoice_currency_code           IN  VARCHAR2 ,
1742   p_payment_currency_code           IN  VARCHAR2 ,
1743   p_invoice_amount_limit            IN  NUMBER   ,
1744   p_hold_all_payments_flag          IN  VARCHAR2 ,
1745   p_hold_future_payments_flag       IN  VARCHAR2 ,
1746   p_hold_reason                     IN  VARCHAR2 ,
1747   p_type_1099                       IN  VARCHAR2 ,
1748   p_withhold_status_lookup_code     IN  VARCHAR2 ,
1749   p_withholding_start_date          IN  DATE     ,
1750   p_org_type_lookup_code            IN  VARCHAR2 ,
1751   p_start_date_active               IN  DATE     ,
1752   p_end_date_active                 IN  DATE     ,
1753   p_minority_group_lookup_code      IN  VARCHAR2 ,
1754   p_women_owned_flag                IN  VARCHAR2 ,
1755   p_small_business_flag             IN  VARCHAR2 ,
1756   p_hold_flag                       IN  VARCHAR2 ,
1757   p_purchasing_hold_reason          IN  VARCHAR2 ,
1758   p_hold_by                         IN  NUMBER   ,
1759   p_hold_date                       IN  DATE     ,
1760   p_terms_date_basis                IN  VARCHAR2 ,
1761   p_inspection_required_flag        IN  VARCHAR2 ,
1762   p_receipt_required_flag           IN  VARCHAR2 ,
1763   p_qty_rcv_tolerance               IN  NUMBER   ,
1764   p_qty_rcv_exception_code          IN  VARCHAR2 ,
1765   p_enforce_ship_to_loc_code        IN  VARCHAR2 ,
1766   p_days_early_receipt_allowed      IN  NUMBER   ,
1767   p_days_late_receipt_allowed       IN  NUMBER   ,
1768   p_receipt_days_exception_code     IN  VARCHAR2 ,
1769   p_receiving_routing_id            IN  NUMBER   ,
1770   p_allow_substi_receipts_flag      IN  VARCHAR2 ,
1771   p_allow_unorder_receipts_flag     IN  VARCHAR2 ,
1772   p_hold_unmatched_invoices_flag    IN  VARCHAR2 ,
1773   p_tax_verification_date           IN  DATE     ,
1774   p_name_control                    IN  VARCHAR2 ,
1775   p_state_reportable_flag           IN  VARCHAR2 ,
1776   p_federal_reportable_flag         IN  VARCHAR2 ,
1777   p_attribute_category              IN  VARCHAR2 ,
1778   p_attribute1                      IN  VARCHAR2 ,
1779   p_attribute2                      IN  VARCHAR2 ,
1780   p_attribute3                      IN  VARCHAR2 ,
1781   p_attribute4                      IN  VARCHAR2 ,
1782   p_attribute5                      IN  VARCHAR2 ,
1783   p_attribute6                      IN  VARCHAR2 ,
1784   p_attribute7                      IN  VARCHAR2 ,
1785   p_attribute8                      IN  VARCHAR2 ,
1786   p_attribute9                      IN  VARCHAR2 ,
1787   p_attribute10                     IN  VARCHAR2 ,
1788   p_attribute11                     IN  VARCHAR2 ,
1789   p_attribute12                     IN  VARCHAR2 ,
1790   p_attribute13                     IN  VARCHAR2 ,
1791   p_attribute14                     IN  VARCHAR2 ,
1792   p_attribute15                     IN  VARCHAR2 ,
1793   p_auto_calculate_interest_flag    IN  VARCHAR2 ,
1794   p_validation_number               IN  NUMBER   ,
1795   p_exclude_freight_from_discnt     IN  VARCHAR2 ,
1796   p_tax_reporting_name              IN  VARCHAR2 ,
1797   p_check_digits                    IN  VARCHAR2 ,
1798   p_allow_awt_flag                  IN  VARCHAR2 ,
1799   p_awt_group_id                    IN  NUMBER   ,
1800   p_pay_awt_group_id                    IN  NUMBER   ,
1801   p_awt_group_name                  IN  VARCHAR2 ,
1802   p_pay_awt_group_name                  IN  VARCHAR2 ,
1803   p_global_attribute1               IN  VARCHAR2 ,
1804   p_global_attribute2               IN  VARCHAR2 ,
1805   p_global_attribute3               IN  VARCHAR2 ,
1806   p_global_attribute4               IN  VARCHAR2 ,
1807   p_global_attribute5               IN  VARCHAR2 ,
1808   p_global_attribute6               IN  VARCHAR2 ,
1809   p_global_attribute7               IN  VARCHAR2 ,
1810   p_global_attribute8               IN  VARCHAR2 ,
1811   p_global_attribute9               IN  VARCHAR2 ,
1812   p_global_attribute10              IN  VARCHAR2 ,
1813   p_global_attribute11              IN  VARCHAR2 ,
1814   p_global_attribute12              IN  VARCHAR2 ,
1815   p_global_attribute13              IN  VARCHAR2 ,
1816   p_global_attribute14              IN  VARCHAR2 ,
1817   p_global_attribute15              IN  VARCHAR2 ,
1818   p_global_attribute16              IN  VARCHAR2 ,
1819   p_global_attribute17              IN  VARCHAR2 ,
1820   p_global_attribute18              IN  VARCHAR2 ,
1821   p_global_attribute19              IN  VARCHAR2 ,
1822   p_global_attribute20              IN  VARCHAR2 ,
1823   p_global_attribute_category       IN  VARCHAR2 ,
1824   p_bank_charge_bearer              IN  VARCHAR2 ,
1825   p_bank_branch_type                IN  VARCHAR2 ,
1826   p_match_option                    IN  VARCHAR2 ,
1827   p_create_debit_memo_flag          IN  VARCHAR2 ,
1828   p_party_id                        IN  NUMBER   ,
1829   p_parent_party_id                 IN  NUMBER   ,
1830   p_jgzz_fiscal_code                IN  VARCHAR2 ,
1831   p_sic_code                        IN  VARCHAR2 ,
1832   p_tax_reference                   IN  VARCHAR2 ,
1833   p_inventory_organization_id       IN  NUMBER   ,
1834   p_terms_name                      IN  VARCHAR2 ,
1835   p_default_terms_id                IN  NUMBER   ,
1836   p_ni_number                       IN  VARCHAR2 ,
1837   p_mode           IN  VARCHAR2,
1838   x_return_status  OUT NOCOPY VARCHAR2,
1839   x_error_msg      OUT NOCOPY VARCHAR2,
1840   x_party_valid    OUT NOCOPY VARCHAR2
1841 )
1842   IS
1843    l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
1844    l_msg_count  NUMBER;
1845    l_msg_data   VARCHAR2(4000);
1846    is_supp_ccr VARCHAR2(1);
1847 BEGIN
1848 
1849    l_vendor_rec.vendor_id                      := p_vendor_id;
1850    l_vendor_rec.segment1                       := Nvl(p_segment1, fnd_api.g_null_char);
1851    l_vendor_rec.vendor_name                    := Nvl(p_vendor_name, fnd_api.g_null_char);
1852    l_vendor_rec.vendor_name_alt                := Nvl(p_vendor_name_alt, fnd_api.g_null_char);
1853    l_vendor_rec.summary_flag                   := Nvl(p_summary_flag, fnd_api.g_null_char);
1854    l_vendor_rec.enabled_flag                   := Nvl(p_enabled_flag, fnd_api.g_null_char);
1855    l_vendor_rec.segment2                       := Nvl(p_segment2, fnd_api.g_null_char);
1856    l_vendor_rec.segment3                       := Nvl(p_segment3, fnd_api.g_null_char);
1857    l_vendor_rec.segment4                       := Nvl(p_segment4, fnd_api.g_null_char);
1858    l_vendor_rec.segment5                       := Nvl(p_segment5, fnd_api.g_null_char);
1859    l_vendor_rec.employee_id                    := p_employee_id;
1860    l_vendor_rec.vendor_type_lookup_code        := Nvl(p_vendor_type_lookup_code, fnd_api.g_null_char);
1861    l_vendor_rec.customer_num                   := Nvl(p_customer_num, fnd_api.g_null_char);
1862    l_vendor_rec.one_time_flag                  := Nvl(p_one_time_flag, fnd_api.g_null_char);
1863    l_vendor_rec.parent_vendor_id               := Nvl(p_parent_vendor_id, fnd_api.g_null_num);
1864    l_vendor_rec.min_order_amount               := Nvl(p_min_order_amount, fnd_api.g_null_num);
1865    l_vendor_rec.terms_id                       := Nvl(p_terms_id, fnd_api.g_null_num);
1866    l_vendor_rec.set_of_books_id                := Nvl(p_set_of_books_id, fnd_api.g_null_num);
1867    l_vendor_rec.always_take_disc_flag          := Nvl(p_always_take_disc_flag, fnd_api.g_null_char);
1868    l_vendor_rec.pay_date_basis_lookup_code     := Nvl(p_pay_date_basis_lookup_code, fnd_api.g_null_char);
1869    l_vendor_rec.pay_group_lookup_code          := Nvl(p_pay_group_lookup_code, fnd_api.g_null_char);
1870    l_vendor_rec.payment_priority               := Nvl(p_payment_priority, fnd_api.g_null_num);
1871    l_vendor_rec.invoice_currency_code          := Nvl(p_invoice_currency_code, fnd_api.g_null_char);
1872    l_vendor_rec.payment_currency_code          := Nvl(p_payment_currency_code, fnd_api.g_null_char);
1873    l_vendor_rec.invoice_amount_limit           := Nvl(p_invoice_amount_limit, fnd_api.g_null_num);
1874    l_vendor_rec.hold_all_payments_flag         := Nvl(p_hold_all_payments_flag, fnd_api.g_null_char);
1875    l_vendor_rec.hold_future_payments_flag      := Nvl(p_hold_future_payments_flag, fnd_api.g_null_char);
1876    l_vendor_rec.hold_reason                    := Nvl(p_hold_reason, fnd_api.g_null_char);
1877    l_vendor_rec.type_1099                      := Nvl(p_type_1099, fnd_api.g_null_char);
1878    l_vendor_rec.withholding_status_lookup_code := Nvl(p_withhold_status_lookup_code, fnd_api.g_null_char);
1879    l_vendor_rec.withholding_start_date         := Nvl(p_withholding_start_date, fnd_api.g_null_date);
1880    l_vendor_rec.organization_type_lookup_code  := Nvl(p_org_type_lookup_code, fnd_api.g_null_char);
1881    l_vendor_rec.start_date_active              := Nvl(p_start_date_active, fnd_api.g_null_date);
1882    l_vendor_rec.end_date_active                := Nvl(p_end_date_active, fnd_api.g_null_date);
1883    l_vendor_rec.minority_group_lookup_code     := Nvl(p_minority_group_lookup_code, fnd_api.g_null_char);
1884    l_vendor_rec.women_owned_flag               := Nvl(p_women_owned_flag, fnd_api.g_null_char);
1885    l_vendor_rec.small_business_flag            := Nvl(p_small_business_flag, fnd_api.g_null_char);
1886    l_vendor_rec.hold_flag                      := Nvl(p_hold_flag, fnd_api.g_null_char);
1887    l_vendor_rec.purchasing_hold_reason         := Nvl(p_purchasing_hold_reason, fnd_api.g_null_char);
1888    l_vendor_rec.hold_by                        := Nvl(p_hold_by, fnd_api.g_null_num);
1889    l_vendor_rec.hold_date                      := Nvl(p_hold_date, fnd_api.g_null_date);
1890    l_vendor_rec.terms_date_basis               := Nvl(p_terms_date_basis, fnd_api.g_null_char);
1891    l_vendor_rec.inspection_required_flag       := Nvl(p_inspection_required_flag, fnd_api.g_null_char);
1892    l_vendor_rec.receipt_required_flag          := Nvl(p_receipt_required_flag, fnd_api.g_null_char);
1893    l_vendor_rec.qty_rcv_tolerance              := Nvl(p_qty_rcv_tolerance, fnd_api.g_null_num);
1894    l_vendor_rec.qty_rcv_exception_code         := Nvl(p_qty_rcv_exception_code, fnd_api.g_null_char);
1895    l_vendor_rec.enforce_ship_to_location_code  := Nvl(p_enforce_ship_to_loc_code, fnd_api.g_null_char);
1896    l_vendor_rec.days_early_receipt_allowed     := Nvl(p_days_early_receipt_allowed, fnd_api.g_null_num);
1897    l_vendor_rec.days_late_receipt_allowed      := Nvl(p_days_late_receipt_allowed, fnd_api.g_null_num);
1898    l_vendor_rec.receipt_days_exception_code    := Nvl(p_receipt_days_exception_code, fnd_api.g_null_char);
1899    l_vendor_rec.receiving_routing_id           := Nvl(p_receiving_routing_id, fnd_api.g_null_num);
1900    l_vendor_rec.allow_substitute_receipts_flag := Nvl(p_allow_substi_receipts_flag, fnd_api.g_null_char);
1901    l_vendor_rec.allow_unordered_receipts_flag  := Nvl(p_allow_unorder_receipts_flag, fnd_api.g_null_char);
1902    l_vendor_rec.hold_unmatched_invoices_flag   := Nvl(p_hold_unmatched_invoices_flag, fnd_api.g_null_char);
1903    l_vendor_rec.tax_verification_date          := Nvl(p_tax_verification_date, fnd_api.g_null_date);
1904    l_vendor_rec.name_control                   := Nvl(p_name_control, fnd_api.g_null_char);
1905    l_vendor_rec.state_reportable_flag          := Nvl(p_state_reportable_flag, fnd_api.g_null_char);
1906    l_vendor_rec.federal_reportable_flag        := Nvl(p_federal_reportable_flag, fnd_api.g_null_char);
1907    l_vendor_rec.attribute_category             := Nvl(p_attribute_category, fnd_api.g_null_char);
1908    l_vendor_rec.attribute1                     := Nvl(p_attribute1, fnd_api.g_null_char);
1909    l_vendor_rec.attribute2                     := Nvl(p_attribute2, fnd_api.g_null_char);
1910    l_vendor_rec.attribute3                     := Nvl(p_attribute3, fnd_api.g_null_char);
1911    l_vendor_rec.attribute4                     := Nvl(p_attribute4, fnd_api.g_null_char);
1912    l_vendor_rec.attribute5                     := Nvl(p_attribute5, fnd_api.g_null_char);
1913    l_vendor_rec.attribute6                     := Nvl(p_attribute6, fnd_api.g_null_char);
1914    l_vendor_rec.attribute7                     := Nvl(p_attribute7, fnd_api.g_null_char);
1915    l_vendor_rec.attribute8                     := Nvl(p_attribute8, fnd_api.g_null_char);
1916    l_vendor_rec.attribute9                     := Nvl(p_attribute9, fnd_api.g_null_char);
1917    l_vendor_rec.attribute10                    := Nvl(p_attribute10, fnd_api.g_null_char);
1918    l_vendor_rec.attribute11                    := Nvl(p_attribute11, fnd_api.g_null_char);
1919    l_vendor_rec.attribute12                    := Nvl(p_attribute12, fnd_api.g_null_char);
1920    l_vendor_rec.attribute13                    := Nvl(p_attribute13, fnd_api.g_null_char);
1921    l_vendor_rec.attribute14                    := Nvl(p_attribute14, fnd_api.g_null_char);
1922    l_vendor_rec.attribute15                    := Nvl(p_attribute15, fnd_api.g_null_char);
1923    l_vendor_rec.auto_calculate_interest_flag   := Nvl(p_auto_calculate_interest_flag, fnd_api.g_null_char);
1924    l_vendor_rec.validation_number              := Nvl(p_validation_number, fnd_api.g_null_num);
1925    l_vendor_rec.exclude_freight_from_discount  := Nvl(p_exclude_freight_from_discnt, fnd_api.g_null_char);
1926    l_vendor_rec.tax_reporting_name             := Nvl(p_tax_reporting_name, fnd_api.g_null_char);
1927    l_vendor_rec.check_digits                   := Nvl(p_check_digits, fnd_api.g_null_char);
1928    l_vendor_rec.allow_awt_flag                 := Nvl(p_allow_awt_flag, fnd_api.g_null_char);
1929    l_vendor_rec.awt_group_id                   := Nvl(p_awt_group_id, fnd_api.g_null_num);
1930    l_vendor_rec.pay_awt_group_id                   := Nvl(p_pay_awt_group_id, fnd_api.g_null_num);
1931    l_vendor_rec.awt_group_name                 := p_awt_group_name;
1932    l_vendor_rec.pay_awt_group_name                 := p_pay_awt_group_name;
1933    l_vendor_rec.global_attribute1              := Nvl(p_global_attribute1, fnd_api.g_null_char);
1934    l_vendor_rec.global_attribute2              := Nvl(p_global_attribute2, fnd_api.g_null_char);
1935    l_vendor_rec.global_attribute3              := Nvl(p_global_attribute3, fnd_api.g_null_char);
1936    l_vendor_rec.global_attribute4              := Nvl(p_global_attribute4, fnd_api.g_null_char);
1937    l_vendor_rec.global_attribute5              := Nvl(p_global_attribute5, fnd_api.g_null_char);
1938    l_vendor_rec.global_attribute6              := Nvl(p_global_attribute6, fnd_api.g_null_char);
1939    l_vendor_rec.global_attribute7              := Nvl(p_global_attribute7, fnd_api.g_null_char);
1940    l_vendor_rec.global_attribute8              := Nvl(p_global_attribute8, fnd_api.g_null_char);
1941    l_vendor_rec.global_attribute9              := Nvl(p_global_attribute9, fnd_api.g_null_char);
1942    l_vendor_rec.global_attribute10             := Nvl(p_global_attribute10, fnd_api.g_null_char);
1943    l_vendor_rec.global_attribute11             := Nvl(p_global_attribute11, fnd_api.g_null_char);
1944    l_vendor_rec.global_attribute12             := Nvl(p_global_attribute12, fnd_api.g_null_char);
1945    l_vendor_rec.global_attribute13             := Nvl(p_global_attribute13, fnd_api.g_null_char);
1946    l_vendor_rec.global_attribute14             := Nvl(p_global_attribute14, fnd_api.g_null_char);
1947    l_vendor_rec.global_attribute15             := Nvl(p_global_attribute15, fnd_api.g_null_char);
1948    l_vendor_rec.global_attribute16             := Nvl(p_global_attribute16, fnd_api.g_null_char);
1949    l_vendor_rec.global_attribute17             := Nvl(p_global_attribute17, fnd_api.g_null_char);
1950    l_vendor_rec.global_attribute18             := Nvl(p_global_attribute18, fnd_api.g_null_char);
1951    l_vendor_rec.global_attribute19             := Nvl(p_global_attribute19, fnd_api.g_null_char);
1952    l_vendor_rec.global_attribute20             := Nvl(p_global_attribute20, fnd_api.g_null_char);
1953    l_vendor_rec.global_attribute_category      := Nvl(p_global_attribute_category, fnd_api.g_null_char);
1954    l_vendor_rec.bank_charge_bearer             := Nvl(p_bank_charge_bearer, fnd_api.g_null_char);
1955    --l_vendor_rec.bank_branch_type               := Nvl(p_bank_branch_type, fnd_api.g_null_char);
1956    l_vendor_rec.match_option                   := Nvl(p_match_option, fnd_api.g_null_char);
1957    l_vendor_rec.create_debit_memo_flag         := Nvl(p_create_debit_memo_flag, fnd_api.g_null_char);
1958    l_vendor_rec.party_id                       := Nvl(p_party_id, fnd_api.g_null_num);
1959    l_vendor_rec.parent_party_id                := Nvl(p_parent_party_id, fnd_api.g_null_num);
1960    l_vendor_rec.jgzz_fiscal_code               := Nvl(p_jgzz_fiscal_code, fnd_api.g_null_char);
1961    l_vendor_rec.sic_code                       := Nvl(p_sic_code, fnd_api.g_null_char);
1962    l_vendor_rec.tax_reference                  := Nvl(p_tax_reference, fnd_api.g_null_char);
1963    l_vendor_rec.inventory_organization_id      := Nvl(p_inventory_organization_id, fnd_api.g_null_num);
1964    l_vendor_rec.terms_name                     := p_terms_name;
1965    l_vendor_rec.default_terms_id               := Nvl(p_default_terms_id, fnd_api.g_null_num);
1966    l_vendor_rec.ni_number                      := Nvl(p_ni_number, fnd_api.g_null_char);
1967 
1968    -- ccr code starts
1969    if p_mode = 'U' then
1970       is_supp_ccr := POS_UTIL_PKG.IS_SUPP_CCR(1.0,null,l_vendor_rec.vendor_id);
1971       if is_supp_ccr = 'T' then
1972          l_vendor_rec.jgzz_fiscal_code := null;
1973       end if;
1974    end if;
1975    -- ccr code ends
1976 
1977 
1978    Validate_Vendor
1979      (
1980       p_vendor_rec      => l_vendor_rec,
1981       p_mode            => p_mode,
1982       x_return_status   => x_return_status,
1983       x_msg_count       => l_msg_count,
1984       x_msg_data        => l_msg_data,
1985       x_party_valid     => x_party_valid
1986       );
1987 
1988    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
1989 
1990 END Validate_Vendor;
1991 
1992 PROCEDURE Create_Vendor_Site
1993 (
1994   p_area_code                      IN  VARCHAR2 DEFAULT NULL,
1995   p_phone                          IN  VARCHAR2 DEFAULT NULL,
1996   p_customer_num                   IN  VARCHAR2 DEFAULT NULL,
1997   p_ship_to_location_id            IN  NUMBER   DEFAULT NULL,
1998   p_bill_to_location_id            IN  NUMBER   DEFAULT NULL,
1999   p_ship_via_lookup_code           IN  VARCHAR2 DEFAULT NULL,
2000   p_freight_terms_lookup_code      IN  VARCHAR2 DEFAULT NULL,
2001   p_fob_lookup_code                IN  VARCHAR2 DEFAULT NULL,
2002   p_inactive_date                  IN  DATE     DEFAULT NULL,
2003   p_fax                            IN  VARCHAR2 DEFAULT NULL,
2004   p_fax_area_code                  IN  VARCHAR2 DEFAULT NULL,
2005   p_telex                          IN  VARCHAR2 DEFAULT NULL,
2006   p_terms_date_basis               IN  VARCHAR2 DEFAULT NULL,
2007   p_distribution_set_id            IN  NUMBER   DEFAULT NULL,
2008   p_accts_pay_code_combo_id        IN  NUMBER   DEFAULT NULL,
2009   p_prepay_code_combination_id     IN  NUMBER   DEFAULT NULL,
2010   p_pay_group_lookup_code          IN  VARCHAR2 DEFAULT NULL,
2011   p_payment_method_lookup_code     IN  VARCHAR2 DEFAULT NULL,
2012   p_payment_priority               IN  NUMBER   DEFAULT NULL,
2013   p_terms_id                       IN  NUMBER   DEFAULT NULL,
2014   p_invoice_amount_limit           IN  NUMBER   DEFAULT NULL,
2015   p_pay_date_basis_lookup_code     IN  VARCHAR2 DEFAULT NULL,
2016   p_always_take_disc_flag          IN  VARCHAR2 DEFAULT NULL,
2017   p_invoice_currency_code          IN  VARCHAR2 DEFAULT NULL,
2018   p_payment_currency_code          IN  VARCHAR2 DEFAULT NULL,
2019   p_vendor_site_id                 IN  NUMBER   DEFAULT NULL,
2020   p_last_update_date               IN  DATE     DEFAULT NULL,
2021   p_last_updated_by                IN  NUMBER   DEFAULT NULL,
2022   p_vendor_id                      IN  NUMBER   DEFAULT NULL,
2023   p_vendor_site_code               IN  VARCHAR2 DEFAULT NULL,
2024   p_vendor_site_code_alt           IN  VARCHAR2 DEFAULT NULL,
2025   p_purchasing_site_flag           IN  VARCHAR2 DEFAULT NULL,
2026   p_rfq_only_site_flag             IN  VARCHAR2 DEFAULT NULL,
2027   p_pay_site_flag                  IN  VARCHAR2 DEFAULT NULL,
2028   p_attention_ar_flag              IN  VARCHAR2 DEFAULT NULL,
2029   p_hold_all_payments_flag         IN  VARCHAR2 DEFAULT NULL,
2030   p_hold_future_payments_flag      IN  VARCHAR2 DEFAULT NULL,
2031   p_hold_reason                    IN  VARCHAR2 DEFAULT NULL,
2032   p_hold_unmatched_invoices_flag   IN  VARCHAR2 DEFAULT NULL,
2033   p_tax_reporting_site_flag        IN  VARCHAR2 DEFAULT NULL,
2034   p_attribute_category             IN  VARCHAR2 DEFAULT NULL,
2035   p_attribute1                     IN  VARCHAR2 DEFAULT NULL,
2036   p_attribute2                     IN  VARCHAR2 DEFAULT NULL,
2037   p_attribute3                     IN  VARCHAR2 DEFAULT NULL,
2038   p_attribute4                     IN  VARCHAR2 DEFAULT NULL,
2039   p_attribute5                     IN  VARCHAR2 DEFAULT NULL,
2040   p_attribute6                     IN  VARCHAR2 DEFAULT NULL,
2041   p_attribute7                     IN  VARCHAR2 DEFAULT NULL,
2042   p_attribute8                     IN  VARCHAR2 DEFAULT NULL,
2043   p_attribute9                     IN  VARCHAR2 DEFAULT NULL,
2044   p_attribute10                    IN  VARCHAR2 DEFAULT NULL,
2045   p_attribute11                    IN  VARCHAR2 DEFAULT NULL,
2046   p_attribute12                    IN  VARCHAR2 DEFAULT NULL,
2047   p_attribute13                    IN  VARCHAR2 DEFAULT NULL,
2048   p_attribute14                    IN  VARCHAR2 DEFAULT NULL,
2049   p_attribute15                    IN  VARCHAR2 DEFAULT NULL,
2050   p_validation_number              IN  NUMBER   DEFAULT NULL,
2051   p_exclude_freight_from_discnt    IN  VARCHAR2 DEFAULT NULL,
2052   p_bank_charge_bearer             IN  VARCHAR2 DEFAULT NULL,
2053   p_org_id                         IN  NUMBER   DEFAULT NULL,
2054   p_check_digits                   IN  VARCHAR2 DEFAULT NULL,
2055   p_allow_awt_flag                 IN  VARCHAR2 DEFAULT NULL,
2056   p_awt_group_id                   IN  NUMBER   DEFAULT NULL,
2057   p_pay_awt_group_id                   IN  NUMBER   DEFAULT NULL,
2058   p_default_pay_site_id            IN  NUMBER   DEFAULT NULL,
2059   p_pay_on_code                    IN  VARCHAR2 DEFAULT NULL,
2060   p_pay_on_receipt_summary_code    IN  VARCHAR2 DEFAULT NULL,
2061   p_global_attribute_category      IN  VARCHAR2 DEFAULT NULL,
2062   p_global_attribute1              IN  VARCHAR2 DEFAULT NULL,
2063   p_global_attribute2              IN  VARCHAR2 DEFAULT NULL,
2064   p_global_attribute3              IN  VARCHAR2 DEFAULT NULL,
2065   p_global_attribute4              IN  VARCHAR2 DEFAULT NULL,
2066   p_global_attribute5              IN  VARCHAR2 DEFAULT NULL,
2067   p_global_attribute6              IN  VARCHAR2 DEFAULT NULL,
2068   p_global_attribute7              IN  VARCHAR2 DEFAULT NULL,
2069   p_global_attribute8              IN  VARCHAR2 DEFAULT NULL,
2070   p_global_attribute9              IN  VARCHAR2 DEFAULT NULL,
2071   p_global_attribute10             IN  VARCHAR2 DEFAULT NULL,
2072   p_global_attribute11             IN  VARCHAR2 DEFAULT NULL,
2073   p_global_attribute12             IN  VARCHAR2 DEFAULT NULL,
2074   p_global_attribute13             IN  VARCHAR2 DEFAULT NULL,
2075   p_global_attribute14             IN  VARCHAR2 DEFAULT NULL,
2076   p_global_attribute15             IN  VARCHAR2 DEFAULT NULL,
2077   p_global_attribute16             IN  VARCHAR2 DEFAULT NULL,
2078   p_global_attribute17             IN  VARCHAR2 DEFAULT NULL,
2079   p_global_attribute18             IN  VARCHAR2 DEFAULT NULL,
2080   p_global_attribute19             IN  VARCHAR2 DEFAULT NULL,
2081   p_global_attribute20             IN  VARCHAR2 DEFAULT NULL,
2082   p_tp_header_id                   IN  NUMBER   DEFAULT NULL,
2083   p_edi_id_number                  IN  VARCHAR2 DEFAULT NULL,
2084   p_ece_tp_location_code           IN  VARCHAR2 DEFAULT NULL,
2085   p_pcard_site_flag                IN  VARCHAR2 DEFAULT NULL,
2086   p_match_option                   IN  VARCHAR2 DEFAULT NULL,
2087   p_country_of_origin_code         IN  VARCHAR2 DEFAULT NULL,
2088   p_future_dated_payment_ccid      IN  NUMBER   DEFAULT NULL,
2089   p_create_debit_memo_flag         IN  VARCHAR2 DEFAULT NULL,
2090   p_supplier_notif_method          IN  VARCHAR2 DEFAULT NULL,
2091   p_email_address                  IN  VARCHAR2 DEFAULT NULL,
2092   p_primary_pay_site_flag          IN  VARCHAR2 DEFAULT NULL,
2093   p_shipping_control               IN  VARCHAR2 DEFAULT NULL,
2094   p_selling_company_identifier     IN  VARCHAR2 DEFAULT NULL,
2095   p_gapless_inv_num_flag           IN  VARCHAR2 DEFAULT NULL,
2096   p_location_id                    IN  NUMBER   DEFAULT NULL,
2097   p_party_site_id                  IN  NUMBER   DEFAULT NULL,
2098   p_org_name                       IN  VARCHAR2 DEFAULT NULL,
2099   p_duns_number                    IN  VARCHAR2 DEFAULT NULL,
2100   p_address_style                  IN  VARCHAR2 DEFAULT NULL,
2101   p_language                       IN  VARCHAR2 DEFAULT NULL,
2102   p_province                       IN  VARCHAR2 DEFAULT NULL,
2103   p_country                        IN  VARCHAR2 DEFAULT NULL,
2104   p_address_line1                  IN  VARCHAR2             ,
2105   p_address_line2                  IN  VARCHAR2 DEFAULT NULL,
2106   p_address_line3                  IN  VARCHAR2 DEFAULT NULL,
2107   p_address_line4                  IN  VARCHAR2 DEFAULT NULL,
2108   p_address_lines_alt              IN  VARCHAR2 DEFAULT NULL,
2109   p_county                         IN  VARCHAR2 DEFAULT NULL,
2110   p_city                           IN  VARCHAR2 DEFAULT NULL,
2111   p_state                          IN  VARCHAR2 DEFAULT NULL,
2112   p_zip                            IN  VARCHAR2 DEFAULT NULL,
2113   p_terms_name                     IN  VARCHAR2 DEFAULT NULL,
2114   p_default_terms_id               IN  NUMBER   DEFAULT NULL,
2115   p_awt_group_name                 IN  VARCHAR2 DEFAULT NULL,
2116   p_pay_awt_group_name                 IN  VARCHAR2 DEFAULT NULL,
2117   p_distribution_set_name          IN  VARCHAR2 DEFAULT NULL,
2118   p_ship_to_location_code          IN  VARCHAR2 DEFAULT NULL,
2119   p_bill_to_location_code          IN  VARCHAR2 DEFAULT NULL,
2120   p_default_dist_set_id            IN  NUMBER   DEFAULT NULL,
2121   p_default_ship_to_loc_id         IN  NUMBER   DEFAULT NULL,
2122   p_default_bill_to_loc_id         IN  NUMBER   DEFAULT NULL,
2123   p_tolerance_id                   IN  NUMBER   DEFAULT NULL,
2124   p_tolerance_name                 IN  VARCHAR2 DEFAULT NULL,
2125   p_retainage_rate                 IN  NUMBER   DEFAULT NULL,
2126   p_service_tolerance_id           IN  NUMBER   DEFAULT NULL,
2127   x_return_status   OUT NOCOPY VARCHAR2,
2128   x_error_msg       OUT NOCOPY VARCHAR2,
2129   x_vendor_site_id  OUT NOCOPY NUMBER,
2130   x_party_site_id   OUT NOCOPY NUMBER,
2131   x_location_id     OUT NOCOPY NUMBER
2132 )
2133   IS
2134    l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
2135    l_msg_count  NUMBER;
2136    l_msg_data   VARCHAR2(4000);
2137    l_addr_pay_flag VARCHAR2(1);
2138    l_addr_pur_flag VARCHAR2(1);
2139    l_addr_rfq_flag VARCHAR2(1);
2140 BEGIN
2141 
2142 
2143 
2144    l_vendor_site_rec.area_code                     := p_area_code;
2145    l_vendor_site_rec.phone                         := p_phone;
2146    l_vendor_site_rec.customer_num                  := p_customer_num;
2147    l_vendor_site_rec.ship_to_location_id           := p_ship_to_location_id;
2148    l_vendor_site_rec.bill_to_location_id           := p_bill_to_location_id;
2149    l_vendor_site_rec.ship_via_lookup_code          := p_ship_via_lookup_code;
2150    l_vendor_site_rec.freight_terms_lookup_code     := p_freight_terms_lookup_code;
2151    l_vendor_site_rec.fob_lookup_code               := p_fob_lookup_code;
2152    l_vendor_site_rec.inactive_date                 := p_inactive_date;
2153    l_vendor_site_rec.fax                           := p_fax;
2154    l_vendor_site_rec.fax_area_code                 := p_fax_area_code;
2155    l_vendor_site_rec.telex                         := p_telex;
2156    l_vendor_site_rec.terms_date_basis              := p_terms_date_basis;
2157    l_vendor_site_rec.distribution_set_id           := p_distribution_set_id;
2158    l_vendor_site_rec.accts_pay_code_combination_id := p_accts_pay_code_combo_id;
2159    l_vendor_site_rec.prepay_code_combination_id    := p_prepay_code_combination_id;
2160    l_vendor_site_rec.pay_group_lookup_code         := p_pay_group_lookup_code;
2161    l_vendor_site_rec.ext_payee_rec.default_pmt_method:= p_payment_method_lookup_code;
2162    l_vendor_site_rec.payment_priority              := p_payment_priority;
2163    l_vendor_site_rec.terms_id                      := p_terms_id;
2164    l_vendor_site_rec.invoice_amount_limit          := p_invoice_amount_limit;
2165    l_vendor_site_rec.pay_date_basis_lookup_code    := p_pay_date_basis_lookup_code;
2166    l_vendor_site_rec.always_take_disc_flag         := p_always_take_disc_flag;
2167    l_vendor_site_rec.invoice_currency_code         := p_invoice_currency_code;
2168    l_vendor_site_rec.payment_currency_code         := p_payment_currency_code;
2169    l_vendor_site_rec.vendor_site_id                := p_vendor_site_id;
2170    l_vendor_site_rec.last_update_date              := p_last_update_date;
2171    l_vendor_site_rec.last_updated_by               := p_last_updated_by;
2172    l_vendor_site_rec.vendor_id                     := p_vendor_id;
2173    l_vendor_site_rec.vendor_site_code              := p_vendor_site_code;
2174    l_vendor_site_rec.vendor_site_code_alt          := p_vendor_site_code_alt;
2175 
2176    l_vendor_site_rec.purchasing_site_flag          := p_purchasing_site_flag;
2177    l_vendor_site_rec.rfq_only_site_flag            := p_rfq_only_site_flag ;
2178    l_vendor_site_rec.pay_site_flag                 := p_pay_site_flag ;
2179    l_vendor_site_rec.attention_ar_flag             := p_attention_ar_flag;
2180    l_vendor_site_rec.hold_all_payments_flag        := p_hold_all_payments_flag;
2181    l_vendor_site_rec.hold_future_payments_flag     := p_hold_future_payments_flag;
2182    l_vendor_site_rec.hold_reason                   := p_hold_reason;
2183    l_vendor_site_rec.hold_unmatched_invoices_flag  := p_hold_unmatched_invoices_flag;
2184    l_vendor_site_rec.tax_reporting_site_flag       := p_tax_reporting_site_flag;
2185    l_vendor_site_rec.attribute_category            := p_attribute_category;
2186    l_vendor_site_rec.attribute1                    := p_attribute1;
2187    l_vendor_site_rec.attribute2                    := p_attribute2;
2188    l_vendor_site_rec.attribute3                    := p_attribute3;
2189    l_vendor_site_rec.attribute4                    := p_attribute4;
2190    l_vendor_site_rec.attribute5                    := p_attribute5;
2191    l_vendor_site_rec.attribute6                    := p_attribute6;
2192    l_vendor_site_rec.attribute7                    := p_attribute7;
2193    l_vendor_site_rec.attribute8                    := p_attribute8;
2194    l_vendor_site_rec.attribute9                    := p_attribute9;
2195    l_vendor_site_rec.attribute10                   := p_attribute10;
2196    l_vendor_site_rec.attribute11                   := p_attribute11;
2197    l_vendor_site_rec.attribute12                   := p_attribute12;
2198    l_vendor_site_rec.attribute13                   := p_attribute13;
2199    l_vendor_site_rec.attribute14                   := p_attribute14;
2200    l_vendor_site_rec.attribute15                   := p_attribute15;
2201    l_vendor_site_rec.validation_number             := p_validation_number;
2202    l_vendor_site_rec.exclude_freight_from_discount := p_exclude_freight_from_discnt;
2203    l_vendor_site_rec.bank_charge_bearer            := p_bank_charge_bearer;
2204    l_vendor_site_rec.org_id                        := p_org_id;
2205    l_vendor_site_rec.check_digits                  := p_check_digits;
2206    l_vendor_site_rec.allow_awt_flag                := p_allow_awt_flag;
2207    l_vendor_site_rec.awt_group_id                  := p_awt_group_id;
2208    l_vendor_site_rec.pay_awt_group_id                  := p_pay_awt_group_id;
2209    l_vendor_site_rec.default_pay_site_id           := p_default_pay_site_id;
2210    l_vendor_site_rec.pay_on_code                   := p_pay_on_code;
2211    l_vendor_site_rec.pay_on_receipt_summary_code   := p_pay_on_receipt_summary_code;
2212    l_vendor_site_rec.global_attribute_category     := p_global_attribute_category;
2213    l_vendor_site_rec.global_attribute1             := p_global_attribute1;
2214    l_vendor_site_rec.global_attribute2             := p_global_attribute2;
2215    l_vendor_site_rec.global_attribute3             := p_global_attribute3;
2216    l_vendor_site_rec.global_attribute4             := p_global_attribute4;
2217    l_vendor_site_rec.global_attribute5             := p_global_attribute5;
2218    l_vendor_site_rec.global_attribute6             := p_global_attribute6;
2219    l_vendor_site_rec.global_attribute7             := p_global_attribute7;
2220    l_vendor_site_rec.global_attribute8             := p_global_attribute8;
2221    l_vendor_site_rec.global_attribute9             := p_global_attribute9;
2222    l_vendor_site_rec.global_attribute10            := p_global_attribute10;
2223    l_vendor_site_rec.global_attribute11            := p_global_attribute11;
2224    l_vendor_site_rec.global_attribute12            := p_global_attribute12;
2225    l_vendor_site_rec.global_attribute13            := p_global_attribute13;
2226    l_vendor_site_rec.global_attribute14            := p_global_attribute14;
2227    l_vendor_site_rec.global_attribute15            := p_global_attribute15;
2228    l_vendor_site_rec.global_attribute16            := p_global_attribute16;
2229    l_vendor_site_rec.global_attribute17            := p_global_attribute17;
2230    l_vendor_site_rec.global_attribute18            := p_global_attribute18;
2231    l_vendor_site_rec.global_attribute19            := p_global_attribute19;
2232    l_vendor_site_rec.global_attribute20            := p_global_attribute20;
2233    l_vendor_site_rec.tp_header_id                  := p_tp_header_id;
2234    l_vendor_site_rec.edi_id_number                 := p_edi_id_number;
2235    l_vendor_site_rec.ece_tp_location_code          := p_ece_tp_location_code;
2236    l_vendor_site_rec.pcard_site_flag               := p_pcard_site_flag;
2237    l_vendor_site_rec.match_option                  := p_match_option;
2238    l_vendor_site_rec.country_of_origin_code        := p_country_of_origin_code;
2239    l_vendor_site_rec.future_dated_payment_ccid     := p_future_dated_payment_ccid;
2240    l_vendor_site_rec.create_debit_memo_flag        := p_create_debit_memo_flag;
2241    l_vendor_site_rec.supplier_notif_method         := p_supplier_notif_method;
2242    l_vendor_site_rec.email_address                 := p_email_address;
2243    l_vendor_site_rec.primary_pay_site_flag         := p_primary_pay_site_flag;
2244    l_vendor_site_rec.shipping_control              := p_shipping_control;
2245    l_vendor_site_rec.selling_company_identifier    := p_selling_company_identifier;
2246    l_vendor_site_rec.gapless_inv_num_flag          := p_gapless_inv_num_flag;
2247    l_vendor_site_rec.location_id                   := p_location_id;
2248    l_vendor_site_rec.party_site_id                 := p_party_site_id;
2249    l_vendor_site_rec.org_name                      := p_org_name;
2250    l_vendor_site_rec.duns_number                   := p_duns_number;
2251    l_vendor_site_rec.address_style                 := p_address_style;
2252    l_vendor_site_rec.language                      := get_nls_language(p_language);
2253    l_vendor_site_rec.province                      := p_province;
2254    l_vendor_site_rec.country                       := p_country;
2255    l_vendor_site_rec.address_line1                 := p_address_line1;
2256    l_vendor_site_rec.address_line2                 := p_address_line2;
2257    l_vendor_site_rec.address_line3                 := p_address_line3;
2258    l_vendor_site_rec.address_line4                 := p_address_line4;
2259    l_vendor_site_rec.address_lines_alt             := p_address_lines_alt;
2260    l_vendor_site_rec.county                        := p_county;
2261    l_vendor_site_rec.city                          := p_city;
2262    l_vendor_site_rec.state                         := p_state;
2263    l_vendor_site_rec.zip                           := p_zip;
2264    l_vendor_site_rec.terms_name                    := p_terms_name;
2265    l_vendor_site_rec.default_terms_id              := p_default_terms_id;
2266    l_vendor_site_rec.awt_group_name                := p_awt_group_name;
2267    l_vendor_site_rec.pay_awt_group_name                := p_pay_awt_group_name;
2268    l_vendor_site_rec.distribution_set_name         := p_distribution_set_name;
2269    l_vendor_site_rec.ship_to_location_code         := p_ship_to_location_code;
2270    l_vendor_site_rec.bill_to_location_code         := p_bill_to_location_code;
2271    l_vendor_site_rec.default_dist_set_id           := p_default_dist_set_id;
2272    l_vendor_site_rec.default_ship_to_loc_id        := p_default_ship_to_loc_id;
2273    l_vendor_site_rec.default_bill_to_loc_id        := p_default_bill_to_loc_id;
2274    l_vendor_site_rec.tolerance_id                  := p_tolerance_id;
2275    l_vendor_site_rec.tolerance_name                := p_tolerance_name;
2276    l_vendor_site_rec.retainage_rate                := p_retainage_rate;
2277    l_vendor_site_rec.services_tolerance_id          := p_service_tolerance_id;
2278    -- If primary pay flag is selected, pay flag should also be selected
2279    if (l_vendor_site_rec.primary_pay_site_flag is not null
2280         and l_vendor_site_rec.primary_pay_site_flag = 'Y' ) then
2281         l_vendor_site_rec.pay_site_flag := 'Y';
2282    end if;
2283 
2284    Create_Vendor_Site
2285      (
2286       p_vendor_site_rec => l_vendor_site_rec,
2287       x_return_status   => x_return_status,
2288       x_msg_count       => l_msg_count,
2289       x_msg_data        => l_msg_data,
2290       x_vendor_site_id  => x_vendor_site_id,
2291       x_party_site_id   => x_party_site_id,
2292       x_location_id     => x_location_id
2293       );
2294 
2295    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
2296 
2297 END Create_Vendor_Site;
2298 
2299 --  Notes: This API will not update any TCA records.
2300 --         It will only update vendor site info.
2301 --         This is because the procedure calls the corresponding procedure in
2302 --         AP_VENDOR_PUB_PKG which does not update TCA tables.
2303 --
2304 PROCEDURE Update_Vendor_Site
2305 (
2306   p_area_code                      IN  VARCHAR2 ,
2307   p_phone                          IN  VARCHAR2 ,
2308   p_customer_num                   IN  VARCHAR2 ,
2309   p_ship_to_location_id            IN  NUMBER   ,
2310   p_bill_to_location_id            IN  NUMBER   ,
2311   p_ship_via_lookup_code           IN  VARCHAR2 ,
2312   p_freight_terms_lookup_code      IN  VARCHAR2 ,
2313   p_fob_lookup_code                IN  VARCHAR2 ,
2314   p_inactive_date                  IN  DATE     ,
2315   p_fax                            IN  VARCHAR2 ,
2316   p_fax_area_code                  IN  VARCHAR2 ,
2317   p_telex                          IN  VARCHAR2 ,
2318   p_terms_date_basis               IN  VARCHAR2 ,
2319   p_distribution_set_id            IN  NUMBER   ,
2320   p_accts_pay_code_combo_id        IN  NUMBER   ,
2321   p_prepay_code_combination_id     IN  NUMBER   ,
2322   p_pay_group_lookup_code          IN  VARCHAR2 ,
2323   p_payment_priority               IN  NUMBER   ,
2324   p_terms_id                       IN  NUMBER   ,
2325   p_invoice_amount_limit           IN  NUMBER   ,
2326   p_pay_date_basis_lookup_code     IN  VARCHAR2 ,
2327   p_always_take_disc_flag          IN  VARCHAR2 ,
2328   p_invoice_currency_code          IN  VARCHAR2 ,
2329   p_payment_currency_code          IN  VARCHAR2 ,
2330   p_vendor_site_id                 IN  NUMBER   ,
2331   p_last_update_date               IN  DATE     ,
2332   p_last_updated_by                IN  NUMBER   ,
2333   p_vendor_id                      IN  NUMBER   ,
2334   p_vendor_site_code               IN  VARCHAR2 ,
2335   p_vendor_site_code_alt           IN  VARCHAR2 ,
2336   p_purchasing_site_flag           IN  VARCHAR2 ,
2337   p_rfq_only_site_flag             IN  VARCHAR2 ,
2338   p_pay_site_flag                  IN  VARCHAR2 ,
2339   p_attention_ar_flag              IN  VARCHAR2 ,
2340   p_hold_all_payments_flag         IN  VARCHAR2 ,
2341   p_hold_future_payments_flag      IN  VARCHAR2 ,
2342   p_hold_reason                    IN  VARCHAR2 ,
2343   p_hold_unmatched_invoices_flag   IN  VARCHAR2 ,
2344   p_tax_reporting_site_flag        IN  VARCHAR2 ,
2345   p_attribute_category             IN  VARCHAR2 ,
2346   p_attribute1                     IN  VARCHAR2 ,
2347   p_attribute2                     IN  VARCHAR2 ,
2348   p_attribute3                     IN  VARCHAR2 ,
2349   p_attribute4                     IN  VARCHAR2 ,
2350   p_attribute5                     IN  VARCHAR2 ,
2351   p_attribute6                     IN  VARCHAR2 ,
2352   p_attribute7                     IN  VARCHAR2 ,
2353   p_attribute8                     IN  VARCHAR2 ,
2354   p_attribute9                     IN  VARCHAR2 ,
2355   p_attribute10                    IN  VARCHAR2 ,
2356   p_attribute11                    IN  VARCHAR2 ,
2357   p_attribute12                    IN  VARCHAR2 ,
2358   p_attribute13                    IN  VARCHAR2 ,
2359   p_attribute14                    IN  VARCHAR2 ,
2360   p_attribute15                    IN  VARCHAR2 ,
2361   p_validation_number              IN  NUMBER   ,
2362   p_exclude_freight_from_discnt    IN  VARCHAR2 ,
2363   p_bank_charge_bearer             IN  VARCHAR2 ,
2364   p_org_id                         IN  NUMBER   ,
2365   p_check_digits                   IN  VARCHAR2 ,
2366   p_allow_awt_flag                 IN  VARCHAR2 ,
2367   p_awt_group_id                   IN  NUMBER   ,
2368   p_pay_awt_group_id                   IN  NUMBER   ,
2369   p_default_pay_site_id            IN  NUMBER   ,
2370   p_pay_on_code                    IN  VARCHAR2 ,
2371   p_pay_on_receipt_summary_code    IN  VARCHAR2 ,
2372   p_global_attribute_category      IN  VARCHAR2 ,
2373   p_global_attribute1              IN  VARCHAR2 ,
2374   p_global_attribute2              IN  VARCHAR2 ,
2375   p_global_attribute3              IN  VARCHAR2 ,
2376   p_global_attribute4              IN  VARCHAR2 ,
2377   p_global_attribute5              IN  VARCHAR2 ,
2378   p_global_attribute6              IN  VARCHAR2 ,
2379   p_global_attribute7              IN  VARCHAR2 ,
2380   p_global_attribute8              IN  VARCHAR2 ,
2381   p_global_attribute9              IN  VARCHAR2 ,
2382   p_global_attribute10             IN  VARCHAR2 ,
2383   p_global_attribute11             IN  VARCHAR2 ,
2384   p_global_attribute12             IN  VARCHAR2 ,
2385   p_global_attribute13             IN  VARCHAR2 ,
2386   p_global_attribute14             IN  VARCHAR2 ,
2387   p_global_attribute15             IN  VARCHAR2 ,
2388   p_global_attribute16             IN  VARCHAR2 ,
2389   p_global_attribute17             IN  VARCHAR2 ,
2390   p_global_attribute18             IN  VARCHAR2 ,
2391   p_global_attribute19             IN  VARCHAR2 ,
2392   p_global_attribute20             IN  VARCHAR2 ,
2393   p_tp_header_id                   IN  NUMBER   ,
2394   p_edi_id_number                  IN  VARCHAR2 ,
2395   p_ece_tp_location_code           IN  VARCHAR2 ,
2396   p_pcard_site_flag                IN  VARCHAR2 ,
2397   p_match_option                   IN  VARCHAR2 ,
2398   p_country_of_origin_code         IN  VARCHAR2 ,
2399   p_future_dated_payment_ccid      IN  NUMBER   ,
2400   p_create_debit_memo_flag         IN  VARCHAR2 ,
2401   p_supplier_notif_method          IN  VARCHAR2 ,
2402   p_email_address                  IN  VARCHAR2 ,
2403   p_primary_pay_site_flag          IN  VARCHAR2 ,
2404   p_shipping_control               IN  VARCHAR2 ,
2405   p_selling_company_identifier     IN  VARCHAR2 ,
2406   p_gapless_inv_num_flag           IN  VARCHAR2 ,
2407   p_location_id                    IN  NUMBER   ,
2408   p_party_site_id                  IN  NUMBER   ,
2409   p_org_name                       IN  VARCHAR2 ,
2410   p_duns_number                    IN  VARCHAR2 ,
2411   p_address_style                  IN  VARCHAR2 ,
2412   p_language                       IN  VARCHAR2 ,
2413   p_province                       IN  VARCHAR2 ,
2414   p_country                        IN  VARCHAR2 ,
2415   p_address_line1                  IN  VARCHAR2 ,
2416   p_address_line2                  IN  VARCHAR2 ,
2417   p_address_line3                  IN  VARCHAR2 ,
2418   p_address_line4                  IN  VARCHAR2 ,
2419   p_address_lines_alt              IN  VARCHAR2 ,
2420   p_county                         IN  VARCHAR2 ,
2421   p_city                           IN  VARCHAR2 ,
2422   p_state                          IN  VARCHAR2 ,
2423   p_zip                            IN  VARCHAR2 ,
2424   p_terms_name                     IN  VARCHAR2 ,
2425   p_default_terms_id               IN  NUMBER   ,
2426   p_awt_group_name                 IN  VARCHAR2 ,
2427   p_pay_awt_group_name                 IN  VARCHAR2 ,
2428   p_distribution_set_name          IN  VARCHAR2 ,
2429   p_ship_to_location_code          IN  VARCHAR2 ,
2430   p_bill_to_location_code          IN  VARCHAR2 ,
2431   p_default_dist_set_id            IN  NUMBER   ,
2432   p_default_ship_to_loc_id         IN  NUMBER   ,
2433   p_default_bill_to_loc_id         IN  NUMBER   ,
2434   p_tolerance_id                   IN  NUMBER   ,
2435   p_tolerance_name                 IN  VARCHAR2 ,
2436   p_retainage_rate                 IN  NUMBER   ,
2437   p_service_tolerance_id           IN  NUMBER   ,
2438   p_ship_network_loc_id            IN  NUMBER   ,
2439   p_cage_code                      IN  VARCHAR2,
2440   p_legal_business_name            IN  VARCHAR2,
2441   p_doing_business_as              IN  VARCHAR2,
2442   p_division_name                  IN  VARCHAR2,
2443   p_small_bus_code                 IN  VARCHAR2,
2444   p_ccr_comments                   IN  VARCHAR2,
2445   p_dbr_st_date                    IN  DATE,
2446   p_dbr_ed_date                    IN  DATE,
2447   x_return_status   OUT NOCOPY VARCHAR2,
2448   x_error_msg       OUT NOCOPY VARCHAR2
2449   )
2450 IS
2451    l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
2452    l_msg_count  NUMBER;
2453    l_msg_data   VARCHAR2(4000);
2454    l_last_update_date DATE;
2455    is_site_ccr VARCHAR2(1);
2456 BEGIN
2457 
2458 -- Start Bug 6620664 - Handling Concurrent updates on Suppliers>>Accounting page
2459    IF p_last_update_date IS NOT NULL then
2460       SELECT last_update_date INTO l_last_update_date
2461         FROM ap_supplier_sites_all
2462        WHERE vendor_site_id = p_vendor_site_id
2463          AND vendor_id = p_vendor_id;
2464       IF l_last_update_date > p_last_update_date then
2465         x_error_msg := fnd_message.get_string('POS','POS_LOCK_SITE_ROW');
2466         x_return_status := 'E';
2467         RETURN;
2468       END IF;
2469    END IF;
2470 -- End Bug 6620664 - Handling Concurrent updates on Suppliers>>Accounting page
2471 
2472    l_vendor_site_rec.area_code                     := Nvl(p_area_code, fnd_api.g_null_char);
2473    l_vendor_site_rec.phone                         := Nvl(p_phone, fnd_api.g_null_char);
2474    l_vendor_site_rec.customer_num                  := Nvl(p_customer_num, fnd_api.g_null_char);
2475    l_vendor_site_rec.ship_to_location_id           := Nvl(p_ship_to_location_id, fnd_api.g_null_num);
2476    l_vendor_site_rec.bill_to_location_id           := Nvl(p_bill_to_location_id, fnd_api.g_null_num);
2477    l_vendor_site_rec.ship_via_lookup_code          := Nvl(p_ship_via_lookup_code, fnd_api.g_null_char);
2478    l_vendor_site_rec.freight_terms_lookup_code     := Nvl(p_freight_terms_lookup_code, fnd_api.g_null_char);
2479    l_vendor_site_rec.fob_lookup_code               := Nvl(p_fob_lookup_code, fnd_api.g_null_char);
2480    l_vendor_site_rec.inactive_date                 := Nvl(p_inactive_date, fnd_api.g_null_date);
2481    l_vendor_site_rec.fax                           := Nvl(p_fax, fnd_api.g_null_char);
2482    l_vendor_site_rec.fax_area_code                 := Nvl(p_fax_area_code, fnd_api.g_null_char);
2483    l_vendor_site_rec.telex                         := Nvl(p_telex, fnd_api.g_null_char);
2484    l_vendor_site_rec.terms_date_basis              := Nvl(p_terms_date_basis, fnd_api.g_null_char);
2485    l_vendor_site_rec.distribution_set_id           := Nvl(p_distribution_set_id, fnd_api.g_null_num);
2486    l_vendor_site_rec.accts_pay_code_combination_id := Nvl(p_accts_pay_code_combo_id, fnd_api.g_null_num);
2487    l_vendor_site_rec.prepay_code_combination_id    := Nvl(p_prepay_code_combination_id, fnd_api.g_null_num);
2488    l_vendor_site_rec.pay_group_lookup_code         := Nvl(p_pay_group_lookup_code, fnd_api.g_null_char);
2489    l_vendor_site_rec.payment_priority              := Nvl(p_payment_priority, fnd_api.g_null_num);
2490    l_vendor_site_rec.terms_id                      := Nvl(p_terms_id, fnd_api.g_null_num);
2491    l_vendor_site_rec.invoice_amount_limit          := Nvl(p_invoice_amount_limit, fnd_api.g_null_num);
2492    l_vendor_site_rec.pay_date_basis_lookup_code    := Nvl(p_pay_date_basis_lookup_code, fnd_api.g_null_char);
2493    l_vendor_site_rec.always_take_disc_flag         := Nvl(p_always_take_disc_flag, fnd_api.g_null_char);
2494    l_vendor_site_rec.invoice_currency_code         := Nvl(p_invoice_currency_code, fnd_api.g_null_char);
2495    l_vendor_site_rec.payment_currency_code         := Nvl(p_payment_currency_code, fnd_api.g_null_char);
2496    l_vendor_site_rec.vendor_site_id                := p_vendor_site_id;
2497    l_vendor_site_rec.last_update_date              := Nvl(p_last_update_date, fnd_api.g_null_date);
2498    l_vendor_site_rec.last_updated_by               := Nvl(p_last_updated_by, fnd_api.g_null_num);
2499    l_vendor_site_rec.vendor_id                     := Nvl(p_vendor_id, fnd_api.g_null_num);
2500    l_vendor_site_rec.vendor_site_code              := p_vendor_site_code;
2501    l_vendor_site_rec.vendor_site_code_alt          := Nvl(p_vendor_site_code_alt, fnd_api.g_null_char);
2502    l_vendor_site_rec.purchasing_site_flag          := Nvl(p_purchasing_site_flag, fnd_api.g_null_char);
2503    l_vendor_site_rec.rfq_only_site_flag            := Nvl(p_rfq_only_site_flag, fnd_api.g_null_char);
2504    l_vendor_site_rec.pay_site_flag                 := Nvl(p_pay_site_flag, fnd_api.g_null_char);
2505    l_vendor_site_rec.attention_ar_flag             := Nvl(p_attention_ar_flag, fnd_api.g_null_char);
2506    l_vendor_site_rec.hold_all_payments_flag        := Nvl(p_hold_all_payments_flag, fnd_api.g_null_char);
2507    l_vendor_site_rec.hold_future_payments_flag     := Nvl(p_hold_future_payments_flag, fnd_api.g_null_char);
2508    l_vendor_site_rec.hold_reason                   := Nvl(p_hold_reason, fnd_api.g_null_char);
2509    l_vendor_site_rec.hold_unmatched_invoices_flag  := Nvl(p_hold_unmatched_invoices_flag, fnd_api.g_null_char);
2510    l_vendor_site_rec.tax_reporting_site_flag       := Nvl(p_tax_reporting_site_flag, fnd_api.g_null_char);
2511    l_vendor_site_rec.attribute_category            := Nvl(p_attribute_category, fnd_api.g_null_char);
2512    l_vendor_site_rec.attribute1                    := Nvl(p_attribute1, fnd_api.g_null_char);
2513    l_vendor_site_rec.attribute2                    := Nvl(p_attribute2, fnd_api.g_null_char);
2514    l_vendor_site_rec.attribute3                    := Nvl(p_attribute3, fnd_api.g_null_char);
2515    l_vendor_site_rec.attribute4                    := Nvl(p_attribute4, fnd_api.g_null_char);
2516    l_vendor_site_rec.attribute5                    := Nvl(p_attribute5, fnd_api.g_null_char);
2517    l_vendor_site_rec.attribute6                    := Nvl(p_attribute6, fnd_api.g_null_char);
2518    l_vendor_site_rec.attribute7                    := Nvl(p_attribute7, fnd_api.g_null_char);
2519    l_vendor_site_rec.attribute8                    := Nvl(p_attribute8, fnd_api.g_null_char);
2520    l_vendor_site_rec.attribute9                    := Nvl(p_attribute9, fnd_api.g_null_char);
2521    l_vendor_site_rec.attribute10                   := Nvl(p_attribute10, fnd_api.g_null_char);
2522    l_vendor_site_rec.attribute11                   := Nvl(p_attribute11, fnd_api.g_null_char);
2523    l_vendor_site_rec.attribute12                   := Nvl(p_attribute12, fnd_api.g_null_char);
2524    l_vendor_site_rec.attribute13                   := Nvl(p_attribute13, fnd_api.g_null_char);
2525    l_vendor_site_rec.attribute14                   := Nvl(p_attribute14, fnd_api.g_null_char);
2526    l_vendor_site_rec.attribute15                   := Nvl(p_attribute15, fnd_api.g_null_char);
2527    l_vendor_site_rec.validation_number             := Nvl(p_validation_number, fnd_api.g_null_num);
2528    l_vendor_site_rec.exclude_freight_from_discount := Nvl(p_exclude_freight_from_discnt, fnd_api.g_null_char);
2529    l_vendor_site_rec.bank_charge_bearer            := Nvl(p_bank_charge_bearer, fnd_api.g_null_char);
2530    l_vendor_site_rec.org_id                        := Nvl(p_org_id, fnd_api.g_null_num);
2531    l_vendor_site_rec.check_digits                  := Nvl(p_check_digits, fnd_api.g_null_char);
2532    l_vendor_site_rec.allow_awt_flag                := Nvl(p_allow_awt_flag, fnd_api.g_null_char);
2533    l_vendor_site_rec.awt_group_id                  := Nvl(p_awt_group_id, fnd_api.g_null_num);
2534     l_vendor_site_rec.pay_awt_group_id                  := Nvl(p_pay_awt_group_id, fnd_api.g_null_num);
2535    l_vendor_site_rec.default_pay_site_id           := Nvl(p_default_pay_site_id, fnd_api.g_null_num);
2536    l_vendor_site_rec.pay_on_code                   := Nvl(p_pay_on_code, fnd_api.g_null_char);
2537    l_vendor_site_rec.pay_on_receipt_summary_code   := Nvl(p_pay_on_receipt_summary_code, fnd_api.g_null_char);
2538    l_vendor_site_rec.global_attribute_category     := Nvl(p_global_attribute_category, fnd_api.g_null_char);
2539    l_vendor_site_rec.global_attribute1             := Nvl(p_global_attribute1, fnd_api.g_null_char);
2540    l_vendor_site_rec.global_attribute2             := Nvl(p_global_attribute2, fnd_api.g_null_char);
2541    l_vendor_site_rec.global_attribute3             := Nvl(p_global_attribute3, fnd_api.g_null_char);
2542    l_vendor_site_rec.global_attribute4             := Nvl(p_global_attribute4, fnd_api.g_null_char);
2543    l_vendor_site_rec.global_attribute5             := Nvl(p_global_attribute5, fnd_api.g_null_char);
2544    l_vendor_site_rec.global_attribute6             := Nvl(p_global_attribute6, fnd_api.g_null_char);
2545    l_vendor_site_rec.global_attribute7             := Nvl(p_global_attribute7, fnd_api.g_null_char);
2546    l_vendor_site_rec.global_attribute8             := Nvl(p_global_attribute8, fnd_api.g_null_char);
2547    l_vendor_site_rec.global_attribute9             := Nvl(p_global_attribute9, fnd_api.g_null_char);
2548    l_vendor_site_rec.global_attribute10            := Nvl(p_global_attribute10, fnd_api.g_null_char);
2549    l_vendor_site_rec.global_attribute11            := Nvl(p_global_attribute11, fnd_api.g_null_char);
2550    l_vendor_site_rec.global_attribute12            := Nvl(p_global_attribute12, fnd_api.g_null_char);
2551    l_vendor_site_rec.global_attribute13            := Nvl(p_global_attribute13, fnd_api.g_null_char);
2552    l_vendor_site_rec.global_attribute14            := Nvl(p_global_attribute14, fnd_api.g_null_char);
2553    l_vendor_site_rec.global_attribute15            := Nvl(p_global_attribute15, fnd_api.g_null_char);
2554    l_vendor_site_rec.global_attribute16            := Nvl(p_global_attribute16, fnd_api.g_null_char);
2555    l_vendor_site_rec.global_attribute17            := Nvl(p_global_attribute17, fnd_api.g_null_char);
2556    l_vendor_site_rec.global_attribute18            := Nvl(p_global_attribute18, fnd_api.g_null_char);
2557    l_vendor_site_rec.global_attribute19            := Nvl(p_global_attribute19, fnd_api.g_null_char);
2558    l_vendor_site_rec.global_attribute20            := Nvl(p_global_attribute20, fnd_api.g_null_char);
2559    l_vendor_site_rec.tp_header_id                  := Nvl(p_tp_header_id, fnd_api.g_null_num);
2560    l_vendor_site_rec.edi_id_number                 := Nvl(p_edi_id_number, fnd_api.g_null_char);
2561    l_vendor_site_rec.ece_tp_location_code          := Nvl(p_ece_tp_location_code, fnd_api.g_null_char);
2562    l_vendor_site_rec.pcard_site_flag               := Nvl(p_pcard_site_flag, fnd_api.g_null_char);
2563    l_vendor_site_rec.match_option                  := Nvl(p_match_option, fnd_api.g_null_char);
2564    l_vendor_site_rec.country_of_origin_code        := Nvl(p_country_of_origin_code, fnd_api.g_null_char);
2565    l_vendor_site_rec.future_dated_payment_ccid     := Nvl(p_future_dated_payment_ccid, fnd_api.g_null_num);
2566    l_vendor_site_rec.create_debit_memo_flag        := Nvl(p_create_debit_memo_flag, fnd_api.g_null_char);
2567    l_vendor_site_rec.supplier_notif_method         := Nvl(p_supplier_notif_method, fnd_api.g_null_char);
2568    l_vendor_site_rec.email_address                 := Nvl(p_email_address, fnd_api.g_null_char);
2569    l_vendor_site_rec.primary_pay_site_flag         := Nvl(p_primary_pay_site_flag, fnd_api.g_null_char);
2570    l_vendor_site_rec.shipping_control              := Nvl(p_shipping_control, fnd_api.g_null_char);
2571    l_vendor_site_rec.selling_company_identifier    := Nvl(p_selling_company_identifier, fnd_api.g_null_char);
2572    l_vendor_site_rec.gapless_inv_num_flag          := Nvl(p_gapless_inv_num_flag, fnd_api.g_null_char);
2573    l_vendor_site_rec.location_id                   := Nvl(p_location_id, fnd_api.g_null_num);
2574    l_vendor_site_rec.party_site_id                 := Nvl(p_party_site_id, fnd_api.g_null_num);
2575    l_vendor_site_rec.org_name                      := p_org_name;
2576    l_vendor_site_rec.duns_number                   := Nvl(p_duns_number, fnd_api.g_null_char);
2577    l_vendor_site_rec.address_style                 := Nvl(p_address_style, fnd_api.g_null_char);
2578    l_vendor_site_rec.language                      := Nvl(get_nls_language(p_language), fnd_api.g_null_char);
2579    l_vendor_site_rec.province                      := Nvl(p_province, fnd_api.g_null_char);
2580    l_vendor_site_rec.country                       := Nvl(p_country, fnd_api.g_null_char);
2581    l_vendor_site_rec.address_line1                 := Nvl(p_address_line1, fnd_api.g_null_char);
2582    l_vendor_site_rec.address_line2                 := Nvl(p_address_line2, fnd_api.g_null_char);
2583    l_vendor_site_rec.address_line3                 := Nvl(p_address_line3, fnd_api.g_null_char);
2584    l_vendor_site_rec.address_line4                 := Nvl(p_address_line4, fnd_api.g_null_char);
2585    l_vendor_site_rec.address_lines_alt             := Nvl(p_address_lines_alt, fnd_api.g_null_char);
2586    l_vendor_site_rec.county                        := Nvl(p_county, fnd_api.g_null_char);
2587    l_vendor_site_rec.city                          := Nvl(p_city, fnd_api.g_null_char);
2588    l_vendor_site_rec.state                         := Nvl(p_state, fnd_api.g_null_char);
2589    l_vendor_site_rec.zip                           := Nvl(p_zip, fnd_api.g_null_char);
2590    l_vendor_site_rec.terms_name                    := p_terms_name;
2591    l_vendor_site_rec.default_terms_id              := Nvl(p_default_terms_id, fnd_api.g_null_num);
2592    l_vendor_site_rec.awt_group_name                := p_awt_group_name;
2593    l_vendor_site_rec.pay_awt_group_name                := p_pay_awt_group_name;
2594    l_vendor_site_rec.distribution_set_name         := p_distribution_set_name;
2595    l_vendor_site_rec.ship_to_location_code         := Nvl(p_ship_to_location_code, fnd_api.g_null_char);
2596    l_vendor_site_rec.bill_to_location_code         := Nvl(p_bill_to_location_code, fnd_api.g_null_char);
2597    l_vendor_site_rec.default_dist_set_id           := Nvl(p_default_dist_set_id, fnd_api.g_null_num);
2598    l_vendor_site_rec.default_ship_to_loc_id        := Nvl(p_default_ship_to_loc_id, fnd_api.g_null_num);
2599    l_vendor_site_rec.default_bill_to_loc_id        := Nvl(p_default_bill_to_loc_id, fnd_api.g_null_num);
2600    l_vendor_site_rec.tolerance_id                  := Nvl(p_tolerance_id, fnd_api.g_null_num);
2601    l_vendor_site_rec.tolerance_name                := p_tolerance_name;
2602    l_vendor_site_rec.retainage_rate                := Nvl(p_retainage_rate, fnd_api.g_null_num);
2603    l_vendor_site_rec.services_tolerance_id         := Nvl(p_service_tolerance_id, fnd_api.g_null_num);
2604    l_vendor_site_rec.shipping_location_id          := Nvl(p_ship_network_loc_id, fnd_api.g_null_num);
2605 
2606 /* Added following for CLM Reference Data ER  */
2607 
2608   l_vendor_site_rec.cage_code                      := Nvl(p_cage_code,fnd_api.g_null_char);
2609   l_vendor_site_rec.legal_business_name            := Nvl(p_legal_business_name,fnd_api.g_null_char);
2610   l_vendor_site_rec.doing_bus_as_name              := Nvl(p_doing_business_as,fnd_api.g_null_char);
2611   l_vendor_site_rec.division_name                  := Nvl(p_division_name,fnd_api.g_null_char);
2612   l_vendor_site_rec.small_business_code            := Nvl(p_small_bus_code,fnd_api.g_null_char);
2613   l_vendor_site_rec.ccr_comments                   := Nvl(p_ccr_comments,fnd_api.g_null_char);
2614    l_vendor_site_rec.debarment_start_date          := Nvl(p_dbr_st_date, fnd_api.g_null_date);
2615    l_vendor_site_rec.debarment_end_date          := Nvl(p_dbr_ed_date, fnd_api.g_null_date);
2616 
2617 /* End CLM Reference Data ER  */
2618    -- If primary pay flag is selected, pay flag should also be selected
2619    if (l_vendor_site_rec.primary_pay_site_flag is not null
2620         and l_vendor_site_rec.primary_pay_site_flag = 'Y' ) then
2621         l_vendor_site_rec.pay_site_flag := 'Y';
2622    end if;
2623 
2624    -- ccr code starts
2625    is_site_ccr := POS_UTIL_PKG.IS_SITE_CCR(1.0,null,l_vendor_site_rec.vendor_site_id);
2626    if is_site_ccr = 'T' then
2627       l_vendor_site_rec.duns_number := null;
2628       l_vendor_site_rec.country := null;
2629       l_vendor_site_rec.address_line1 := null;
2630       l_vendor_site_rec.address_line2 := null;
2631       l_vendor_site_rec.address_line3 := null;
2632       l_vendor_site_rec.address_line4 := null;
2633       l_vendor_site_rec.city := null;
2634       l_vendor_site_rec.state := null;
2635       l_vendor_site_rec.zip := null;
2636       l_vendor_site_rec.province := null;
2637 
2638      /* Added following for CLM Reference Data ER  */
2639 
2640      l_vendor_site_rec.cage_code := null;
2641      l_vendor_site_rec.legal_business_name := null;
2642      l_vendor_site_rec.doing_bus_as_name := null;
2643      l_vendor_site_rec.division_name  := null;
2644 
2645      /* End CLM Reference Data ER  */
2646 
2647    end if;
2648    -- ccr code ends
2649 
2650    Update_Vendor_Site
2651      (
2652       p_vendor_site_rec => l_vendor_site_rec,
2653       x_return_status   => x_return_status,
2654       x_msg_count       => l_msg_count,
2655       x_msg_data        => l_msg_data
2656       );
2657 
2658    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
2659 
2660 END Update_Vendor_Site;
2661 
2662 -- Notes:
2663 --   p_mode: Indicates whether the calling code is in insert or update mode.
2664 --           (I, U)
2665 --
2666 --   x_party_site_valid: Indicates how valid the calling program's party_site_id was
2667 --                   (V, N, F) Valid, Null or False
2668 
2669 PROCEDURE Validate_Vendor_Site
2670 (
2671   p_area_code                      IN  VARCHAR2 ,
2672   p_phone                          IN  VARCHAR2 ,
2673   p_customer_num                   IN  VARCHAR2 ,
2674   p_ship_to_location_id            IN  NUMBER   ,
2675   p_bill_to_location_id            IN  NUMBER   ,
2676   p_ship_via_lookup_code           IN  VARCHAR2 ,
2677   p_freight_terms_lookup_code      IN  VARCHAR2 ,
2678   p_fob_lookup_code                IN  VARCHAR2 ,
2679   p_inactive_date                  IN  DATE     ,
2680   p_fax                            IN  VARCHAR2 ,
2681   p_fax_area_code                  IN  VARCHAR2 ,
2682   p_telex                          IN  VARCHAR2 ,
2683   p_terms_date_basis               IN  VARCHAR2 ,
2684   p_distribution_set_id            IN  NUMBER   ,
2685   p_accts_pay_code_combo_id        IN  NUMBER   ,
2686   p_prepay_code_combination_id     IN  NUMBER   ,
2687   p_pay_group_lookup_code          IN  VARCHAR2 ,
2688   p_payment_priority               IN  NUMBER   ,
2689   p_terms_id                       IN  NUMBER   ,
2690   p_invoice_amount_limit           IN  NUMBER   ,
2691   p_pay_date_basis_lookup_code     IN  VARCHAR2 ,
2692   p_always_take_disc_flag          IN  VARCHAR2 ,
2693   p_invoice_currency_code          IN  VARCHAR2 ,
2694   p_payment_currency_code          IN  VARCHAR2 ,
2695   p_vendor_site_id                 IN  NUMBER   ,
2696   p_last_update_date               IN  DATE     ,
2697   p_last_updated_by                IN  NUMBER   ,
2698   p_vendor_id                      IN  NUMBER   ,
2699   p_vendor_site_code               IN  VARCHAR2 ,
2700   p_vendor_site_code_alt           IN  VARCHAR2 ,
2701   p_purchasing_site_flag           IN  VARCHAR2 ,
2702   p_rfq_only_site_flag             IN  VARCHAR2 ,
2703   p_pay_site_flag                  IN  VARCHAR2 ,
2704   p_attention_ar_flag              IN  VARCHAR2 ,
2705   p_hold_all_payments_flag         IN  VARCHAR2 ,
2706   p_hold_future_payments_flag      IN  VARCHAR2 ,
2707   p_hold_reason                    IN  VARCHAR2 ,
2708   p_hold_unmatched_invoices_flag   IN  VARCHAR2 ,
2709   p_tax_reporting_site_flag        IN  VARCHAR2 ,
2710   p_attribute_category             IN  VARCHAR2 ,
2711   p_attribute1                     IN  VARCHAR2 ,
2712   p_attribute2                     IN  VARCHAR2 ,
2713   p_attribute3                     IN  VARCHAR2 ,
2714   p_attribute4                     IN  VARCHAR2 ,
2715   p_attribute5                     IN  VARCHAR2 ,
2716   p_attribute6                     IN  VARCHAR2 ,
2717   p_attribute7                     IN  VARCHAR2 ,
2718   p_attribute8                     IN  VARCHAR2 ,
2719   p_attribute9                     IN  VARCHAR2 ,
2720   p_attribute10                    IN  VARCHAR2 ,
2721   p_attribute11                    IN  VARCHAR2 ,
2722   p_attribute12                    IN  VARCHAR2 ,
2723   p_attribute13                    IN  VARCHAR2 ,
2724   p_attribute14                    IN  VARCHAR2 ,
2725   p_attribute15                    IN  VARCHAR2 ,
2726   p_validation_number              IN  NUMBER   ,
2727   p_exclude_freight_from_discnt    IN  VARCHAR2 ,
2728   p_bank_charge_bearer             IN  VARCHAR2 ,
2729   p_org_id                         IN  NUMBER   ,
2730   p_check_digits                   IN  VARCHAR2 ,
2731   p_allow_awt_flag                 IN  VARCHAR2 ,
2732   p_awt_group_id                   IN  NUMBER   ,
2733   p_pay_awt_group_id                   IN  NUMBER   ,
2734   p_default_pay_site_id            IN  NUMBER   ,
2735   p_pay_on_code                    IN  VARCHAR2 ,
2736   p_pay_on_receipt_summary_code    IN  VARCHAR2 ,
2737   p_global_attribute_category      IN  VARCHAR2 ,
2738   p_global_attribute1              IN  VARCHAR2 ,
2739   p_global_attribute2              IN  VARCHAR2 ,
2740   p_global_attribute3              IN  VARCHAR2 ,
2741   p_global_attribute4              IN  VARCHAR2 ,
2742   p_global_attribute5              IN  VARCHAR2 ,
2743   p_global_attribute6              IN  VARCHAR2 ,
2744   p_global_attribute7              IN  VARCHAR2 ,
2745   p_global_attribute8              IN  VARCHAR2 ,
2746   p_global_attribute9              IN  VARCHAR2 ,
2747   p_global_attribute10             IN  VARCHAR2 ,
2748   p_global_attribute11             IN  VARCHAR2 ,
2749   p_global_attribute12             IN  VARCHAR2 ,
2750   p_global_attribute13             IN  VARCHAR2 ,
2751   p_global_attribute14             IN  VARCHAR2 ,
2752   p_global_attribute15             IN  VARCHAR2 ,
2753   p_global_attribute16             IN  VARCHAR2 ,
2754   p_global_attribute17             IN  VARCHAR2 ,
2755   p_global_attribute18             IN  VARCHAR2 ,
2756   p_global_attribute19             IN  VARCHAR2 ,
2757   p_global_attribute20             IN  VARCHAR2 ,
2758   p_tp_header_id                   IN  NUMBER   ,
2759   p_edi_id_number                  IN  VARCHAR2 ,
2760   p_ece_tp_location_code           IN  VARCHAR2 ,
2761   p_pcard_site_flag                IN  VARCHAR2 ,
2762   p_match_option                   IN  VARCHAR2 ,
2763   p_country_of_origin_code         IN  VARCHAR2 ,
2764   p_future_dated_payment_ccid      IN  NUMBER   ,
2765   p_create_debit_memo_flag         IN  VARCHAR2 ,
2766   p_supplier_notif_method          IN  VARCHAR2 ,
2767   p_email_address                  IN  VARCHAR2 ,
2768   p_primary_pay_site_flag          IN  VARCHAR2 ,
2769   p_shipping_control               IN  VARCHAR2 ,
2770   p_selling_company_identifier     IN  VARCHAR2 ,
2771   p_gapless_inv_num_flag           IN  VARCHAR2 ,
2772   p_location_id                    IN  NUMBER   ,
2773   p_party_site_id                  IN  NUMBER   ,
2774   p_org_name                       IN  VARCHAR2 ,
2775   p_duns_number                    IN  VARCHAR2 ,
2776   p_address_style                  IN  VARCHAR2 ,
2777   p_language                       IN  VARCHAR2 ,
2778   p_province                       IN  VARCHAR2 ,
2779   p_country                        IN  VARCHAR2 ,
2780   p_address_line1                  IN  VARCHAR2 ,
2781   p_address_line2                  IN  VARCHAR2 ,
2782   p_address_line3                  IN  VARCHAR2 ,
2783   p_address_line4                  IN  VARCHAR2 ,
2784   p_address_lines_alt              IN  VARCHAR2 ,
2785   p_county                         IN  VARCHAR2 ,
2786   p_city                           IN  VARCHAR2 ,
2787   p_state                          IN  VARCHAR2 ,
2788   p_zip                            IN  VARCHAR2 ,
2789   p_terms_name                     IN  VARCHAR2 ,
2790   p_default_terms_id               IN  NUMBER   ,
2791   p_awt_group_name                 IN  VARCHAR2 ,
2792   p_pay_awt_group_name                 IN  VARCHAR2 ,
2793   p_distribution_set_name          IN  VARCHAR2 ,
2794   p_ship_to_location_code          IN  VARCHAR2 ,
2795   p_bill_to_location_code          IN  VARCHAR2 ,
2796   p_default_dist_set_id            IN  NUMBER   ,
2797   p_default_ship_to_loc_id         IN  NUMBER   ,
2798   p_default_bill_to_loc_id         IN  NUMBER   ,
2799   p_tolerance_id                   IN  NUMBER   ,
2800   p_tolerance_name                 IN  VARCHAR2 ,
2801   p_retainage_rate                 IN  NUMBER   ,
2802   p_mode                           IN  VARCHAR2,
2803   p_cage_code                      IN  VARCHAR2,
2804   p_legal_business_name            IN  VARCHAR2,
2805   p_doing_business_as              IN  VARCHAR2,
2806   p_division_name                  IN  VARCHAR2,
2807   p_small_bus_code                 IN  VARCHAR2,
2808   p_ccr_comments                   IN  VARCHAR2,
2809   p_dbr_st_date                    IN  DATE,
2810   p_dbr_ed_date                    IN  DATE,
2811   x_return_status     OUT NOCOPY VARCHAR2,
2812   x_error_msg         OUT NOCOPY VARCHAR2,
2813   x_party_site_valid  OUT NOCOPY VARCHAR2,
2814   x_location_valid    OUT NOCOPY VARCHAR2
2815 )
2816 IS
2817    l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
2818    l_msg_count  NUMBER;
2819    l_msg_data   VARCHAR2(4000);
2820    is_site_ccr VARCHAR2(1);
2821 BEGIN
2822 
2823   if (p_mode <> 'I' ) then
2824    l_vendor_site_rec.area_code                     := Nvl(p_area_code, fnd_api.g_null_char);
2825    l_vendor_site_rec.phone                         := Nvl(p_phone, fnd_api.g_null_char);
2826    l_vendor_site_rec.customer_num                  := Nvl(p_customer_num, fnd_api.g_null_char);
2827    l_vendor_site_rec.ship_to_location_id           := Nvl(p_ship_to_location_id, fnd_api.g_null_num);
2828    l_vendor_site_rec.bill_to_location_id           := Nvl(p_bill_to_location_id, fnd_api.g_null_num);
2829    l_vendor_site_rec.ship_via_lookup_code          := Nvl(p_ship_via_lookup_code, fnd_api.g_null_char);
2830    l_vendor_site_rec.freight_terms_lookup_code     := Nvl(p_freight_terms_lookup_code, fnd_api.g_null_char);
2831    l_vendor_site_rec.fob_lookup_code               := Nvl(p_fob_lookup_code, fnd_api.g_null_char);
2832    l_vendor_site_rec.inactive_date                 := Nvl(p_inactive_date, fnd_api.g_null_date);
2833    l_vendor_site_rec.fax                           := Nvl(p_fax, fnd_api.g_null_char);
2834    l_vendor_site_rec.fax_area_code                 := Nvl(p_fax_area_code, fnd_api.g_null_char);
2835    l_vendor_site_rec.telex                         := Nvl(p_telex, fnd_api.g_null_char);
2836    l_vendor_site_rec.terms_date_basis              := Nvl(p_terms_date_basis, fnd_api.g_null_char);
2837    l_vendor_site_rec.distribution_set_id           := Nvl(p_distribution_set_id, fnd_api.g_null_num);
2838    l_vendor_site_rec.accts_pay_code_combination_id := Nvl(p_accts_pay_code_combo_id, fnd_api.g_null_num);
2839    l_vendor_site_rec.prepay_code_combination_id    := Nvl(p_prepay_code_combination_id, fnd_api.g_null_num);
2840    l_vendor_site_rec.pay_group_lookup_code         := Nvl(p_pay_group_lookup_code, fnd_api.g_null_char);
2841    l_vendor_site_rec.payment_priority              := Nvl(p_payment_priority, fnd_api.g_null_num);
2842    l_vendor_site_rec.terms_id                      := Nvl(p_terms_id, fnd_api.g_null_num);
2843    l_vendor_site_rec.invoice_amount_limit          := Nvl(p_invoice_amount_limit, fnd_api.g_null_num);
2844    l_vendor_site_rec.pay_date_basis_lookup_code    := Nvl(p_pay_date_basis_lookup_code, fnd_api.g_null_char);
2845    l_vendor_site_rec.always_take_disc_flag         := Nvl(p_always_take_disc_flag, fnd_api.g_null_char);
2846    l_vendor_site_rec.invoice_currency_code         := Nvl(p_invoice_currency_code, fnd_api.g_null_char);
2847    l_vendor_site_rec.payment_currency_code         := Nvl(p_payment_currency_code, fnd_api.g_null_char);
2848    l_vendor_site_rec.vendor_site_id                := Nvl(p_vendor_site_id, fnd_api.g_null_num);
2849    l_vendor_site_rec.last_update_date              := Nvl(p_last_update_date, fnd_api.g_null_date);
2850    l_vendor_site_rec.last_updated_by               := Nvl(p_last_updated_by, fnd_api.g_null_num);
2851    l_vendor_site_rec.vendor_id                     := Nvl(p_vendor_id, fnd_api.g_null_num);
2852    l_vendor_site_rec.vendor_site_code              := p_vendor_site_code;
2853    l_vendor_site_rec.vendor_site_code_alt          := Nvl(p_vendor_site_code_alt, fnd_api.g_null_char);
2854    l_vendor_site_rec.purchasing_site_flag          := Nvl(p_purchasing_site_flag, fnd_api.g_null_char);
2855    l_vendor_site_rec.rfq_only_site_flag            := Nvl(p_rfq_only_site_flag, fnd_api.g_null_char);
2856    l_vendor_site_rec.pay_site_flag                 := Nvl(p_pay_site_flag, fnd_api.g_null_char);
2857    l_vendor_site_rec.attention_ar_flag             := Nvl(p_attention_ar_flag, fnd_api.g_null_char);
2858    l_vendor_site_rec.hold_all_payments_flag        := Nvl(p_hold_all_payments_flag, fnd_api.g_null_char);
2859    l_vendor_site_rec.hold_future_payments_flag     := Nvl(p_hold_future_payments_flag, fnd_api.g_null_char);
2860    l_vendor_site_rec.hold_reason                   := Nvl(p_hold_reason, fnd_api.g_null_char);
2861    l_vendor_site_rec.hold_unmatched_invoices_flag  := Nvl(p_hold_unmatched_invoices_flag, fnd_api.g_null_char);
2862    l_vendor_site_rec.tax_reporting_site_flag       := Nvl(p_tax_reporting_site_flag, fnd_api.g_null_char);
2863    l_vendor_site_rec.attribute_category            := Nvl(p_attribute_category, fnd_api.g_null_char);
2864    l_vendor_site_rec.attribute1                    := Nvl(p_attribute1, fnd_api.g_null_char);
2865    l_vendor_site_rec.attribute2                    := Nvl(p_attribute2, fnd_api.g_null_char);
2866    l_vendor_site_rec.attribute3                    := Nvl(p_attribute3, fnd_api.g_null_char);
2867    l_vendor_site_rec.attribute4                    := Nvl(p_attribute4, fnd_api.g_null_char);
2868    l_vendor_site_rec.attribute5                    := Nvl(p_attribute5, fnd_api.g_null_char);
2869    l_vendor_site_rec.attribute6                    := Nvl(p_attribute6, fnd_api.g_null_char);
2870    l_vendor_site_rec.attribute7                    := Nvl(p_attribute7, fnd_api.g_null_char);
2871    l_vendor_site_rec.attribute8                    := Nvl(p_attribute8, fnd_api.g_null_char);
2872    l_vendor_site_rec.attribute9                    := Nvl(p_attribute9, fnd_api.g_null_char);
2873    l_vendor_site_rec.attribute10                   := Nvl(p_attribute10, fnd_api.g_null_char);
2874    l_vendor_site_rec.attribute11                   := Nvl(p_attribute11, fnd_api.g_null_char);
2875    l_vendor_site_rec.attribute12                   := Nvl(p_attribute12, fnd_api.g_null_char);
2876    l_vendor_site_rec.attribute13                   := Nvl(p_attribute13, fnd_api.g_null_char);
2877    l_vendor_site_rec.attribute14                   := Nvl(p_attribute14, fnd_api.g_null_char);
2878    l_vendor_site_rec.attribute15                   := Nvl(p_attribute15, fnd_api.g_null_char);
2879    l_vendor_site_rec.validation_number             := Nvl(p_validation_number, fnd_api.g_null_num);
2880    l_vendor_site_rec.exclude_freight_from_discount := Nvl(p_exclude_freight_from_discnt, fnd_api.g_null_char);
2881    l_vendor_site_rec.bank_charge_bearer            := Nvl(p_bank_charge_bearer, fnd_api.g_null_char);
2882    l_vendor_site_rec.org_id                        := Nvl(p_org_id, fnd_api.g_null_num);
2883    l_vendor_site_rec.check_digits                  := Nvl(p_check_digits, fnd_api.g_null_char);
2884    l_vendor_site_rec.allow_awt_flag                := Nvl(p_allow_awt_flag, fnd_api.g_null_char);
2885    l_vendor_site_rec.awt_group_id                  := Nvl(p_awt_group_id, fnd_api.g_null_num);
2886    l_vendor_site_rec.pay_awt_group_id                  := Nvl(p_pay_awt_group_id, fnd_api.g_null_num);
2887    l_vendor_site_rec.default_pay_site_id           := Nvl(p_default_pay_site_id, fnd_api.g_null_num);
2888    l_vendor_site_rec.pay_on_code                   := Nvl(p_pay_on_code, fnd_api.g_null_char);
2889    l_vendor_site_rec.pay_on_receipt_summary_code   := Nvl(p_pay_on_receipt_summary_code, fnd_api.g_null_char);
2890    l_vendor_site_rec.global_attribute_category     := Nvl(p_global_attribute_category, fnd_api.g_null_char);
2891    l_vendor_site_rec.global_attribute1             := Nvl(p_global_attribute1, fnd_api.g_null_char);
2892    l_vendor_site_rec.global_attribute2             := Nvl(p_global_attribute2, fnd_api.g_null_char);
2893    l_vendor_site_rec.global_attribute3             := Nvl(p_global_attribute3, fnd_api.g_null_char);
2894    l_vendor_site_rec.global_attribute4             := Nvl(p_global_attribute4, fnd_api.g_null_char);
2895    l_vendor_site_rec.global_attribute5             := Nvl(p_global_attribute5, fnd_api.g_null_char);
2896    l_vendor_site_rec.global_attribute6             := Nvl(p_global_attribute6, fnd_api.g_null_char);
2897    l_vendor_site_rec.global_attribute7             := Nvl(p_global_attribute7, fnd_api.g_null_char);
2898    l_vendor_site_rec.global_attribute8             := Nvl(p_global_attribute8, fnd_api.g_null_char);
2899    l_vendor_site_rec.global_attribute9             := Nvl(p_global_attribute9, fnd_api.g_null_char);
2900    l_vendor_site_rec.global_attribute10            := Nvl(p_global_attribute10, fnd_api.g_null_char);
2901    l_vendor_site_rec.global_attribute11            := Nvl(p_global_attribute11, fnd_api.g_null_char);
2902    l_vendor_site_rec.global_attribute12            := Nvl(p_global_attribute12, fnd_api.g_null_char);
2903    l_vendor_site_rec.global_attribute13            := Nvl(p_global_attribute13, fnd_api.g_null_char);
2904    l_vendor_site_rec.global_attribute14            := Nvl(p_global_attribute14, fnd_api.g_null_char);
2905    l_vendor_site_rec.global_attribute15            := Nvl(p_global_attribute15, fnd_api.g_null_char);
2906    l_vendor_site_rec.global_attribute16            := Nvl(p_global_attribute16, fnd_api.g_null_char);
2907    l_vendor_site_rec.global_attribute17            := Nvl(p_global_attribute17, fnd_api.g_null_char);
2908    l_vendor_site_rec.global_attribute18            := Nvl(p_global_attribute18, fnd_api.g_null_char);
2909    l_vendor_site_rec.global_attribute19            := Nvl(p_global_attribute19, fnd_api.g_null_char);
2910    l_vendor_site_rec.global_attribute20            := Nvl(p_global_attribute20, fnd_api.g_null_char);
2911    l_vendor_site_rec.tp_header_id                  := Nvl(p_tp_header_id, fnd_api.g_null_num);
2912    l_vendor_site_rec.edi_id_number                 := Nvl(p_edi_id_number, fnd_api.g_null_char);
2913    l_vendor_site_rec.ece_tp_location_code          := Nvl(p_ece_tp_location_code, fnd_api.g_null_char);
2914    l_vendor_site_rec.pcard_site_flag               := Nvl(p_pcard_site_flag, fnd_api.g_null_char);
2915    l_vendor_site_rec.match_option                  := Nvl(p_match_option, fnd_api.g_null_char);
2916    l_vendor_site_rec.country_of_origin_code        := Nvl(p_country_of_origin_code, fnd_api.g_null_char);
2917    l_vendor_site_rec.future_dated_payment_ccid     := Nvl(p_future_dated_payment_ccid, fnd_api.g_null_num);
2918    l_vendor_site_rec.create_debit_memo_flag        := Nvl(p_create_debit_memo_flag, fnd_api.g_null_char);
2919    l_vendor_site_rec.supplier_notif_method         := Nvl(p_supplier_notif_method, fnd_api.g_null_char);
2920    l_vendor_site_rec.email_address                 := Nvl(p_email_address, fnd_api.g_null_char);
2921    l_vendor_site_rec.primary_pay_site_flag         := Nvl(p_primary_pay_site_flag, fnd_api.g_null_char);
2922    l_vendor_site_rec.shipping_control              := Nvl(p_shipping_control, fnd_api.g_null_char);
2923    l_vendor_site_rec.selling_company_identifier    := Nvl(p_selling_company_identifier, fnd_api.g_null_char);
2924    l_vendor_site_rec.gapless_inv_num_flag          := Nvl(p_gapless_inv_num_flag, fnd_api.g_null_char);
2925    l_vendor_site_rec.location_id                   := Nvl(p_location_id, fnd_api.g_null_num);
2926    l_vendor_site_rec.party_site_id                 := Nvl(p_party_site_id, fnd_api.g_null_num);
2927    l_vendor_site_rec.org_name                      := p_org_name;
2928    l_vendor_site_rec.duns_number                   := Nvl(p_duns_number, fnd_api.g_null_char);
2929    l_vendor_site_rec.address_style                 := Nvl(p_address_style, fnd_api.g_null_char);
2930    l_vendor_site_rec.language                      := Nvl(get_nls_language(p_language), fnd_api.g_null_char);
2931    l_vendor_site_rec.province                      := Nvl(p_province, fnd_api.g_null_char);
2932    l_vendor_site_rec.country                       := Nvl(p_country, fnd_api.g_null_char);
2933    l_vendor_site_rec.address_line1                 := Nvl(p_address_line1, fnd_api.g_null_char);
2934    l_vendor_site_rec.address_line2                 := Nvl(p_address_line2, fnd_api.g_null_char);
2935    l_vendor_site_rec.address_line3                 := Nvl(p_address_line3, fnd_api.g_null_char);
2936    l_vendor_site_rec.address_line4                 := Nvl(p_address_line4, fnd_api.g_null_char);
2937    l_vendor_site_rec.address_lines_alt             := Nvl(p_address_lines_alt, fnd_api.g_null_char);
2938    l_vendor_site_rec.county                        := Nvl(p_county, fnd_api.g_null_char);
2939    l_vendor_site_rec.city                          := Nvl(p_city, fnd_api.g_null_char);
2940    l_vendor_site_rec.state                         := Nvl(p_state, fnd_api.g_null_char);
2941    l_vendor_site_rec.zip                           := Nvl(p_zip, fnd_api.g_null_char);
2942    l_vendor_site_rec.terms_name                    := p_terms_name;
2943    l_vendor_site_rec.default_terms_id              := Nvl(p_default_terms_id, fnd_api.g_null_num);
2944    l_vendor_site_rec.awt_group_name                := p_awt_group_name;
2945    l_vendor_site_rec.pay_awt_group_name                := p_pay_awt_group_name;
2946    l_vendor_site_rec.distribution_set_name         := p_distribution_set_name;
2947    l_vendor_site_rec.ship_to_location_code         := Nvl(p_ship_to_location_code, fnd_api.g_null_char);
2948    l_vendor_site_rec.bill_to_location_code         := Nvl(p_bill_to_location_code, fnd_api.g_null_char);
2949    l_vendor_site_rec.default_dist_set_id           := Nvl(p_default_dist_set_id, fnd_api.g_null_num);
2950    l_vendor_site_rec.default_ship_to_loc_id        := Nvl(p_default_ship_to_loc_id, fnd_api.g_null_num);
2951    l_vendor_site_rec.default_bill_to_loc_id        := Nvl(p_default_bill_to_loc_id, fnd_api.g_null_num);
2952    l_vendor_site_rec.tolerance_id                  := Nvl(p_tolerance_id, fnd_api.g_null_num);
2953    l_vendor_site_rec.tolerance_name                := p_tolerance_name;
2954    l_vendor_site_rec.retainage_rate                := Nvl(p_retainage_rate, fnd_api.g_null_num);
2955   else
2956    l_vendor_site_rec.area_code                     := p_area_code;
2957    l_vendor_site_rec.phone                         := p_phone;
2958    l_vendor_site_rec.customer_num                  := p_customer_num;
2959    l_vendor_site_rec.ship_to_location_id           := p_ship_to_location_id;
2960    l_vendor_site_rec.bill_to_location_id           := p_bill_to_location_id;
2961    l_vendor_site_rec.ship_via_lookup_code          := p_ship_via_lookup_code;
2962    l_vendor_site_rec.freight_terms_lookup_code     := p_freight_terms_lookup_code;
2963    l_vendor_site_rec.fob_lookup_code               := p_fob_lookup_code;
2964    l_vendor_site_rec.inactive_date                 := p_inactive_date;
2965    l_vendor_site_rec.fax                           := p_fax;
2966    l_vendor_site_rec.fax_area_code                 := p_fax_area_code;
2967    l_vendor_site_rec.telex                         := p_telex;
2968    l_vendor_site_rec.terms_date_basis              := p_terms_date_basis;
2969    l_vendor_site_rec.distribution_set_id           := p_distribution_set_id;
2970    l_vendor_site_rec.accts_pay_code_combination_id := p_accts_pay_code_combo_id;
2971    l_vendor_site_rec.prepay_code_combination_id    := p_prepay_code_combination_id;
2972    l_vendor_site_rec.pay_group_lookup_code         := p_pay_group_lookup_code;
2973    l_vendor_site_rec.payment_priority              := p_payment_priority;
2974    l_vendor_site_rec.terms_id                      := p_terms_id;
2975    l_vendor_site_rec.invoice_amount_limit          := p_invoice_amount_limit;
2976    l_vendor_site_rec.pay_date_basis_lookup_code    := p_pay_date_basis_lookup_code;
2977    l_vendor_site_rec.always_take_disc_flag         := p_always_take_disc_flag;
2978    l_vendor_site_rec.invoice_currency_code         := p_invoice_currency_code;
2979    l_vendor_site_rec.payment_currency_code         := p_payment_currency_code;
2980    l_vendor_site_rec.vendor_site_id                := p_vendor_site_id;
2981    l_vendor_site_rec.last_update_date              := p_last_update_date;
2982    l_vendor_site_rec.last_updated_by               := p_last_updated_by;
2983    l_vendor_site_rec.vendor_id                     := p_vendor_id;
2984    l_vendor_site_rec.vendor_site_code              := p_vendor_site_code;
2985    l_vendor_site_rec.vendor_site_code_alt          := p_vendor_site_code_alt;
2986    l_vendor_site_rec.purchasing_site_flag          := p_purchasing_site_flag;
2987    l_vendor_site_rec.rfq_only_site_flag            := p_rfq_only_site_flag;
2988    l_vendor_site_rec.pay_site_flag                 := p_pay_site_flag;
2989    l_vendor_site_rec.attention_ar_flag             := p_attention_ar_flag;
2990    l_vendor_site_rec.hold_all_payments_flag        := p_hold_all_payments_flag;
2991    l_vendor_site_rec.hold_future_payments_flag     := p_hold_future_payments_flag;
2992    l_vendor_site_rec.hold_reason                   := p_hold_reason;
2993    l_vendor_site_rec.hold_unmatched_invoices_flag  := p_hold_unmatched_invoices_flag;
2994    l_vendor_site_rec.tax_reporting_site_flag       := p_tax_reporting_site_flag;
2995    l_vendor_site_rec.attribute_category            := p_attribute_category;
2996    l_vendor_site_rec.attribute1                    := p_attribute1;
2997    l_vendor_site_rec.attribute2                    := p_attribute2;
2998    l_vendor_site_rec.attribute3                    := p_attribute3;
2999    l_vendor_site_rec.attribute4                    := p_attribute4;
3000    l_vendor_site_rec.attribute5                    := p_attribute5;
3001    l_vendor_site_rec.attribute6                    := p_attribute6;
3002    l_vendor_site_rec.attribute7                    := p_attribute7;
3003    l_vendor_site_rec.attribute8                    := p_attribute8;
3004    l_vendor_site_rec.attribute9                    := p_attribute9;
3005    l_vendor_site_rec.attribute10                   := p_attribute10;
3006    l_vendor_site_rec.attribute11                   := p_attribute11;
3007    l_vendor_site_rec.attribute12                   := p_attribute12;
3008    l_vendor_site_rec.attribute13                   := p_attribute13;
3009    l_vendor_site_rec.attribute14                   := p_attribute14;
3010    l_vendor_site_rec.attribute15                   := p_attribute15;
3011    l_vendor_site_rec.validation_number             := p_validation_number;
3012    l_vendor_site_rec.exclude_freight_from_discount := p_exclude_freight_from_discnt;
3013    l_vendor_site_rec.bank_charge_bearer            := p_bank_charge_bearer;
3014    l_vendor_site_rec.org_id                        := p_org_id;
3015    l_vendor_site_rec.check_digits                  := p_check_digits;
3016    l_vendor_site_rec.allow_awt_flag                := p_allow_awt_flag;
3017    l_vendor_site_rec.awt_group_id                  := p_awt_group_id;
3018    l_vendor_site_rec.pay_awt_group_id                  := p_pay_awt_group_id;
3019    l_vendor_site_rec.default_pay_site_id           := p_default_pay_site_id;
3020    l_vendor_site_rec.pay_on_code                   := p_pay_on_code;
3021    l_vendor_site_rec.pay_on_receipt_summary_code   := p_pay_on_receipt_summary_code;
3022    l_vendor_site_rec.global_attribute_category     := p_global_attribute_category;
3023    l_vendor_site_rec.global_attribute1             := p_global_attribute1;
3024    l_vendor_site_rec.global_attribute2             := p_global_attribute2;
3025    l_vendor_site_rec.global_attribute3             := p_global_attribute3;
3026    l_vendor_site_rec.global_attribute4             := p_global_attribute4;
3027    l_vendor_site_rec.global_attribute5             := p_global_attribute5;
3028    l_vendor_site_rec.global_attribute6             := p_global_attribute6;
3029    l_vendor_site_rec.global_attribute7             := p_global_attribute7;
3030    l_vendor_site_rec.global_attribute8             := p_global_attribute8;
3031    l_vendor_site_rec.global_attribute9             := p_global_attribute9;
3032    l_vendor_site_rec.global_attribute10            := p_global_attribute10;
3033    l_vendor_site_rec.global_attribute11            := p_global_attribute11;
3034    l_vendor_site_rec.global_attribute12            := p_global_attribute12;
3035    l_vendor_site_rec.global_attribute13            := p_global_attribute13;
3036    l_vendor_site_rec.global_attribute14            := p_global_attribute14;
3037    l_vendor_site_rec.global_attribute15            := p_global_attribute15;
3038    l_vendor_site_rec.global_attribute16            := p_global_attribute16;
3039    l_vendor_site_rec.global_attribute17            := p_global_attribute17;
3040    l_vendor_site_rec.global_attribute18            := p_global_attribute18;
3041    l_vendor_site_rec.global_attribute19            := p_global_attribute19;
3042    l_vendor_site_rec.global_attribute20            := p_global_attribute20;
3043    l_vendor_site_rec.tp_header_id                  := p_tp_header_id;
3044    l_vendor_site_rec.edi_id_number                 := p_edi_id_number;
3045    l_vendor_site_rec.ece_tp_location_code          := p_ece_tp_location_code;
3046    l_vendor_site_rec.pcard_site_flag               := p_pcard_site_flag;
3047    l_vendor_site_rec.match_option                  := p_match_option;
3048    l_vendor_site_rec.country_of_origin_code        := p_country_of_origin_code;
3049    l_vendor_site_rec.future_dated_payment_ccid     := p_future_dated_payment_ccid;
3050    l_vendor_site_rec.create_debit_memo_flag        := p_create_debit_memo_flag;
3051    l_vendor_site_rec.supplier_notif_method         := p_supplier_notif_method;
3052    l_vendor_site_rec.email_address                 := p_email_address;
3053    l_vendor_site_rec.primary_pay_site_flag         := p_primary_pay_site_flag;
3054    l_vendor_site_rec.shipping_control              := p_shipping_control;
3055    l_vendor_site_rec.selling_company_identifier    := p_selling_company_identifier;
3056    l_vendor_site_rec.gapless_inv_num_flag          := p_gapless_inv_num_flag;
3057    l_vendor_site_rec.location_id                   := p_location_id;
3058    l_vendor_site_rec.party_site_id                 := p_party_site_id;
3059    l_vendor_site_rec.org_name                      := p_org_name;
3060    l_vendor_site_rec.duns_number                   := p_duns_number;
3061    l_vendor_site_rec.address_style                 := p_address_style;
3062    l_vendor_site_rec.language                      := get_nls_language(p_language);
3063    l_vendor_site_rec.province                      := p_province;
3064    l_vendor_site_rec.country                       := p_country;
3065    l_vendor_site_rec.address_line1                 := p_address_line1;
3066    l_vendor_site_rec.address_line2                 := p_address_line2;
3067    l_vendor_site_rec.address_line3                 := p_address_line3;
3068    l_vendor_site_rec.address_line4                 := p_address_line4;
3069    l_vendor_site_rec.address_lines_alt             := p_address_lines_alt;
3070    l_vendor_site_rec.county                        := p_county;
3071    l_vendor_site_rec.city                          := p_city;
3072    l_vendor_site_rec.state                         := p_state;
3073    l_vendor_site_rec.zip                           := p_zip;
3074    l_vendor_site_rec.terms_name                    := p_terms_name;
3075    l_vendor_site_rec.default_terms_id              := p_default_terms_id;
3076    l_vendor_site_rec.awt_group_name                := p_awt_group_name;
3077    l_vendor_site_rec.pay_awt_group_name                := p_pay_awt_group_name;
3078    l_vendor_site_rec.distribution_set_name         := p_distribution_set_name;
3079    l_vendor_site_rec.ship_to_location_code         := p_ship_to_location_code;
3080    l_vendor_site_rec.bill_to_location_code         := p_bill_to_location_code;
3081    l_vendor_site_rec.default_dist_set_id           := p_default_dist_set_id;
3082    l_vendor_site_rec.default_ship_to_loc_id        := p_default_ship_to_loc_id;
3083    l_vendor_site_rec.default_bill_to_loc_id        := p_default_bill_to_loc_id;
3084    l_vendor_site_rec.tolerance_id                  := p_tolerance_id;
3085    l_vendor_site_rec.tolerance_name                := p_tolerance_name;
3086    l_vendor_site_rec.retainage_rate                := p_retainage_rate;
3087 
3088 /* Added following for CLM Reference Data ER  */
3089 
3090   l_vendor_site_rec.cage_code                      := p_cage_code;
3091   l_vendor_site_rec.legal_business_name            := p_legal_business_name;
3092   l_vendor_site_rec.doing_bus_as_name              := p_doing_business_as;
3093   l_vendor_site_rec.division_name                  := p_division_name;
3094   l_vendor_site_rec.small_business_code            := p_small_bus_code;
3095   l_vendor_site_rec.ccr_comments                   := p_ccr_comments;
3096   l_vendor_site_rec.debarment_start_date           := p_dbr_st_date;
3097   l_vendor_site_rec.debarment_end_date             := p_dbr_ed_date;
3098 
3099 /* End CLM Reference Data ER  */
3100 
3101    end if;
3102 
3103    -- ccr code starts
3104    is_site_ccr := POS_UTIL_PKG.IS_SITE_CCR(1.0,null,l_vendor_site_rec.vendor_site_id);
3105    if is_site_ccr = 'T' AND p_mode = 'U' then
3106       l_vendor_site_rec.duns_number := null;
3107       l_vendor_site_rec.country := null;
3108       l_vendor_site_rec.address_line1 := null;
3109       l_vendor_site_rec.address_line2 := null;
3110       l_vendor_site_rec.address_line3 := null;
3111       l_vendor_site_rec.address_line4 := null;
3112       l_vendor_site_rec.city := null;
3113       l_vendor_site_rec.state := null;
3114       l_vendor_site_rec.zip := null;
3115       l_vendor_site_rec.province := null;
3116    end if;
3117    -- ccr code ends
3118 
3119    Validate_Vendor_Site
3120      (
3121       p_vendor_site_rec  => l_vendor_site_rec,
3122       p_mode             => p_mode,
3123       x_return_status    => x_return_status,
3124       x_msg_count        => l_msg_count,
3125       x_msg_data         => l_msg_data,
3126       x_party_site_valid => x_party_site_valid,
3127       x_location_valid   => x_location_valid
3128       );
3129 
3130    combine_err_msg(x_return_status, l_msg_count, l_msg_data, x_error_msg);
3131 
3132 END Validate_Vendor_Site;
3133 
3134 --
3135 -- Begin Supplier Hub: Data Publication
3136 --
3137 PROCEDURE Process_User_Attrs_Data (
3138     p_api_version                   IN   NUMBER,
3139     p_attributes_row_table          IN   EGO_USER_ATTR_ROW_TABLE,
3140     p_attributes_data_table         IN   EGO_USER_ATTR_DATA_TABLE,
3141     p_pk_column_name_value_pairs    IN   EGO_COL_NAME_VALUE_PAIR_ARRAY,
3142     p_class_code_name_value_pairs   IN   EGO_COL_NAME_VALUE_PAIR_ARRAY,
3143     p_user_privileges_on_object     IN   EGO_VARCHAR_TBL_TYPE DEFAULT NULL,
3144     p_entity_id                     IN   NUMBER     DEFAULT NULL,
3145     p_entity_index                  IN   NUMBER     DEFAULT NULL,
3146     p_entity_code                   IN   VARCHAR2   DEFAULT NULL,
3147     p_debug_level                   IN   NUMBER     DEFAULT 0,
3148     p_init_error_handler            IN   VARCHAR2   DEFAULT NULL,
3149     p_write_to_concurrent_log       IN   VARCHAR2   DEFAULT NULL,
3150     p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT NULL,
3151     p_log_errors                    IN   VARCHAR2   DEFAULT NULL,
3152     p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT NULL,
3153     p_commit                        IN   VARCHAR2   DEFAULT NULL,
3154     x_failed_row_id_list            OUT NOCOPY VARCHAR2,
3155     x_return_status                 OUT NOCOPY VARCHAR2,
3156     x_errorcode                     OUT NOCOPY NUMBER,
3157     x_msg_count                     OUT NOCOPY NUMBER,
3158     x_msg_data                      OUT NOCOPY VARCHAR2
3159 ) IS
3160 --
3161 -- This version of EGO's UDA Process User Attributes Data API is
3162 -- almost identical to the original version in ego_user_attrs_data_pub
3163 -- with the exception of hardcoding the object name HZ_PARTIES which
3164 -- is the only object name expected when accessing UDA for Supplier
3165 -- related entities.
3166 --
3167 -- Another minor difference is the following optional parameters.  In the
3168 -- original EGO API they are defined as having DEFAULT fnd_api.g_false.
3169 -- This can be finessed as memory is allocated for each even if
3170 -- user skips them.  Now changed to DEFAULT NULL, retaining the same
3171 -- default semantics by NVL in the body.  This is done according to
3172 -- current performance coding standard.
3173 --
3174 --    p_init_error_handler            IN   VARCHAR2   DEFAULT NULL,
3175 --    p_write_to_concurrent_log       IN   VARCHAR2   DEFAULT NULL,
3176 --    p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT NULL,
3177 --    p_log_errors                    IN   VARCHAR2   DEFAULT NULL,
3178 --    p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT NULL,
3179 --    p_commit                        IN   VARCHAR2   DEFAULT NULL,
3180 --
3181 -- Mon Aug 31 09:26:11 PDT 2009 bso R12.1.2
3182 --
3183         l_extension_id              NUMBER          := NULL;
3184         l_mode                      VARCHAR2(2000)  := NULL;
3185         l_return_status             VARCHAR2(2000)  := NULL;
3186         l_error_code                VARCHAR2(2000)  := NULL;
3187         l_msg_count                 NUMBER          := NULL;
3188         l_msg_data                  VARCHAR2(2000)  := NULL;
3189 
3190         --l_object_id                 NUMBER          := NULL;
3191         l_object_name               VARCHAR2(430)   := NULL;
3192 
3193         l_row_attrs_table           EGO_USER_ATTR_DATA_TABLE            := NULL;
3194         l_data_level_pairs          EGO_COL_NAME_VALUE_PAIR_ARRAY       := NULL;
3195 
3196         l_entity_id                 VARCHAR2(1000)    := NULL;
3197         l_message_type              VARCHAR2(1000)    := NULL;
3198 
3199 BEGIN
3200       SAVEPOINT	Process_User_Attrs_Data_PUB;
3201       l_object_name := 'HZ_PARTIES';
3202       x_return_status := 'S';
3203 
3204       FOR i IN 1 .. p_attributes_row_table.count LOOP
3205         IF (p_attributes_row_table(i).data_level = 'SUPP_LEVEL') THEN
3206           l_data_level_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(
3207               EGO_COL_NAME_VALUE_PAIR_OBJ('IS_PROSPECT', p_attributes_row_table(i).data_level_1));
3208         ELSIF (p_attributes_row_table(i).data_level = 'SUPP_ADDR_LEVEL') THEN
3209           l_data_level_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(
3210               EGO_COL_NAME_VALUE_PAIR_OBJ('IS_PROSPECT', p_attributes_row_table(i).data_level_1)
3211             , EGO_COL_NAME_VALUE_PAIR_OBJ('PK1_VALUE', p_attributes_row_table(i).data_level_2));
3212         ELSIF (p_attributes_row_table(i).data_level = 'SUPP_ADDR_SITE_LEVEL') THEN
3213           l_data_level_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(
3214               EGO_COL_NAME_VALUE_PAIR_OBJ('IS_PROSPECT', p_attributes_row_table(i).data_level_1)
3215             , EGO_COL_NAME_VALUE_PAIR_OBJ('PK1_VALUE', p_attributes_row_table(i).data_level_2)
3216             , EGO_COL_NAME_VALUE_PAIR_OBJ('PK2_VALUE', p_attributes_row_table(i).data_level_3));
3217         END IF;
3218         IF (l_row_attrs_table IS NOT NULL) THEN
3219           l_row_attrs_table.DELETE;
3220         END IF;
3221         l_row_attrs_table := EGO_USER_ATTR_DATA_TABLE();
3222 
3223         FOR j IN 1 .. p_attributes_data_table.count LOOP
3224           IF (p_attributes_data_table(j).row_identifier = p_attributes_row_table(i).row_identifier) THEN
3225             l_row_attrs_table.EXTEND;
3226             l_row_attrs_table(l_row_attrs_table.LAST) := p_attributes_data_table(j);
3227           END IF;
3228         END LOOP;
3229 
3230         ego_user_attrs_data_pvt.Process_Row(
3231                   p_api_version                   =>  p_api_version
3232                 , p_object_id                     =>  NULL --l_object_id-- 22 for HZ_PARTIES, 87 for EGO_ITEM
3233                 , p_object_name                   =>  l_object_name-- HZ_PARTIES/EGO_ITEM
3234                 , p_attr_group_id                 =>  p_attributes_row_table(i).attr_group_id-- input
3235                 , p_application_id                =>  p_attributes_row_table(i).attr_group_app_id-- 177 for supplier, 431 for item
3236                 , p_attr_group_type               =>  p_attributes_row_table(i).attr_group_type-- POS_SUPP_PROFMGMT_GROUP/EGO_ITEMMGMT_GROUP
3237                 , p_attr_group_name               =>  p_attributes_row_table(i).attr_group_name-- input
3238                 , p_validate_hierarchy            =>  FND_API.G_FALSE
3239                 , p_pk_column_name_value_pairs    =>  p_pk_column_name_value_pairs-- input
3240                 , p_class_code_name_value_pairs   =>  p_class_code_name_value_pairs-- input
3241                 , p_data_level                    =>  p_attributes_row_table(i).data_level-- input
3242                 , p_data_level_name_value_pairs   =>  l_data_level_pairs-- input
3243                 , p_extension_id                  =>  NULL
3244                 , p_attr_name_value_pairs         =>  l_row_attrs_table-- input
3245                 , p_entity_id                     =>  NULL
3246                 , p_entity_index                  =>  NULL
3247                 , p_entity_code                   =>  NULL
3248                 , p_validate_only                 =>  FND_API.G_FALSE
3249                 , p_language_to_process           =>  NULL
3250                 , p_mode                          =>  p_attributes_row_table(i).transaction_type
3251                 , p_change_obj                    =>  NULL
3252                 , p_pending_b_table_name          =>  NULL
3253                 , p_pending_tl_table_name         =>  NULL
3254                 , p_pending_vl_name               =>  NULL
3255                 , p_init_fnd_msg_list             =>  FND_API.G_FALSE
3256                 , p_add_errors_to_fnd_stack       =>  FND_API.G_FALSE
3257                 , p_commit                        =>  FND_API.G_FALSE
3258                 , p_raise_business_event          =>  FALSE
3259                 , x_extension_id                  =>  l_extension_id
3260                 , x_mode                          =>  l_mode
3261                 , x_return_status                 =>  l_return_status
3262                 , x_errorcode                     =>  l_error_code
3263                 , x_msg_count                     =>  l_msg_count
3264                 , x_msg_data                      =>  l_msg_data
3265         );
3266 
3267         IF (l_return_status <> 'S') THEN
3268           ROLLBACK TO Process_User_Attrs_Data_PUB;
3269           ERROR_HANDLER.Get_Message(x_msg_data, x_errorcode, l_entity_id, l_message_type);
3270           x_return_status := l_return_status;
3271           x_msg_count := l_msg_count;
3272           EXIT;
3273         END IF;
3274 
3275     END LOOP;
3276 
3277 END Process_User_Attrs_Data;
3278 
3279 
3280 PROCEDURE Get_User_Attrs_Data (
3281     p_api_version                   IN   NUMBER,
3282     p_pk_column_name_value_pairs    IN   EGO_COL_NAME_VALUE_PAIR_ARRAY,
3283     p_attr_group_request_table      IN   EGO_ATTR_GROUP_REQUEST_TABLE,
3284     p_user_privileges_on_object     IN   EGO_VARCHAR_TBL_TYPE DEFAULT NULL,
3285     p_entity_id                     IN   VARCHAR2   DEFAULT NULL,
3286     p_entity_index                  IN   NUMBER     DEFAULT NULL,
3287     p_entity_code                   IN   VARCHAR2   DEFAULT NULL,
3288     p_debug_level                   IN   NUMBER     DEFAULT 0,
3289     p_init_error_handler            IN   VARCHAR2   DEFAULT NULL,
3290     p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT NULL,
3291     p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT NULL,
3292     x_attributes_row_table          OUT NOCOPY EGO_USER_ATTR_ROW_TABLE,
3293     x_attributes_data_table         OUT NOCOPY EGO_USER_ATTR_DATA_TABLE,
3294     x_return_status                 OUT NOCOPY VARCHAR2,
3295     x_errorcode                     OUT NOCOPY NUMBER,
3296     x_msg_count                     OUT NOCOPY NUMBER,
3297     x_msg_data                      OUT NOCOPY VARCHAR2
3298 ) IS
3299 --
3300 -- This version of EGO's UDA Get User Attributes Data API is
3301 -- almost identical to the original version in ego_user_attrs_data_pub
3302 -- with the exception of hardcoding the object name HZ_PARTIES which
3303 -- is the only object name expected when accessing UDA for Supplier
3304 -- related entities.
3305 --
3306 -- Another minor difference is the following optional parameters.  In the
3307 -- original EGO API they are defined as having DEFAULT fnd_api.g_false.
3308 -- This can be finessed as memory is allocated for each even if
3309 -- user skips them.  Now changed to DEFAULT NULL, retaining the same
3310 -- default semantics by NVL in the body.  This is done according to
3311 -- current performance coding standard.
3312 --
3313 --    p_init_error_handler            IN   VARCHAR2   DEFAULT NULL,
3314 --    p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT NULL,
3315 --    p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT NULL,
3316 --
3317 -- Tue Sep  1 09:51:26 PDT 2009 bso R12.1.2
3318 --
3319 BEGIN
3320     ego_user_attrs_data_pub.get_user_attrs_data(
3321         p_api_version => p_api_version,
3322         p_object_name => 'HZ_PARTIES',
3323         p_pk_column_name_value_pairs => p_pk_column_name_value_pairs,
3324         p_attr_group_request_table => p_attr_group_request_table,
3325         p_user_privileges_on_object => p_user_privileges_on_object,
3326         p_entity_id => p_entity_id,
3327         p_entity_index => p_entity_index,
3328         p_entity_code => p_entity_code,
3329         p_debug_level => p_debug_level,
3330         p_init_error_handler =>
3331             nvl(p_init_error_handler, fnd_api.g_false),
3332         p_init_fnd_msg_list =>
3333             nvl(p_init_fnd_msg_list, fnd_api.g_false),
3334         p_add_errors_to_fnd_stack =>
3335             nvl(p_add_errors_to_fnd_stack, fnd_api.g_false),
3336         p_commit => fnd_api.g_false,
3337         x_attributes_row_table => x_attributes_row_table,
3338         x_attributes_data_table => x_attributes_data_table,
3339         x_return_status => x_return_status,
3340         x_errorcode => x_errorcode,
3341         x_msg_count => x_msg_count,
3342         x_msg_data => x_msg_data
3343     );
3344 END Get_User_Attrs_Data;
3345 
3346 
3347 --
3348 -- End Supplier Hub: Data Publication
3349 --
3350 
3351 
3352 END POS_VENDOR_PUB_PKG;