DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_VALIDATE

Source


1 PACKAGE BODY OE_Validate AS
2 /* $Header: OEXSVATB.pls 120.11 2006/03/02 03:31:27 ksurendr ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Validate';
7 
8 G_RLM_INSTALLED_FLAG          VARCHAR2(1) := 'N';
9 
10 --  Procedure Get_Attr_Tbl.
11 --
12 --  Used by generator to avoid overriding or duplicating existing
13 --  validation functions.
14 --
15 --  DO NOT REMOVE
16 
17 PROCEDURE Get_Attr_Tbl
18 IS
19 I                             NUMBER:=0;
20 BEGIN
21 
22     FND_API.g_attr_tbl.DELETE;
23 
24 --  START GEN attributes
25 
26 --  Generator will append new attributes before end generate comment.
27 
28     I := I + 1;
29     FND_API.g_attr_tbl(I).name     := 'Desc_Flex';
30     I := I + 1;
31     FND_API.g_attr_tbl(I).name     := 'accounting_rule';
32     I := I + 1;
33     FND_API.g_attr_tbl(I).name     := 'agreement';
34     I := I + 1;
35     FND_API.g_attr_tbl(I).name     := 'conversion_rate';
36     I := I + 1;
37     FND_API.g_attr_tbl(I).name     := 'conversion_rate_date';
38     I := I + 1;
39     FND_API.g_attr_tbl(I).name     := 'conversion_type';
40     I := I + 1;
41     FND_API.g_attr_tbl(I).name     := 'CUSTOMER_PREFERENCE_SET';
42     I := I + 1;
43     FND_API.g_attr_tbl(I).name     := 'created_by';
44     I := I + 1;
45     FND_API.g_attr_tbl(I).name     := 'creation_date';
46     I := I + 1;
47     FND_API.g_attr_tbl(I).name     := 'cust_po_number';
48     I := I + 1;
49     FND_API.g_attr_tbl(I).name     := 'deliver_to_contact';
50     I := I + 1;
51     FND_API.g_attr_tbl(I).name     := 'deliver_to_org';
52     I := I + 1;
53     FND_API.g_attr_tbl(I).name     := 'demand_class';
54     I := I + 1;
55     FND_API.g_attr_tbl(I).name     := 'expiration_date';
56     I := I + 1;
57     FND_API.g_attr_tbl(I).name     := 'earliest_schedule_limit';
58     I := I + 1;
59     FND_API.g_attr_tbl(I).name     := 'fob_point';
60     I := I + 1;
61     FND_API.g_attr_tbl(I).name     := 'freight_carrier';
62     I := I + 1;
63     FND_API.g_attr_tbl(I).name     := 'freight_terms';
64     I := I + 1;
65     FND_API.g_attr_tbl(I).name     := 'header';
66     I := I + 1;
67     FND_API.g_attr_tbl(I).name     := 'invoice_to_contact';
68     I := I + 1;
69     FND_API.g_attr_tbl(I).name     := 'invoice_to_org';
70     I := I + 1;
71     FND_API.g_attr_tbl(I).name     := 'invoicing_rule';
72     I := I + 1;
73     FND_API.g_attr_tbl(I).name     := 'last_updated_by';
74     I := I + 1;
75     FND_API.g_attr_tbl(I).name     := 'last_update_date';
76     I := I + 1;
77     FND_API.g_attr_tbl(I).name     := 'last_update_login';
78     I := I + 1;
79     FND_API.g_attr_tbl(I).name     := 'latest_schedule_limit';
80     I := I + 1;
81     FND_API.g_attr_tbl(I).name     := 'ordered_date';
82     I := I + 1;
83     FND_API.g_attr_tbl(I).name     := 'order_date_type_code';
84     I := I + 1;
85     FND_API.g_attr_tbl(I).name     := 'order_number';
86     I := I + 1;
87     FND_API.g_attr_tbl(I).name     := 'order_source';
88     I := I + 1;
89     FND_API.g_attr_tbl(I).name     := 'order_type';
90     I := I + 1;
91     FND_API.g_attr_tbl(I).name     := 'org';
92     I := I + 1;
93     FND_API.g_attr_tbl(I).name     := 'orig_sys_document_ref';
94     I := I + 1;
95     FND_API.g_attr_tbl(I).name     := 'partial_shipments_allowed';
96     I := I + 1;
97     FND_API.g_attr_tbl(I).name     := 'payment_term';
98     I := I + 1;
99     FND_API.g_attr_tbl(I).name     := 'price_list';
100     I := I + 1;
101     FND_API.g_attr_tbl(I).name     := 'pricing_date';
102     I := I + 1;
103     FND_API.g_attr_tbl(I).name     := 'program_application';
104     I := I + 1;
105     FND_API.g_attr_tbl(I).name     := 'program';
106     I := I + 1;
107     FND_API.g_attr_tbl(I).name     := 'program_update_date';
108     I := I + 1;
109     FND_API.g_attr_tbl(I).name     := 'request_date';
110     I := I + 1;
111     FND_API.g_attr_tbl(I).name     := 'request';
112     I := I + 1;
113     FND_API.g_attr_tbl(I).name     := 'reserved_quantity';
114     I := I + 1;
115     FND_API.g_attr_tbl(I).name     := 'shipment_priority';
116     I := I + 1;
117     FND_API.g_attr_tbl(I).name     := 'shipping_method';
118     I := I + 1;
119     FND_API.g_attr_tbl(I).name     := 'ship_from_org';
120     I := I + 1;
121     FND_API.g_attr_tbl(I).name     := 'ship_tolerance_above';
122     I := I + 1;
123     FND_API.g_attr_tbl(I).name     := 'ship_tolerance_below';
124     I := I + 1;
125     FND_API.g_attr_tbl(I).name     := 'ship_to_contact';
126     I := I + 1;
127     FND_API.g_attr_tbl(I).name     := 'ship_to_org';
128     I := I + 1;
129     FND_API.g_attr_tbl(I).name     := 'intermed_ship_to_contact';
130     I := I + 1;
131     FND_API.g_attr_tbl(I).name     := 'intermed_ship_to_org';
132     I := I + 1;
133     FND_API.g_attr_tbl(I).name     := 'sold_to_contact';
134     I := I + 1;
135     FND_API.g_attr_tbl(I).name     := 'sold_to_org';
136     I := I + 1;
137     FND_API.g_attr_tbl(I).name     := 'source_document';
138     I := I + 1;
139     FND_API.g_attr_tbl(I).name     := 'source_document_type';
140     I := I + 1;
141     FND_API.g_attr_tbl(I).name     := 'tax_exempt';
142     I := I + 1;
143     FND_API.g_attr_tbl(I).name     := 'tax_exempt_number';
144     I := I + 1;
145     FND_API.g_attr_tbl(I).name     := 'tax_exempt_reason';
146     I := I + 1;
147     FND_API.g_attr_tbl(I).name     := 'tax_point';
148     I := I + 1;
149     FND_API.g_attr_tbl(I).name     := 'transactional_curr';
150     I := I + 1;
151     FND_API.g_attr_tbl(I).name     := 'version_number';
152 
153     I := I + 1;
154     FND_API.g_attr_tbl(I).name     := 'applied_flag';
155     I := I + 1;
156     FND_API.g_attr_tbl(I).name     := 'automatic';
157     I := I + 1;
158     FND_API.g_attr_tbl(I).name     := 'change_reason_code';
159     I := I + 1;
160     FND_API.g_attr_tbl(I).name     := 'change_reason_text';
161     I := I + 1;
162     FND_API.g_attr_tbl(I).name     := 'discount';
163     I := I + 1;
164     FND_API.g_attr_tbl(I).name     := 'discount_line';
165     I := I + 1;
166     FND_API.g_attr_tbl(I).name     := 'line';
167     I := I + 1;
168     FND_API.g_attr_tbl(I).name     := 'list_header_id';
169     I := I + 1;
170     FND_API.g_attr_tbl(I).name     := 'list_line_id';
171     I := I + 1;
172     FND_API.g_attr_tbl(I).name     := 'list_line_type_code';
173     I := I + 1;
174     FND_API.g_attr_tbl(I).name     := 'modified_from';
175     I := I + 1;
176     FND_API.g_attr_tbl(I).name     := 'modified_to';
177     I := I + 1;
178     FND_API.g_attr_tbl(I).name     := 'modified_mechanism_type_code';
179     I := I + 1;
180     FND_API.g_attr_tbl(I).name     := 'percent';
181     I := I + 1;
182     FND_API.g_attr_tbl(I).name     := 'price_adjustment';
183     I := I + 1;
184     FND_API.g_attr_tbl(I).name     := 'updated_flag';
185     I := I + 1;
186     FND_API.g_attr_tbl(I).name     := 'update_allowed';
187 
188     I := I + 1;
189     FND_API.g_attr_tbl(I).name     := 'dw_update_advice';
190     I := I + 1;
191     FND_API.g_attr_tbl(I).name     := 'quota';
192     I := I + 1;
193     FND_API.g_attr_tbl(I).name     := 'salesrep';
194     I := I + 1;
195     FND_API.g_attr_tbl(I).name     := 'Sales_credit_type';
196     I := I + 1;
197     FND_API.g_attr_tbl(I).name     := 'sales_credit';
198     I := I + 1;
199     FND_API.g_attr_tbl(I).name     := 'wh_update_date';
200     I := I + 1;
201     FND_API.g_attr_tbl(I).name     := 'actual_shipment_date';
202     I := I + 1;
203     FND_API.g_attr_tbl(I).name     := 'cancelled_quantity';
204     I := I + 1;
205     FND_API.g_attr_tbl(I).name     := 'component';
206     I := I + 1;
207     FND_API.g_attr_tbl(I).name     := 'component_sequence';
208     I := I + 1;
209     FND_API.g_attr_tbl(I).name     := 'config_display_sequence';
210     I := I + 1;
211     FND_API.g_attr_tbl(I).name     := 'top_model_line';
212     I := I + 1;
213     FND_API.g_attr_tbl(I).name     := 'customer_dock';
214     I := I + 1;
215     FND_API.g_attr_tbl(I).name     := 'customer_job';
216     I := I + 1;
217     FND_API.g_attr_tbl(I).name     := 'customer_production_line';
218     I := I + 1;
219     FND_API.g_attr_tbl(I).name     := 'customer_trx_line';
220     I := I + 1;
221     FND_API.g_attr_tbl(I).name     := 'credit_invoice_line';
222     I := I + 1;
223     FND_API.g_attr_tbl(I).name     := 'cust_model_serial_number';
224     I := I + 1;
225     FND_API.g_attr_tbl(I).name     := 'delivery_lead_time';
226     I := I + 1;
227     FND_API.g_attr_tbl(I).name     := 'demand_bucket_type';
228     I := I + 1;
229     FND_API.g_attr_tbl(I).name     := 'dep_plan_required';
230     I := I + 1;
231     FND_API.g_attr_tbl(I).name     := 'fulfilled_quantity';
232     I := I + 1;
233     FND_API.g_attr_tbl(I).name     := 'inventory_item';
234     I := I + 1;
235     FND_API.g_attr_tbl(I).name     := 'invoice_interface_status';
236     I := I + 1;
237     FND_API.g_attr_tbl(I).name     := 'ordered_item_id';
238     I := I + 1;
239     FND_API.g_attr_tbl(I).name     := 'item_identifier_type';
240     I := I + 1;
241     FND_API.g_attr_tbl(I).name     := 'ordered_item';
242     I := I + 1;
243     FND_API.g_attr_tbl(I).name     := 'item_revision';
244     I := I + 1;
245     FND_API.g_attr_tbl(I).name     := 'item_type';
246     I := I + 1;
247     FND_API.g_attr_tbl(I).name     := 'line_category';
248     I := I + 1;
249     FND_API.g_attr_tbl(I).name     := 'line_number';
250     I := I + 1;
251     FND_API.g_attr_tbl(I).name     := 'line_type';
252     I := I + 1;
253     FND_API.g_attr_tbl(I).name     := 'link_to_line';
254     I := I + 1;
255     FND_API.g_attr_tbl(I).name     := 'option_flag';
256     I := I + 1;
257     FND_API.g_attr_tbl(I).name     := 'option_number';
258     I := I + 1;
259     FND_API.g_attr_tbl(I).name     := 'ordered_quantity';
260     I := I + 1;
261     FND_API.g_attr_tbl(I).name     := 'order_quantity_uom';
262     I := I + 1;
263     FND_API.g_attr_tbl(I).name     := 'orig_sys_line_ref';
264     I := I + 1;
265     FND_API.g_attr_tbl(I).name     := 'pricing_quantity';
266     I := I + 1;
267     FND_API.g_attr_tbl(I).name     := 'pricing_quantity_uom';
268     I := I + 1;
269     FND_API.g_attr_tbl(I).name     := 'project';
270     I := I + 1;
271     FND_API.g_attr_tbl(I).name     := 'promise_date';
272     I := I + 1;
273     FND_API.g_attr_tbl(I).name     := 'reference_header';
274     I := I + 1;
275     FND_API.g_attr_tbl(I).name     := 'reference_line';
276     I := I + 1;
277     FND_API.g_attr_tbl(I).name     := 'reference_type';
278     I := I + 1;
279     FND_API.g_attr_tbl(I).name     := 'rla_schedule_type';
280     I := I + 1;
281     FND_API.g_attr_tbl(I).name     := 'schedule_ship_date';
282     I := I + 1;
283     FND_API.g_attr_tbl(I).name     := 'shipment_number';
284     I := I + 1;
285     FND_API.g_attr_tbl(I).name     := 'shipped_quantity';
286     I := I + 1;
287     FND_API.g_attr_tbl(I).name     := 'shipping_quantity';
288     I := I + 1;
289     FND_API.g_attr_tbl(I).name     := 'shipping_quantity_uom';
290     I := I + 1;
291     FND_API.g_attr_tbl(I).name     := 'sort_order';
292     I := I + 1;
293     FND_API.g_attr_tbl(I).name     := 'source_document_line';
294     I := I + 1;
295     FND_API.g_attr_tbl(I).name     := 'task';
296     I := I + 1;
297     FND_API.g_attr_tbl(I).name     := 'tax';
298     I := I + 1;
299     FND_API.g_attr_tbl(I).name     := 'tax_date';
300     I := I + 1;
301     FND_API.g_attr_tbl(I).name     := 'tax_rate';
302     I := I + 1;
303     FND_API.g_attr_tbl(I).name     := 'tax_value';
304     I := I + 1;
305     FND_API.g_attr_tbl(I).name     := 'unit_list_price';
306     I := I + 1;
307     FND_API.g_attr_tbl(I).name     := 'unit_list_price_per_pqty';
308     I := I + 1;
309     FND_API.g_attr_tbl(I).name     := 'unit_selling_price';
310     I := I + 1;
311     FND_API.g_attr_tbl(I).name     := 'unit_selling_price_per_pqty';
312     I := I + 1;
313     FND_API.g_attr_tbl(I).name     := 'visible_demand';
314 
315     I := I + 1;
316     FND_API.g_attr_tbl(I).name     := 'from_serial_number';
317     I := I + 1;
318     FND_API.g_attr_tbl(I).name     := 'lot_number';
319  --   I := I + 1; -- INVCONV
320  --   FND_API.g_attr_tbl(I).name     := 'sublot_number'; --OPM 2380194
321     I := I + 1;
322     FND_API.g_attr_tbl(I).name     := 'lot_serial';
323     I := I + 1;
324     FND_API.g_attr_tbl(I).name     := 'quantity';
325     I := I + 1;
326     FND_API.g_attr_tbl(I).name     := 'quantity2';  --OPM 2380194
327     I := I + 1;
328     FND_API.g_attr_tbl(I).name     := 'to_serial_number';
329     I := I + 1;
330     FND_API.g_attr_tbl(I).name     := 'return_reason';
331     I := I + 1;
332     FND_API.g_attr_tbl(I).name     := 'split_from_line';
333     I := I + 1;
334     FND_API.g_attr_tbl(I).name     := 'cust_production_seq_num';
335     I := I + 1;
336     FND_API.g_attr_tbl(I).name     := 'authorized_to_ship';
337     I := I + 1;
338     FND_API.g_attr_tbl(I).name     := 'veh_cus_item_cum_key';
339     I := I + 1;
340     FND_API.g_attr_tbl(I).name     := 'arrival_set';
341     I := I + 1;
342     FND_API.g_attr_tbl(I).name     := 'ship_set';
343     I := I + 1;
344     FND_API.g_attr_tbl(I).name     := 'over_ship_reason';
345     I := I + 1;
346     FND_API.g_attr_tbl(I).name     := 'over_ship_resolved';
347     I := I + 1;
348     FND_API.g_attr_tbl(I).name     := 'payment_type';
349     I := I + 1;
350     FND_API.g_attr_tbl(I).name     := 'payment_amount';
351     I := I + 1;
352     FND_API.g_attr_tbl(I).name     := 'check_number';
353     I := I + 1;
354     FND_API.g_attr_tbl(I).name     := 'credit_card';
355     I := I + 1;
356     FND_API.g_attr_tbl(I).name     := 'credit_card_holder_name';
357     I := I + 1;
358     FND_API.g_attr_tbl(I).name     := 'credit_card_number';
359     I := I + 1;
360     FND_API.g_attr_tbl(I).name     := 'credit_card_expiration_date';
361     I := I + 1;
362     FND_API.g_attr_tbl(I).name     := 'credit_card_approval_date';
363     I := I + 1;
364     FND_API.g_attr_tbl(I).name     := 'credit_card_approval_code';
365     I := I + 1;
366     FND_API.g_attr_tbl(I).name     := 'commitment';
367     I := I + 1;
368     FND_API.g_attr_tbl(I).name     := 'shippable';
369     I := I + 1;
370     FND_API.g_attr_tbl(I).name     := 'shipping_interfaced';
371     I := I + 1;
372     FND_API.g_attr_tbl(I).name     := 'first_ack_code';
373     I := I + 1;
374     FND_API.g_attr_tbl(I).name     := 'first_ack_date';
375     I := I + 1;
376     FND_API.g_attr_tbl(I).name     := 'last_ack_code';
377     I := I + 1;
378     FND_API.g_attr_tbl(I).name     := 'last_ack_date';
379     I := I + 1;
380     FND_API.g_attr_tbl(I).name     := 'end_item_unit_number';
381     I := I + 1;
382     FND_API.g_attr_tbl(I).name     := 'shipping_instructions';
383     I := I + 1;
384     FND_API.g_attr_tbl(I).name     := 'packing_instructions';
385     I := I + 1;
386     FND_API.g_attr_tbl(I).name     := 'estimated_flag';
387     I := I + 1;
388     FND_API.g_attr_tbl(I).name     := 'inc_in_sales_performance';
389     I := I + 1;
390     FND_API.g_attr_tbl(I).name     := 'split_action';
391     I := I + 1;
392     FND_API.g_attr_tbl(I).name     := 'cost_id';
393     I := I + 1;
394     FND_API.g_attr_tbl(I).name     := 'charge_type_code';
395     I := I + 1;
396     FND_API.g_attr_tbl(I).name     := 'charge_subtype_code';
397     I := I + 1;
398     FND_API.g_attr_tbl(I).name     := 'credit_or_charge_flag';
399     I := I + 1;
400     FND_API.g_attr_tbl(I).name     := 'include_on_returns_flag';
401     I := I + 1;
402     FND_API.g_attr_tbl(I).name     := 'minisite';
403     I := I + 1;
404     FND_API.g_attr_tbl(I).name     := 'IB_OWNER';
405     I := I + 1;
406     FND_API.g_attr_tbl(I).name     := 'IB_INSTALLED_AT_LOCATION';
407     I := I + 1;
408     FND_API.g_attr_tbl(I).name     := 'IB_CURRENT_LOCATION';
409     I := I + 1;
410     FND_API.g_attr_tbl(I).name     := 'END_CUSTOMER_ID';
411     I := I + 1;
412     FND_API.g_attr_tbl(I).name     := 'END_CUSTOMER_CONTACT_ID';
413     I := I + 1;
414     FND_API.g_attr_tbl(I).name     := 'SUPPLIER_SIGNATURE';
415     I := I + 1;
416     FND_API.g_attr_tbl(I).name     := 'SUPPLIER_SIGNATURE_DATE';
417     I := I + 1;
418     FND_API.g_attr_tbl(I).name     := 'CUSTOMER_SIGNATURE';
419     I := I + 1;
420     FND_API.g_attr_tbl(I).name     := 'CUSTOMER_SIGNATURE_DATE';
421     I := I + 1;
422     FND_API.g_attr_tbl(I).name     := 'CONTRACT_TEMPLATE_ID';
423     I := I + 1;
424 -- INVCONV
425     FND_API.g_attr_tbl(I).name     := 'fulfilled_quantity2';
426      I := I + 1;
427     FND_API.g_attr_tbl(I).name     := 'shipped_quantity2';
428     I := I + 1;
429     FND_API.g_attr_tbl(I).name     := 'shipping_quantity2';
430     I := I + 1;
431     FND_API.g_attr_tbl(I).name     := 'shipping_quantity_uom2';
432     I := I + 1;
433     FND_API.g_attr_tbl(I).name     := 'cancelled_quantity2';
434     I := I + 1;
435     FND_API.g_attr_tbl(I).name     := 'Payment_Trxn_Extension';  --R12 Process order api changes
436     I := I + 1;
437 
438 --
439 --  END GEN attributes
440 
441 END Get_Attr_Tbl;
442 
443 --  Prototypes for validate functions.
444 
445 --  START GEN validate
446 
447 --  Generator will append new prototypes before end generate comment.
448 
449 --/old/
450 
451 FUNCTION Desc_Flex ( p_flex_name IN VARCHAR2 )
452 RETURN BOOLEAN
453 IS
454    l_appl_short_name VARCHAR2(30);
455    l_count NUMBER := 0;
456 BEGIN
457 
458 
459     -- Initialize the global variables to NULL, for bug 2511313
460     g_context     := NULL;
461     g_attribute1  := NULL;
462     g_attribute2  := NULL;
463     g_attribute3  := NULL;
464     g_attribute4  := NULL;
465     g_attribute5  := NULL;
466     g_attribute6  := NULL;
467     g_attribute7  := NULL;
468     g_attribute8  := NULL;
469     g_attribute9  := NULL;
470     g_attribute10 := NULL;
471     g_attribute11 := NULL;
472     g_attribute12 := NULL;
473     g_attribute13 := NULL;
474     g_attribute14 := NULL;
475     g_attribute15 := NULL;
476     g_attribute16 := NULL;
477     g_attribute17 := NULL;
478     g_attribute18 := NULL;
479     g_attribute19 := NULL;
480     g_attribute20 := NULL;
481     g_attribute21 := NULL;
482     g_attribute22 := NULL;
483     g_attribute23 := NULL;
484     g_attribute24 := NULL;
485     g_attribute25 := NULL;
486     g_attribute26 := NULL;
487     g_attribute27 := NULL;
488     g_attribute28 := NULL;
489     g_attribute29 := NULL;
490     g_attribute30 := NULL;
491 
492     --  Call FND validate API.
493 
494     --  This call is temporarily commented out
495     IF (p_flex_name = 'RLM_SCHEDULE_LINES') THEN
496        l_appl_short_name := 'RLM';
497     ELSE
498        l_appl_short_name := 'ONT';
499     END IF;
500 
501     -- Modified the following call to pass th value 'D' to values_or_ids
502     -- to validate as well as to default the segment values.
503 
504     IF FND_FLEX_DESCVAL.Validate_Desccols( appl_short_name    => l_appl_short_name,
505 					   desc_flex_name     => p_flex_name,
506 					   values_or_ids      => 'D'    -- for bug 2511313
507 					   ) THEN
508 
509 
510        -- Copying values into global variables
511        l_count := fnd_flex_descval.segment_count;
512        FOR i IN 1..l_count LOOP
513 	  IF FND_FLEX_DESCVAL.segment_column_name(i) = g_context_name THEN
514 	     g_context :=  FND_FLEX_DESCVAL.segment_id(i);
515 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute1_name THEN
516 	     g_attribute1 := FND_FLEX_DESCVAL.segment_id(i);
517 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute2_name THEN
518 	     g_attribute2 := FND_FLEX_DESCVAL.segment_id(i);
519 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute3_name THEN
520 	     g_attribute3 := FND_FLEX_DESCVAL.segment_id(i);
521 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute4_name THEN
522 	     g_attribute4 := FND_FLEX_DESCVAL.segment_id(i);
523 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute5_name THEN
524 	     g_attribute5 := FND_FLEX_DESCVAL.segment_id(i);
525 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute6_name THEN
526 	     g_attribute6 := FND_FLEX_DESCVAL.segment_id(i);
527 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute7_name THEN
528 	     g_attribute7 := FND_FLEX_DESCVAL.segment_id(i);
529 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute8_name THEN
530 	     g_attribute8 := FND_FLEX_DESCVAL.segment_id(i);
531 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute9_name THEN
532 	     g_attribute9 := FND_FLEX_DESCVAL.segment_id(i);
533 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute10_name THEN
534 	     g_attribute10 := FND_FLEX_DESCVAL.segment_id(i);
535 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute11_name THEN
536 	     g_attribute11 := FND_FLEX_DESCVAL.segment_id(i);
537 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute12_name THEN
538 	     g_attribute12 := FND_FLEX_DESCVAL.segment_id(i);
539 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute13_name THEN
540 	     g_attribute13 := FND_FLEX_DESCVAL.segment_id(i);
541 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute14_name THEN
542 	     g_attribute14 := FND_FLEX_DESCVAL.segment_id(i);
543 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute15_name THEN
544 	     g_attribute15 := FND_FLEX_DESCVAL.segment_id(i);
545 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute16_name THEN
546 	     g_attribute16 := FND_FLEX_DESCVAL.segment_id(i);
547 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute17_name THEN
548 	     g_attribute17 := FND_FLEX_DESCVAL.segment_id(i);
549 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute18_name THEN
550 	     g_attribute18 := FND_FLEX_DESCVAL.segment_id(i);
551 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute19_name THEN
552 	     g_attribute19 := FND_FLEX_DESCVAL.segment_id(i);
553 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute20_name THEN
554 	     g_attribute20 := FND_FLEX_DESCVAL.segment_id(i);
555 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute21_name THEN
556 	     g_attribute21 := FND_FLEX_DESCVAL.segment_id(i);
557 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute22_name THEN
558 	     g_attribute22 := FND_FLEX_DESCVAL.segment_id(i);
559 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute23_name THEN
560 	     g_attribute23 := FND_FLEX_DESCVAL.segment_id(i);
561 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute24_name THEN
562 	     g_attribute24 := FND_FLEX_DESCVAL.segment_id(i);
563 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute25_name THEN
564 	     g_attribute25 := FND_FLEX_DESCVAL.segment_id(i);
565 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute26_name THEN
566 	     g_attribute26 := FND_FLEX_DESCVAL.segment_id(i);
567 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute27_name THEN
568 	     g_attribute27 := FND_FLEX_DESCVAL.segment_id(i);
569 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute28_name THEN
570 	     g_attribute28 := FND_FLEX_DESCVAL.segment_id(i);
571 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute29_name THEN
572 	     g_attribute29 := FND_FLEX_DESCVAL.segment_id(i);
573 	   ELSIF FND_FLEX_DESCVAL.segment_column_name(i) = g_attribute30_name THEN
574 	     g_attribute30 := FND_FLEX_DESCVAL.segment_id(i);
575 	  END IF;
576        END LOOP;
577 
578        RETURN TRUE;
579 
580      ELSE
581 
582         --  Prepare the encoded message by setting it on the message
583         --  dictionary stack. Then, add it to the API message list.
584 
585         FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
586 
587         OE_MSG_PUB.Add;
588 
589         --  Derive return status.
590 
591         IF FND_FLEX_DESCVAL.unsupported_error
592         THEN
593            -- unsupport error,supress the validation and hard error and
594            -- throw a warning intead
595 
596            RETURN TRUE;
597 
598         ELSIF FND_FLEX_DESCVAL.value_error
599         THEN
600 
601             --  In case of an expected error return FALSE
602 
603             RETURN FALSE;
604 
605         ELSE
606 
607             --  In case of an unexpected error raise an exception.
608 
609             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
610 
611         END IF;
612 
613     END IF;
614 
615 
616     RETURN TRUE;
617 
618 END Desc_Flex;
619 
620 FUNCTION Header ( p_header_id IN NUMBER )
621 RETURN BOOLEAN
622 IS
623 l_dummy                       VARCHAR2(10);
624 BEGIN
625 
626 
627     IF p_header_id IS NULL OR
628         p_header_id = FND_API.G_MISS_NUM
629     THEN
630             RETURN TRUE;
631     END IF;
632 
633     --  SELECT  'VALID'
634     --  INTO     l_dummy
635     --  FROM     DB_TABLE
636     --  WHERE    DB_COLUMN = p_header_id;
637 
638 
639     RETURN TRUE;
640 
641 EXCEPTION
642 
643     WHEN NO_DATA_FOUND THEN
644 
645 
646         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
647         THEN
648 
649 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'HEADER_ID');
650 
651             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
652             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
653 				OE_Order_Util.Get_Attribute_Name('HEADER_ID'));
654             OE_MSG_PUB.Add;
655 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
656 
657         END IF;
658 
659 
660         RETURN FALSE;
661 
662     WHEN OTHERS THEN
663 
664         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
665         THEN
666             OE_MSG_PUB.Add_Exc_Msg
667             (   G_PKG_NAME
668             ,   'Header'
669             );
670         END IF;
671 
672         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
673 
674 END Header;
675 
676 FUNCTION Org ( p_org_id IN NUMBER )
677 RETURN BOOLEAN
678 IS
679 l_dummy                       VARCHAR2(10);
680 BEGIN
681 
682 
683     IF p_org_id IS NULL OR
684         p_org_id = FND_API.G_MISS_NUM
685     THEN
686         RETURN TRUE;
687     END IF;
688 
689     --  SELECT  'VALID'
690     --  INTO     l_dummy
691     --  FROM     DB_TABLE
692     --  WHERE    DB_COLUMN = p_org_id;
693 
694     RETURN TRUE;
695 
696 EXCEPTION
697 
698     WHEN NO_DATA_FOUND THEN
699 
700         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
701         THEN
702 
703             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORG_ID');
704 
705             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
706             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
707 				OE_Order_Util.Get_Attribute_Name('ORG_ID'));
708             OE_MSG_PUB.Add;
709 
710 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
711 
712         END IF;
713 
714         RETURN FALSE;
715 
716     WHEN OTHERS THEN
717 
718         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
719         THEN
720             OE_MSG_PUB.Add_Exc_Msg
721             (   G_PKG_NAME
722             ,   'Org'
723             );
724         END IF;
725 
726         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
727 
728 END Org;
729 
730 FUNCTION Order_Type ( p_order_type_id IN NUMBER )
731 RETURN BOOLEAN
732 IS
733 x_doc_sequence_value     NUMBER;
734 x_doc_category_code      VARCHAR(30);
735 X_doc_sequence_id       NUMBER;
736 X_db_sequence_name      VARCHAR2(50);
737 X_set_Of_Books_id       NUMBER;
738 seqassid                integer;
739 x_Trx_Date		DATE;
740 l_order_type_rec    OE_Order_Cache.Order_Type_Rec_Type;
741 l_set_of_books_rec    OE_Order_Cache.Set_Of_Books_Rec_Type;
742 
743 l_dummy                       VARCHAR2(80);
744 BEGIN
745 
746     IF p_order_type_id IS NULL OR
747         p_order_type_id = FND_API.G_MISS_NUM
748     THEN
749         RETURN TRUE;
750     END IF;
751 
752     --changes for bug 4200055
753      l_order_type_rec := OE_ORDER_CACHE.Load_Order_Type(p_order_type_id);
754      IF l_order_type_rec.order_type_id <> FND_API.G_MISS_NUM
755         and l_order_type_rec.order_type_id IS NOT NULL
756         and l_order_type_rec.order_type_id = p_order_type_id
757      THEN
758            if ( trunc(nvl(l_order_type_rec.Start_Date_Active,sysdate)) <= trunc(sysdate)
759                 and trunc(nvl(l_order_type_rec.End_Date_Active,sysdate)) >= trunc(sysdate)
760                 )
761            then
762                  RETURN TRUE ;
763            else
764                 RAISE NO_DATA_FOUND ;
765            end if ;
766      ELSE
767              RAISE NO_DATA_FOUND  ;
768 
769      END IF ;
770 
771  /*   SELECT  'VALID'
772     INTO    l_dummy
773     FROM    OE_ORDER_TYPES_V
774     WHERE   ORDER_TYPE_ID = p_order_type_id
775     AND     SYSDATE BETWEEN NVL( START_DATE_ACTIVE, SYSDATE  )
776                     AND     NVL( END_DATE_ACTIVE, SYSDATE );
777 
778                   RETURN TRUE;
779 */
780  --end bug 4200055
781 
782 
783 
784 EXCEPTION
785 
786     WHEN NO_DATA_FOUND THEN
787 
788         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
789         THEN
790 
791             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_TYPE_ID');
792 
793             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
794             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
795 				OE_Order_Util.Get_Attribute_Name('ORDER_TYPE_ID'));
796             OE_MSG_PUB.Add;
797 
798             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
799 
800 
801         END IF;
802 
803         RETURN FALSE;
804 
805     WHEN OTHERS THEN
806 
807         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
808         THEN
809             OE_MSG_PUB.Add_Exc_Msg
810             (   G_PKG_NAME
811             ,   'Order_Type'
812             );
813         END IF;
814 
815         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
816 
817 END Order_Type;
818 
819 FUNCTION Order_Number ( p_order_number IN NUMBER)
820 RETURN BOOLEAN
821 IS
822 x_doc_sequence_value     NUMBER;
823 x_doc_category_code      VARCHAR(30);
824 X_doc_sequence_id       NUMBER;
825 X_db_sequence_name      VARCHAR2(50);
826 X_set_Of_Books_id       NUMBER;
827 seqassid                integer;
828 x_Trx_Date		DATE;
829 l_set_of_books_rec    OE_Order_Cache.Set_Of_Books_Rec_Type;
830 l_dummy                       VARCHAR2(10);
831 t				VARCHAR2(1);
832 BEGIN
833 
834     IF p_order_number IS NULL OR
835         p_order_number = FND_API.G_MISS_NUM
836     THEN
837 
838         RETURN TRUE;
839     END IF;
840 /*    l_set_of_books_rec :=
841     OE_Order_Cache.Load_Set_Of_Books;
842 	x_Set_Of_Books_Id := l_set_of_books_rec.set_of_books_id;
843         X_Doc_Category_Code := to_char(p_order_type_id);
844         IF (p_order_type_id = 1000) OR
845 	   (p_order_type_id = 1026) THEN
846                    fnd_seqnum.get_seq_name(
847                                                         300,
848                                                         X_doc_category_code,
849                                                         X_Set_Of_Books_Id,
850                                                         null,
851                                                         sysdate,
852                                                         X_db_sequence_name,
853                                                         X_doc_sequence_id,
854                                                         seqassid);
855    			IF x_doc_sequence_id IS NOT NULL THEN
856     				select type into t
857       				from FND_DOCUMENT_SEQUENCES
858      				where DOC_SEQUENCE_ID = x_doc_sequence_id;
859    			END IF;
860 
861        				if ( t = 'M')  then
862 					-- Check the Uniqueness here
863  					--RETURN NULL;
864 					NULL;
865 				end if;
866 	END IF;*/
867 
868     --  SELECT  'VALID'
869     --  INTO     l_dummy
870     --  FROM     DB_TABLE
871     --  WHERE    DB_COLUMN = p_order_number;
872 
873 
874     RETURN TRUE;
875 
876 EXCEPTION
877 
878     WHEN NO_DATA_FOUND THEN
879 
880         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
881         THEN
882 
883            OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_NUMBER');
884 
885             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
886             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
887 				OE_Order_Util.Get_Attribute_Name('ORDER_NUMBER'));
888 
889             OE_MSG_PUB.Add;
890 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
891 
892         END IF;
893 
894 
895         RETURN FALSE;
896 
897     WHEN OTHERS THEN
898 
899         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
900         THEN
901             OE_MSG_PUB.Add_Exc_Msg
902             (   G_PKG_NAME
903             ,   'Order_Number'
904             );
905         END IF;
906 
907 
908         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
909 
910 END Order_Number;
911 
912 FUNCTION Version_Number ( p_version_number IN NUMBER )
913 RETURN BOOLEAN
914 IS
915 l_dummy                       VARCHAR2(10);
916 BEGIN
917 
918     IF p_version_number IS NULL OR
919         p_version_number = FND_API.G_MISS_NUM
920     THEN
921 
922         RETURN TRUE;
923     END IF;
924 
925     -- Version number cannot be negative or in decimals
926     IF p_version_number < 0 OR mod(p_version_number,1) <> 0
927     THEN
928        RAISE NO_DATA_FOUND;
929     END IF;
930 
931     RETURN TRUE;
932 
933 EXCEPTION
934 
935     WHEN NO_DATA_FOUND THEN
936 
937         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
938         THEN
939 
940             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VERSION_NUMBER');
941 
942             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
943             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
944 				OE_Order_Util.Get_Attribute_Name('VERSION_NUMBER'));
945             OE_MSG_PUB.Add;
946 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
947 
948         END IF;
949 
950 
951         RETURN FALSE;
952 
953     WHEN OTHERS THEN
954 
955         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
956         THEN
957             OE_MSG_PUB.Add_Exc_Msg
958             (   G_PKG_NAME
959             ,   'Version_Number'
960             );
961         END IF;
962 
963 
964         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
965 
966 END Version_Number;
967 
968 FUNCTION Expiration_Date ( p_expiration_date IN DATE )
969 RETURN BOOLEAN
970 IS
971 l_dummy                       VARCHAR2(10);
972 BEGIN
973     IF p_expiration_date IS NULL OR
974         p_expiration_date = FND_API.G_MISS_DATE
975     THEN
976 
977         RETURN TRUE;
978     END IF;
979 
980     -- Expiration date cannot be less than current date
981     IF trunc(p_expiration_date) < trunc(sysdate) THEN
982        RAISE NO_DATA_FOUND;
983     END IF;
984 
985 
986     RETURN TRUE;
987 
988 EXCEPTION
989 
990     WHEN NO_DATA_FOUND THEN
991 
992         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
993         THEN
994 
995             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPIRATION_DATE');
996 
997             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
998             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
999 				OE_Order_Util.Get_Attribute_Name('EXPIRATION_DATE'));
1000             OE_MSG_PUB.Add;
1001 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1002 
1003         END IF;
1004 
1005 
1006         RETURN FALSE;
1007 
1008     WHEN OTHERS THEN
1009 
1010         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1011         THEN
1012             OE_MSG_PUB.Add_Exc_Msg
1013             (   G_PKG_NAME
1014             ,   'Expiration_Date'
1015             );
1016         END IF;
1017 
1018 
1019         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1020 
1021 END Expiration_Date;
1022 
1023 FUNCTION Order_Source ( p_order_source_id IN NUMBER )
1024 RETURN BOOLEAN
1025 IS
1026 l_dummy                       VARCHAR2(10);
1027 BEGIN
1028 
1029     IF p_order_source_id IS NULL OR
1030         p_order_source_id = FND_API.G_MISS_NUM
1031     THEN
1032 
1033         RETURN TRUE;
1034     END IF;
1035 
1036     SELECT  'VALID'
1037     INTO    l_dummy
1038     FROM    OE_ORDER_SOURCES
1039     WHERE   ORDER_SOURCE_ID = p_order_source_id
1040     AND     ENABLED_FLAG = 'Y';
1041 
1042 
1043 
1044     RETURN TRUE;
1045 
1046 EXCEPTION
1047 
1048     WHEN NO_DATA_FOUND THEN
1049 
1050         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1051         THEN
1052 
1053 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_SOURCE_ID');
1054 
1055             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1056             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1057 				OE_Order_Util.Get_Attribute_Name('order_source'));
1058             OE_MSG_PUB.Add;
1059 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1060 
1061         END IF;
1062 
1063 
1064         RETURN FALSE;
1065 
1066     WHEN OTHERS THEN
1067 
1068         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1069         THEN
1070             OE_MSG_PUB.Add_Exc_Msg
1071             (   G_PKG_NAME
1072             ,   'Order_Source'
1073             );
1074         END IF;
1075 
1076 
1077         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1078 
1079 END Order_Source;
1080 
1081 FUNCTION Source_Document_Type ( p_source_document_type_id IN NUMBER )
1082 RETURN BOOLEAN
1083 IS
1084 l_dummy                       VARCHAR2(10);
1085 BEGIN
1086 
1087     IF p_source_document_type_id IS NULL OR
1088         p_source_document_type_id = FND_API.G_MISS_NUM
1089     THEN
1090 
1091         RETURN TRUE;
1092     END IF;
1093 
1094     SELECT  'VALID'
1095     INTO    l_dummy
1096     FROM    OE_ORDER_SOURCES
1097     WHERE   ORDER_SOURCE_ID = p_source_document_type_id
1098     AND     ENABLED_FLAG = 'Y';
1099 
1100 
1101     RETURN TRUE;
1102 
1103 EXCEPTION
1104 
1105     WHEN NO_DATA_FOUND THEN
1106 
1107         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1108         THEN
1109 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_TYPE_ID');
1110 
1111             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1112             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1113 				OE_Order_Util.Get_Attribute_Name('SOURCE_DOCUMENT_TYPE_ID'));
1114             OE_MSG_PUB.Add;
1115 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1116 
1117         END IF;
1118 
1119 
1120         RETURN FALSE;
1121 
1122     WHEN OTHERS THEN
1123 
1124         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1125         THEN
1126             OE_MSG_PUB.Add_Exc_Msg
1127             (   G_PKG_NAME
1128             ,   'Source_Document_Type'
1129             );
1130         END IF;
1131 
1132 
1133         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1134 
1135 END Source_Document_Type;
1136 
1137 FUNCTION Source_Type ( p_source_type_code IN VARCHAR2 )
1138 RETURN BOOLEAN
1139 IS
1140 l_dummy                       VARCHAR2(10);
1141 l_lookup_type      	      VARCHAR2(80) :='SOURCE_TYPE';
1142 BEGIN
1143 
1144     IF p_source_type_code IS NULL OR
1145         p_source_type_code = FND_API.G_MISS_CHAR
1146     THEN
1147 
1148         RETURN TRUE;
1149     END IF;
1150 
1151     SELECT  'VALID'
1152     INTO    l_dummy
1153     FROM    OE_LOOKUPS
1154     WHERE   LOOKUP_CODE = p_source_type_code
1155     AND     LOOKUP_TYPE = l_lookup_type
1156     AND     ENABLED_FLAG = 'Y'
1157     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1158                         AND NVL(END_DATE_ACTIVE, SYSDATE);
1159 
1160 
1161     RETURN TRUE;
1162 
1163 EXCEPTION
1164 
1165     WHEN NO_DATA_FOUND THEN
1166 
1167         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1168         THEN
1169 
1170 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_TYPE_CODE');
1171 
1172             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1173             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1174 				OE_Order_Util.Get_Attribute_Name('SOURCE_TYPE_CODE'));
1175             OE_MSG_PUB.Add;
1176 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1177 
1178         END IF;
1179 
1180 
1181         RETURN FALSE;
1182 
1183     WHEN OTHERS THEN
1184 
1185         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1186         THEN
1187             OE_MSG_PUB.Add_Exc_Msg
1188             (   G_PKG_NAME
1189             ,   'Source_Type'
1190             );
1191         END IF;
1192 
1193 
1194         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1195 
1196 END Source_Type;
1197 
1198 
1199 FUNCTION Source_Document ( p_source_document_id IN NUMBER )
1200 RETURN BOOLEAN
1201 IS
1202 l_dummy                       VARCHAR2(10);
1203 BEGIN
1204     IF p_source_document_id IS NULL OR
1205         p_source_document_id = FND_API.G_MISS_NUM
1206     THEN
1207 
1208         RETURN TRUE;
1209     END IF;
1210 
1211     --  SELECT  'VALID'
1212     --  INTO     l_dummy
1213     --  FROM     DB_TABLE
1214     --  WHERE    DB_COLUMN = p_source_document_id;
1215 
1216 
1217     RETURN TRUE;
1218 
1219 EXCEPTION
1220 
1221     WHEN NO_DATA_FOUND THEN
1222 
1223         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1224         THEN
1225 
1226 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_ID');
1227 
1228             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1229             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1230 				OE_Order_Util.Get_Attribute_Name('SOURCE_DOCUMENT_ID'));
1231             OE_MSG_PUB.Add;
1232 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1233 
1234         END IF;
1235 
1236 
1237         RETURN FALSE;
1238 
1239     WHEN OTHERS THEN
1240 
1241         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1242         THEN
1243             OE_MSG_PUB.Add_Exc_Msg
1244             (   G_PKG_NAME
1245             ,   'Source_Document'
1246             );
1247         END IF;
1248 
1249 
1250         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1251 
1252 END Source_Document;
1253 
1254 FUNCTION Orig_Sys_Document_Ref ( p_orig_sys_document_ref IN VARCHAR2)
1255 RETURN BOOLEAN
1256 IS
1257 l_dummy                       VARCHAR2(10);
1258 BEGIN
1259 
1260     IF p_orig_sys_document_ref IS NULL OR
1261         p_orig_sys_document_ref = FND_API.G_MISS_CHAR
1262     THEN
1263 
1264         RETURN TRUE;
1265     END IF;
1266 
1267     --  SELECT  'VALID'
1268     --  INTO     l_dummy
1269     --  FROM     DB_TABLE
1270     --  WHERE    DB_COLUMN = p_orig_sys_document_ref;
1271 
1272 
1273     RETURN TRUE;
1274 
1275 EXCEPTION
1276 
1277     WHEN NO_DATA_FOUND THEN
1278 
1279         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1280         THEN
1281 
1282             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORIG_SYS_DOCUMENT_REF');
1283 
1284             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1285             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1286 				OE_Order_Util.Get_Attribute_Name('orig_sys_document_ref'));
1287             OE_MSG_PUB.Add;
1288 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1289 
1290         END IF;
1291 
1292 
1293         RETURN FALSE;
1294 
1295     WHEN OTHERS THEN
1296 
1297         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1298         THEN
1299             OE_MSG_PUB.Add_Exc_Msg
1300             (   G_PKG_NAME
1301             ,   'Orig_Sys_Document_Ref'
1302             );
1303         END IF;
1304 
1305 
1306         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1307 
1308 END Orig_Sys_Document_Ref;
1309 
1310 FUNCTION Date_Ordered ( p_date_ordered IN DATE )
1311 RETURN BOOLEAN
1312 IS
1313 l_dummy                       VARCHAR2(10);
1314 BEGIN
1315     IF p_date_ordered IS NULL OR
1316         p_date_ordered = FND_API.G_MISS_DATE
1317     THEN
1318 
1319 
1320         RETURN TRUE;
1321     END IF;
1322 
1323     --  SELECT  'VALID'
1324     --  INTO     l_dummy
1325     --  FROM     DB_TABLE
1326     --  WHERE    DB_COLUMN = p_date_ordered;
1327 
1328 
1329     RETURN TRUE;
1330 
1331 EXCEPTION
1332 
1333     WHEN NO_DATA_FOUND THEN
1334 
1335         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1336         THEN
1337 
1338 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_ORDERED');
1339 
1340             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1341             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1342 				OE_Order_Util.Get_Attribute_Name('date_ordered'));
1343             OE_MSG_PUB.Add;
1344 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1345 
1346         END IF;
1347 
1348 
1349         RETURN FALSE;
1350 
1351     WHEN OTHERS THEN
1352 
1353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1354         THEN
1355             OE_MSG_PUB.Add_Exc_Msg
1356             (   G_PKG_NAME
1357             ,   'Date_Ordered'
1358             );
1359         END IF;
1360 
1361 
1362         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1363 
1364 END Date_Ordered;
1365 
1366 FUNCTION Date_Requested ( p_date_requested IN DATE )
1367 RETURN BOOLEAN
1368 IS
1369 l_dummy                       VARCHAR2(10);
1370 BEGIN
1371     IF p_date_requested IS NULL OR
1372         p_date_requested = FND_API.G_MISS_DATE
1373     THEN
1374 
1375         RETURN TRUE;
1376     END IF;
1377 
1378     --  SELECT  'VALID'
1379     --  INTO     l_dummy
1380     --  FROM     DB_TABLE
1381     --  WHERE    DB_COLUMN = p_date_requested;
1382 
1383 
1384     RETURN TRUE;
1385 
1386 EXCEPTION
1387 
1388     WHEN NO_DATA_FOUND THEN
1389 
1390         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1391         THEN
1392 
1393 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_REQUESTED');
1394 
1395             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1396             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1397 				OE_Order_Util.Get_Attribute_Name('date_requested'));
1398             OE_MSG_PUB.Add;
1399 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1400 
1401         END IF;
1402 
1403 
1404         RETURN FALSE;
1405 
1406     WHEN OTHERS THEN
1407 
1408         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1409         THEN
1410             OE_MSG_PUB.Add_Exc_Msg
1411             (   G_PKG_NAME
1412             ,   'Date_Requested'
1413             );
1414         END IF;
1415 
1416 
1417         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1418 
1419 END Date_Requested;
1420 
1421 FUNCTION Shipment_Priority ( p_shipment_priority_code IN VARCHAR2 )
1422 RETURN BOOLEAN
1423 IS
1424 l_dummy                       VARCHAR2(10);
1425 l_lookup_type      	      VARCHAR2(80) :='SHIPMENT_PRIORITY';
1426 BEGIN
1427 
1428     IF p_shipment_priority_code IS NULL OR
1429         p_shipment_priority_code = FND_API.G_MISS_CHAR
1430     THEN
1431 
1432         RETURN TRUE;
1433     END IF;
1434 
1435 
1436     SELECT  'VALID'
1437     INTO    l_dummy
1438     FROM    OE_LOOKUPS
1439     WHERE   LOOKUP_CODE = p_shipment_priority_code
1440     AND     LOOKUP_TYPE = l_lookup_type
1441     AND     ENABLED_FLAG = 'Y'
1442     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1443                         AND NVL(END_DATE_ACTIVE, SYSDATE);
1444 
1445 
1446 
1447     RETURN TRUE;
1448 
1449 EXCEPTION
1450 
1451     WHEN NO_DATA_FOUND THEN
1452 
1453         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1454         THEN
1455 
1456 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPMENT_PRIORITY_CODE');
1457 
1458             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1459             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1460 				OE_Order_Util.Get_Attribute_Name('shipment_priority_code'));
1461             OE_MSG_PUB.Add;
1462 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1463 
1464         END IF;
1465 
1466 
1467         RETURN FALSE;
1468 
1469     WHEN OTHERS THEN
1470 
1471         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1472         THEN
1473             OE_MSG_PUB.Add_Exc_Msg
1474             (   G_PKG_NAME
1475             ,   'Shipment_Priority'
1476             );
1477         END IF;
1478 
1479 
1480         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1481 
1482 END Shipment_Priority;
1483 
1484 FUNCTION Demand_Class ( p_demand_class_code IN VARCHAR2 )
1485 RETURN BOOLEAN
1486 IS
1487 l_dummy                       VARCHAR2(10);
1488 l_lookup_type      	      VARCHAR2(80) :='DEMAND_CLASS';
1489 BEGIN
1490     IF p_demand_class_code IS NULL OR
1491         p_demand_class_code = FND_API.G_MISS_CHAR
1492     THEN
1493 
1494         RETURN TRUE;
1495     END IF;
1496 
1497     SELECT  'VALID'
1498     INTO    l_dummy
1499     FROM    OE_FND_COMMON_LOOKUPS_V
1500     WHERE   LOOKUP_CODE = p_demand_class_code
1501     AND     LOOKUP_TYPE = l_lookup_type
1502     AND     APPLICATION_ID = 700
1503     AND     ENABLED_FLAG = 'Y'
1504     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1505                         AND NVL(END_DATE_ACTIVE, SYSDATE);
1506 
1507 
1508 
1509     RETURN TRUE;
1510 
1511 EXCEPTION
1512 
1513     WHEN NO_DATA_FOUND THEN
1514 
1515         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1516         THEN
1517 
1518 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_CLASS_CODE');
1519 
1520             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1521             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1522 				OE_Order_Util.Get_Attribute_Name('demand_class_code'));
1523             OE_MSG_PUB.Add;
1524 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1525 
1526         END IF;
1527 
1528 
1529         RETURN FALSE;
1530 
1531     WHEN OTHERS THEN
1532 
1533         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1534         THEN
1535             OE_MSG_PUB.Add_Exc_Msg
1536             (   G_PKG_NAME
1537             ,   'Demand_Class'
1538             );
1539         END IF;
1540 
1541 
1542         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1543 
1544 END Demand_Class;
1545 
1546 FUNCTION Price_List ( p_price_list_id IN NUMBER )
1547 RETURN BOOLEAN
1548 IS
1549 l_dummy                       VARCHAR2(10);
1550 l_price_list_rec    OE_ORDER_CACHE.Price_List_Rec_Type := OE_ORDER_CACHE.g_price_list_rec ; -- add for bug 4200055
1551 BEGIN
1552     IF p_price_list_id IS NULL OR
1553         p_price_list_id = FND_API.G_MISS_NUM
1554     THEN
1555 
1556         RETURN TRUE;
1557     END IF;
1558 
1559     -- added for bug 4200055
1560     IF ( OE_ORDER_CACHE.g_price_list_rec.price_list_id = FND_API.G_MISS_NUM
1561         OR OE_ORDER_CACHE.g_price_list_rec.price_list_id <> p_price_list_id ) THEN
1562                 l_price_list_rec :=  OE_ORDER_CACHE.Load_Price_List(p_price_list_id) ;
1563     END IF ;
1564 
1565     IF ( l_price_list_rec.price_list_id <> FND_API.G_MISS_NUM
1566       AND l_price_list_rec.price_list_id IS NOT NULL
1567       AND l_price_list_rec.price_list_id = p_price_list_id ) THEN
1568           if nvl(l_price_list_rec.active_flag , 'Y') = 'Y' then
1569                 --  Valid price list
1570                 RETURN TRUE ;
1571           else
1572                 RAISE NO_DATA_FOUND ;
1573           end if ;
1574      ELSE
1575         RAISE NO_DATA_FOUND ;
1576      END IF ;
1577 
1578     /*SELECT  'VALID'
1579     INTO    l_dummy
1580     FROM    qp_list_headers_vl
1581     WHERE   list_header_id = p_price_list_id
1582     and list_type_code in ('PRL', 'AGR') and
1583 	nvl(active_flag,'Y') ='Y';
1584 
1585     --  Valid price list
1586 
1587     RETURN TRUE;
1588 
1589    */
1590     -- end bug 4200055
1591 
1592 EXCEPTION
1593 
1594     WHEN NO_DATA_FOUND THEN
1595 
1596         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1597         THEN
1598 
1599 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_LIST_ID');
1600 
1601             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1602             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1603 				OE_Order_Util.Get_Attribute_Name('price_list_id'));
1604             OE_MSG_PUB.Add;
1605 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1606 
1607         END IF;
1608 
1609 
1610         RETURN FALSE;
1611 
1612     WHEN OTHERS THEN
1613 
1614         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1615         THEN
1616             OE_MSG_PUB.Add_Exc_Msg
1617             (   G_PKG_NAME
1618             ,   'Price_List'
1619             );
1620         END IF;
1621 
1622 
1623         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1624 
1625 END Price_List;
1626 
1627 
1628 FUNCTION Tax_Exempt ( p_tax_exempt_flag IN VARCHAR2 )
1629 RETURN BOOLEAN
1630 IS
1631 l_dummy                       VARCHAR2(10);
1632 -- EBTax Changes
1633 l_lookup_type      	      VARCHAR2(80) :='ZX_EXEMPTION_CONTROL';
1634 BEGIN
1635 
1636     IF p_tax_exempt_flag IS NULL OR
1637         p_tax_exempt_flag = FND_API.G_MISS_CHAR
1638     THEN
1639 
1640         RETURN TRUE;
1641     END IF;
1642 
1643     SELECT  'VALID'
1644     INTO    l_dummy
1645     FROM    fnd_lookups
1646     WHERE   LOOKUP_CODE = p_tax_exempt_flag
1647     AND     LOOKUP_TYPE = l_lookup_type
1648     AND     ENABLED_FLAG = 'Y'
1649     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1650                         AND NVL(END_DATE_ACTIVE, SYSDATE);
1651 
1652 
1653     RETURN TRUE;
1654 
1655 EXCEPTION
1656 
1657     WHEN NO_DATA_FOUND THEN
1658 
1659         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1660         THEN
1661 
1662 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_FLAG');
1663 
1664             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1665             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1666 				OE_Order_Util.Get_Attribute_Name('tax_exempt_flag'));
1667             OE_MSG_PUB.Add;
1668 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1669 
1670         END IF;
1671 
1672 
1673         RETURN FALSE;
1674 
1675     WHEN OTHERS THEN
1676 
1677         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1678         THEN
1679             OE_MSG_PUB.Add_Exc_Msg
1680             (   G_PKG_NAME
1681             ,   'Tax_Exempt'
1682             );
1683         END IF;
1684 
1685 
1686         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1687 
1688 END Tax_Exempt;
1689 
1690 
1691 FUNCTION Tax_Exempt_Number ( p_tax_exempt_number IN VARCHAR2 )
1692 RETURN BOOLEAN
1693 IS
1694 l_dummy                       VARCHAR2(10);
1695 BEGIN
1696 
1697     IF p_tax_exempt_number IS NULL OR
1698         p_tax_exempt_number = FND_API.G_MISS_CHAR
1699     THEN
1700 
1701         RETURN TRUE;
1702     END IF;
1703 
1704     --  Valid Tax Exempt Number
1705 
1706 
1707 
1708     RETURN TRUE;
1709 
1710 EXCEPTION
1711 
1712     WHEN NO_DATA_FOUND THEN
1713 
1714         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1715         THEN
1716 
1717 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_NUMBER');
1718 
1719             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1720             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1721 				OE_Order_Util.Get_Attribute_Name('tax_exempt_number'));
1722             OE_MSG_PUB.Add;
1723 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1724 
1725         END IF;
1726 
1727 
1728         RETURN FALSE;
1729 
1730     WHEN OTHERS THEN
1731 
1732         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1733         THEN
1734             OE_MSG_PUB.Add_Exc_Msg
1735             (   G_PKG_NAME
1736             ,   'Tax_Exempt_Number'
1737             );
1738         END IF;
1739 
1740 
1741         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1742 
1743 END Tax_Exempt_Number;
1744 
1745 FUNCTION Tax_Exempt_Reason ( p_tax_exempt_reason_code IN VARCHAR2 )
1746 RETURN BOOLEAN
1747 IS
1748 l_dummy                       VARCHAR2(10);
1749 -- EBTax Changes
1750 l_lookup_type      	      VARCHAR2(80) :='ZX_EXEMPTION_REASON_CODE';
1751 BEGIN
1752 
1753     IF p_tax_exempt_reason_code IS NULL OR
1754         p_tax_exempt_reason_code = FND_API.G_MISS_CHAR
1755     THEN
1756 
1757         RETURN TRUE;
1758     END IF;
1759 
1760     SELECT  'VALID'
1761     INTO    l_dummy
1762     FROM    fnd_lookups
1763     WHERE   LOOKUP_CODE = p_tax_exempt_reason_code
1764     AND     LOOKUP_TYPE = l_lookup_type
1765     AND     ENABLED_FLAG = 'Y'
1766     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
1767                         AND NVL(END_DATE_ACTIVE, SYSDATE);
1768 
1769 
1770     RETURN TRUE;
1771 
1772 EXCEPTION
1773 
1774     WHEN NO_DATA_FOUND THEN
1775 
1776         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1777         THEN
1778 
1779 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_EXEMPT_REASON_CODE');
1780 
1781             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1782             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1783 				OE_Order_Util.Get_Attribute_Name('tax_exempt_reason_code'));
1784             OE_MSG_PUB.Add;
1785 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1786 
1787         END IF;
1788 
1789 
1790 
1791         RETURN FALSE;
1792 
1793     WHEN OTHERS THEN
1794 
1795         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1796         THEN
1797             OE_MSG_PUB.Add_Exc_Msg
1798             (   G_PKG_NAME
1799             ,   'Tax_Exempt_Reason'
1800             );
1801         END IF;
1802 
1803 
1804 
1805         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1806 
1807 END Tax_Exempt_Reason;
1808 
1809 FUNCTION Conversion_Rate ( p_conversion_rate IN NUMBER )
1810 RETURN BOOLEAN
1811 IS
1812 l_dummy                       VARCHAR2(10);
1813 BEGIN
1814 
1815     IF p_conversion_rate IS NULL OR
1816         p_conversion_rate = FND_API.G_MISS_NUM
1817     THEN
1818 
1819         RETURN TRUE;
1820     END IF;
1821 
1822     --  SELECT  'VALID'
1823     --  INTO     l_dummy
1824     --  FROM     DB_TABLE
1825     --  WHERE    DB_COLUMN = p_conversion_rate;
1826 
1827 
1828     RETURN TRUE;
1829 
1830 EXCEPTION
1831 
1832     WHEN NO_DATA_FOUND THEN
1833 
1834         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1835         THEN
1836 
1837 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_RATE');
1838 
1839             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1840             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1841 				OE_Order_Util.Get_Attribute_Name('conversion_rate'));
1842             OE_MSG_PUB.Add;
1843 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1844 
1845         END IF;
1846 
1847 
1848         RETURN FALSE;
1849 
1850     WHEN OTHERS THEN
1851 
1852         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1853         THEN
1854             OE_MSG_PUB.Add_Exc_Msg
1855             (   G_PKG_NAME
1856             ,   'Conversion_Rate'
1857             );
1858         END IF;
1859 
1860 
1861         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1862 
1863 END Conversion_Rate;
1864 
1865 FUNCTION CUSTOMER_PREFERENCE_SET ( p_CUSTOMER_PREFERENCE_SET_CODE IN VARCHAR2 )
1866 RETURN BOOLEAN
1867 IS
1868 l_dummy                       VARCHAR2(10);
1869 BEGIN
1870 
1871     IF p_CUSTOMER_PREFERENCE_SET_CODE IS NULL OR
1872         p_CUSTOMER_PREFERENCE_SET_CODE = FND_API.G_MISS_CHAR
1873     THEN
1874 
1875         RETURN TRUE;
1876     END IF;
1877 
1878 
1879     RETURN TRUE;
1880 
1881 EXCEPTION
1882 
1883     WHEN NO_DATA_FOUND THEN
1884 
1885         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1886         THEN
1887 
1888 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_PREFERENCE_SET_CODE');
1889 
1890             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1891             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1892 				OE_Order_Util.Get_Attribute_Name('CUSTOMER_PREFERENCE_SET_CODE'));
1893             OE_MSG_PUB.Add;
1894 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1895 
1896         END IF;
1897 
1898 
1899         RETURN FALSE;
1900 
1901     WHEN OTHERS THEN
1902 
1903         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1904         THEN
1905             OE_MSG_PUB.Add_Exc_Msg
1906             (   G_PKG_NAME
1907             ,   'CUSTOMER_PREFERENCE_SET'
1908             );
1909         END IF;
1910 
1911         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1912 
1913 END CUSTOMER_PREFERENCE_SET;
1914 
1915 FUNCTION Conversion_Type ( p_conversion_type_code IN VARCHAR2 )
1916 RETURN BOOLEAN
1917 IS
1918 l_dummy                       VARCHAR2(10);
1919 BEGIN
1920 
1921     IF p_conversion_type_code IS NULL OR
1922         p_conversion_type_code = FND_API.G_MISS_CHAR
1923     THEN
1924 
1925         RETURN TRUE;
1926     END IF;
1927 
1928     SELECT  'VALID'
1929     INTO    l_dummy
1930     FROM    OE_GL_DAILY_CONVERSION_TYPES_V
1931     WHERE   CONVERSION_TYPE = p_conversion_type_code;
1932 
1933 
1934     RETURN TRUE;
1935 
1936 EXCEPTION
1937 
1938     WHEN NO_DATA_FOUND THEN
1939 
1940         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1941         THEN
1942 
1943 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_TYPE_CODE');
1944 
1945             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
1946             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
1947 				OE_Order_Util.Get_Attribute_Name('conversion_type_code'));
1948             OE_MSG_PUB.Add;
1949 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
1950 
1951         END IF;
1952 
1953 
1954         RETURN FALSE;
1955 
1956     WHEN OTHERS THEN
1957 
1958         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1959         THEN
1960             OE_MSG_PUB.Add_Exc_Msg
1961             (   G_PKG_NAME
1962             ,   'Conversion_Type'
1963             );
1964         END IF;
1965 
1966         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1967 
1968 END Conversion_Type;
1969 
1970 FUNCTION Conversion_Rate_Date ( p_conversion_rate_date IN DATE )
1971 RETURN BOOLEAN
1972 IS
1973 l_dummy                       VARCHAR2(10);
1974 BEGIN
1975     IF p_conversion_rate_date IS NULL OR
1976         p_conversion_rate_date = FND_API.G_MISS_DATE
1977     THEN
1978 
1979         RETURN TRUE;
1980     END IF;
1981 
1982     --  SELECT  'VALID'
1983     --  INTO     l_dummy
1984     --  FROM     DB_TABLE
1985     --  WHERE    DB_COLUMN = p_conversion_rate_date;
1986 
1987 
1988     RETURN TRUE;
1989 
1990 EXCEPTION
1991 
1992     WHEN NO_DATA_FOUND THEN
1993 
1994         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1995         THEN
1996 
1997 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_RATE_DATE');
1998 
1999             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2000             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2001 				OE_Order_Util.Get_Attribute_Name('conversion_rate_date'));
2002             OE_MSG_PUB.Add;
2003 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2004 
2005         END IF;
2006 
2007 
2008         RETURN FALSE;
2009 
2010     WHEN OTHERS THEN
2011 
2012         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2013         THEN
2014             OE_MSG_PUB.Add_Exc_Msg
2015             (   G_PKG_NAME
2016             ,   'Conversion_Rate_Date'
2017             );
2018         END IF;
2019 
2020 
2021         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2022 
2023 END Conversion_Rate_Date;
2024 
2025 FUNCTION Partial_Shipments_Allowed ( p_partial_shipments_allowed IN VARCHAR2 )
2026 RETURN BOOLEAN
2027 IS
2028 l_dummy                       VARCHAR2(10);
2029 l_lookup_type      	      VARCHAR2(80) :='YES_NO';
2030 BEGIN
2031 
2032     IF p_partial_shipments_allowed IS NULL OR
2033         p_partial_shipments_allowed = FND_API.G_MISS_CHAR
2034     THEN
2035 
2036         RETURN TRUE;
2037     END IF;
2038 
2039     SELECT  'VALID'
2040     INTO     l_dummy
2041     FROM     OE_FND_COMMON_LOOKUPS_V
2042     WHERE    LOOKUP_CODE = p_partial_shipments_allowed
2043     AND      LOOKUP_TYPE = l_lookup_type
2044     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
2045                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
2046 
2047 
2048 
2049     RETURN TRUE;
2050 
2051 EXCEPTION
2052 
2053     WHEN NO_DATA_FOUND THEN
2054 
2055         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2056         THEN
2057 
2058 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARTIAL_SHIPMENTS_ALLOWED');
2059 
2060             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2061             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2062 				OE_Order_Util.Get_Attribute_Name('partial_shipments_allowed'));
2063             OE_MSG_PUB.Add;
2064 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2065 
2066         END IF;
2067 
2068 
2069         RETURN FALSE;
2070 
2071     WHEN OTHERS THEN
2072 
2073         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2074         THEN
2075             OE_MSG_PUB.Add_Exc_Msg
2076             (   G_PKG_NAME
2077             ,   'Partial_Shipments_Allowed'
2078             );
2079         END IF;
2080 
2081 
2082         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2083 
2084 END Partial_Shipments_Allowed;
2085 
2086 
2087 FUNCTION Ship_Tolerance_Above ( p_ship_tolerance_above IN NUMBER )
2088 RETURN BOOLEAN
2089 IS
2090 l_dummy                       VARCHAR2(10);
2091 BEGIN
2092     IF p_ship_tolerance_above IS NULL OR
2093         p_ship_tolerance_above = FND_API.G_MISS_NUM
2094     THEN
2095 
2096         RETURN TRUE;
2097     END IF;
2098 
2099     --  SELECT  'VALID'
2100     --  INTO     l_dummy
2101     --  FROM     DB_TABLE
2102     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2103 
2104 
2105     RETURN TRUE;
2106 
2107 EXCEPTION
2108 
2109     WHEN NO_DATA_FOUND THEN
2110 
2111         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2112         THEN
2113 
2114 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TOLERANCE_ABOVE');
2115 
2116             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2117             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2118 				OE_Order_Util.Get_Attribute_Name('ship_tolerance_above'));
2119             OE_MSG_PUB.Add;
2120 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2121 
2122         END IF;
2123 
2124 
2125         RETURN FALSE;
2126 
2127     WHEN OTHERS THEN
2128 
2129         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2130         THEN
2131             OE_MSG_PUB.Add_Exc_Msg
2132             (   G_PKG_NAME
2133             ,   'Ship_Tolerance_Above'
2134             );
2135         END IF;
2136 
2137 
2138         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2139 
2140 END Ship_Tolerance_Above;
2141 
2142 FUNCTION Ship_Tolerance_Below ( p_ship_tolerance_below IN NUMBER )
2143 RETURN BOOLEAN
2144 IS
2145 l_dummy                       VARCHAR2(10);
2146 BEGIN
2147 
2148     IF p_ship_tolerance_below IS NULL OR
2149         p_ship_tolerance_below = FND_API.G_MISS_NUM
2150     THEN
2151 
2152         RETURN TRUE;
2153     END IF;
2154 
2155     --  SELECT  'VALID'
2156     --  INTO     l_dummy
2157     --  FROM     DB_TABLE
2158     --  WHERE    DB_COLUMN = p_ship_tolerance_below;
2159 
2160 
2161     RETURN TRUE;
2162 
2163 EXCEPTION
2164 
2165     WHEN NO_DATA_FOUND THEN
2166 
2167         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2168         THEN
2169 
2170 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TOLERANCE_BELOW');
2171 
2172             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2173             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2174 				OE_Order_Util.Get_Attribute_Name('ship_tolerance_below'));
2175             OE_MSG_PUB.Add;
2176 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2177 
2178         END IF;
2179 
2180 
2181         RETURN FALSE;
2182 
2183     WHEN OTHERS THEN
2184 
2185         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2186         THEN
2187             OE_MSG_PUB.Add_Exc_Msg
2188             (   G_PKG_NAME
2189             ,   'Ship_Tolerance_Below'
2190             );
2191         END IF;
2192 
2193 
2194         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2195 
2196 END Ship_Tolerance_Below;
2197 
2198 FUNCTION Shippable ( p_shippable_flag IN VARCHAR2 )
2199 RETURN BOOLEAN
2200 IS
2201 l_dummy                       VARCHAR2(10);
2202 BEGIN
2203 
2204     IF p_shippable_flag IS NULL OR
2205         p_shippable_flag = FND_API.G_MISS_CHAR
2206     THEN
2207 
2208         RETURN TRUE;
2209     END IF;
2210 
2211     IF p_shippable_flag NOT IN ('Y','N') THEN
2212 		RAISE NO_DATA_FOUND;
2213     END IF;
2214 
2215     --  SELECT  'VALID'
2216     --  INTO     l_dummy
2217     --  FROM     DB_TABLE
2218     --  WHERE    DB_COLUMN = p_shippable_flag;
2219 
2220 
2221     RETURN TRUE;
2222 
2223 EXCEPTION
2224 
2225     WHEN NO_DATA_FOUND THEN
2226 
2227         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2228         THEN
2229 
2230 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPABLE_FLAG');
2231 
2232             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2233             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2234 				OE_Order_Util.Get_Attribute_Name('shippable_flag'));
2235             OE_MSG_PUB.Add;
2236 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2237 
2238         END IF;
2239 
2240 
2241         RETURN FALSE;
2242 
2243     WHEN OTHERS THEN
2244 
2245         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2246         THEN
2247             OE_MSG_PUB.Add_Exc_Msg
2248             (   G_PKG_NAME
2249             ,   'Shippable'
2250             );
2251         END IF;
2252 
2253 
2254         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2255 
2256 END Shippable;
2257 
2258 FUNCTION Shipping_Interfaced ( p_shipping_interfaced_flag IN VARCHAR2 )
2259 RETURN BOOLEAN
2260 IS
2261 l_dummy                       VARCHAR2(10);
2262 BEGIN
2263 
2264     IF p_shipping_interfaced_flag IS NULL OR
2265         p_shipping_interfaced_flag = FND_API.G_MISS_CHAR
2266     THEN
2267 
2268         RETURN TRUE;
2269     END IF;
2270 
2271     IF p_shipping_interfaced_flag NOT IN ('Y','N') THEN
2272 		RAISE NO_DATA_FOUND;
2273     END IF;
2274 
2275     --  SELECT  'VALID'
2276     --  INTO     l_dummy
2277     --  FROM     DB_TABLE
2278     --  WHERE    DB_COLUMN = p_shipping_interfaced_flag;
2279 
2280 
2281     RETURN TRUE;
2282 
2283 EXCEPTION
2284 
2285     WHEN NO_DATA_FOUND THEN
2286 
2287         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2288         THEN
2289 
2290 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_INTERFACED_FLAG');
2291 
2292             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2293             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2294 				OE_Order_Util.Get_Attribute_Name('shipping_interfaced_flag'));
2295             OE_MSG_PUB.Add;
2296 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2297 
2298         END IF;
2299 
2300 
2301         RETURN FALSE;
2302 
2303     WHEN OTHERS THEN
2304 
2305         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2306         THEN
2307             OE_MSG_PUB.Add_Exc_Msg
2308             (   G_PKG_NAME
2309             ,   'Shipping_Interfaced'
2310             );
2311         END IF;
2312 
2313 
2314         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2315 
2316 END Shipping_Interfaced;
2317 
2318 FUNCTION Shipping_Instructions ( p_shipping_instructions IN VARCHAR2 )
2319 RETURN BOOLEAN
2320 IS
2321 l_dummy                       VARCHAR2(10);
2322 BEGIN
2323 
2324     IF p_shipping_instructions IS NULL OR
2325         p_shipping_instructions = FND_API.G_MISS_CHAR
2326     THEN
2327 
2328         RETURN TRUE;
2329     END IF;
2330 
2331     --  SELECT  'VALID'
2332     --  INTO     l_dummy
2333     --  FROM     DB_TABLE
2334     --  WHERE    DB_COLUMN = p_shipping_instructions;
2335 
2336 
2337     RETURN TRUE;
2338 
2339 EXCEPTION
2340 
2341     WHEN NO_DATA_FOUND THEN
2342 
2343         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2344         THEN
2345 
2346 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_INSTRUCTIONS');
2347 
2348             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2349             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2350 				OE_Order_Util.Get_Attribute_Name('shipping_instructions'));
2351             OE_MSG_PUB.Add;
2352 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2353 
2354         END IF;
2355 
2356 
2357         RETURN FALSE;
2358 
2359     WHEN OTHERS THEN
2360 
2361         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2362         THEN
2363             OE_MSG_PUB.Add_Exc_Msg
2364             (   G_PKG_NAME
2365             ,   'Shipping_Instructions'
2366             );
2367         END IF;
2368 
2369 
2370         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2371 
2372 END Shipping_Instructions;
2373 
2374 
2375 FUNCTION Packing_Instructions ( p_packing_instructions IN VARCHAR2 )
2376 RETURN BOOLEAN
2377 IS
2378 l_dummy                       VARCHAR2(10);
2379 BEGIN
2380 
2381     IF p_packing_instructions IS NULL OR
2382         p_packing_instructions = FND_API.G_MISS_CHAR
2383     THEN
2384 
2385         RETURN TRUE;
2386     END IF;
2387 
2388     --  SELECT  'VALID'
2389     --  INTO     l_dummy
2390     --  FROM     DB_TABLE
2391     --  WHERE    DB_COLUMN = p_packing_instructions;
2392 
2393 
2394     RETURN TRUE;
2395 
2396 EXCEPTION
2397 
2398     WHEN NO_DATA_FOUND THEN
2399 
2400         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2401         THEN
2402 
2403 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAQCKING_INSTRUCTIONS');
2404 
2405             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2406             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2407 				OE_Order_Util.Get_Attribute_Name('packing_instructions'));
2408             OE_MSG_PUB.Add;
2409 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2410 
2411         END IF;
2412 
2413 
2414         RETURN FALSE;
2415 
2416     WHEN OTHERS THEN
2417 
2418         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2419         THEN
2420             OE_MSG_PUB.Add_Exc_Msg
2421             (   G_PKG_NAME
2422             ,   'Packing_Instructions'
2423             );
2424         END IF;
2425 
2426 
2427         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2428 
2429 END Packing_Instructions;
2430 
2431 
2432 
2433 FUNCTION Under_Shipment_Tolerance ( p_under_shipment_tolerance IN NUMBER )
2434 RETURN BOOLEAN
2435 IS
2436 l_dummy                       VARCHAR2(10);
2437 BEGIN
2438     IF p_under_shipment_tolerance IS NULL OR
2439         p_under_shipment_tolerance = FND_API.G_MISS_NUM
2440     THEN
2441 
2442         RETURN TRUE;
2443     END IF;
2444 
2445     --  SELECT  'VALID'
2446     --  INTO     l_dummy
2447     --  FROM     DB_TABLE
2448     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2449 
2450 
2451     RETURN TRUE;
2452 
2453 EXCEPTION
2454 
2455     WHEN NO_DATA_FOUND THEN
2456 
2457         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2458         THEN
2459 
2460 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNDER_SHIPMENT_TOLERANCE');
2461 
2462             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2463             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2464 				OE_Order_Util.Get_Attribute_Name('under_shipment_tolerance'));
2465             OE_MSG_PUB.Add;
2466 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2467 
2468         END IF;
2469 
2470 
2471         RETURN FALSE;
2472 
2473     WHEN OTHERS THEN
2474 
2475         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2476         THEN
2477             OE_MSG_PUB.Add_Exc_Msg
2478             (   G_PKG_NAME
2479             ,   'under_shipment_tolerance'
2480             );
2481         END IF;
2482 
2483 
2484         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2485 
2486 END Under_Shipment_Tolerance;
2487 
2488 FUNCTION Over_Shipment_Tolerance ( p_over_shipment_tolerance IN NUMBER )
2489 RETURN BOOLEAN
2490 IS
2491 l_dummy                       VARCHAR2(10);
2492 BEGIN
2493     IF p_over_shipment_tolerance IS NULL OR
2494         p_over_shipment_tolerance = FND_API.G_MISS_NUM
2495     THEN
2496 
2497         RETURN TRUE;
2498     END IF;
2499 
2500     --  SELECT  'VALID'
2501     --  INTO     l_dummy
2502     --  FROM     DB_TABLE
2503     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2504 
2505 
2506     RETURN TRUE;
2507 
2508 EXCEPTION
2509 
2510     WHEN NO_DATA_FOUND THEN
2511 
2512         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2513         THEN
2514 
2515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIPMENT_TOLERANCE');
2516 
2517             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2518             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2519 				OE_Order_Util.Get_Attribute_Name('over_shipment_tolerance'));
2520             OE_MSG_PUB.Add;
2521 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2522 
2523         END IF;
2524 
2525 
2526         RETURN FALSE;
2527 
2528     WHEN OTHERS THEN
2529 
2530         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2531         THEN
2532             OE_MSG_PUB.Add_Exc_Msg
2533             (   G_PKG_NAME
2534             ,   'over_shipment_tolerance'
2535             );
2536         END IF;
2537 
2538 
2539         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2540 
2541 END Over_Shipment_Tolerance;
2542 
2543 FUNCTION Over_Return_Tolerance ( p_over_return_tolerance IN NUMBER )
2544 RETURN BOOLEAN
2545 IS
2546 l_dummy                       VARCHAR2(10);
2547 BEGIN
2548     IF p_over_return_tolerance IS NULL OR
2549         p_over_return_tolerance = FND_API.G_MISS_NUM
2550     THEN
2551 
2552         RETURN TRUE;
2553     END IF;
2554 
2555     --  SELECT  'VALID'
2556     --  INTO     l_dummy
2557     --  FROM     DB_TABLE
2558     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2559 
2560 
2561     RETURN TRUE;
2562 
2563 EXCEPTION
2564 
2565     WHEN NO_DATA_FOUND THEN
2566 
2567         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2568         THEN
2569 
2570 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_RETURN_TOLERANCE');
2571 
2572             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2573             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2574 				OE_Order_Util.Get_Attribute_Name('over_return_tolerance'));
2575             OE_MSG_PUB.Add;
2576 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2577 
2578         END IF;
2579 
2580 
2581         RETURN FALSE;
2582 
2583     WHEN OTHERS THEN
2584 
2585         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2586         THEN
2587             OE_MSG_PUB.Add_Exc_Msg
2588             (   G_PKG_NAME
2589             ,   'over_return_tolerance'
2590             );
2591         END IF;
2592 
2593 
2594         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2595 
2596 END Over_Return_Tolerance;
2597 
2598 FUNCTION Under_Return_Tolerance ( p_under_return_tolerance IN NUMBER )
2599 RETURN BOOLEAN
2600 IS
2601 l_dummy                       VARCHAR2(10);
2602 BEGIN
2603     IF p_under_return_tolerance IS NULL OR
2604         p_under_return_tolerance = FND_API.G_MISS_NUM
2605     THEN
2606 
2607         RETURN TRUE;
2608     END IF;
2609 
2610     --  SELECT  'VALID'
2611     --  INTO     l_dummy
2612     --  FROM     DB_TABLE
2613     --  WHERE    DB_COLUMN = p_ship_tolerance_above;
2614 
2615 
2616     RETURN TRUE;
2617 
2618 EXCEPTION
2619 
2620     WHEN NO_DATA_FOUND THEN
2621 
2622         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2623         THEN
2624 
2625 	    OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNDER_RETURN_TOLERANCE');
2626 
2627             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2628             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2629 				OE_Order_Util.Get_Attribute_Name('under_return_tolerance'));
2630             OE_MSG_PUB.Add;
2631 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2632 
2633         END IF;
2634 
2635 
2636         RETURN FALSE;
2637 
2638     WHEN OTHERS THEN
2639 
2640         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2641         THEN
2642             OE_MSG_PUB.Add_Exc_Msg
2643             (   G_PKG_NAME
2644             ,   'under_return_tolerance'
2645             );
2646         END IF;
2647 
2648 
2649         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2650 
2651 END Under_Return_Tolerance;
2652 
2653 FUNCTION Transactional_Curr ( p_transactional_curr_code IN VARCHAR2 )
2654 RETURN BOOLEAN
2655 IS
2656 l_dummy                       VARCHAR2(10);
2657 BEGIN
2658 
2659     IF p_transactional_curr_code IS NULL OR
2660         p_transactional_curr_code = FND_API.G_MISS_CHAR
2661     THEN
2662 
2663         RETURN TRUE;
2664     END IF;
2665 
2666     SELECT  'VALID'
2667     INTO    l_dummy
2668     FROM    OE_FND_CURRENCIES_V
2669     WHERE   CURRENCY_CODE = p_transactional_curr_code
2670     AND     CURRENCY_FLAG = 'Y'
2671     AND     ENABLED_FLAG = 'Y'
2672     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2673                         AND NVL(END_DATE_ACTIVE, SYSDATE);
2674 
2675     --  Valid Currency.
2676 
2677 
2678 
2679     RETURN TRUE;
2680 
2681 EXCEPTION
2682 
2683     WHEN NO_DATA_FOUND THEN
2684 
2685         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2686         THEN
2687 
2688 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRANSACTIONAL_CURR_CODE');
2689 
2690             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2691             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2692 				OE_Order_Util.Get_Attribute_Name('transactional_curr_code'));
2693             OE_MSG_PUB.Add;
2694 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2695 
2696         END IF;
2697 
2698 
2699         RETURN FALSE;
2700 
2701     WHEN OTHERS THEN
2702 
2703         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2704         THEN
2705             OE_MSG_PUB.Add_Exc_Msg
2706             (   G_PKG_NAME
2707             ,   'Transactional_Curr'
2708             );
2709         END IF;
2710 
2711 
2712         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2713 
2714 END Transactional_Curr;
2715 
2716 
2717 FUNCTION Agreement ( p_agreement_id IN NUMBER )
2718 RETURN BOOLEAN
2719 IS
2720 l_dummy                       VARCHAR2(10);
2721 BEGIN
2722 
2723 
2724     IF p_agreement_id IS NULL OR
2725         p_agreement_id = FND_API.G_MISS_NUM
2726     THEN
2727 
2728         RETURN TRUE;
2729     END IF;
2730 
2731     SELECT  'VALID'
2732     INTO    l_dummy
2733     FROM    OE_AGREEMENTS_B  A
2734     WHERE   A.AGREEMENT_ID = p_agreement_id;
2735 
2736 /*    AND     SYSDATE     BETWEEN NVL(A.START_DATE_ACTIVE, SYSDATE)
2737                         AND NVL(A.END_DATE_ACTIVE, SYSDATE); */
2738 
2739 
2740     RETURN TRUE;
2741 
2742 EXCEPTION
2743 
2744     WHEN NO_DATA_FOUND THEN
2745 
2746         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2747         THEN
2748 
2749 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AGREEMENT_ID');
2750 
2751             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2752             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2753 				OE_Order_Util.Get_Attribute_Name('agreement_id'));
2754             OE_MSG_PUB.Add;
2755 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2756 
2757         END IF;
2758 
2759 
2760 
2761         RETURN FALSE;
2762 
2763     WHEN OTHERS THEN
2764 
2765         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2766         THEN
2767             OE_MSG_PUB.Add_Exc_Msg
2768             (   G_PKG_NAME
2769             ,   'Agreement'
2770             );
2771         END IF;
2772 
2773 
2774         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2775 
2776 END Agreement;
2777 
2778 FUNCTION Tax_Point ( p_tax_point_code IN VARCHAR2 )
2779 RETURN BOOLEAN
2780 IS
2781 l_dummy                       VARCHAR2(10);
2782 l_lookup_type      	      VARCHAR2(80) :='TAX_POINT';
2783 BEGIN
2784 
2785 
2786     IF p_tax_point_code IS NULL OR
2787         p_tax_point_code = FND_API.G_MISS_CHAR
2788     THEN
2789 
2790         RETURN TRUE;
2791     END IF;
2792 
2793     SELECT  'VALID'
2794     INTO    l_dummy
2795     FROM    OE_LOOKUPS
2796     WHERE   LOOKUP_CODE = p_tax_point_code
2797     AND     LOOKUP_TYPE = l_lookup_type
2798     AND     ENABLED_FLAG = 'Y'
2799     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2800                         AND NVL(END_DATE_ACTIVE, SYSDATE);
2801 
2802 
2803     RETURN TRUE;
2804 
2805 EXCEPTION
2806 
2807     WHEN NO_DATA_FOUND THEN
2808 
2809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2810         THEN
2811 
2812 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_POINT_CODE');
2813 
2814             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2815             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2816 				OE_Order_Util.Get_Attribute_Name('tax_point_code'));
2817             OE_MSG_PUB.Add;
2818 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2819 
2820         END IF;
2821 
2822 
2823         RETURN FALSE;
2824 
2825     WHEN OTHERS THEN
2826 
2827         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2828         THEN
2829             OE_MSG_PUB.Add_Exc_Msg
2830             (   G_PKG_NAME
2831             ,   'Tax_Point'
2832             );
2833         END IF;
2834 
2835 
2836         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837 
2838 END Tax_Point;
2839 
2840 FUNCTION Cust_Po_Number ( p_cust_po_number IN VARCHAR2 )
2841 RETURN BOOLEAN
2842 IS
2843 l_dummy                       VARCHAR2(10);
2844 BEGIN
2845 
2846 
2847     IF p_cust_po_number IS NULL OR
2848         p_cust_po_number = FND_API.G_MISS_CHAR
2849     THEN
2850 
2851         RETURN TRUE;
2852     END IF;
2853 
2854     --  SELECT  'VALID'
2855     --  INTO     l_dummy
2856     --  FROM     DB_TABLE
2857     --  WHERE    DB_COLUMN = p_cust_po_number;
2858 
2859 
2860     RETURN TRUE;
2861 
2862 EXCEPTION
2863 
2864     WHEN NO_DATA_FOUND THEN
2865 
2866         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2867         THEN
2868 
2869 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PO_NUMBER');
2870 
2871             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2872             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2873 				OE_Order_Util.Get_Attribute_Name('cust_po_number'));
2874             OE_MSG_PUB.Add;
2875 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2876 
2877         END IF;
2878 
2879 
2880         RETURN FALSE;
2881 
2882     WHEN OTHERS THEN
2883 
2884         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2885         THEN
2886             OE_MSG_PUB.Add_Exc_Msg
2887             (   G_PKG_NAME
2888             ,   'Cust_Po_Number'
2889             );
2890         END IF;
2891 
2892 
2893         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2894 
2895 END Cust_Po_Number;
2896 
2897 FUNCTION Invoicing_Rule ( p_invoicing_rule_id IN NUMBER )
2898 RETURN BOOLEAN
2899 IS
2900 l_dummy                       VARCHAR2(10);
2901 BEGIN
2902 
2903 
2904     IF p_invoicing_rule_id IS NULL OR
2905         p_invoicing_rule_id = FND_API.G_MISS_NUM
2906     THEN
2907 
2908         RETURN TRUE;
2909     END IF;
2910 
2911     SELECT  'VALID'
2912     INTO    l_dummy
2913     FROM    OE_RA_RULES_V
2914     WHERE   RULE_ID = p_invoicing_rule_id
2915     AND     STATUS = 'A'
2916     AND     TYPE = 'I';
2917 
2918 
2919 
2920     RETURN TRUE;
2921 
2922 EXCEPTION
2923 
2924     WHEN NO_DATA_FOUND THEN
2925 
2926         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2927         THEN
2928 
2929 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICING_RULE_ID');
2930 
2931             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
2932             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
2933 				OE_Order_Util.Get_Attribute_Name('invoicing_rule_id'));
2934             OE_MSG_PUB.Add;
2935 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
2936 
2937         END IF;
2938 
2939 
2940         RETURN FALSE;
2941 
2942     WHEN OTHERS THEN
2943 
2944         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2945         THEN
2946             OE_MSG_PUB.Add_Exc_Msg
2947             (   G_PKG_NAME
2948             ,   'Invoicing_Rule'
2949             );
2950         END IF;
2951 
2952 
2953         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2954 
2955 END Invoicing_Rule;
2956 
2957 
2958 FUNCTION Payment_Term ( p_payment_term_id IN NUMBER )
2959 RETURN BOOLEAN
2960 IS
2961 l_dummy                       VARCHAR2(10);
2962 l_payment_term_rec            OE_ORDER_CACHE.Payment_Term_Rec_Type ; -- add for bug 4200055
2963 BEGIN
2964 
2965 
2966     IF p_payment_term_id IS NULL OR
2967         p_payment_term_id = FND_API.G_MISS_NUM
2968     THEN
2969 
2970         RETURN TRUE;
2971     END IF;
2972 
2973     -- added for bug 4200055
2974     l_payment_term_rec := OE_Order_Cache.Load_Payment_Term(p_payment_term_id);
2975     IF ( l_payment_term_rec.term_id <> FND_API.G_MISS_NUM AND
2976        l_payment_term_rec.term_id is not null AND
2977        l_payment_term_rec.term_id = p_payment_term_id ) THEN
2978 
2979          if ( trunc(nvl(l_payment_term_rec.start_date_active,sysdate)) <= trunc(sysdate)
2980           and trunc(nvl(l_payment_term_rec.end_date_active,sysdate)) >= trunc(sysdate))
2981          then
2982                 RETURN TRUE ;
2983          else
2984                 RAISE NO_DATA_FOUND ;
2985          end if ;
2986     ELSE
2987                 RAISE NO_DATA_FOUND ;
2988     END IF ;
2989 
2990     /*SELECT  'VALID'
2991     INTO    l_dummy
2992     FROM    OE_RA_TERMS_V
2993     WHERE   TERM_ID = p_payment_term_id
2994     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
2995                         AND NVL(END_DATE_ACTIVE, SYSDATE);
2996 
2997     RETURN TRUE;
2998     */
2999     --end bug 4200055
3000 
3001 EXCEPTION
3002 
3003     WHEN NO_DATA_FOUND THEN
3004 
3005         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3006         THEN
3007 
3008 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TERM_ID');
3009 
3010             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3011             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3012 				OE_Order_Util.Get_Attribute_Name('payment_term_id'));
3013             OE_MSG_PUB.Add;
3014 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3015 
3016         END IF;
3017 
3018 
3019         RETURN FALSE;
3020 
3021     WHEN OTHERS THEN
3022 
3023         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3024         THEN
3025             OE_MSG_PUB.Add_Exc_Msg
3026             (   G_PKG_NAME
3027             ,   'Payment_Term'
3028             );
3029         END IF;
3030 
3031 
3032         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3033 
3034 END Payment_Term;
3035 
3036 FUNCTION Planning_Priority ( p_planning_priority IN NUMBER )
3037 RETURN BOOLEAN
3038 IS
3039 l_dummy                       VARCHAR2(10);
3040 BEGIN
3041 
3042 
3043     IF p_planning_priority IS NULL OR
3044         p_planning_priority = FND_API.G_MISS_NUM
3045     THEN
3046 
3047         RETURN TRUE;
3048     END IF;
3049 
3050     --  SELECT  'VALID'
3051     -- Planning_Priority  INTO     l_dummy
3052     --  FROM     DB_TABLE
3053     --  WHERE    DB_COLUMN = p_planning_priority;
3054 
3055     RETURN TRUE;
3056 
3057 EXCEPTION
3058 
3059     WHEN NO_DATA_FOUND THEN
3060 
3061         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3062         THEN
3063 
3064 	      OE_MSG_PUB.Update_Msg_Context
3065 				 (p_attribute_code => 'PLANNING_PRIORITY');
3066            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3067            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3068 				OE_Order_Util.Get_Attribute_Name('planning_priority'));
3069            OE_MSG_PUB.Add;
3070 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3071 
3072         END IF;
3073 
3074 
3075         RETURN FALSE;
3076 
3077     WHEN OTHERS THEN
3078 
3079         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3080         THEN
3081             OE_MSG_PUB.Add_Exc_Msg
3082             (   G_PKG_NAME
3083             ,   'Planning_Priority'
3084             );
3085         END IF;
3086 
3087 
3088         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089 
3090 END Planning_Priority;
3091 
3092 FUNCTION Shipping_Method ( p_shipping_method_code IN VARCHAR2 )
3093 RETURN BOOLEAN
3094 IS
3095 l_dummy                       VARCHAR2(10);
3096 BEGIN
3097 
3098 
3099     IF p_shipping_method_code IS NULL OR
3100         p_shipping_method_code = FND_API.G_MISS_CHAR
3101     THEN
3102 
3103         RETURN TRUE;
3104     END IF;
3105 
3106 /* this validation is being moved to entity level validation */
3107     SELECT  'VALID'
3108     INTO    l_dummy
3109     FROM    OE_SHIP_METHODS_V
3110     WHERE   lookup_code = p_shipping_method_code
3111     AND     ENABLED_FLAG = 'Y'
3112     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3113     AND     NVL(END_DATE_ACTIVE, SYSDATE)
3114     AND     ROWNUM = 1;
3115 
3116 
3117 
3118     RETURN TRUE;
3119 
3120 EXCEPTION
3121 
3122     WHEN NO_DATA_FOUND THEN
3123 
3124         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3125         THEN
3126 
3127 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_METHOD_CODE');
3128 
3129             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3130             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3131 				OE_Order_Util.Get_Attribute_Name('shipping_method_code'));
3132             OE_MSG_PUB.Add;
3133 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3134 
3135         END IF;
3136 
3137 
3138         RETURN FALSE;
3139 
3140     WHEN OTHERS THEN
3141 
3142         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3143         THEN
3144             OE_MSG_PUB.Add_Exc_Msg
3145             (   G_PKG_NAME
3146             ,   'Shipping_Method'
3147             );
3148         END IF;
3149 
3150 
3151         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3152 
3153 END Shipping_Method;
3154 
3155 FUNCTION Freight_Carrier ( p_freight_carrier_code IN VARCHAR2 )
3156 RETURN BOOLEAN
3157 IS
3158 l_dummy                       VARCHAR2(10);
3159 BEGIN
3160 
3161 
3162     IF p_freight_carrier_code IS NULL OR
3163         p_freight_carrier_code = FND_API.G_MISS_CHAR
3164     THEN
3165 
3166         RETURN TRUE;
3167     END IF;
3168 
3169     --  SELECT  'VALID'
3170     --  INTO     l_dummy
3171     --  FROM     DB_TABLE
3172     --  WHERE    DB_COLUMN = p_freight_carrier_code;
3173 
3174 
3175     RETURN TRUE;
3176 
3177 EXCEPTION
3178 
3179     WHEN NO_DATA_FOUND THEN
3180 
3181         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3182         THEN
3183 
3184 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FREIGHT_CARRIER_CODE');
3185 
3186             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3187             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3188 				OE_Order_Util.Get_Attribute_Name('freight_carrier_code'));
3189             OE_MSG_PUB.Add;
3190 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3191 
3192         END IF;
3193 
3194 
3195         RETURN FALSE;
3196 
3197     WHEN OTHERS THEN
3198 
3199         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3200         THEN
3201             OE_MSG_PUB.Add_Exc_Msg
3202             (   G_PKG_NAME
3203             ,   'Freight_Carrier'
3204             );
3205         END IF;
3206 
3207 
3208         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3209 
3210 END Freight_Carrier;
3211 
3212 FUNCTION Fob_Point ( p_fob_point_code IN VARCHAR2 )
3213 RETURN BOOLEAN
3214 IS
3215 l_dummy                       VARCHAR2(10);
3216 l_lookup_type      	      VARCHAR2(80) :='FOB';
3217 BEGIN
3218 
3219 
3220     IF p_fob_point_code IS NULL OR
3221         p_fob_point_code = FND_API.G_MISS_CHAR
3222     THEN
3223 
3224         RETURN TRUE;
3225     END IF;
3226 
3227     SELECT  'VALID'
3228     INTO    l_dummy
3229     FROM    OE_AR_LOOKUPS_V
3230     WHERE   LOOKUP_CODE = p_fob_point_code
3231     AND     LOOKUP_TYPE = l_lookup_type
3232     AND     ENABLED_FLAG = 'Y'
3233     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3234                         AND NVL(END_DATE_ACTIVE, SYSDATE);
3235 
3236 
3237 
3238 
3239     RETURN TRUE;
3240 
3241 EXCEPTION
3242 
3243     WHEN NO_DATA_FOUND THEN
3244 
3245         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3246         THEN
3247 
3248 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FOB_POINT_CODE');
3249 
3250             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3251             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3252 				OE_Order_Util.Get_Attribute_Name('fob_point_code'));
3253             OE_MSG_PUB.Add;
3254 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3255 
3256         END IF;
3257 
3258 
3259         RETURN FALSE;
3260 
3261     WHEN OTHERS THEN
3262 
3263         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3264         THEN
3265             OE_MSG_PUB.Add_Exc_Msg
3266             (   G_PKG_NAME
3267             ,   'Fob_Point'
3268             );
3269         END IF;
3270 
3271 
3272         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3273 
3274 END Fob_Point;
3275 
3276 FUNCTION Freight_Terms ( p_freight_terms_code IN VARCHAR2 )
3277 RETURN BOOLEAN
3278 IS
3279 l_dummy                       VARCHAR2(10);
3280 l_lookup_type      	      VARCHAR2(80) :='FREIGHT_TERMS';
3281 BEGIN
3282 
3283 
3284     IF p_freight_terms_code IS NULL OR
3285         p_freight_terms_code = FND_API.G_MISS_CHAR
3286     THEN
3287 
3288         RETURN TRUE;
3289     END IF;
3290 
3291     SELECT  'VALID'
3292     INTO    l_dummy
3293     FROM    OE_LOOKUPS
3294     WHERE   LOOKUP_CODE = p_freight_terms_code
3295     AND     LOOKUP_TYPE = l_lookup_type
3296     AND     ENABLED_FLAG = 'Y'
3297     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3298                         AND NVL(END_DATE_ACTIVE, SYSDATE);
3299 
3300     --  Valid Tax Exempt Reason
3301 
3302 
3303 
3304 
3305     RETURN TRUE;
3306 
3307 EXCEPTION
3308 
3309     WHEN NO_DATA_FOUND THEN
3310 
3311         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3312         THEN
3313 
3314 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FREIGHT_TERMS_CODE');
3315 
3316 
3317             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3318             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3319 				OE_Order_Util.Get_Attribute_Name('freight_terms_code'));
3320             OE_MSG_PUB.Add;
3321 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3322 
3323         END IF;
3324 
3325 
3326         RETURN FALSE;
3327 
3328     WHEN OTHERS THEN
3329 
3330         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3331         THEN
3332             OE_MSG_PUB.Add_Exc_Msg
3333             (   G_PKG_NAME
3334             ,   'Freight_Terms'
3335             );
3336         END IF;
3337 
3338 
3339         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3340 
3341 END Freight_Terms;
3342 
3343 
3344 FUNCTION Sold_To_Org ( p_sold_to_org_id IN NUMBER )
3345 RETURN BOOLEAN
3346 IS
3347 l_dummy                       VARCHAR2(10);
3348 BEGIN
3349 
3350 
3351     IF p_sold_to_org_id IS NULL OR
3352         p_sold_to_org_id = FND_API.G_MISS_NUM
3353     THEN
3354 
3355         RETURN TRUE;
3356     END IF;
3357 
3358     SELECT  'VALID'
3359     INTO    l_dummy
3360     FROM    OE_SOLD_TO_ORGS_V
3361     WHERE   ORGANIZATION_ID =p_sold_to_org_id
3362     AND     STATUS = 'A'
3363     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3364                     AND     NVL(END_DATE_ACTIVE, SYSDATE);
3365 
3366 
3367 
3368     RETURN TRUE;
3369 
3370 EXCEPTION
3371 
3372     WHEN NO_DATA_FOUND THEN
3373 
3374         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3375         THEN
3376 
3377 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_ORG_ID');
3378 
3379             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3380             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3381 				OE_Order_Util.Get_Attribute_Name('sold_to_org_id'));
3382             OE_MSG_PUB.Add;
3383 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3384 
3385         END IF;
3386 
3387 
3388         RETURN FALSE;
3389 
3390     WHEN OTHERS THEN
3391 
3392         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3393         THEN
3394             OE_MSG_PUB.Add_Exc_Msg
3395             (   G_PKG_NAME
3396             ,   'Sold_To_Org'
3397             );
3398         END IF;
3399 
3400 
3401         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3402 
3403 END Sold_To_Org;
3404 
3405 FUNCTION Sold_To_Phone ( p_sold_to_phone_id IN NUMBER )
3406 RETURN BOOLEAN
3407 IS
3408 l_dummy                       VARCHAR2(10);
3409 BEGIN
3410 
3411 
3412     IF p_sold_to_phone_id IS NULL OR
3413         p_sold_to_phone_id = FND_API.G_MISS_NUM
3414     THEN
3415 
3416         RETURN TRUE;
3417     END IF;
3418 
3419     SELECT  'VALID'
3420     INTO    l_dummy
3421     FROM    HZ_CONTACT_POINTS
3422     WHERE   CONTACT_POINT_ID =p_sold_to_phone_id
3423     AND     STATUS = 'A';
3424 
3425 
3426     RETURN TRUE;
3427 
3428 EXCEPTION
3429 
3430     WHEN NO_DATA_FOUND THEN
3431 
3432         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3433         THEN
3434 
3435 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_PHONE_ID');
3436 
3437             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3438             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3439 				OE_Order_Util.Get_Attribute_Name('sold_to_phone_id'));
3440             OE_MSG_PUB.Add;
3441 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3442 
3443         END IF;
3444 
3445 
3446         RETURN FALSE;
3447 
3448     WHEN OTHERS THEN
3449 
3450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3451         THEN
3452             OE_MSG_PUB.Add_Exc_Msg
3453             (   G_PKG_NAME
3454             ,   'Sold_To_Org'
3455             );
3456         END IF;
3457 
3458 
3459         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3460 
3461 END Sold_To_Phone;
3462 
3463 FUNCTION Customer ( p_customer_id IN NUMBER )
3464 RETURN BOOLEAN
3465 IS
3466 l_dummy                       VARCHAR2(10);
3467 BEGIN
3468 
3469 
3470     IF p_customer_id IS NULL OR
3471         p_customer_id = FND_API.G_MISS_NUM
3472     THEN
3473 
3474         RETURN TRUE;
3475     END IF;
3476 
3477     SELECT  'VALID'
3478     INTO    l_dummy
3479     FROM    OE_SOLD_TO_ORGS_V
3480     WHERE   ORGANIZATION_ID =p_customer_id
3481     AND     STATUS = 'A'
3482     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
3483                     AND     NVL(END_DATE_ACTIVE, SYSDATE);
3484 
3485 
3486 
3487     RETURN TRUE;
3488 
3489 EXCEPTION
3490 
3491     WHEN NO_DATA_FOUND THEN
3492 
3493         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3494         THEN
3495 
3496 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_ID');
3497 
3498             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3499             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3500 				OE_Order_Util.Get_Attribute_Name('Customer_id'));
3501             OE_MSG_PUB.Add;
3502 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3503 
3504         END IF;
3505 
3506 
3507         RETURN FALSE;
3508 
3509     WHEN OTHERS THEN
3510 
3511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3512         THEN
3513             OE_MSG_PUB.Add_Exc_Msg
3514             (   G_PKG_NAME
3515             ,   'Customer'
3516             );
3517         END IF;
3518 
3519 
3520         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3521 
3522 END Customer;
3523 
3524 FUNCTION Internal_Item ( p_internal_item_id IN NUMBER )
3525 RETURN BOOLEAN
3526 IS
3527 l_dummy                       VARCHAR2(10);
3528 BEGIN
3529 
3530 
3531     IF p_internal_item_id IS NULL OR
3532         p_internal_item_id = FND_API.G_MISS_NUM
3533     THEN
3534 
3535         RETURN TRUE;
3536     END IF;
3537 
3538     --  SELECT  'VALID'
3539     --  INTO     l_dummy
3540     --  FROM     DB_TABLE
3541     --  WHERE    DB_COLUMN = p_inventory_item_id;
3542 
3543 
3544     RETURN TRUE;
3545 
3546 EXCEPTION
3547 
3548     WHEN NO_DATA_FOUND THEN
3549 
3550         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3551         THEN
3552 
3553 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERNAL_ITEM_ID');
3554 
3555 
3556             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3557             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3558 				OE_Order_Util.Get_Attribute_Name('internal_item_id'));
3559             OE_MSG_PUB.Add;
3560 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3561 
3562         END IF;
3563 
3564 
3565         RETURN FALSE;
3566 
3567     WHEN OTHERS THEN
3568 
3569         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3570         THEN
3571             OE_MSG_PUB.Add_Exc_Msg
3572             (   G_PKG_NAME
3573             ,   'internal_item'
3574             );
3575         END IF;
3576 
3577 
3578         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3579 
3580 END Internal_Item;
3581 
3582 FUNCTION Cust_Item_Setting ( p_cust_item_setting_id IN NUMBER )
3583 RETURN BOOLEAN
3584 IS
3585 l_dummy                       VARCHAR2(10);
3586 BEGIN
3587 
3588 
3589     IF p_cust_item_setting_id IS NULL OR
3590         p_cust_item_setting_id = FND_API.G_MISS_NUM
3591     THEN
3592 
3593         RETURN TRUE;
3594     END IF;
3595 
3596     --  SELECT  'VALID'
3597     --  INTO     l_dummy
3598     --  FROM     DB_TABLE
3599     --  WHERE    DB_COLUMN = p_inventory_item_id;
3600 
3601 
3602     RETURN TRUE;
3603 
3604 EXCEPTION
3605 
3606     WHEN NO_DATA_FOUND THEN
3607 
3608         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3609         THEN
3610 
3611 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_ITEM_SETTING_ID');
3612 
3613             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3614             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3615 				OE_Order_Util.Get_Attribute_Name('cust_item_setting_id'));
3616             OE_MSG_PUB.Add;
3617 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3618 
3619         END IF;
3620 
3621 
3622         RETURN FALSE;
3623 
3624     WHEN OTHERS THEN
3625 
3626         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3627         THEN
3628             OE_MSG_PUB.Add_Exc_Msg
3629             (   G_PKG_NAME
3630             ,   'cust_item_setting'
3631             );
3632         END IF;
3633 
3634 
3635         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3636 
3637 END Cust_Item_Setting;
3638 
3639 FUNCTION Ship_From_Org ( p_ship_from_org_id IN NUMBER )
3640 RETURN BOOLEAN
3641 IS
3642 l_dummy                       VARCHAR2(10);
3643 BEGIN
3644 
3645 
3646     IF p_ship_from_org_id IS NULL OR
3647         p_ship_from_org_id = FND_API.G_MISS_NUM
3648     THEN
3649 
3650         RETURN TRUE;
3651     END IF;
3652 
3653     --  SELECT  'VALID'
3654     --  INTO     l_dummy
3655     --  FROM     DB_TABLE
3656     --  WHERE    DB_COLUMN = p_ship_from_org_id;
3657 
3658 
3659     RETURN TRUE;
3660 
3661 EXCEPTION
3662 
3663     WHEN NO_DATA_FOUND THEN
3664 
3665         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3666         THEN
3667 
3668 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_FROM_ORG_ID');
3669 
3670             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3671             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3672 				OE_Order_Util.Get_Attribute_Name('ship_from_org_id'));
3673             OE_MSG_PUB.Add;
3674 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3675 
3676         END IF;
3677 
3678 
3679         RETURN FALSE;
3680 
3681     WHEN OTHERS THEN
3682 
3683         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3684         THEN
3685             OE_MSG_PUB.Add_Exc_Msg
3686             (   G_PKG_NAME
3687             ,   'Ship_From_Org'
3688             );
3689         END IF;
3690 
3691 
3692         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3693 
3694 END Ship_From_Org;
3695 
3696 FUNCTION Subinventory ( p_subinventory IN VARCHAR2 )
3697 RETURN BOOLEAN
3698 IS
3699 BEGIN
3700 
3701 
3702     IF p_subinventory IS NULL OR
3703         p_subinventory = FND_API.G_MISS_CHAR
3704     THEN
3705         RETURN TRUE;
3706     END IF;
3707 
3708     --  SELECT  'VALID'
3709     --  INTO     l_dummy
3710     --  FROM     DB_TABLE
3711     --  WHERE    DB_COLUMN = p_ship_from_org_id;
3712 
3713 
3714     RETURN TRUE;
3715 
3716 EXCEPTION
3717 
3718     WHEN NO_DATA_FOUND THEN
3719 
3720         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3721         THEN
3722 
3723 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBINVENTORY');
3724 
3725             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3726             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3727 				OE_Order_Util.Get_Attribute_Name('subinventory'));
3728             OE_MSG_PUB.Add;
3729 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3730 
3731         END IF;
3732 
3733 
3734         RETURN FALSE;
3735 
3736     WHEN OTHERS THEN
3737 
3738         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3739         THEN
3740             OE_MSG_PUB.Add_Exc_Msg
3741             (   G_PKG_NAME
3742             ,   'Subinventory'
3743             );
3744         END IF;
3745 
3746 
3747         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3748 
3749 END Subinventory;
3750 
3751 FUNCTION Inventory_Org ( p_inventory_org_id IN NUMBER )
3752 RETURN BOOLEAN
3753 IS
3754 l_dummy                       VARCHAR2(10);
3755 BEGIN
3756 
3757 
3758     IF p_inventory_org_id IS NULL OR
3759         p_inventory_org_id = FND_API.G_MISS_NUM
3760     THEN
3761 
3762         RETURN TRUE;
3763     END IF;
3764 
3765     --  SELECT  'VALID'
3766     --  INTO     l_dummy
3767     --  FROM     DB_TABLE
3768     --  WHERE    DB_COLUMN = p_inventory_item_id;
3769 
3770 
3771     RETURN TRUE;
3772 
3773 EXCEPTION
3774 
3775     WHEN NO_DATA_FOUND THEN
3776 
3777         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3778         THEN
3779 
3780 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVENTORY_ORG_ID');
3781 
3782             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3783             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3784 				OE_Order_Util.Get_Attribute_Name('inventory_org_id'));
3785             OE_MSG_PUB.Add;
3786 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3787 
3788         END IF;
3789 
3790 
3791         RETURN FALSE;
3792 
3793     WHEN OTHERS THEN
3794 
3795         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3796         THEN
3797             OE_MSG_PUB.Add_Exc_Msg
3798             (   G_PKG_NAME
3799             ,   'inventory_org'
3800             );
3801         END IF;
3802 
3803 
3804         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3805 
3806 END Inventory_Org;
3807 
3808 FUNCTION Ship_To_Org ( p_ship_to_org_id IN NUMBER )
3809 RETURN BOOLEAN
3810 IS
3811 l_dummy                       VARCHAR2(10);
3812 BEGIN
3813 
3814 
3815 -- the validation should be done in record validation.
3816 
3817 
3818     RETURN TRUE;
3819 
3820 EXCEPTION
3821 
3822     WHEN NO_DATA_FOUND THEN
3823 
3824         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3825         THEN
3826 
3827 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TO_ORG_ID');
3828 
3829             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3830             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3831 				OE_Order_Util.Get_Attribute_Name('ship_to_org_id'));
3832             OE_MSG_PUB.Add;
3833 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3834 
3835         END IF;
3836 
3837 
3838         RETURN FALSE;
3839 
3840     WHEN OTHERS THEN
3841 
3842         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3843         THEN
3844             OE_MSG_PUB.Add_Exc_Msg
3845             (   G_PKG_NAME
3846             ,   'Ship_To_Org'
3847             );
3848         END IF;
3849 
3850 
3851         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3852 
3853 END Ship_To_Org;
3854 
3855 FUNCTION Site_Use ( p_site_use_id IN NUMBER )
3856 RETURN BOOLEAN
3857 IS
3858 l_dummy                       VARCHAR2(10);
3859 BEGIN
3860 
3861 
3862     IF p_site_use_id IS NULL OR
3863         p_site_use_id = FND_API.G_MISS_NUM
3864     THEN
3865 
3866         RETURN TRUE;
3867     END IF;
3868 
3869     --  SELECT  'VALID'
3870     --  INTO     l_dummy
3871     --  FROM     DB_TABLE
3872     --  WHERE    DB_COLUMN = p_inventory_item_id;
3873 
3874 
3875     RETURN TRUE;
3876 
3877 EXCEPTION
3878 
3879     WHEN NO_DATA_FOUND THEN
3880 
3881         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3882         THEN
3883 
3884 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SITE_USE_ID');
3885 
3886             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3887             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3888 				OE_Order_Util.Get_Attribute_Name('site_use_id'));
3889             OE_MSG_PUB.Add;
3890 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3891 
3892         END IF;
3893 
3894 
3895         RETURN FALSE;
3896 
3897     WHEN OTHERS THEN
3898 
3899         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3900         THEN
3901             OE_MSG_PUB.Add_Exc_Msg
3902             (   G_PKG_NAME
3903             ,   'Site_Use'
3904             );
3905         END IF;
3906 
3907 
3908         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3909 
3910 END Site_Use;
3911 
3912 FUNCTION Intermed_Ship_To_Org ( p_intermed_ship_to_org_id IN NUMBER )
3913 RETURN BOOLEAN
3914 IS
3915 l_dummy                       VARCHAR2(10);
3916 BEGIN
3917 
3918 -- the validation should be done in record validation.
3919 
3920 
3921     RETURN TRUE;
3922 
3923 EXCEPTION
3924 
3925     WHEN NO_DATA_FOUND THEN
3926 
3927         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3928         THEN
3929 
3930 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERMED_SHIP_TO_ORG_ID');
3931 
3932             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
3933             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
3934 				OE_Order_Util.Get_Attribute_Name('intermed_ship_to_org_id'));
3935             OE_MSG_PUB.Add;
3936 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
3937 
3938         END IF;
3939 
3940 
3941         RETURN FALSE;
3942 
3943     WHEN OTHERS THEN
3944 
3945         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3946         THEN
3947             OE_MSG_PUB.Add_Exc_Msg
3948             (   G_PKG_NAME
3949             ,   'Intermed_Ship_To_Org'
3950             );
3951         END IF;
3952 
3953 
3954         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3955 
3956 END Intermed_Ship_To_Org;
3957 
3958 FUNCTION Invoice_To_Org ( p_invoice_to_org_id IN NUMBER )
3959 RETURN BOOLEAN
3960 IS
3961 l_dummy                       VARCHAR2(10);
3962 l_invoice_to_rec   OE_ORDER_CACHE.Invoice_to_Org_Rec_Type ; -- add for bug 4200055
3963 BEGIN
3964 
3965 
3966     IF p_invoice_to_org_id IS NULL OR
3967         p_invoice_to_org_id = FND_API.G_MISS_NUM
3968     THEN
3969 
3970         RETURN TRUE;
3971     END IF;
3972 
3973     --added for bug 4200055
3974     l_invoice_to_rec := OE_ORDER_CACHE.Load_Invoice_To_Org(p_invoice_to_org_id);
3975     IF ( l_invoice_to_rec.org_id <> FND_API.G_MISS_NUM
3976         AND l_invoice_to_rec.org_id IS NOT NULL
3977         AND l_invoice_to_rec.org_id = p_invoice_to_org_id ) THEN
3978          if ( l_invoice_to_rec.status = 'A'
3979               AND l_invoice_to_rec.address_status='A'
3980               AND trunc(nvl(l_invoice_to_rec.start_date_active,sysdate)) <= trunc(sysdate )
3981               AND trunc(nvl(l_invoice_to_rec.end_date_active,sysdate)) >= trunc(sysdate)
3982             ) then
3983                 RETURN TRUE ;
3984         else
3985                 RAISE NO_DATA_FOUND ;
3986         end if ;
3987     ELSE
3988                 RAISE NO_DATA_FOUND ;
3989     END IF ;
3990 
3991     /*SELECT  'VALID'
3992     INTO    l_dummy
3993     FROM    OE_INVOICE_TO_ORGS_V   INV
3994     WHERE   INV.ORGANIZATION_ID =p_invoice_to_org_id
3995     AND     INV.STATUS = 'A'
3996     AND     INV.ADDRESS_STATUS ='A' --bug 2752321
3997     AND     SYSDATE BETWEEN NVL(INV.START_DATE_ACTIVE, SYSDATE)
3998                     AND     NVL(INV.END_DATE_ACTIVE, SYSDATE);
3999 
4000     RETURN TRUE;
4001     */
4002     --end bug 4200055
4003 
4004 
4005 EXCEPTION
4006 
4007     WHEN NO_DATA_FOUND THEN
4008 
4009         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4010         THEN
4011 
4012 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_TO_ORG_ID');
4013 
4014             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4015             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4016 				OE_Order_Util.Get_Attribute_Name('invoice_to_org_id'));
4017             OE_MSG_PUB.Add;
4018 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4019 
4020         END IF;
4021 
4022 
4023         RETURN FALSE;
4024 
4025     WHEN OTHERS THEN
4026 
4027         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4028         THEN
4029             OE_MSG_PUB.Add_Exc_Msg
4030             (   G_PKG_NAME
4031             ,   'Invoice_To_Org'
4032             );
4033         END IF;
4034 
4035 
4036         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4037 
4038 END Invoice_To_Org;
4039 
4040 FUNCTION Deliver_To_Org ( p_deliver_to_org_id IN NUMBER )
4041 RETURN BOOLEAN
4042 IS
4043 l_dummy                       VARCHAR2(10);
4044 BEGIN
4045 
4046 
4047     IF p_deliver_to_org_id IS NULL OR
4048         p_deliver_to_org_id = FND_API.G_MISS_NUM
4049     THEN
4050 
4051         RETURN TRUE;
4052     END IF;
4053 
4054     SELECT  'VALID'
4055     INTO    l_dummy
4056     FROM    OE_DELIVER_TO_ORGS_V   DEL
4057     WHERE   DEL.ORGANIZATION_ID =p_deliver_to_org_id
4058     AND     DEL.STATUS = 'A'
4059     AND     DEL.ADDRESS_STATUS ='A' --bug 2752321
4060     AND     SYSDATE BETWEEN NVL(DEL.START_DATE_ACTIVE, SYSDATE)
4061                     AND     NVL(DEL.END_DATE_ACTIVE, SYSDATE);
4062 
4063 
4064     RETURN TRUE;
4065 
4066 EXCEPTION
4067 
4068     WHEN NO_DATA_FOUND THEN
4069 
4070         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4071         THEN
4072 
4073 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVER_TO_ORG_ID');
4074 
4075             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4076             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4077 				OE_Order_Util.Get_Attribute_Name('deliver_to_org_id'));
4078             OE_MSG_PUB.Add;
4079 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4080 
4081         END IF;
4082 
4083 
4084         RETURN FALSE;
4085 
4086     WHEN OTHERS THEN
4087 
4088         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4089         THEN
4090             OE_MSG_PUB.Add_Exc_Msg
4091             (   G_PKG_NAME
4092             ,   'Deliver_To_Org'
4093             );
4094         END IF;
4095 
4096 
4097         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4098 
4099 END Deliver_To_Org;
4100 
4101 FUNCTION Sold_To_Contact ( p_sold_to_contact_id IN NUMBER )
4102 RETURN BOOLEAN
4103 IS
4104 l_dummy                       VARCHAR2(10);
4105 BEGIN
4106 
4107 
4108     IF p_sold_to_contact_id IS NULL OR
4109         p_sold_to_contact_id = FND_API.G_MISS_NUM
4110     THEN
4111 
4112         RETURN TRUE;
4113     END IF;
4114 
4115     SELECT  'VALID'
4116     INTO    l_dummy
4117     FROM    HZ_CUST_ACCOUNT_ROLES
4118     WHERE   CUST_ACCOUNT_ROLE_ID = p_sold_to_contact_id
4119     AND     ROLE_TYPE = 'CONTACT'
4120     AND     STATUS = 'A';
4121 
4122 
4123 
4124     RETURN TRUE;
4125 
4126 EXCEPTION
4127 
4128     WHEN NO_DATA_FOUND THEN
4129 
4130         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4131         THEN
4132 
4133 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_CONTACT_ID');
4134 
4135             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4136             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4137 				OE_Order_Util.Get_Attribute_Name('sold_to_contact_id'));
4138             OE_MSG_PUB.Add;
4139 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4140 
4141         END IF;
4142 
4143 
4144         RETURN FALSE;
4145 
4146     WHEN OTHERS THEN
4147 
4148         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4149         THEN
4150             OE_MSG_PUB.Add_Exc_Msg
4151             (   G_PKG_NAME
4152             ,   'Sold_To_Contact'
4153             );
4154         END IF;
4155 
4156 
4157         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4158 
4159 END Sold_To_Contact;
4160 
4161 FUNCTION Ship_To_Contact ( p_ship_to_contact_id IN NUMBER )
4162 RETURN BOOLEAN
4163 IS
4164 l_dummy                       VARCHAR2(10);
4165 l_resp_type                   VARCHAR2(30);
4166 BEGIN
4167 
4168 
4169     IF p_ship_to_contact_id IS NULL OR
4170         p_ship_to_contact_id = FND_API.G_MISS_NUM
4171     THEN
4172 
4173         RETURN TRUE;
4174     END IF;
4175 
4176     l_resp_type := 'SHIP_TO';
4177 
4178     SELECT  'VALID'
4179     INTO    l_dummy
4180     FROM    HZ_CUST_ACCOUNT_ROLES    ACCT_ROLE
4181     ,       HZ_ROLE_RESPONSIBILITY   ROL
4182     WHERE   ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = p_ship_to_contact_id
4183     AND     ACCT_ROLE.STATUS = 'A'
4184     AND     ACCT_ROLE.ROLE_TYPE = 'CONTACT'
4185     AND     ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = ROL.CUST_ACCOUNT_ROLE_ID (+)
4186     AND     NVL( ROL.RESPONSIBILITY_TYPE,l_resp_type)=l_resp_type;
4187 
4188     --  Valid ship to Contact
4189 
4190 
4191 
4192     RETURN TRUE;
4193 
4194 EXCEPTION
4195 
4196     WHEN NO_DATA_FOUND THEN
4197 
4198         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4199         THEN
4200 
4201 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_TO_CONTACT_ID');
4202 
4203             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4204             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4205 				OE_Order_Util.Get_Attribute_Name('ship_to_contact_id'));
4206             OE_MSG_PUB.Add;
4207 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4208 
4209         END IF;
4210 
4211 
4212         RETURN FALSE;
4213 
4214     WHEN OTHERS THEN
4215 
4216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4217         THEN
4218             OE_MSG_PUB.Add_Exc_Msg
4219             (   G_PKG_NAME
4220             ,   'Ship_To_Contact'
4221             );
4222         END IF;
4223 
4224 
4225         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4226 
4227 END Ship_To_Contact;
4228 
4229 FUNCTION Intermed_Ship_To_Contact ( p_intermed_ship_to_contact_id IN NUMBER )
4230 RETURN BOOLEAN
4231 IS
4232 l_dummy                       VARCHAR2(10);
4233 l_resp_type                   VARCHAR2(30);
4234 BEGIN
4235 
4236 
4237     IF p_intermed_ship_to_contact_id IS NULL OR
4238         p_intermed_ship_to_contact_id = FND_API.G_MISS_NUM
4239     THEN
4240 
4241         RETURN TRUE;
4242     END IF;
4243 
4244     l_resp_type := 'SHIP_TO';
4245 
4246     SELECT  'VALID'
4247     INTO    l_dummy
4248     FROM    HZ_CUST_ACCOUNT_ROLES    ACCT_ROLE
4249     ,       HZ_ROLE_RESPONSIBILITY   ROL
4250     WHERE   ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = p_intermed_ship_to_contact_id
4251     AND     ACCT_ROLE.STATUS = 'A'
4252     AND     ACCT_ROLE.ROLE_TYPE = 'CONTACT'
4253     AND     ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = ROL.CUST_ACCOUNT_ROLE_ID (+)
4254     AND     NVL( ROL.RESPONSIBILITY_TYPE,l_resp_type)=l_resp_type;
4255 
4256     --  Valid ship to Contact
4257 
4258 
4259 
4260     RETURN TRUE;
4261 
4262 EXCEPTION
4263 
4264     WHEN NO_DATA_FOUND THEN
4265 
4266         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4267         THEN
4268 
4269 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INTERMED_SHIP_TO_CONTACT_ID');
4270 
4271             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4272             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4273 				OE_Order_Util.Get_Attribute_Name('intermed_ship_to_contact_id'));
4274             OE_MSG_PUB.Add;
4275 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4276 
4277         END IF;
4278 
4279 
4280         RETURN FALSE;
4281 
4282     WHEN OTHERS THEN
4283 
4284         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4285 
4286         THEN
4287             OE_MSG_PUB.Add_Exc_Msg
4288             (   G_PKG_NAME
4289             ,   'Intermed_Ship_To_Contact'
4290             );
4291         END IF;
4292 
4293 
4294         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4295 
4296 END Intermed_Ship_To_Contact;
4297 
4298 FUNCTION Invoice_To_Contact ( p_invoice_to_contact_id IN NUMBER )
4299 RETURN BOOLEAN
4300 IS
4301 l_dummy                       VARCHAR2(10);
4302 l_resp_type                   VARCHAR2(30);
4303 BEGIN
4304 
4305 
4306     IF p_invoice_to_contact_id IS NULL OR
4307         p_invoice_to_contact_id = FND_API.G_MISS_NUM
4308     THEN
4309 
4310         RETURN TRUE;
4311     END IF;
4312 
4313     l_resp_type := 'BILL_TO';
4314 
4315     SELECT  'VALID'
4316     INTO    l_dummy
4317     FROM    HZ_CUST_ACCOUNT_ROLES    ACCT_ROLE
4318     ,       HZ_ROLE_RESPONSIBILITY   ROL
4319     WHERE   ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = p_invoice_to_contact_id
4320     AND     ACCT_ROLE.STATUS = 'A'
4321     AND     ACCT_ROLE.ROLE_TYPE = 'CONTACT'
4322     AND     ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = ROL.CUST_ACCOUNT_ROLE_ID (+)
4323     AND     NVL( ROL.RESPONSIBILITY_TYPE,l_resp_type)=l_resp_type;
4324 
4325     RETURN TRUE;
4326 
4327 EXCEPTION
4328     WHEN TOO_MANY_ROWS THEN
4329         RETURN TRUE;
4330 
4331     WHEN NO_DATA_FOUND THEN
4332 
4333         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4334         THEN
4335 
4336 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_TO_CONTACT_ID');
4337 
4338             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4339             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4340 				OE_Order_Util.Get_Attribute_Name('invoice_to_contact_id'));
4341             OE_MSG_PUB.Add;
4342 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4343 
4344         END IF;
4345 
4346 
4347         RETURN FALSE;
4348 
4349     WHEN OTHERS THEN
4350 
4351         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4352         THEN
4353             OE_MSG_PUB.Add_Exc_Msg
4354             (   G_PKG_NAME
4355             ,   'Invoice_To_Contact'
4356             );
4357         END IF;
4358 
4359 
4360         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4361 
4362 END Invoice_To_Contact;
4363 
4364 FUNCTION Deliver_To_Contact ( p_deliver_to_contact_id IN NUMBER )
4365 RETURN BOOLEAN
4366 IS
4367 l_dummy                       VARCHAR2(10);
4368 BEGIN
4369 
4370     IF p_deliver_to_contact_id IS NULL OR
4371         p_deliver_to_contact_id = FND_API.G_MISS_NUM
4372     THEN
4373 
4374         RETURN TRUE;
4375     END IF;
4376 
4377     SELECT  'VALID'
4378     INTO    l_dummy
4379     FROM    HZ_CUST_ACCOUNT_ROLES                ACCT_ROLE
4380     ,       HZ_ROLE_RESPONSIBILITY           ROL
4381     WHERE   ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = p_deliver_to_contact_id
4382     AND     ACCT_ROLE.STATUS = 'A'
4383     AND     ACCT_ROLE.ROLE_TYPE = 'CONTACT'
4384     AND     ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = ROL.CUST_ACCOUNT_ROLE_ID (+)
4385     AND     NVL( ROL.RESPONSIBILITY_TYPE,'DELIVER_TO') in ('DELIVER_TO','SHIP_TO');
4386 
4387     --  Valid deliver to Contact
4388 
4389 
4390     RETURN TRUE;
4391 
4392 EXCEPTION
4393     WHEN TOO_MANY_ROWS THEN
4394         RETURN TRUE;
4395     WHEN NO_DATA_FOUND THEN
4396 
4397         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4398         THEN
4399 
4400 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVER_TO_CONTACT_ID');
4401 
4402             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4403             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4404 				OE_Order_Util.Get_Attribute_Name('deliver_to_contact_id'));
4405             OE_MSG_PUB.Add;
4406 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4407 
4408         END IF;
4409 
4410 
4411         RETURN FALSE;
4412 
4413     WHEN OTHERS THEN
4414 
4415         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4416         THEN
4417             OE_MSG_PUB.Add_Exc_Msg
4418             (   G_PKG_NAME
4419             ,   'Deliver_To_Contact'
4420             );
4421         END IF;
4422 
4423 
4424         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4425 
4426 END Deliver_To_Contact;
4427 
4428 
4429 
4430 FUNCTION Last_Updated_By ( p_last_updated_by IN NUMBER )
4431 RETURN BOOLEAN
4432 IS
4433 l_dummy                       VARCHAR2(10);
4434 BEGIN
4435 
4436 
4437     IF p_last_updated_by IS NULL OR
4438         p_last_updated_by = FND_API.G_MISS_NUM
4439     THEN
4440 
4441         RETURN TRUE;
4442     END IF;
4443 
4444     --  SELECT  'VALID'
4445     --  INTO     l_dummy
4446     --  FROM     DB_TABLE
4447     --  WHERE    DB_COLUMN = p_last_updated_by;
4448 
4449 
4450     RETURN TRUE;
4451 
4452 EXCEPTION
4453 
4454     WHEN NO_DATA_FOUND THEN
4455 
4456         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4457         THEN
4458 
4459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATED_BY');
4460 
4461             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4462             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4463 				OE_Order_Util.Get_Attribute_Name('last_updated_by'));
4464             OE_MSG_PUB.Add;
4465 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4466 
4467         END IF;
4468 
4469 
4470         RETURN FALSE;
4471 
4472     WHEN OTHERS THEN
4473 
4474         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4475         THEN
4476             OE_MSG_PUB.Add_Exc_Msg
4477             (   G_PKG_NAME
4478             ,   'Last_Updated_By'
4479             );
4480         END IF;
4481 
4482 
4483         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4484 
4485 END Last_Updated_By;
4486 
4487 FUNCTION Last_Update_Date ( p_last_update_date IN DATE )
4488 RETURN BOOLEAN
4489 IS
4490 l_dummy                       VARCHAR2(10);
4491 BEGIN
4492 
4493 
4494     IF p_last_update_date IS NULL OR
4495         p_last_update_date = FND_API.G_MISS_DATE
4496     THEN
4497 
4498         RETURN TRUE;
4499     END IF;
4500 
4501     --  SELECT  'VALID'
4502     --  INTO     l_dummy
4503     --  FROM     DB_TABLE
4504     --  WHERE    DB_COLUMN = p_last_update_date;
4505 
4506 
4507     RETURN TRUE;
4508 
4509 EXCEPTION
4510 
4511     WHEN NO_DATA_FOUND THEN
4512 
4513         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4514         THEN
4515 
4516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_DATE');
4517 
4518             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4519             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4520 				OE_Order_Util.Get_Attribute_Name('last_update_date'));
4521             OE_MSG_PUB.Add;
4522 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4523 
4524         END IF;
4525 
4526 
4527         RETURN FALSE;
4528 
4529     WHEN OTHERS THEN
4530 
4531         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4532         THEN
4533             OE_MSG_PUB.Add_Exc_Msg
4534             (   G_PKG_NAME
4535             ,   'Last_Update_Date'
4536             );
4537         END IF;
4538 
4539 
4540         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4541 
4542 END Last_Update_Date;
4543 
4544 FUNCTION Last_Update_Login ( p_last_update_login IN NUMBER )
4545 RETURN BOOLEAN
4546 IS
4547 l_dummy                       VARCHAR2(10);
4548 BEGIN
4549 
4550 
4551     IF p_last_update_login IS NULL OR
4552         p_last_update_login = FND_API.G_MISS_NUM
4553     THEN
4554 
4555         RETURN TRUE;
4556     END IF;
4557 
4558     --  SELECT  'VALID'
4559     --  INTO     l_dummy
4560     --  FROM     DB_TABLE
4561     --  WHERE    DB_COLUMN = p_last_update_login;
4562 
4563 
4564     RETURN TRUE;
4565 
4566 EXCEPTION
4567 
4568     WHEN NO_DATA_FOUND THEN
4569 
4570         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4571         THEN
4572 
4573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_UPDATE_LOGIN');
4574 
4575             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4576             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4577 				OE_Order_Util.Get_Attribute_Name('last_update_login'));
4578             OE_MSG_PUB.Add;
4579 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4580 
4581         END IF;
4582 
4583 
4584         RETURN FALSE;
4585 
4586     WHEN OTHERS THEN
4587 
4588         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4589         THEN
4590             OE_MSG_PUB.Add_Exc_Msg
4591             (   G_PKG_NAME
4592             ,   'Last_Update_Login'
4593             );
4594         END IF;
4595 
4596 
4597         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4598 
4599 END Last_Update_Login;
4600 
4601 FUNCTION Program_Application ( p_program_application_id IN NUMBER )
4602 RETURN BOOLEAN
4603 IS
4604 l_dummy                       VARCHAR2(10);
4605 BEGIN
4606 
4607 
4608     IF p_program_application_id IS NULL OR
4609         p_program_application_id = FND_API.G_MISS_NUM
4610     THEN
4611 
4612         RETURN TRUE;
4613     END IF;
4614 
4615     --  SELECT  'VALID'
4616     --  INTO     l_dummy
4617     --  FROM     DB_TABLE
4618     --  WHERE    DB_COLUMN = p_program_application_id;
4619 
4620 
4621     RETURN TRUE;
4622 
4623 EXCEPTION
4624 
4625     WHEN NO_DATA_FOUND THEN
4626 
4627         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4628         THEN
4629 
4630 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_APPLICATION_ID');
4631 
4632             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4633             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4634 				OE_Order_Util.Get_Attribute_Name('program_application_id'));
4635             OE_MSG_PUB.Add;
4636 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4637 
4638         END IF;
4639 
4640 
4641         RETURN FALSE;
4642 
4643     WHEN OTHERS THEN
4644 
4645         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4646         THEN
4647             OE_MSG_PUB.Add_Exc_Msg
4648             (   G_PKG_NAME
4649             ,   'Program_Application'
4650             );
4651         END IF;
4652 
4653 
4654         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4655 
4656 END Program_Application;
4657 
4658 FUNCTION Program ( p_program_id IN NUMBER )
4659 RETURN BOOLEAN
4660 IS
4661 l_dummy                       VARCHAR2(10);
4662 BEGIN
4663 
4664 
4665     IF p_program_id IS NULL OR
4666         p_program_id = FND_API.G_MISS_NUM
4667     THEN
4668 
4669         RETURN TRUE;
4670     END IF;
4671 
4672     --  SELECT  'VALID'
4673     --  INTO     l_dummy
4674     --  FROM     DB_TABLE
4675     --  WHERE    DB_COLUMN = p_program_id;
4676 
4677 
4678     RETURN TRUE;
4679 
4680 EXCEPTION
4681 
4682     WHEN NO_DATA_FOUND THEN
4683 
4684         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4685         THEN
4686 
4687 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_ID');
4688 
4689             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4690             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4691 				OE_Order_Util.Get_Attribute_Name('program_id'));
4692             OE_MSG_PUB.Add;
4693 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4694 
4695         END IF;
4696 
4697 
4698         RETURN FALSE;
4699 
4700     WHEN OTHERS THEN
4701 
4702         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4703         THEN
4704             OE_MSG_PUB.Add_Exc_Msg
4705             (   G_PKG_NAME
4706             ,   'Program'
4707             );
4708         END IF;
4709 
4710 
4711         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4712 
4713 END Program;
4714 
4715 FUNCTION Program_Update_Date ( p_program_update_date IN DATE )
4716 RETURN BOOLEAN
4717 IS
4718 l_dummy                       VARCHAR2(10);
4719 BEGIN
4720 
4721 
4722     IF p_program_update_date IS NULL OR
4723         p_program_update_date = FND_API.G_MISS_DATE
4724     THEN
4725 
4726         RETURN TRUE;
4727     END IF;
4728 
4729     --  SELECT  'VALID'
4730     --  INTO     l_dummy
4731     --  FROM     DB_TABLE
4732     --  WHERE    DB_COLUMN = p_program_update_date;
4733 
4734 
4735     RETURN TRUE;
4736 
4737 EXCEPTION
4738 
4739     WHEN NO_DATA_FOUND THEN
4740 
4741         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4742         THEN
4743 
4744 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROGRAM_UPDATE_DATE');
4745 
4746             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4747             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4748 				OE_Order_Util.Get_Attribute_Name('program_update_date'));
4749             OE_MSG_PUB.Add;
4750 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4751 
4752         END IF;
4753 
4754 
4755         RETURN FALSE;
4756 
4757     WHEN OTHERS THEN
4758 
4759         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4760         THEN
4761             OE_MSG_PUB.Add_Exc_Msg
4762             (   G_PKG_NAME
4763             ,   'Program_Update_Date'
4764             );
4765         END IF;
4766 
4767 
4768         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4769 
4770 END Program_Update_Date;
4771 
4772 FUNCTION Request ( p_request_id IN NUMBER )
4773 RETURN BOOLEAN
4774 IS
4775 l_dummy                       VARCHAR2(10);
4776 BEGIN
4777 
4778 
4779     IF p_request_id IS NULL OR
4780         p_request_id = FND_API.G_MISS_NUM
4781     THEN
4782 
4783         RETURN TRUE;
4784     END IF;
4785 
4786     --  SELECT  'VALID'
4787     --  INTO     l_dummy
4788     --  FROM     DB_TABLE
4789     --  WHERE    DB_COLUMN = p_request_id;
4790 
4791 
4792     RETURN TRUE;
4793 
4794 EXCEPTION
4795 
4796     WHEN NO_DATA_FOUND THEN
4797 
4798         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4799         THEN
4800 
4801 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_ID');
4802 
4803             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4804             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4805 				OE_Order_Util.Get_Attribute_Name('request_id'));
4806             OE_MSG_PUB.Add;
4807 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4808 
4809         END IF;
4810 
4811 
4812         RETURN FALSE;
4813 
4814     WHEN OTHERS THEN
4815 
4816         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4817         THEN
4818             OE_MSG_PUB.Add_Exc_Msg
4819             (   G_PKG_NAME
4820             ,   'Request'
4821             );
4822         END IF;
4823 
4824 
4825         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4826 
4827 END Request;
4828 
4829 FUNCTION Global_Attribute1 ( p_global_attribute1 IN VARCHAR2 )
4830 RETURN BOOLEAN
4831 IS
4832 l_dummy                       VARCHAR2(10);
4833 BEGIN
4834 
4835 
4836     IF p_global_attribute1 IS NULL OR
4837         p_global_attribute1 = FND_API.G_MISS_CHAR
4838     THEN
4839 
4840         RETURN TRUE;
4841     END IF;
4842 
4843     --  SELECT  'VALID'
4844     --  INTO     l_dummy
4845     --  FROM     DB_TABLE
4846     --  WHERE    DB_COLUMN = p_global_attribute1;
4847 
4848 
4849     RETURN TRUE;
4850 
4851 EXCEPTION
4852 
4853     WHEN NO_DATA_FOUND THEN
4854 
4855         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4856         THEN
4857 
4858 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE1');
4859 
4860             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4861             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4862 				OE_Order_Util.Get_Attribute_Name('global_attribute1'));
4863             OE_MSG_PUB.Add;
4864 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4865 
4866         END IF;
4867 
4868 
4869         RETURN FALSE;
4870 
4871     WHEN OTHERS THEN
4872 
4873         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4874         THEN
4875             OE_MSG_PUB.Add_Exc_Msg
4876             (   G_PKG_NAME
4877             ,   'Global_Attribute1'
4878             );
4879         END IF;
4880 
4881 
4882         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4883 
4884 END Global_Attribute1;
4885 
4886 
4887 FUNCTION Price_Adjustment ( p_price_adjustment_id IN NUMBER )
4888 RETURN BOOLEAN
4889 IS
4890 l_dummy                       VARCHAR2(10);
4891 BEGIN
4892 
4893 
4894     IF p_price_adjustment_id IS NULL OR
4895         p_price_adjustment_id = FND_API.G_MISS_NUM
4896     THEN
4897 
4898         RETURN TRUE;
4899     END IF;
4900 
4901     --  SELECT  'VALID'
4902     --  INTO     l_dummy
4903     --  FROM     DB_TABLE
4904     --  WHERE    DB_COLUMN = p_price_adjustment_id;
4905 
4906 
4907     RETURN TRUE;
4908 
4909 EXCEPTION
4910 
4911     WHEN NO_DATA_FOUND THEN
4912 
4913         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4914         THEN
4915 
4916 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_ADJUSTMENT_ID');
4917 
4918             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4919             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4920 				OE_Order_Util.Get_Attribute_Name('price_adjustment_id'));
4921             OE_MSG_PUB.Add;
4922 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4923 
4924         END IF;
4925 
4926 
4927         RETURN FALSE;
4928 
4929     WHEN OTHERS THEN
4930 
4931         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4932         THEN
4933             OE_MSG_PUB.Add_Exc_Msg
4934             (   G_PKG_NAME
4935             ,   'Price_Adjustment'
4936             );
4937         END IF;
4938 
4939 
4940         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4941 
4942 END Price_Adjustment;
4943 
4944 FUNCTION Discount ( p_discount_id IN NUMBER )
4945 RETURN BOOLEAN
4946 IS
4947 l_dummy                       VARCHAR2(10);
4948 BEGIN
4949 
4950 
4951     IF p_discount_id IS NULL OR
4952         p_discount_id = FND_API.G_MISS_NUM
4953     THEN
4954 
4955         RETURN TRUE;
4956     END IF;
4957 
4958     --  SELECT  'VALID'
4959     --  INTO     l_dummy
4960     --  FROM     DB_TABLE
4961     --  WHERE    DB_COLUMN = p_discount_id;
4962 
4963 
4964     RETURN TRUE;
4965 
4966 EXCEPTION
4967 
4968     WHEN NO_DATA_FOUND THEN
4969 
4970         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4971         THEN
4972 
4973 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_ID');
4974 
4975             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
4976             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
4977 				OE_Order_Util.Get_Attribute_Name('discount_id'));
4978             OE_MSG_PUB.Add;
4979 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
4980 
4981         END IF;
4982 
4983 
4984         RETURN FALSE;
4985 
4986     WHEN OTHERS THEN
4987 
4988         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4989         THEN
4990             OE_MSG_PUB.Add_Exc_Msg
4991             (   G_PKG_NAME
4992             ,   'Discount'
4993             );
4994         END IF;
4995 
4996 
4997         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4998 
4999 END Discount;
5000 
5001 FUNCTION Discount_Line ( p_discount_line_id IN NUMBER )
5002 RETURN BOOLEAN
5003 IS
5004 l_dummy                       VARCHAR2(10);
5005 BEGIN
5006 
5007 
5008     IF p_discount_line_id <> -1 OR
5009         p_discount_line_id = FND_API.G_MISS_NUM
5010     THEN
5011 
5012         RETURN TRUE;
5013     END IF;
5014 
5015 
5016     --  SELECT  'VALID'
5017     --  INTO     l_dummy
5018     --  FROM     DB_TABLE
5019     --  WHERE    DB_COLUMN = p_discount_line_id;
5020 
5021 
5022     RETURN TRUE;
5023 
5024 EXCEPTION
5025 
5026     WHEN NO_DATA_FOUND THEN
5027 
5028         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5029         THEN
5030 
5031 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DISCOUNT_LINE_ID');
5032 
5033             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5034             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5035 				OE_Order_Util.Get_Attribute_Name('discount_line_id'));
5036             OE_MSG_PUB.Add;
5037 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5038 
5039         END IF;
5040 
5041 
5042         RETURN FALSE;
5043 
5044     WHEN OTHERS THEN
5045 
5046         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5047         THEN
5048             OE_MSG_PUB.Add_Exc_Msg
5049             (   G_PKG_NAME
5050             ,   'Discount_Line'
5051             );
5052         END IF;
5053 
5054 
5055         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5056 
5057 END Discount_Line;
5058 
5059 FUNCTION Automatic ( p_automatic_flag IN VARCHAR2 )
5060 RETURN BOOLEAN
5061 IS
5062 l_dummy                       VARCHAR2(10);
5063 BEGIN
5064 
5065 
5066     IF p_automatic_flag IS NULL OR
5067         p_automatic_flag = FND_API.G_MISS_CHAR
5068     THEN
5069 
5070         RETURN TRUE;
5071     END IF;
5072 
5073     --  SELECT  'VALID'
5074     --  INTO     l_dummy
5075     --  FROM     DB_TABLE
5076     --  WHERE    DB_COLUMN = p_automatic_flag;
5077 
5078 
5079     RETURN TRUE;
5080 
5081 EXCEPTION
5082 
5083     WHEN NO_DATA_FOUND THEN
5084 
5085         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5086         THEN
5087 
5088 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTOMATIC_FLAG');
5089 
5090             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5091             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5092 				OE_Order_Util.Get_Attribute_Name('automatic_flag'));
5093             OE_MSG_PUB.Add;
5094 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5095 
5096         END IF;
5097 
5098 
5099         RETURN FALSE;
5100 
5101     WHEN OTHERS THEN
5102 
5103         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5104         THEN
5105             OE_MSG_PUB.Add_Exc_Msg
5106             (   G_PKG_NAME
5107             ,   'Automatic'
5108             );
5109         END IF;
5110 
5111 
5112         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5113 
5114 END Automatic;
5115 
5116 FUNCTION Percent ( p_percent IN NUMBER )
5117 RETURN BOOLEAN
5118 IS
5119 l_dummy                       VARCHAR2(10);
5120 BEGIN
5121 
5122 
5123    -- All attribute validation being turned on
5124 --   IF p_percent IS NULL OR
5125 --     p_percent = FND_API.g_miss_num
5126 --     THEN
5127 --      RETURN TRUE;
5128 --    ELSIF p_percent = 0
5129 --      THEN
5130 --      RETURN FALSE;
5131 --   END IF;
5132 
5133 
5134    RETURN TRUE;
5135 
5136 /*
5137     IF p_percent IS NULL OR
5138         p_percent = FND_API.G_MISS_NUM
5139     THEN
5140         RETURN TRUE;
5141     END IF;
5142 
5143     --  SELECT  'VALID'
5144     --  INTO     l_dummy
5145     --  FROM     DB_TABLE
5146     --  WHERE    DB_COLUMN = p_percent;
5147 
5148     RETURN TRUE;
5149 */
5150 EXCEPTION
5151 
5152     WHEN NO_DATA_FOUND THEN
5153 
5154         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5155         THEN
5156 
5157 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
5158 
5159             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5160             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5161 				OE_Order_Util.Get_Attribute_Name('percent'));
5162             OE_MSG_PUB.Add;
5163 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5164 
5165         END IF;
5166 
5167 
5168         RETURN FALSE;
5169 
5170     WHEN OTHERS THEN
5171 
5172         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5173         THEN
5174             OE_MSG_PUB.Add_Exc_Msg
5175             (   G_PKG_NAME
5176             ,   'Percent'
5177             );
5178         END IF;
5179 
5180 
5181         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5182 
5183 END Percent;
5184 
5185 FUNCTION Line ( p_line_id IN NUMBER )
5186 RETURN BOOLEAN
5187 IS
5188 l_dummy                       VARCHAR2(10);
5189 BEGIN
5190 
5191 
5192     IF p_line_id IS NULL OR
5193         p_line_id = FND_API.G_MISS_NUM
5194     THEN
5195 
5196         RETURN TRUE;
5197     END IF;
5198 
5199     --  SELECT  'VALID'
5200     --  INTO     l_dummy
5201     --  FROM     DB_TABLE
5202     --  WHERE    DB_COLUMN = p_line_id;
5203 
5204 
5205     RETURN TRUE;
5206 
5207 EXCEPTION
5208 
5209     WHEN NO_DATA_FOUND THEN
5210 
5211         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5212         THEN
5213 
5214 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_ID');
5215 
5216             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5217             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5218 				OE_Order_Util.Get_Attribute_Name('line_id'));
5219             OE_MSG_PUB.Add;
5220 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5221 
5222         END IF;
5223 
5224 
5225         RETURN FALSE;
5226 
5227     WHEN OTHERS THEN
5228 
5229         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5230         THEN
5231             OE_MSG_PUB.Add_Exc_Msg
5232             (   G_PKG_NAME
5233             ,   'Line'
5234             );
5235         END IF;
5236 
5237 
5238         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5239 
5240 END Line;
5241 
5242 
5243 FUNCTION Applied_Flag ( p_Applied_Flag IN VARCHAR2 )
5244 RETURN BOOLEAN
5245 IS
5246 l_dummy                       VARCHAR2(10);
5247 BEGIN
5248 
5249 
5250     IF p_Applied_Flag IS NULL OR
5251         p_Applied_Flag = FND_API.G_MISS_NUM
5252     THEN
5253 
5254         RETURN TRUE;
5255     END IF;
5256 
5257 	   if p_applied_flag not in ('Y','N') then
5258 
5259         RAISE NO_DATA_FOUND;
5260      End if;
5261 
5262         RETURN TRUE;
5263 
5264 EXCEPTION
5265 
5266     WHEN NO_DATA_FOUND THEN
5267 
5268         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5269         THEN
5270 
5271 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPLIED_FLAG');
5272 
5273             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5274             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5275 				OE_Order_Util.Get_Attribute_Name('Applied_Flag'));
5276             OE_MSG_PUB.Add;
5277 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5278 
5279         END IF;
5280 
5281 
5282         RETURN FALSE;
5283 
5284     WHEN OTHERS THEN
5285 
5286         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5287         THEN
5288             OE_MSG_PUB.Add_Exc_Msg
5289             (   G_PKG_NAME
5290             ,   'Applied_Flag'
5291             );
5292         END IF;
5293 
5294 
5295         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5296 
5297 END Applied_Flag;
5298 
5299 
5300 
5301 FUNCTION Change_Reason_Code(p_Change_Reason_Code IN VARCHAR2) RETURN BOOLEAN
5302 IS
5303 l_dummy  VARCHAR2(10);
5304 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5305 l_lookup_type      	      VARCHAR2(80) :='CANCEL_CODE';
5306 BEGIN
5307 
5308     IF  p_Change_Reason_Code IS NULL OR
5309         p_Change_Reason_Code = FND_API.G_MISS_CHAR OR
5310         upper(p_Change_Reason_Code)='SYSTEM' OR
5311         upper(p_Change_Reason_Code)='CONFIGURATOR' THEN
5312         RETURN TRUE;
5313     END IF;
5314 
5315     SELECT  'VALID'
5316     INTO    l_dummy
5317     FROM    OE_LOOKUPS
5318     WHERE   LOOKUP_CODE = p_change_reason_code
5319     AND     LOOKUP_TYPE = l_lookup_type
5320     AND     ENABLED_FLAG = 'Y'
5321     AND     SYSDATE  BETWEEN NVL(START_DATE_ACTIVE, SYSDATE) AND NVL(END_DATE_ACTIVE, SYSDATE);
5322 
5323     RETURN TRUE;
5324 
5325 EXCEPTION
5326 
5327     WHEN NO_DATA_FOUND THEN
5328          IF l_debug_level > 0 THEN
5329             OE_DEBUG_PUB.add('Change/Cancel Reason Code is invalid ',1);
5330             OE_DEBUG_PUB.add('Error Message at 1 : '||sqlerrm,1);
5331          END IF;
5332          IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR) THEN
5333 	    OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_CODE');
5334             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5335             FND_MESSAGE.SET_TOKEN('ATTRIBUTE', OE_Order_Util.Get_Attribute_Name('Change_Reason_Code'));
5336             OE_MSG_PUB.Add;
5337 	    OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5338          END IF;
5339          RETURN FALSE;
5340     WHEN OTHERS THEN
5341          IF l_debug_level > 0 THEN
5342             OE_DEBUG_PUB.add('Change/Cancel Reason Code is invalid ',1);
5343             OE_DEBUG_PUB.add('Error Message at 2 : '||sqlerrm,1);
5344          END IF;
5345          IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5346             OE_MSG_PUB.Add_Exc_Msg (   G_PKG_NAME ,   'Change_Reason_Code');
5347          END IF;
5348          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5349 
5350 END Change_Reason_Code;
5351 
5352 
5353 FUNCTION Change_Reason_Text(p_Change_Reason_Text IN VARCHAR2)
5354 RETURN BOOLEAN
5355 IS
5356 l_dummy                       VARCHAR2(10);
5357 BEGIN
5358 
5359 
5360     IF p_Change_Reason_Text IS NULL OR
5361         p_Change_Reason_Text = FND_API.G_MISS_NUM
5362     THEN
5363 
5364         RETURN TRUE;
5365     END IF;
5366 
5367 
5368     RETURN TRUE;
5369 
5370 EXCEPTION
5371 
5372     WHEN NO_DATA_FOUND THEN
5373 
5374         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5375         THEN
5376 
5377 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHANGE_REASON_TEXT');
5378 
5379             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5380             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5381 				OE_Order_Util.Get_Attribute_Name('Change_Reason_Text'));
5382             OE_MSG_PUB.Add;
5383 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5384 
5385         END IF;
5386 
5387 
5388         RETURN FALSE;
5389 
5390     WHEN OTHERS THEN
5391 
5392         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5393         THEN
5394             OE_MSG_PUB.Add_Exc_Msg
5395             (   G_PKG_NAME
5396             ,   'Change_Reason_Text'
5397             );
5398         END IF;
5399 
5400 
5401         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5402 
5403 END Change_Reason_Text;
5404 
5405 
5406 FUNCTION List_Header_id(p_List_Header_id IN NUMBER)
5407 RETURN BOOLEAN
5408 IS
5409 l_dummy                       VARCHAR2(10);
5410 BEGIN
5411 
5412 
5413     IF p_List_Header_id IS NULL OR
5414         p_List_Header_id = FND_API.G_MISS_NUM
5415     THEN
5416 
5417         RETURN TRUE;
5418     END IF;
5419 
5420     --  SELECT  'VALID'
5421     --  INTO     l_dummy
5422     --  FROM     DB_TABLE
5423     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5424 
5425 
5426     RETURN TRUE;
5427 
5428 EXCEPTION
5429 
5430     WHEN NO_DATA_FOUND THEN
5431 
5432         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5433         THEN
5434 
5435 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_HEADER_ID');
5436 
5437             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5438             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5439 				OE_Order_Util.Get_Attribute_Name('List_Header_id'));
5440             OE_MSG_PUB.Add;
5441 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5442 
5443         END IF;
5444 
5445 
5446         RETURN FALSE;
5447 
5448     WHEN OTHERS THEN
5449 
5450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5451         THEN
5452             OE_MSG_PUB.Add_Exc_Msg
5453             (   G_PKG_NAME
5454             ,   'List_Header_id'
5455             );
5456         END IF;
5457 
5458 
5459         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5460 
5461 END List_Header_id;
5462 
5463 
5464 FUNCTION List_Line_id(p_List_Line_id IN NUMBER)
5465 RETURN BOOLEAN
5466 IS
5467 l_dummy                       VARCHAR2(10);
5468 BEGIN
5469 
5470 
5471     IF p_List_Line_id IS NULL OR
5472         p_List_Line_id = FND_API.G_MISS_NUM
5473     THEN
5474 
5475         RETURN TRUE;
5476     END IF;
5477 
5478     --  SELECT  'VALID'
5479     --  INTO     l_dummy
5480     --  FROM     DB_TABLE
5481     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5482 
5483 
5484     RETURN TRUE;
5485 
5486 EXCEPTION
5487 
5488     WHEN NO_DATA_FOUND THEN
5489 
5490         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5491         THEN
5492 
5493 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_ID');
5494 
5495             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5496             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5497 				OE_Order_Util.Get_Attribute_Name('List_Line_id'));
5498             OE_MSG_PUB.Add;
5499 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5500 
5501         END IF;
5502 
5503 
5504         RETURN FALSE;
5505 
5506     WHEN OTHERS THEN
5507 
5508         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5509         THEN
5510             OE_MSG_PUB.Add_Exc_Msg
5511             (   G_PKG_NAME
5512             ,   'List_Line_id'
5513             );
5514         END IF;
5515 
5516         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5517 
5518 END List_Line_id;
5519 
5520 
5521 FUNCTION  List_Line_Type_code(p_List_Line_Type_code IN VARCHAR2)
5522 RETURN BOOLEAN
5523 IS
5524 l_dummy                       VARCHAR2(10);
5525 BEGIN
5526 
5527 
5528     IF p_List_Line_Type_code IS NULL OR
5529         p_List_Line_Type_code = FND_API.G_MISS_NUM
5530     THEN
5531 
5532         RETURN TRUE;
5533     END IF;
5534 
5535     --  SELECT  'VALID'
5536     --  INTO     l_dummy
5537     --  FROM     DB_TABLE
5538     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5539 
5540 
5541     RETURN TRUE;
5542 
5543 EXCEPTION
5544 
5545     WHEN NO_DATA_FOUND THEN
5546 
5547         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5548         THEN
5549 
5550 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LIST_LINE_TYPE_CODE');
5551 
5552             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5553             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5554 				OE_Order_Util.Get_Attribute_Name('List_Line_Type_code'));
5555             OE_MSG_PUB.Add;
5556 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5557 
5558         END IF;
5559 
5560 
5561         RETURN FALSE;
5562 
5563     WHEN OTHERS THEN
5564 
5565         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5566         THEN
5567             OE_MSG_PUB.Add_Exc_Msg
5568             (   G_PKG_NAME
5569             ,   'List_Line_Type_code'
5570             );
5571         END IF;
5572 
5573 
5574         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5575 
5576 END List_Line_Type_code;
5577 
5578 
5579 FUNCTION Modified_From(p_Modified_From IN VARCHAR2)
5580 RETURN BOOLEAN
5581 IS
5582 l_dummy                       VARCHAR2(10);
5583 BEGIN
5584 
5585 
5586     IF p_Modified_From IS NULL OR
5587         p_Modified_From = FND_API.G_MISS_CHAR
5588     THEN
5589 
5590         RETURN TRUE;
5591     END IF;
5592 
5593     --  SELECT  'VALID'
5594     --  INTO     l_dummy
5595     --  FROM     DB_TABLE
5596     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5597 
5598 
5599     RETURN TRUE;
5600 
5601 EXCEPTION
5602 
5603     WHEN NO_DATA_FOUND THEN
5604 
5605         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5606         THEN
5607 
5608 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_FROM');
5609 
5610             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5611             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5612 				OE_Order_Util.Get_Attribute_Name('Modified_From'));
5613             OE_MSG_PUB.Add;
5614 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5615 
5616         END IF;
5617 
5618 
5619         RETURN FALSE;
5620 
5621     WHEN OTHERS THEN
5622 
5623         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5624         THEN
5625             OE_MSG_PUB.Add_Exc_Msg
5626             (   G_PKG_NAME
5627             ,   'Modified_From'
5628             );
5629         END IF;
5630 
5631 
5632         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5633 
5634 END Modified_From;
5635 
5636 FUNCTION Modified_To(p_Modified_To IN VARCHAR2)
5637 RETURN BOOLEAN
5638 IS
5639 l_dummy                       VARCHAR2(10);
5640 BEGIN
5641 
5642 
5643     IF p_Modified_To IS NULL OR
5644         p_Modified_To = FND_API.G_MISS_CHAR
5645     THEN
5646 
5647         RETURN TRUE;
5648     END IF;
5649 
5650     --  SELECT  'VALID'
5651     --  INTO     l_dummy
5652     --  FROM     DB_TABLE
5653     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5654 
5655 
5656     RETURN TRUE;
5657 
5658 EXCEPTION
5659 
5660     WHEN NO_DATA_FOUND THEN
5661 
5662         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5663         THEN
5664 
5665 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIED_TO');
5666 
5667             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5668             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5669 				OE_Order_Util.Get_Attribute_Name('Modified_To'));
5670             OE_MSG_PUB.Add;
5671 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5672 
5673         END IF;
5674 
5675 
5676         RETURN FALSE;
5677 
5678     WHEN OTHERS THEN
5679 
5680         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5681         THEN
5682             OE_MSG_PUB.Add_Exc_Msg
5683             (   G_PKG_NAME
5684             ,   'Modified_To'
5685             );
5686         END IF;
5687 
5688 
5689         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5690 
5691 END Modified_To;
5692 
5693 
5694 FUNCTION  Modifier_mechanism_type_code(p_Modifier_mechanism_type_code IN VARCHAR2)
5695 RETURN BOOLEAN
5696 IS
5697 l_dummy                       VARCHAR2(10);
5698 BEGIN
5699 
5700 
5701     IF p_Modifier_mechanism_type_code IS NULL OR
5702         p_Modifier_mechanism_type_code = FND_API.G_MISS_NUM
5703     THEN
5704 
5705         RETURN TRUE;
5706     END IF;
5707 
5708     --  SELECT  'VALID'
5709     --  INTO     l_dummy
5710     --  FROM     DB_TABLE
5711     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5712 
5713 
5714     RETURN TRUE;
5715 
5716 EXCEPTION
5717 
5718     WHEN NO_DATA_FOUND THEN
5719 
5720         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5721         THEN
5722 
5723 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODIFIER_MECHANISM_TYPE_CODE');
5724 
5725             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5726             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5727 				OE_Order_Util.Get_Attribute_Name('Modifier_mechanism_type_code'));
5728             OE_MSG_PUB.Add;
5729 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5730 
5731         END IF;
5732 
5733 
5734         RETURN FALSE;
5735 
5736     WHEN OTHERS THEN
5737 
5738         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5739         THEN
5740             OE_MSG_PUB.Add_Exc_Msg
5741             (   G_PKG_NAME
5742             ,   'Modifier_mechanism_type_code'
5743             );
5744         END IF;
5745 
5746 
5747         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5748 
5749 END Modifier_mechanism_type_code;
5750 
5751 
5752 
5753 FUNCTION Updated_Flag(p_Updated_Flag IN VARCHAR2)
5754 RETURN BOOLEAN
5755 IS
5756 l_dummy                       VARCHAR2(10);
5757 BEGIN
5758 
5759 
5760     IF p_Updated_Flag IS NULL OR
5761         p_Updated_Flag = FND_API.G_MISS_NUM
5762     THEN
5763 
5764         RETURN TRUE;
5765     END IF;
5766 
5767     --  SELECT  'VALID'
5768     --  INTO     l_dummy
5769     --  FROM     DB_TABLE
5770     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5771 
5772 
5773     RETURN TRUE;
5774 
5775 EXCEPTION
5776 
5777     WHEN NO_DATA_FOUND THEN
5778 
5779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5780         THEN
5781 
5782 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATED_FLAG');
5783 
5784             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5785             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5786 				OE_Order_Util.Get_Attribute_Name('Updated_Flag'));
5787             OE_MSG_PUB.Add;
5788 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5789 
5790         END IF;
5791 
5792 
5793         RETURN FALSE;
5794 
5795     WHEN OTHERS THEN
5796 
5797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5798         THEN
5799             OE_MSG_PUB.Add_Exc_Msg
5800             (   G_PKG_NAME
5801             ,   'Updated_Flag'
5802             );
5803         END IF;
5804 
5805 
5806         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5807 
5808 END Updated_Flag;
5809 
5810 
5811 FUNCTION Update_Allowed(p_Update_Allowed IN VARCHAR2)
5812 RETURN BOOLEAN
5813 IS
5814 l_dummy                       VARCHAR2(10);
5815 BEGIN
5816 
5817 
5818     IF p_Update_Allowed IS NULL OR
5819         p_Update_Allowed = FND_API.G_MISS_NUM
5820     THEN
5821 
5822         RETURN TRUE;
5823     END IF;
5824 
5825     --  SELECT  'VALID'
5826     --  INTO     l_dummy
5827     --  FROM     DB_TABLE
5828     --  WHERE    DB_COLUMN = p_price_adjustment_id;
5829 
5830 
5831     RETURN TRUE;
5832 
5833 EXCEPTION
5834 
5835     WHEN NO_DATA_FOUND THEN
5836 
5837         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5838         THEN
5839 
5840 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UPDATE_ALLOWED');
5841 
5842             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5843             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5844 				OE_Order_Util.Get_Attribute_Name('Update_Allowed'));
5845             OE_MSG_PUB.Add;
5846 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5847 
5848         END IF;
5849 
5850 
5851         RETURN FALSE;
5852 
5853     WHEN OTHERS THEN
5854 
5855         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5856         THEN
5857             OE_MSG_PUB.Add_Exc_Msg
5858             (   G_PKG_NAME
5859             ,   'Update_Allowed'
5860             );
5861         END IF;
5862 
5863 
5864         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5865 
5866 END Update_Allowed;
5867 
5868 FUNCTION Sales_Credit ( p_sales_credit_id IN NUMBER )
5869 RETURN BOOLEAN
5870 IS
5871 l_dummy                       VARCHAR2(10);
5872 BEGIN
5873 
5874 
5875     IF p_sales_credit_id IS NULL OR
5876         p_sales_credit_id = FND_API.G_MISS_NUM
5877     THEN
5878 
5879         RETURN TRUE;
5880     END IF;
5881 
5882     --  SELECT  'VALID'
5883     --  INTO     l_dummy
5884     --  FROM     DB_TABLE
5885     --  WHERE    DB_COLUMN = p_sales_credit_id;
5886 
5887 
5888     RETURN TRUE;
5889 
5890 EXCEPTION
5891 
5892     WHEN NO_DATA_FOUND THEN
5893 
5894         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5895         THEN
5896 
5897 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CREDIT_ID');
5898 
5899             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5900             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5901 				OE_Order_Util.Get_Attribute_Name('sales_credit_id'));
5902             OE_MSG_PUB.Add;
5903 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5904 
5905         END IF;
5906 
5907 
5908         RETURN FALSE;
5909 
5910     WHEN OTHERS THEN
5911 
5912         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5913         THEN
5914             OE_MSG_PUB.Add_Exc_Msg
5915             (   G_PKG_NAME
5916             ,   'Sales_Credit'
5917             );
5918         END IF;
5919 
5920 
5921         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5922 
5923 END Sales_Credit;
5924 
5925 FUNCTION Sales_credit_type ( p_Sales_credit_type_id IN NUMBER )
5926 RETURN BOOLEAN
5927 IS
5928 l_dummy                       VARCHAR2(10);
5929 cursor c_Sales_credit_type( p_Sales_credit_type_id IN number) is
5930        select 'VALID'
5931        from oe_sales_credit_types
5932        where Sales_credit_type_id = p_Sales_credit_type_id;
5933 BEGIN
5934 
5935 
5936     IF p_Sales_credit_type_id IS NULL OR
5937         p_Sales_credit_type_id = FND_API.G_MISS_NUM
5938     THEN
5939 
5940         RETURN TRUE;
5941     END IF;
5942 
5943     OPEN c_Sales_credit_type(p_Sales_credit_type_id);
5944     FETCH c_Sales_credit_type into l_dummy;
5945     CLOSE c_Sales_credit_type;
5946     IF l_dummy = 'VALID' then
5947 
5948        RETURN TRUE;
5949     ELSE
5950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
5951         THEN
5952 
5953 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Sales_credit_type_id');
5954 
5955             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
5956             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
5957 				OE_Order_Util.Get_Attribute_Name('Sales_credit_type_id'));
5958             OE_MSG_PUB.Add;
5959 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
5960 
5961         END IF;
5962 
5963        RETURN FALSE;
5964     END IF;
5965 EXCEPTION
5966 
5967     WHEN OTHERS THEN
5968 
5969         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5970         THEN
5971             OE_MSG_PUB.Add_Exc_Msg
5972             (   G_PKG_NAME
5973             ,   'Sales_credit_type'
5974             );
5975         END IF;
5976 
5977 
5978         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5979 
5980 END Sales_credit_type;
5981 
5982 FUNCTION Salesrep ( p_salesrep_id IN NUMBER )
5983 RETURN BOOLEAN
5984 IS
5985 l_dummy                       VARCHAR2(10);
5986 l_is_salesrep_active          VARCHAR2(10);
5987 l_org_id  NUMBER;
5988 l_salesrep_rec_type    OE_Order_Cache.Salesrep_Rec_type ; -- add for bug 4200055
5989 
5990 -- comment out for bug 4200055
5991 /*cursor c_salesrep( p_salesrep_id IN number) is
5992        select  'VALID'
5993        from ra_salesreps --Bug 3358986.Changed ra_salesreps_all to ra_salesreps
5994        where salesrep_id = p_salesrep_id
5995        and sysdate between NVL(start_date_active,sysdate)
5996        and NVL(end_date_active,sysdate);
5997 */
5998 
5999 cursor c_jtf_salesrep(p_salesrep_id IN number) is
6000        select /* MOAC_SQL_CHANGE */ 'VALID'
6001        from jtf_rs_salesreps jrs,
6002             jtf_rs_resource_extns b
6003        where jrs.salesrep_id = p_salesrep_id
6004        and jrs.resource_id = b.resource_id
6005        and b.category in ('EMPLOYEE','OTHER','PARTY','PARTNER','SUPPLIER_CONTACT')
6006        and jrs.org_id =l_org_id
6007        and sysdate between nvl(jrs.start_date_active,sysdate)
6008                    and nvl(jrs.end_date_active,sysdate);
6009 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6010 
6011 BEGIN
6012    l_org_id :=mo_global.get_current_org_id ; --for MOAC SQL Changes
6013    IF p_salesrep_id IS NULL OR
6014         p_salesrep_id = FND_API.G_MISS_NUM
6015     THEN
6016 
6017         RETURN TRUE;
6018     END IF;
6019 
6020     Begin
6021 
6022       --added for bug 4200055
6023       l_salesrep_rec_type := OE_Order_Cache.Load_Salesrep_Rec(p_salesrep_id);
6024       IF (l_salesrep_rec_type.salesrep_id is not null
6025       AND l_salesrep_rec_type.salesrep_id = p_salesrep_id ) THEN
6026            if nvl(l_salesrep_rec_type.start_date_active,sysdate) <= sysdate
6027             and nvl(l_salesrep_rec_type.end_date_active,sysdate) >= sysdate
6028            then
6029                 l_is_salesrep_active := 'VALID' ;
6030            end if ;
6031       END IF ;
6032 
6033       /*OPEN c_salesrep(p_salesrep_id);
6034       FETCH c_salesrep into l_dummy;
6035       CLOSE c_salesrep;
6036       */
6037       --end bug 4200055
6038 
6039 
6040       -- bug 5022615
6041       IF l_is_salesrep_active = 'VALID' THEN
6042         --Now check for RTF salesrep table
6043         IF l_debug_level > 0 THEN
6044             oe_debug_pub.add(' Checking rtf 1');
6045         END IF;
6046         OPEN  c_jtf_salesrep(p_salesrep_id);
6047         FETCH c_jtf_salesrep into l_dummy;
6048         CLOSE c_jtf_salesrep;
6049 
6050 
6051         IF l_dummy = 'VALID' then
6052 
6053           RETURN TRUE;
6054         ELSE
6055           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6056            THEN
6057 
6058 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6059 
6060               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6061               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6062 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6063               OE_MSG_PUB.Add;
6064 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6065 
6066            END IF;
6067            IF l_debug_level > 0 THEN
6068               oe_debug_pub.add(' rtf failed 1');
6069            END IF;
6070            RETURN FALSE;
6071          END IF;
6072     ELSE  -- if salesrep is inactive
6073        RETURN FALSE;
6074      END IF;
6075 
6076   Exception
6077     When no_data_found then
6078       IF l_debug_level > 0 THEN
6079           oe_debug_pub.add('checking rtf 2');
6080       END IF;
6081       OPEN  c_jtf_salesrep(p_salesrep_id);
6082       FETCH c_jtf_salesrep into l_dummy;
6083       CLOSE c_jtf_salesrep;
6084 
6085         IF l_dummy = 'VALID' then
6086           RETURN TRUE;
6087         ELSE
6088           IF l_debug_level > 0 THEN
6089               oe_debug_pub.add(' rtf failed 2');
6090           END IF;
6091           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6092            THEN
6093 
6094 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6095 
6096               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6097               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6098 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6099               OE_MSG_PUB.Add;
6100 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6101 
6102            END IF;
6103          END IF;
6104 
6105        RETURN FALSE;
6106 
6107   End;
6108 EXCEPTION
6109 
6110     WHEN no_data_found Then
6111         OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6112         fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6113         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6114 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6115         OE_MSG_PUB.Add;
6116         OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6117         Return FALSE;
6118     WHEN OTHERS THEN
6119 
6120         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6121         THEN
6122             OE_MSG_PUB.Add_Exc_Msg
6123             (   G_PKG_NAME
6124             ,   'Salesrep'
6125             );
6126         END IF;
6127 
6128 
6129         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6130 
6131 END Salesrep;
6132 
6133 FUNCTION Dw_Update_Advice ( p_dw_update_advice_flag IN VARCHAR2 )
6134 RETURN BOOLEAN
6135 IS
6136 l_dummy                       VARCHAR2(10);
6137 BEGIN
6138 
6139 
6140     IF p_dw_update_advice_flag IS NULL OR
6141         p_dw_update_advice_flag = FND_API.G_MISS_CHAR
6142     THEN
6143 
6144         RETURN TRUE;
6145     END IF;
6146 
6147     --  SELECT  'VALID'
6148     --  INTO     l_dummy
6149     --  FROM     DB_TABLE
6150     --  WHERE    DB_COLUMN = p_dw_update_advice_flag;
6151 
6152 
6153     RETURN TRUE;
6154 
6155 EXCEPTION
6156 
6157     WHEN NO_DATA_FOUND THEN
6158 
6159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6160         THEN
6161 
6162 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DW_UPDATE_ADVICE_FLAG');
6163 
6164             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6165             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6166 				OE_Order_Util.Get_Attribute_Name('dw_update_advice_flag'));
6167             OE_MSG_PUB.Add;
6168 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6169 
6170         END IF;
6171 
6172 
6173         RETURN FALSE;
6174 
6175     WHEN OTHERS THEN
6176 
6177         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6178         THEN
6179             OE_MSG_PUB.Add_Exc_Msg
6180             (   G_PKG_NAME
6181             ,   'Dw_Update_Advice'
6182             );
6183         END IF;
6184 
6185 
6186         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6187 
6188 END Dw_Update_Advice;
6189 
6190 FUNCTION Wh_Update_Date ( p_wh_update_date IN DATE )
6191 RETURN BOOLEAN
6192 IS
6193 l_dummy                       VARCHAR2(10);
6194 BEGIN
6195 
6196 
6197     IF p_wh_update_date IS NULL OR
6198         p_wh_update_date = FND_API.G_MISS_DATE
6199     THEN
6200 
6201         RETURN TRUE;
6202     END IF;
6203 
6204     --  SELECT  'VALID'
6205     --  INTO     l_dummy
6206     --  FROM     DB_TABLE
6207     --  WHERE    DB_COLUMN = p_wh_update_date;
6208 
6209 
6210     RETURN TRUE;
6211 
6212 EXCEPTION
6213 
6214     WHEN NO_DATA_FOUND THEN
6215 
6216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6217         THEN
6218 
6219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'WH_UPDATE_DATE');
6220 
6221             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6222             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6223 				OE_Order_Util.Get_Attribute_Name('wh_update_date'));
6224             OE_MSG_PUB.Add;
6225 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6226 
6227         END IF;
6228 
6229 
6230         RETURN FALSE;
6231 
6232     WHEN OTHERS THEN
6233 
6234         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6235         THEN
6236             OE_MSG_PUB.Add_Exc_Msg
6237             (   G_PKG_NAME
6238             ,   'Wh_Update_Date'
6239             );
6240         END IF;
6241 
6242 
6243         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6244 
6245 END Wh_Update_Date;
6246 
6247 
6248 FUNCTION Line_Type ( p_line_type_id IN NUMBER )
6249 RETURN BOOLEAN
6250 IS
6251 l_dummy                       VARCHAR2(10);
6252 BEGIN
6253 
6254 
6255     IF p_line_type_id IS NULL OR
6256         p_line_type_id = FND_API.G_MISS_NUM
6257     THEN
6258 
6259         RETURN TRUE;
6260     END IF;
6261 
6262     --changes for bug 4200055
6263     IF (OE_Order_Cache.g_line_type_rec.line_type_id =  FND_API.G_MISS_NUM)
6264        OR (OE_Order_Cache.g_line_type_rec.line_type_id <> p_line_type_id) THEN
6265           OE_Order_Cache.Load_Line_type(p_line_type_id) ;
6266     END IF ;
6267 
6268     IF (OE_Order_Cache.g_line_type_rec.line_type_id <> FND_API.G_MISS_NUM)
6269           AND (OE_Order_Cache.g_line_type_rec.line_type_id IS NOT NULL )
6270           AND (OE_Order_Cache.g_line_type_rec.line_type_id = p_line_type_id) THEN
6271              if ( (nvl(OE_Order_Cache.g_line_type_rec.Start_Date_Active,trunc(sysdate)) <= trunc(sysdate))
6272                 and (nvl(OE_Order_Cache.g_line_type_rec.End_Date_Active,trunc(sysdate)) >= trunc(sysdate))
6273                 ) then
6274                        RETURN TRUE ;
6275             else
6276                        RAISE NO_DATA_FOUND ;
6277             end if ;
6278     ELSE
6279                        RAISE NO_DATA_FOUND ;
6280 
6281     END IF ;
6282 
6283     /* SELECT  'VALID'
6284     INTO    l_dummy
6285     FROM    OE_LINE_TYPES_V
6286     WHERE   LINE_TYPE_ID = p_line_type_id
6287     AND     SYSDATE BETWEEN NVL( START_DATE_ACTIVE, SYSDATE  )
6288                      AND     NVL( END_DATE_ACTIVE, SYSDATE );
6289 
6290     RETURN TRUE;
6291      */
6292     --end bug 4200055
6293 
6294 
6295 EXCEPTION
6296 
6297     WHEN NO_DATA_FOUND THEN
6298 
6299         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6300         THEN
6301 
6302 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_TYPE_ID');
6303 
6304             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6305             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6306 				OE_Order_Util.Get_Attribute_Name('line_type_id'));
6307             OE_MSG_PUB.Add;
6308 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6309 
6310         END IF;
6311 
6312 
6313         RETURN FALSE;
6314 
6315     WHEN OTHERS THEN
6316 
6317         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6318         THEN
6319             OE_MSG_PUB.Add_Exc_Msg
6320             (   G_PKG_NAME
6321             ,   'Line_Type'
6322             );
6323         END IF;
6324 
6325 
6326         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6327 
6328 END Line_Type;
6329 
6330 FUNCTION Line_Number ( p_line_number IN NUMBER )
6331 RETURN BOOLEAN
6332 IS
6333 l_dummy                       VARCHAR2(10);
6334 BEGIN
6335 
6336 
6337     IF p_line_number IS NULL OR
6338         p_line_number = FND_API.G_MISS_NUM
6339     THEN
6340 
6341         RETURN TRUE;
6342     END IF;
6343 
6344     --  SELECT  'VALID'
6345     --  INTO     l_dummy
6346     --  FROM     DB_TABLE
6347     --  WHERE    DB_COLUMN = p_line_number;
6348 
6349 
6350     RETURN TRUE;
6351 
6352 EXCEPTION
6353 
6354     WHEN NO_DATA_FOUND THEN
6355 
6356         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6357         THEN
6358 
6359 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_NUMBER');
6360 
6361             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6362             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6363 				OE_Order_Util.Get_Attribute_Name('line_number'));
6364             OE_MSG_PUB.Add;
6365 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6366 
6367         END IF;
6368 
6369 
6370         RETURN FALSE;
6371 
6372     WHEN OTHERS THEN
6373 
6374         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6375         THEN
6376             OE_MSG_PUB.Add_Exc_Msg
6377             (   G_PKG_NAME
6378             ,   'Line_Number'
6379             );
6380         END IF;
6381 
6382         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6383 
6384 
6385 END Line_Number;
6386 
6387 FUNCTION Ordered_Item_id ( p_ordered_item_id IN NUMBER )
6388 RETURN BOOLEAN
6389 IS
6390 l_dummy                       VARCHAR2(10);
6391 BEGIN
6392 
6393 
6394     IF p_ordered_item_id IS NULL OR
6395         p_ordered_item_id = FND_API.G_MISS_NUM
6396     THEN
6397 
6398         RETURN TRUE;
6399     END IF;
6400 
6401     --  SELECT  'VALID'
6402     --  INTO     l_dummy
6403     --  FROM     DB_TABLE
6404     --  WHERE    DB_COLUMN = p_ordered_item_id;
6405 
6406 
6407     RETURN TRUE;
6408 
6409 EXCEPTION
6410 
6411     WHEN NO_DATA_FOUND THEN
6412 
6413         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6414         THEN
6415 
6416 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM_ID');
6417 
6418             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6419             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6420 				OE_Order_Util.Get_Attribute_Name('ordered_item_id'));
6421             OE_MSG_PUB.Add;
6422 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6423 
6424         END IF;
6425 
6426 
6427         RETURN FALSE;
6428 
6429     WHEN OTHERS THEN
6430 
6431         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6432         THEN
6433             OE_MSG_PUB.Add_Exc_Msg
6434             (   G_PKG_NAME
6435             ,   'Ordered_Item_Id'
6436             );
6437         END IF;
6438 
6439 
6440         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6441 
6442 END Ordered_Item_Id;
6443 
6444 FUNCTION Item_Identifier_Type ( p_item_identifier_type IN VARCHAR2 )
6445 RETURN BOOLEAN
6446 IS
6447 l_dummy                       VARCHAR2(10);
6448 BEGIN
6449 
6450 
6451     IF p_item_identifier_type IS NULL OR
6452         p_item_identifier_type = FND_API.G_MISS_CHAR
6453     THEN
6454 
6455         RETURN TRUE;
6456     END IF;
6457 
6458     --  SELECT  'VALID'
6459     --  INTO     l_dummy
6460     --  FROM     DB_TABLE
6461     --  WHERE    DB_COLUMN = p_item_identifier_type;
6462 
6463 
6464     RETURN TRUE;
6465 
6466 EXCEPTION
6467 
6468     WHEN NO_DATA_FOUND THEN
6469 
6470         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6471         THEN
6472 
6473 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_IDENTIFIER_TYPE');
6474 
6475             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6476             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6477 				OE_Order_Util.Get_Attribute_Name('item_identifier_type'));
6478             OE_MSG_PUB.Add;
6479 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6480 
6481         END IF;
6482 
6483 
6484         RETURN FALSE;
6485 
6486     WHEN OTHERS THEN
6487 
6488         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6489         THEN
6490             OE_MSG_PUB.Add_Exc_Msg
6491             (   G_PKG_NAME
6492             ,   'Item_Identifier_Type'
6493             );
6494         END IF;
6495 
6496 
6497         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6498 
6499 END Item_Identifier_Type;
6500 
6501 FUNCTION Ordered_Item ( p_ordered_item IN VARCHAR2 )
6502 RETURN BOOLEAN
6503 IS
6504 l_dummy                       VARCHAR2(10);
6505 BEGIN
6506 
6507 
6508     IF p_ordered_item IS NULL OR
6509         p_ordered_item = FND_API.G_MISS_CHAR
6510     THEN
6511 
6512         RETURN TRUE;
6513     END IF;
6514 
6515     --  SELECT  'VALID'
6516     --  INTO     l_dummy
6517     --  FROM     DB_TABLE
6518     --  WHERE    DB_COLUMN = p_ordered_item;
6519 
6520 
6521     RETURN TRUE;
6522 
6523 EXCEPTION
6524 
6525     WHEN NO_DATA_FOUND THEN
6526 
6527         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6528         THEN
6529 
6530 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM');
6531 
6532             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6533             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6534 				OE_Order_Util.Get_Attribute_Name('ordered_item'));
6535             OE_MSG_PUB.Add;
6536 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6537 
6538         END IF;
6539 
6540 
6541         RETURN FALSE;
6542 
6543     WHEN OTHERS THEN
6544 
6545         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6546         THEN
6547             OE_MSG_PUB.Add_Exc_Msg
6548             (   G_PKG_NAME
6549             ,   'Ordered_Item'
6550             );
6551         END IF;
6552 
6553 
6554         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6555 
6556 END Ordered_Item;
6557 
6558 FUNCTION Date_And_Time_Requested ( p_date_and_time_requested IN DATE )
6559 RETURN BOOLEAN
6560 IS
6561 l_dummy                       VARCHAR2(10);
6562 BEGIN
6563 
6564 
6565     IF p_date_and_time_requested IS NULL OR
6566         p_date_and_time_requested = FND_API.G_MISS_DATE
6567     THEN
6568 
6569         RETURN TRUE;
6570     END IF;
6571 
6572     --  SELECT  'VALID'
6573     --  INTO     l_dummy
6574     --  FROM     DB_TABLE
6575     --  WHERE    DB_COLUMN = p_date_and_time_requested;
6576 
6577 
6578     RETURN TRUE;
6579 
6580 EXCEPTION
6581 
6582     WHEN NO_DATA_FOUND THEN
6583 
6584         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6585         THEN
6586 
6587 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_REQUESTED');
6588 
6589             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6590             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6591 				OE_Order_Util.Get_Attribute_Name('date_and_time_requested'));
6592             OE_MSG_PUB.Add;
6593 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6594 
6595         END IF;
6596 
6597 
6598         RETURN FALSE;
6599 
6600     WHEN OTHERS THEN
6601 
6602         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6603         THEN
6604             OE_MSG_PUB.Add_Exc_Msg
6605             (   G_PKG_NAME
6606             ,   'Date_And_Time_Requested'
6607             );
6608         END IF;
6609 
6610 
6611         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6612 
6613 END Date_And_Time_Requested;
6614 
6615 FUNCTION Date_And_Time_Promised ( p_date_and_time_promised IN DATE )
6616 RETURN BOOLEAN
6617 IS
6618 l_dummy                       VARCHAR2(10);
6619 BEGIN
6620 
6621 
6622     IF p_date_and_time_promised IS NULL OR
6623         p_date_and_time_promised = FND_API.G_MISS_DATE
6624     THEN
6625 
6626         RETURN TRUE;
6627     END IF;
6628 
6629     --  SELECT  'VALID'
6630     --  INTO     l_dummy
6631     --  FROM     DB_TABLE
6632     --  WHERE    DB_COLUMN = p_date_and_time_promised;
6633 
6634 
6635     RETURN TRUE;
6636 
6637 EXCEPTION
6638 
6639     WHEN NO_DATA_FOUND THEN
6640 
6641         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6642         THEN
6643 
6644 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_PROMISED');
6645 
6646             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6647             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6648 				OE_Order_Util.Get_Attribute_Name('date_and_time_promised'));
6649             OE_MSG_PUB.Add;
6650 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6651 
6652         END IF;
6653 
6654 
6655         RETURN FALSE;
6656 
6657     WHEN OTHERS THEN
6658 
6659         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6660         THEN
6661             OE_MSG_PUB.Add_Exc_Msg
6662             (   G_PKG_NAME
6663             ,   'Date_And_Time_Promised'
6664             );
6665         END IF;
6666 
6667 
6668         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6669 
6670 END Date_And_Time_Promised;
6671 
6672 FUNCTION Date_And_Time_Scheduled ( p_date_and_time_scheduled IN DATE )
6673 RETURN BOOLEAN
6674 IS
6675 l_dummy                       VARCHAR2(10);
6676 BEGIN
6677 
6678 
6679     IF p_date_and_time_scheduled IS NULL OR
6680         p_date_and_time_scheduled = FND_API.G_MISS_DATE
6681     THEN
6682 
6683         RETURN TRUE;
6684     END IF;
6685 
6686     --  SELECT  'VALID'
6687     --  INTO     l_dummy
6688     --  FROM     DB_TABLE
6689     --  WHERE    DB_COLUMN = p_date_and_time_scheduled;
6690 
6691 
6692     RETURN TRUE;
6693 
6694 EXCEPTION
6695 
6696     WHEN NO_DATA_FOUND THEN
6697 
6698         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6699         THEN
6700 
6701 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_SCHEDULED');
6702 
6703             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6704             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6705 				OE_Order_Util.Get_Attribute_Name('date_and_time_scheduled'));
6706             OE_MSG_PUB.Add;
6707 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6708 
6709         END IF;
6710 
6711 
6712         RETURN FALSE;
6713 
6714     WHEN OTHERS THEN
6715 
6716         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6717         THEN
6718             OE_MSG_PUB.Add_Exc_Msg
6719             (   G_PKG_NAME
6720             ,   'Date_And_Time_Scheduled'
6721             );
6722         END IF;
6723 
6724 
6725         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6726 
6727 END Date_And_Time_Scheduled;
6728 
6729 FUNCTION Order_Quantity_Uom ( p_order_quantity_uom IN VARCHAR2 )
6730 RETURN BOOLEAN
6731 IS
6732 l_dummy                       VARCHAR2(10);
6733 BEGIN
6734 
6735 
6736     IF p_order_quantity_uom IS NULL OR
6737         p_order_quantity_uom = FND_API.G_MISS_CHAR
6738     THEN
6739 
6740         RETURN TRUE;
6741     END IF;
6742 
6743     --  SELECT  'VALID'
6744     --  INTO     l_dummy
6745     --  FROM     DB_TABLE
6746     --  WHERE    DB_COLUMN = p_order_quantity_uom;
6747 
6748 
6749     RETURN TRUE;
6750 
6751 EXCEPTION
6752 
6753     WHEN NO_DATA_FOUND THEN
6754 
6755         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6756         THEN
6757 
6758 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_QUANTITY_UOM');
6759 
6760             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6761             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6762 				OE_Order_Util.Get_Attribute_Name('order_quantity_uom'));
6763             OE_MSG_PUB.Add;
6764 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6765 
6766         END IF;
6767 
6768 
6769         RETURN FALSE;
6770 
6771     WHEN OTHERS THEN
6772 
6773         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6774         THEN
6775             OE_MSG_PUB.Add_Exc_Msg
6776             (   G_PKG_NAME
6777             ,   'Order_Quantity_Uom'
6778             );
6779         END IF;
6780 
6781 
6782         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6783 
6784 END Order_Quantity_Uom;
6785 
6786 -- OPM 02/JUN/00 - add functions to support new process attributes
6787 -- ===============================================================
6788 FUNCTION Ordered_Quantity_Uom2 ( p_ordered_quantity_uom2 IN VARCHAR2 )
6789 RETURN BOOLEAN
6790 IS
6791 l_dummy                       VARCHAR2(10);
6792 BEGIN
6793 
6794 
6795     IF p_ordered_quantity_uom2 IS NULL OR
6796         p_ordered_quantity_uom2 = FND_API.G_MISS_CHAR
6797     THEN
6798 
6799         RETURN TRUE;
6800     END IF;
6801 
6802     RETURN TRUE;
6803 
6804 EXCEPTION
6805 
6806     WHEN NO_DATA_FOUND THEN
6807 
6808         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6809         THEN
6810 
6811 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY_UOM2');
6812 
6813             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6814             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6815 				OE_Order_Util.Get_Attribute_Name('ordered_quantity_uom2'));
6816             OE_MSG_PUB.Add;
6817 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6818 
6819         END IF;
6820 
6821 
6822         RETURN FALSE;
6823 
6824     WHEN OTHERS THEN
6825 
6826         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6827         THEN
6828             OE_MSG_PUB.Add_Exc_Msg
6829             (   G_PKG_NAME
6830             ,   'Ordered_Quantity_Uom2'
6831             );
6832         END IF;
6833 
6834 
6835         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6836 
6837 END Ordered_Quantity_Uom2;
6838 
6839 FUNCTION Preferred_Grade ( p_preferred_grade IN VARCHAR2 )
6840 RETURN BOOLEAN
6841 IS
6842 l_dummy                       VARCHAR2(10);
6843 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6844 BEGIN
6845 
6846     IF l_debug_level > 0 THEN
6847         oe_debug_pub.add('OPM preferred_grade val in OEXSVATB', 1);
6848     END IF;
6849     IF p_preferred_grade IS NULL OR
6850         p_preferred_grade = FND_API.G_MISS_CHAR
6851     THEN
6852 
6853         RETURN TRUE;
6854     END IF;
6855 
6856 -- INVCONV
6857 
6858     SELECT  'VALID'
6859     INTO    l_dummy
6860     FROM    MTL_GRADES_B
6861     WHERE   grade_code  = p_preferred_grade -- INVCONV
6862     AND     DISABLE_FLAG <> 'Y'; -- INVCONV
6863 
6864     RETURN TRUE;
6865 
6866 EXCEPTION
6867 
6868     WHEN NO_DATA_FOUND THEN
6869 
6870         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6871         THEN
6872 
6873 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PREFERRED_GRADE');
6874 
6875             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6876             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6877 				OE_Order_Util.Get_Attribute_Name('preferred_grade'));
6878             OE_MSG_PUB.Add;
6879 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6880 
6881         END IF;
6882 
6883 
6884         RETURN FALSE;
6885 
6886     WHEN OTHERS THEN
6887 
6888         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6889         THEN
6890             IF l_debug_level > 0 THEN
6891                 oe_debug_pub.add('OPM preferred_grade exception in VATB', 1);
6892             END IF;
6893             OE_MSG_PUB.Add_Exc_Msg
6894             (   G_PKG_NAME
6895             ,   'Preferred_Grade'
6896             );
6897         END IF;
6898 
6899 
6900         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6901 
6902 END Preferred_Grade;
6903 
6904 -- OPM 02/JUN/00 END
6905 -- =================
6906 
6907 -- PROMOTIONS SEP/01 BEGIN
6908 -- =======================
6909 FUNCTION Price_Request_Code (p_price_request_code IN VARCHAR2 )
6910 RETURN BOOLEAN
6911 IS
6912 l_dummy                       VARCHAR2(10);
6913 BEGIN
6914 
6915 
6916     IF p_price_request_code IS NULL OR
6917         p_price_request_code = FND_API.G_MISS_CHAR
6918     THEN
6919 
6920         RETURN TRUE;
6921     END IF;
6922 
6923     RETURN TRUE;
6924 
6925 EXCEPTION
6926 
6927     WHEN NO_DATA_FOUND THEN
6928 
6929         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6930         THEN
6931 
6932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_REQUEST_CODE');
6933 
6934             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6935             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6936 				OE_Order_Util.Get_Attribute_Name('price_request_code'));
6937             OE_MSG_PUB.Add;
6938 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6939 
6940         END IF;
6941 
6942 
6943         RETURN FALSE;
6944 
6945     WHEN OTHERS THEN
6946 
6947         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6948         THEN
6949             OE_MSG_PUB.Add_Exc_Msg
6950             (   G_PKG_NAME
6951             ,   'Price_Request_Code'
6952             );
6953         END IF;
6954 
6955 
6956         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6957 
6958 END Price_Request_Code;
6959 
6960 -- PROMOTIONS SEP/01 END
6961 -- =====================
6962 FUNCTION Pricing_Quantity ( p_pricing_quantity IN NUMBER )
6963 RETURN BOOLEAN
6964 IS
6965 l_dummy                       VARCHAR2(10);
6966 BEGIN
6967 
6968 
6969     IF p_pricing_quantity IS NULL OR
6970         p_pricing_quantity = FND_API.G_MISS_NUM
6971     THEN
6972 
6973         RETURN TRUE;
6974     END IF;
6975 
6976     --  SELECT  'VALID'
6977     --  INTO     l_dummy
6978     --  FROM     DB_TABLE
6979     --  WHERE    DB_COLUMN = p_pricing_quantity;
6980 
6981 
6982     RETURN TRUE;
6983 
6984 EXCEPTION
6985 
6986     WHEN NO_DATA_FOUND THEN
6987 
6988         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6989         THEN
6990 
6991 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY');
6992 
6993             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6994             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6995 				OE_Order_Util.Get_Attribute_Name('pricing_quantity'));
6996             OE_MSG_PUB.Add;
6997 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6998 
6999         END IF;
7000 
7001 
7002         RETURN FALSE;
7003 
7004     WHEN OTHERS THEN
7005 
7006         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7007         THEN
7008             OE_MSG_PUB.Add_Exc_Msg
7009             (   G_PKG_NAME
7010             ,   'Pricing_Quantity'
7011             );
7012         END IF;
7013 
7014 
7015         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7016 
7017 END Pricing_Quantity;
7018 
7019 FUNCTION Pricing_Quantity_Uom ( p_pricing_quantity_uom IN VARCHAR2 )
7020 RETURN BOOLEAN
7021 IS
7022 l_dummy                       VARCHAR2(10);
7023 BEGIN
7024 
7025 
7026     IF p_pricing_quantity_uom IS NULL OR
7027         p_pricing_quantity_uom = FND_API.G_MISS_CHAR
7028     THEN
7029 
7030         RETURN TRUE;
7031     END IF;
7032 
7033     --  SELECT  'VALID'
7034     --  INTO     l_dummy
7035     --  FROM     DB_TABLE
7036     --  WHERE    DB_COLUMN = p_pricing_quantity_uom;
7037 
7038 
7039     RETURN TRUE;
7040 
7041 EXCEPTION
7042 
7043     WHEN NO_DATA_FOUND THEN
7044 
7045         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7046         THEN
7047 
7048 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY_UOM');
7049 
7050             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7051             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7052 				OE_Order_Util.Get_Attribute_Name('pricing_quantity_uom'));
7053             OE_MSG_PUB.Add;
7054 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7055 
7056         END IF;
7057 
7058 
7059         RETURN FALSE;
7060 
7061     WHEN OTHERS THEN
7062 
7063         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7064         THEN
7065             OE_MSG_PUB.Add_Exc_Msg
7066             (   G_PKG_NAME
7067             ,   'Pricing_Quantity_Uom'
7068             );
7069         END IF;
7070 
7071 
7072         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7073 
7074 END Pricing_Quantity_Uom;
7075 
7076 FUNCTION Quantity_Cancelled ( p_quantity_cancelled IN NUMBER )
7077 RETURN BOOLEAN
7078 IS
7079 l_dummy                       VARCHAR2(10);
7080 BEGIN
7081 
7082 
7083     IF p_quantity_cancelled IS NULL OR
7084         p_quantity_cancelled = FND_API.G_MISS_NUM
7085     THEN
7086 
7087         RETURN TRUE;
7088     END IF;
7089 
7090     --  SELECT  'VALID'
7091     --  INTO     l_dummy
7092     --  FROM     DB_TABLE
7093     --  WHERE    DB_COLUMN = p_quantity_cancelled;
7094 
7095 
7096     RETURN TRUE;
7097 
7098 EXCEPTION
7099 
7100     WHEN NO_DATA_FOUND THEN
7101 
7102         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7103         THEN
7104 
7105 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_CANCELLED');
7106 
7107             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7108             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7109 				OE_Order_Util.Get_Attribute_Name('quantity_cancelled'));
7110             OE_MSG_PUB.Add;
7111 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7112 
7113         END IF;
7114 
7115 
7116         RETURN FALSE;
7117 
7118     WHEN OTHERS THEN
7119 
7120         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7121         THEN
7122             OE_MSG_PUB.Add_Exc_Msg
7123             (   G_PKG_NAME
7124             ,   'Quantity_Cancelled'
7125             );
7126         END IF;
7127 
7128 
7129         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7130 
7131 END Quantity_Cancelled;
7132 
7133 FUNCTION Quantity_Shipped ( p_quantity_shipped IN NUMBER )
7134 RETURN BOOLEAN
7135 IS
7136 l_dummy                       VARCHAR2(10);
7137 BEGIN
7138 
7139 
7140     IF p_quantity_shipped IS NULL OR
7141         p_quantity_shipped = FND_API.G_MISS_NUM
7142     THEN
7143 
7144         RETURN TRUE;
7145     END IF;
7146 
7147     --  SELECT  'VALID'
7148     --  INTO     l_dummy
7149     --  FROM     DB_TABLE
7150     --  WHERE    DB_COLUMN = p_quantity_shipped;
7151 
7152 
7153     RETURN TRUE;
7154 
7155 EXCEPTION
7156 
7157     WHEN NO_DATA_FOUND THEN
7158 
7159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7160         THEN
7161 
7162 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_SHIPPED');
7163 
7164             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7165             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7166 				OE_Order_Util.Get_Attribute_Name('quantity_shipped'));
7167             OE_MSG_PUB.Add;
7168 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7169 
7170         END IF;
7171 
7172 
7173         RETURN FALSE;
7174 
7175     WHEN OTHERS THEN
7176 
7177         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7178         THEN
7179             OE_MSG_PUB.Add_Exc_Msg
7180             (   G_PKG_NAME
7181             ,   'Quantity_Shipped'
7182             );
7183         END IF;
7184 
7185 
7186         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7187 
7188 END Quantity_Shipped;
7189 
7190 FUNCTION Quantity_Ordered ( p_quantity_ordered IN NUMBER )
7191 RETURN BOOLEAN
7192 IS
7193 l_dummy                       VARCHAR2(10);
7194 BEGIN
7195 
7196 
7197     IF p_quantity_ordered IS NULL OR
7198         p_quantity_ordered = FND_API.G_MISS_NUM
7199     THEN
7200 
7201         RETURN TRUE;
7202     END IF;
7203 
7204     --  SELECT  'VALID'
7205     --  INTO     l_dummy
7206     --  FROM     DB_TABLE
7207     --  WHERE    DB_COLUMN = p_quantity_ordered;
7208 
7209 
7210     RETURN TRUE;
7211 
7212 EXCEPTION
7213 
7214     WHEN NO_DATA_FOUND THEN
7215 
7216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7217         THEN
7218 
7219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_ORDERED');
7220 
7221             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7222             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7223 				OE_Order_Util.Get_Attribute_Name('quantity_ordered'));
7224             OE_MSG_PUB.Add;
7225 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7226 
7227         END IF;
7228 
7229 
7230         RETURN FALSE;
7231 
7232     WHEN OTHERS THEN
7233 
7234         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7235         THEN
7236             OE_MSG_PUB.Add_Exc_Msg
7237             (   G_PKG_NAME
7238             ,   'Quantity_Ordered'
7239             );
7240         END IF;
7241 
7242 
7243         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7244 
7245 END Quantity_Ordered;
7246 
7247 FUNCTION Quantity_Fulfilled ( p_quantity_fulfilled IN NUMBER )
7248 RETURN BOOLEAN
7249 IS
7250 l_dummy                       VARCHAR2(10);
7251 BEGIN
7252 
7253 
7254     IF p_quantity_fulfilled IS NULL OR
7255         p_quantity_fulfilled = FND_API.G_MISS_NUM
7256     THEN
7257 
7258         RETURN TRUE;
7259     END IF;
7260 
7261     --  SELECT  'VALID'
7262     --  INTO     l_dummy
7263     --  FROM     DB_TABLE
7264     --  WHERE    DB_COLUMN = p_quantity_fulfilled;
7265 
7266 
7267     RETURN TRUE;
7268 
7269 EXCEPTION
7270 
7271     WHEN NO_DATA_FOUND THEN
7272 
7273         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7274         THEN
7275 
7276 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_FULFILLED');
7277 
7278             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7279             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7280 				OE_Order_Util.Get_Attribute_Name('quantity_fulfilled'));
7281             OE_MSG_PUB.Add;
7282 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7283 
7284         END IF;
7285 
7286 
7287         RETURN FALSE;
7288 
7289     WHEN OTHERS THEN
7290 
7291         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7292         THEN
7293             OE_MSG_PUB.Add_Exc_Msg
7294             (   G_PKG_NAME
7295             ,   'Quantity_Fulfilled'
7296             );
7297         END IF;
7298 
7299 
7300         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7301 
7302 END Quantity_Fulfilled;
7303 
7304 FUNCTION fulfilled ( p_fulfilled_flag IN VARCHAR2 )
7305 RETURN BOOLEAN
7306 IS
7307 l_dummy                       VARCHAR2(10);
7308 BEGIN
7309 
7310     IF p_fulfilled_flag IS NULL OR
7311         p_fulfilled_flag = FND_API.G_MISS_CHAR
7312     THEN
7313 
7314         RETURN TRUE;
7315     END IF;
7316 
7317     IF p_fulfilled_flag NOT IN ('Y','N') THEN
7318 		RAISE NO_DATA_FOUND;
7319     END IF;
7320 
7321     --  SELECT  'VALID'
7322     --  INTO     l_dummy
7323     --  FROM     DB_TABLE
7324     --  WHERE    DB_COLUMN = p_fulfilled_flag;
7325 
7326 
7327     RETURN TRUE;
7328 
7329 EXCEPTION
7330 
7331     WHEN NO_DATA_FOUND THEN
7332 
7333         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7334         THEN
7335 
7336 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_FLAG');
7337 
7338             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7339             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7340 				OE_Order_Util.Get_Attribute_Name('fulfilled_flag'));
7341             OE_MSG_PUB.Add;
7342 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7343 
7344         END IF;
7345 
7346 
7347         RETURN FALSE;
7348 
7349     WHEN OTHERS THEN
7350 
7351         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7352         THEN
7353             OE_MSG_PUB.Add_Exc_Msg
7354             (   G_PKG_NAME
7355             ,   'Fulfilled'
7356             );
7357         END IF;
7358 
7359 
7360         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7361 
7362 END Fulfilled;
7363 
7364 ----
7365 FUNCTION Calculate_Price_Flag ( p_calculate_price_flag IN VARCHAR2 )
7366 RETURN BOOLEAN
7367 IS
7368 l_dummy                       VARCHAR2(10);
7369 BEGIN
7370 
7371     IF p_calculate_price_flag IS NULL OR
7372         p_calculate_price_flag = FND_API.G_MISS_CHAR
7373     THEN
7374 
7375         RETURN TRUE;
7376     END IF;
7377 
7378     If p_calculate_price_flag not in ('P','Y','N') then
7379 
7380 	Raise no_data_found;
7381 
7382     End If;
7383     --  SELECT  'VALID'
7384     --  INTO     l_dummy
7385     --  FROM     DB_TABLE
7386     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
7387 
7388 
7389     RETURN TRUE;
7390 
7391 EXCEPTION
7392 
7393     WHEN NO_DATA_FOUND THEN
7394 
7395         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7396         THEN
7397 
7398 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CALCULATE_PRICE_FLAG');
7399 
7400             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7401             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7402 				OE_Order_Util.Get_Attribute_Name('calculate_price_flag'));
7403             OE_MSG_PUB.Add;
7404 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7405 
7406         END IF;
7407 
7408 
7409         RETURN FALSE;
7410 
7411     WHEN OTHERS THEN
7412 
7413         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7414         THEN
7415             OE_MSG_PUB.Add_Exc_Msg
7416             (   G_PKG_NAME
7417             ,   'Calculate_Price_Flag'
7418             );
7419         END IF;
7420 
7421 
7422         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7423 
7424 END Calculate_Price_Flag;
7425 
7426 -----
7427 FUNCTION Fulfillment_Method ( p_fulfillment_method_code IN VARCHAR2 )
7428 RETURN BOOLEAN
7429 IS
7430 l_dummy                       VARCHAR2(10);
7431 BEGIN
7432 
7433     IF p_fulfillment_method_code IS NULL OR
7434         p_fulfillment_method_code = FND_API.G_MISS_CHAR
7435     THEN
7436 
7437         RETURN TRUE;
7438     END IF;
7439 
7440     --  SELECT  'VALID'
7441     --  INTO     l_dummy
7442     --  FROM     DB_TABLE
7443     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
7444 
7445 
7446     RETURN TRUE;
7447 
7448 EXCEPTION
7449 
7450     WHEN NO_DATA_FOUND THEN
7451 
7452         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7453         THEN
7454 
7455 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_METHOD_CODE');
7456 
7457             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7458             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7459 				OE_Order_Util.Get_Attribute_Name('fulfillment_method_code'));
7460             OE_MSG_PUB.Add;
7461 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7462 
7463         END IF;
7464 
7465 
7466         RETURN FALSE;
7467 
7468     WHEN OTHERS THEN
7469 
7470         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7471         THEN
7472             OE_MSG_PUB.Add_Exc_Msg
7473             (   G_PKG_NAME
7474             ,   'Fulfillment_Method'
7475             );
7476         END IF;
7477 
7478 
7479         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7480 
7481 END Fulfillment_Method;
7482 
7483 FUNCTION Fulfillment_Date ( p_fulfillment_date IN DATE )
7484 RETURN BOOLEAN
7485 IS
7486 l_dummy                       VARCHAR2(10);
7487 BEGIN
7488 
7489     IF p_fulfillment_date IS NULL OR
7490         p_fulfillment_date = FND_API.G_MISS_DATE
7491     THEN
7492 
7493         RETURN TRUE;
7494     END IF;
7495 
7496     --  SELECT  'VALID'
7497     --  INTO     l_dummy
7498     --  FROM     DB_TABLE
7499     --  WHERE    DB_COLUMN = p_fulfillment_date;
7500 
7501 
7502     RETURN TRUE;
7503 
7504 EXCEPTION
7505 
7506     WHEN NO_DATA_FOUND THEN
7507 
7508         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7509         THEN
7510 
7511 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_DATE');
7512 
7513             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7514             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7515 				OE_Order_Util.Get_Attribute_Name('fulfillment_date'));
7516             OE_MSG_PUB.Add;
7517 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7518 
7519         END IF;
7520 
7521 
7522         RETURN FALSE;
7523 
7524     WHEN OTHERS THEN
7525 
7526         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7527         THEN
7528             OE_MSG_PUB.Add_Exc_Msg
7529             (   G_PKG_NAME
7530             ,   'Fulfillment_Date'
7531             );
7532         END IF;
7533 
7534 
7535         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7536 
7537 END Fulfillment_Date;
7538 
7539 FUNCTION Shipping_Quantity ( p_shipping_quantity IN NUMBER )
7540 RETURN BOOLEAN
7541 IS
7542 l_dummy                       VARCHAR2(10);
7543 BEGIN
7544 
7545 
7546     IF p_shipping_quantity IS NULL OR
7547         p_shipping_quantity = FND_API.G_MISS_NUM
7548     THEN
7549 
7550         RETURN TRUE;
7551     END IF;
7552 
7553     --  SELECT  'VALID'
7554     --  INTO     l_dummy
7555     --  FROM     DB_TABLE
7556     --  WHERE    DB_COLUMN = p_shipping_quantity;
7557 
7558 
7559     RETURN TRUE;
7560 
7561 EXCEPTION
7562 
7563     WHEN NO_DATA_FOUND THEN
7564 
7565         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7566         THEN
7567 
7568 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY');
7569 
7570             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7571             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7572 				OE_Order_Util.Get_Attribute_Name('shipping_quantity'));
7573             OE_MSG_PUB.Add;
7574 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7575 
7576         END IF;
7577 
7578 
7579         RETURN FALSE;
7580 
7581     WHEN OTHERS THEN
7582 
7583         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7584         THEN
7585             OE_MSG_PUB.Add_Exc_Msg
7586             (   G_PKG_NAME
7587             ,   'Shipping_Quantity'
7588             );
7589         END IF;
7590 
7591 
7592         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7593 
7594 END Shipping_Quantity;
7595 
7596 FUNCTION Shipping_Quantity_Uom ( p_shipping_quantity_uom IN VARCHAR2 )
7597 RETURN BOOLEAN
7598 IS
7599 l_dummy                       VARCHAR2(10);
7600 BEGIN
7601 
7602 
7603     IF p_shipping_quantity_uom IS NULL OR
7604         p_shipping_quantity_uom = FND_API.G_MISS_CHAR
7605     THEN
7606 
7607         RETURN TRUE;
7608     END IF;
7609 
7610     --  SELECT  'VALID'
7611     --  INTO     l_dummy
7612     --  FROM     DB_TABLE
7613     --  WHERE    DB_COLUMN = p_shipping_quantity_uom;
7614 
7615 
7616     RETURN TRUE;
7617 
7618 EXCEPTION
7619 
7620     WHEN NO_DATA_FOUND THEN
7621 
7622         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7623         THEN
7624 
7625 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM');
7626 
7627             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7628             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7629 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom'));
7630             OE_MSG_PUB.Add;
7631 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7632 
7633         END IF;
7634 
7635 
7636         RETURN FALSE;
7637 
7638     WHEN OTHERS THEN
7639 
7640         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7641         THEN
7642             OE_MSG_PUB.Add_Exc_Msg
7643             (   G_PKG_NAME
7644             ,   'Shipping_Quantity_Uom'
7645             );
7646         END IF;
7647 
7648 
7649         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7650 
7651 END Shipping_Quantity_Uom;
7652 
7653 FUNCTION Delivery_Lead_Time ( p_delivery_lead_time IN NUMBER )
7654 RETURN BOOLEAN
7655 IS
7656 l_dummy                       VARCHAR2(10);
7657 BEGIN
7658 
7659 
7660     IF p_delivery_lead_time IS NULL OR
7661         p_delivery_lead_time = FND_API.G_MISS_NUM
7662     THEN
7663 
7664         RETURN TRUE;
7665     END IF;
7666 
7667     --  SELECT  'VALID'
7668     --  INTO     l_dummy
7669     --  FROM     DB_TABLE
7670     --  WHERE    DB_COLUMN = p_delivery_lead_time;
7671 
7672 
7673     RETURN TRUE;
7674 
7675 EXCEPTION
7676 
7677     WHEN NO_DATA_FOUND THEN
7678 
7679         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7680         THEN
7681 
7682 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVERY_LEAD_TIME');
7683 
7684             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7685             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7686 				OE_Order_Util.Get_Attribute_Name('delivery_lead_time'));
7687             OE_MSG_PUB.Add;
7688 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7689 
7690         END IF;
7691 
7692 
7693         RETURN FALSE;
7694 
7695     WHEN OTHERS THEN
7696 
7697         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7698         THEN
7699             OE_MSG_PUB.Add_Exc_Msg
7700             (   G_PKG_NAME
7701             ,   'Delivery_Lead_Time'
7702             );
7703         END IF;
7704 
7705 
7706         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7707 
7708 END Delivery_Lead_Time;
7709 
7710 FUNCTION Demand_Bucket_Type ( p_demand_bucket_type IN VARCHAR2 )
7711 RETURN BOOLEAN
7712 IS
7713 l_dummy                       VARCHAR2(10);
7714 BEGIN
7715 
7716 
7717     IF p_demand_bucket_type IS NULL OR
7718         p_demand_bucket_type = FND_API.G_MISS_CHAR
7719     THEN
7720 
7721         RETURN TRUE;
7722     END IF;
7723 
7724     --  SELECT  'VALID'
7725     --  INTO     l_dummy
7726     --  FROM     DB_TABLE
7727     --  WHERE    DB_COLUMN = p_demand_bucket_type;
7728 
7729 
7730     RETURN TRUE;
7731 
7732 EXCEPTION
7733 
7734     WHEN NO_DATA_FOUND THEN
7735 
7736         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7737         THEN
7738 
7739 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_BUCKET_TYPE');
7740 
7741             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7742             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7743 				OE_Order_Util.Get_Attribute_Name('demand_bucket_type'));
7744             OE_MSG_PUB.Add;
7745 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7746 
7747         END IF;
7748 
7749 
7750         RETURN FALSE;
7751 
7752     WHEN OTHERS THEN
7753 
7754         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7755         THEN
7756             OE_MSG_PUB.Add_Exc_Msg
7757             (   G_PKG_NAME
7758             ,   'Demand_Bucket_Type'
7759             );
7760         END IF;
7761 
7762 
7763         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7764 
7765 END Demand_Bucket_Type;
7766 
7767 FUNCTION Schedule_Item_Detail ( p_schedule_item_detail_id IN NUMBER )
7768 RETURN BOOLEAN
7769 IS
7770 l_dummy                       VARCHAR2(10);
7771 BEGIN
7772 
7773 
7774     IF p_schedule_item_detail_id IS NULL OR
7775         p_schedule_item_detail_id = FND_API.G_MISS_NUM
7776     THEN
7777 
7778         RETURN TRUE;
7779     END IF;
7780 
7781     --  SELECT  'VALID'
7782     --  INTO     l_dummy
7783     --  FROM     DB_TABLE
7784     --  WHERE    DB_COLUMN = p_schedule_item_detail_id;
7785 
7786 
7787     RETURN TRUE;
7788 
7789 EXCEPTION
7790 
7791     WHEN NO_DATA_FOUND THEN
7792 
7793         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7794         THEN
7795 
7796 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ITEM_DETAIL_ID');
7797 
7798             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7799             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7800 				OE_Order_Util.Get_Attribute_Name('schedule_item_detail_id'));
7801             OE_MSG_PUB.Add;
7802 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7803 
7804         END IF;
7805 
7806 
7807         RETURN FALSE;
7808 
7809     WHEN OTHERS THEN
7810 
7811         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7812         THEN
7813             OE_MSG_PUB.Add_Exc_Msg
7814             (   G_PKG_NAME
7815             ,   'Schedule_Item_Detail'
7816             );
7817         END IF;
7818 
7819 
7820         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7821 
7822 END Schedule_Item_Detail;
7823 
7824 FUNCTION Demand_Stream ( p_demand_stream_id IN NUMBER )
7825 RETURN BOOLEAN
7826 IS
7827 l_dummy                       VARCHAR2(10);
7828 BEGIN
7829 
7830 
7831     IF p_demand_stream_id IS NULL OR
7832         p_demand_stream_id = FND_API.G_MISS_NUM
7833     THEN
7834 
7835         RETURN TRUE;
7836     END IF;
7837 
7838     --  SELECT  'VALID'
7839     --  INTO     l_dummy
7840     --  FROM     DB_TABLE
7841     --  WHERE    DB_COLUMN = p_demand_stream_id;
7842 
7843 
7844     RETURN TRUE;
7845 
7846 EXCEPTION
7847 
7848     WHEN NO_DATA_FOUND THEN
7849 
7850         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7851         THEN
7852 
7853 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_STREAM_ID');
7854 
7855             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7856             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7857 				OE_Order_Util.Get_Attribute_Name('demand_stream_id'));
7858             OE_MSG_PUB.Add;
7859 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7860 
7861         END IF;
7862 
7863 
7864         RETURN FALSE;
7865 
7866     WHEN OTHERS THEN
7867 
7868         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7869         THEN
7870             OE_MSG_PUB.Add_Exc_Msg
7871             (   G_PKG_NAME
7872             ,   'Demand_Stream'
7873             );
7874         END IF;
7875 
7876 
7877         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7878 
7879 END Demand_Stream;
7880 
7881 FUNCTION Cust_Dock ( p_cust_dock_code IN VARCHAR2 )
7882 RETURN BOOLEAN
7883 IS
7884 l_dummy                       VARCHAR2(10);
7885 BEGIN
7886 
7887 
7888     IF p_cust_dock_code IS NULL OR
7889         p_cust_dock_code = FND_API.G_MISS_CHAR
7890     THEN
7891 
7892         RETURN TRUE;
7893     END IF;
7894 
7895     --  SELECT  'VALID'
7896     --  INTO     l_dummy
7897     --  FROM     DB_TABLE
7898     --  WHERE    DB_COLUMN = p_cust_dock_code;
7899 
7900 
7901     RETURN TRUE;
7902 
7903 EXCEPTION
7904 
7905     WHEN NO_DATA_FOUND THEN
7906 
7907         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7908         THEN
7909 
7910 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_DOCK_CODE');
7911 
7912             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7913             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7914 				OE_Order_Util.Get_Attribute_Name('cust_dock_code'));
7915             OE_MSG_PUB.Add;
7916 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7917 
7918         END IF;
7919 
7920 
7921         RETURN FALSE;
7922 
7923     WHEN OTHERS THEN
7924 
7925         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7926         THEN
7927             OE_MSG_PUB.Add_Exc_Msg
7928             (   G_PKG_NAME
7929             ,   'Cust_Dock'
7930             );
7931         END IF;
7932 
7933 
7934         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7935 
7936 END Cust_Dock;
7937 
7938 FUNCTION Cust_Job ( p_cust_job IN VARCHAR2 )
7939 RETURN BOOLEAN
7940 IS
7941 l_dummy                       VARCHAR2(10);
7942 BEGIN
7943 
7944 
7945     IF p_cust_job IS NULL OR
7946         p_cust_job = FND_API.G_MISS_CHAR
7947     THEN
7948 
7949         RETURN TRUE;
7950     END IF;
7951 
7952     --  SELECT  'VALID'
7953     --  INTO     l_dummy
7954     --  FROM     DB_TABLE
7955     --  WHERE    DB_COLUMN = p_cust_job;
7956 
7957 
7958     RETURN TRUE;
7959 
7960 EXCEPTION
7961 
7962     WHEN NO_DATA_FOUND THEN
7963 
7964         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7965         THEN
7966 
7967 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_JOB');
7968 
7969             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7970             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7971 				OE_Order_Util.Get_Attribute_Name('cust_job'));
7972             OE_MSG_PUB.Add;
7973 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7974 
7975         END IF;
7976 
7977 
7978         RETURN FALSE;
7979 
7980     WHEN OTHERS THEN
7981 
7982         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7983         THEN
7984             OE_MSG_PUB.Add_Exc_Msg
7985             (   G_PKG_NAME
7986             ,   'Cust_Job'
7987             );
7988         END IF;
7989 
7990 
7991         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7992 
7993 END Cust_Job;
7994 
7995 FUNCTION Cust_Production_Line ( p_cust_production_line IN VARCHAR2 )
7996 RETURN BOOLEAN
7997 IS
7998 l_dummy                       VARCHAR2(10);
7999 BEGIN
8000 
8001 
8002     IF p_cust_production_line IS NULL OR
8003         p_cust_production_line = FND_API.G_MISS_CHAR
8004     THEN
8005 
8006         RETURN TRUE;
8007     END IF;
8008 
8009     --  SELECT  'VALID'
8010     --  INTO     l_dummy
8011     --  FROM     DB_TABLE
8012     --  WHERE    DB_COLUMN = p_cust_production_line;
8013 
8014 
8015     RETURN TRUE;
8016 
8017 EXCEPTION
8018 
8019     WHEN NO_DATA_FOUND THEN
8020 
8021         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8022         THEN
8023 
8024 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_LINE');
8025 
8026             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8027             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8028 				OE_Order_Util.Get_Attribute_Name('cust_production_line'));
8029             OE_MSG_PUB.Add;
8030 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8031 
8032         END IF;
8033 
8034 
8035         RETURN FALSE;
8036 
8037     WHEN OTHERS THEN
8038 
8039         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8040         THEN
8041             OE_MSG_PUB.Add_Exc_Msg
8042             (   G_PKG_NAME
8043             ,   'Cust_Production_Line'
8044             );
8045         END IF;
8046 
8047 
8048         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8049 
8050 END Cust_Production_Line;
8051 
8052 FUNCTION Cust_Model_Serial_Number ( p_cust_model_serial_number IN VARCHAR2 )
8053 RETURN BOOLEAN
8054 IS
8055 l_dummy                       VARCHAR2(10);
8056 BEGIN
8057 
8058 
8059     IF p_cust_model_serial_number IS NULL OR
8060         p_cust_model_serial_number = FND_API.G_MISS_CHAR
8061     THEN
8062 
8063         RETURN TRUE;
8064     END IF;
8065 
8066     --  SELECT  'VALID'
8067     --  INTO     l_dummy
8068     --  FROM     DB_TABLE
8069     --  WHERE    DB_COLUMN = p_cust_model_serial_number;
8070 
8071 
8072     RETURN TRUE;
8073 
8074 EXCEPTION
8075 
8076     WHEN NO_DATA_FOUND THEN
8077 
8078         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8079         THEN
8080 
8081 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_MODEL_SERIAL_NUMBER');
8082 
8083             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8084             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8085 				OE_Order_Util.Get_Attribute_Name('cust_model_serial_number'));
8086             OE_MSG_PUB.Add;
8087 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8088 
8089         END IF;
8090 
8091 
8092         RETURN FALSE;
8093 
8094     WHEN OTHERS THEN
8095 
8096         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8097         THEN
8098             OE_MSG_PUB.Add_Exc_Msg
8099             (   G_PKG_NAME
8100             ,   'Cust_Model_Serial_Number'
8101             );
8102         END IF;
8103 
8104 
8105         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8106 
8107 END Cust_Model_Serial_Number;
8108 
8109 FUNCTION Planning_Prod_Seq_No ( p_planning_prod_seq_no IN NUMBER )
8110 RETURN BOOLEAN
8111 IS
8112 l_dummy                       VARCHAR2(10);
8113 BEGIN
8114 
8115 
8116     IF p_planning_prod_seq_no IS NULL OR
8117         p_planning_prod_seq_no = FND_API.G_MISS_NUM
8118     THEN
8119         RETURN TRUE;
8120     END IF;
8121 
8122     --  SELECT  'VALID'
8123     --  INTO     l_dummy
8124     --  FROM     DB_TABLE
8125     --  WHERE    DB_COLUMN = p_planning_prod_seq_no;
8126 
8127 
8128    RETURN TRUE;
8129 
8130 EXCEPTION
8131 
8132     WHEN NO_DATA_FOUND THEN
8133 
8134         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8135         THEN
8136 
8137 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PLANNING_PROD_SEQ_NO');
8138 
8139             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8140             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8141 				OE_Order_Util.Get_Attribute_Name('planning_prod_seq_no'));
8142             OE_MSG_PUB.Add;
8143 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8144 
8145         END IF;
8146 
8147 
8148        RETURN FALSE;
8149 
8150     WHEN OTHERS THEN
8151 
8152         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8153         THEN
8154             OE_MSG_PUB.Add_Exc_Msg
8155             (   G_PKG_NAME
8156             ,   'Planning_Prod_Seq_No'
8157             );
8158         END IF;
8159 
8160 
8161       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8162 
8163 END Planning_Prod_Seq_No;
8164 
8165 FUNCTION Project ( p_project_id IN NUMBER )
8166 RETURN BOOLEAN
8167 IS
8168 l_project         VARCHAR2(30) := NULL;
8169 BEGIN
8170 
8171     IF p_project_id IS NULL OR
8172         p_project_id = FND_API.G_MISS_NUM
8173     THEN
8174         RETURN TRUE;
8175     END IF;
8176 /*
8177       SELECT  'VALID'
8178       INTO     l_dummy
8179       FROM     pjm_projects_org_v
8180       WHERE    project_id = p_project_id
8181 	 AND      rownum = 1;
8182 */
8183 
8184     l_project := pjm_project.val_proj_idtonum(p_project_id);
8185 
8186     IF l_project IS NOT NULL THEN
8187 
8188        RETURN TRUE;
8189 
8190     ELSE
8191 
8192 	  RAISE NO_DATA_FOUND;
8193 
8194     END IF;
8195 
8196 EXCEPTION
8197 
8198     WHEN NO_DATA_FOUND THEN
8199 
8200         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8201         THEN
8202 
8203 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROJECT_ID');
8204 
8205             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8206             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8207 				OE_Order_Util.Get_Attribute_Name('project_id'));
8208             OE_MSG_PUB.Add;
8209 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8210 
8211         END IF;
8212 
8213 
8214         RETURN FALSE;
8215 
8216     WHEN OTHERS THEN
8217 
8218         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8219         THEN
8220             OE_MSG_PUB.Add_Exc_Msg
8221             (   G_PKG_NAME
8222             ,   'Project'
8223             );
8224         END IF;
8225 
8226 
8227         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8228 
8229 END Project;
8230 
8231 FUNCTION Task ( p_task_id IN NUMBER )
8232 RETURN BOOLEAN
8233 IS
8234 l_task          VARCHAR2(30);
8235 BEGIN
8236 
8237 -- Validation will be done at Entity level.
8238 
8239     IF p_task_id IS NULL OR
8240         p_task_id = FND_API.G_MISS_NUM
8241     THEN
8242 
8243         RETURN TRUE;
8244     END IF;
8245 
8246 --      SELECT  'VALID'
8247 --      INTO     l_dummy
8248 --      FROM     mtl_task_v
8249 --      WHERE    task_id = p_task_id;
8250 
8251 
8252     RETURN TRUE;
8253 
8254 EXCEPTION
8255 
8256     WHEN NO_DATA_FOUND THEN
8257 
8258         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8259         THEN
8260 
8261 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TASK_ID');
8262 
8263             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8264             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8265 				OE_Order_Util.Get_Attribute_Name('task_id'));
8266             OE_MSG_PUB.Add;
8267 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8268 
8269         END IF;
8270 
8271 
8272         RETURN FALSE;
8273 
8274     WHEN OTHERS THEN
8275 
8276         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8277         THEN
8278             OE_MSG_PUB.Add_Exc_Msg
8279             (   G_PKG_NAME
8280             ,   'Task'
8281             );
8282         END IF;
8283 
8284 
8285         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8286 
8287 END Task;
8288 
8289 FUNCTION Inventory_Item ( p_inventory_item_id IN NUMBER )
8290 RETURN BOOLEAN
8291 IS
8292 l_dummy                       VARCHAR2(10);
8293 BEGIN
8294 
8295 
8296     IF p_inventory_item_id IS NULL OR
8297         p_inventory_item_id = FND_API.G_MISS_NUM
8298     THEN
8299 
8300         RETURN TRUE;
8301     END IF;
8302 
8303     --  SELECT  'VALID'
8304     --  INTO     l_dummy
8305     --  FROM     DB_TABLE
8306     --  WHERE    DB_COLUMN = p_inventory_item_id;
8307 
8308 
8309     RETURN TRUE;
8310 
8311 EXCEPTION
8312 
8313     WHEN NO_DATA_FOUND THEN
8314 
8315         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8316         THEN
8317 
8318 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVENTORY_ITEM_ID');
8319 
8320             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8321             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8322 				OE_Order_Util.Get_Attribute_Name('inventory_item_id'));
8323             OE_MSG_PUB.Add;
8324 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8325 
8326         END IF;
8327 
8328 
8329         RETURN FALSE;
8330 
8331     WHEN OTHERS THEN
8332 
8333         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8334         THEN
8335             OE_MSG_PUB.Add_Exc_Msg
8336             (   G_PKG_NAME
8337             ,   'Inventory_Item'
8338             );
8339         END IF;
8340 
8341 
8342         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8343 
8344 END Inventory_Item;
8345 
8346 
8347 FUNCTION Tax_Date ( p_tax_date IN DATE )
8348 RETURN BOOLEAN
8349 IS
8350 l_dummy                       VARCHAR2(10);
8351 BEGIN
8352 
8353 
8354     IF p_tax_date IS NULL OR
8355         p_tax_date = FND_API.G_MISS_DATE
8356     THEN
8357 
8358         RETURN TRUE;
8359     END IF;
8360 
8361     --  SELECT  'VALID'
8362     --  INTO     l_dummy
8363     --  FROM     DB_TABLE
8364     --  WHERE    DB_COLUMN = p_tax_date;
8365 
8366 
8367     RETURN TRUE;
8368 
8369 EXCEPTION
8370 
8371     WHEN NO_DATA_FOUND THEN
8372 
8373         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8374         THEN
8375 
8376 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_DATE');
8377 
8378             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8379             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8380 				OE_Order_Util.Get_Attribute_Name('tax_date'));
8381             OE_MSG_PUB.Add;
8382 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8383 
8384         END IF;
8385 
8386 
8387         RETURN FALSE;
8388 
8389     WHEN OTHERS THEN
8390 
8391         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8392         THEN
8393             OE_MSG_PUB.Add_Exc_Msg
8394             (   G_PKG_NAME
8395             ,   'Tax_Date'
8396             );
8397         END IF;
8398 
8399 
8400         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8401 
8402 END Tax_Date;
8403 
8404 
8405 FUNCTION Pricing_Date ( p_pricing_date IN DATE )
8406 RETURN BOOLEAN
8407 IS
8408 l_dummy                       VARCHAR2(10);
8409 BEGIN
8410 
8411 
8412     IF p_pricing_date IS NULL OR
8413         p_pricing_date = FND_API.G_MISS_DATE
8414     THEN
8415 
8416         RETURN TRUE;
8417     END IF;
8418 
8419     --  SELECT  'VALID'
8420     --  INTO     l_dummy
8421     --  FROM     DB_TABLE
8422     --  WHERE    DB_COLUMN = p_pricing_date;
8423 
8424 
8425     RETURN TRUE;
8426 
8427 EXCEPTION
8428 
8429     WHEN NO_DATA_FOUND THEN
8430 
8431         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8432         THEN
8433 
8434 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_DATE');
8435 
8436             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8437             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8438 				OE_Order_Util.Get_Attribute_Name('pricing_date'));
8439             OE_MSG_PUB.Add;
8440 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8441 
8442         END IF;
8443 
8444 
8445         RETURN FALSE;
8446 
8447     WHEN OTHERS THEN
8448 
8449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8450         THEN
8451             OE_MSG_PUB.Add_Exc_Msg
8452             (   G_PKG_NAME
8453             ,   'Pricing_Date'
8454             );
8455         END IF;
8456 
8457 
8458         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8459 
8460 END Pricing_Date;
8461 
8462 FUNCTION Shipment_Number ( p_shipment_number IN NUMBER )
8463 RETURN BOOLEAN
8464 IS
8465 l_dummy                       VARCHAR2(10);
8466 BEGIN
8467 
8468 
8469     IF p_shipment_number IS NULL OR
8470         p_shipment_number = FND_API.G_MISS_NUM
8471     THEN
8472 
8473         RETURN TRUE;
8474     END IF;
8475 
8476     --  SELECT  'VALID'
8477     --  INTO     l_dummy
8478     --  FROM     DB_TABLE
8479     --  WHERE    DB_COLUMN = p_shipment_number;
8480 
8481 
8482     RETURN TRUE;
8483 
8484 EXCEPTION
8485 
8486     WHEN NO_DATA_FOUND THEN
8487 
8488         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8489         THEN
8490 
8491 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPMENT_NUMBER');
8492 
8493             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8494             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8495 				OE_Order_Util.Get_Attribute_Name('shipment_number'));
8496             OE_MSG_PUB.Add;
8497 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8498 
8499         END IF;
8500 
8501 
8502         RETURN FALSE;
8503 
8504     WHEN OTHERS THEN
8505 
8506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8507         THEN
8508             OE_MSG_PUB.Add_Exc_Msg
8509             (   G_PKG_NAME
8510             ,   'Shipment_Number'
8511             );
8512         END IF;
8513 
8514 
8515         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8516 
8517 END Shipment_Number;
8518 
8519 FUNCTION Orig_Sys_Line_Ref ( p_orig_sys_line_ref IN VARCHAR2 )
8520 RETURN BOOLEAN
8521 IS
8522 l_dummy                       VARCHAR2(10);
8523 BEGIN
8524 
8525 
8526     IF p_orig_sys_line_ref IS NULL OR
8527         p_orig_sys_line_ref = FND_API.G_MISS_CHAR
8528     THEN
8529 
8530         RETURN TRUE;
8531     END IF;
8532 
8533     --  SELECT  'VALID'
8534     --  INTO     l_dummy
8535     --  FROM     DB_TABLE
8536     --  WHERE    DB_COLUMN = p_orig_sys_line_ref;
8537 
8538 
8539     RETURN TRUE;
8540 
8541 EXCEPTION
8542 
8543     WHEN NO_DATA_FOUND THEN
8544 
8545         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8546         THEN
8547 
8548 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORIG_SYS_LINE_REF');
8549 
8550             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8551             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8552 				OE_Order_Util.Get_Attribute_Name('orig_sys_line_ref'));
8553             OE_MSG_PUB.Add;
8554 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8555 
8556         END IF;
8557 
8558 
8559         RETURN FALSE;
8560 
8561     WHEN OTHERS THEN
8562 
8563         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8564         THEN
8565             OE_MSG_PUB.Add_Exc_Msg
8566             (   G_PKG_NAME
8567             ,   'Orig_Sys_Line_ref'
8568             );
8569         END IF;
8570 
8571 
8572         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8573 
8574 END Orig_Sys_Line_Ref;
8575 
8576 FUNCTION Source_Document_Line ( p_source_document_line_id IN NUMBER )
8577 RETURN BOOLEAN
8578 IS
8579 l_dummy                       VARCHAR2(10);
8580 BEGIN
8581 
8582 
8583     IF p_source_document_line_id IS NULL OR
8584         p_source_document_line_id = FND_API.G_MISS_NUM
8585     THEN
8586 
8587         RETURN TRUE;
8588     END IF;
8589 
8590     --  SELECT  'VALID'
8591     --  INTO     l_dummy
8592     --  FROM     DB_TABLE
8593     --  WHERE    DB_COLUMN = p_source_document_line_id;
8594 
8595 
8596     RETURN TRUE;
8597 
8598 EXCEPTION
8599 
8600     WHEN NO_DATA_FOUND THEN
8601 
8602         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8603         THEN
8604 
8605 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_LINE_ID');
8606 
8607             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8608             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8609 				OE_Order_Util.Get_Attribute_Name('source_document_line_id'));
8610             OE_MSG_PUB.Add;
8611 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8612 
8613         END IF;
8614 
8615 
8616         RETURN FALSE;
8617 
8618     WHEN OTHERS THEN
8619 
8620         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8621         THEN
8622             OE_MSG_PUB.Add_Exc_Msg
8623             (   G_PKG_NAME
8624             ,   'Source_Document_Line'
8625             );
8626         END IF;
8627 
8628 
8629         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8630 
8631 END Source_Document_Line;
8632 
8633 FUNCTION Reference_Line ( p_reference_line_id IN NUMBER )
8634 RETURN BOOLEAN
8635 IS
8636 l_dummy                       VARCHAR2(10);
8637 BEGIN
8638 
8639 
8640     IF p_reference_line_id IS NULL OR
8641         p_reference_line_id = FND_API.G_MISS_NUM
8642     THEN
8643 
8644         RETURN TRUE;
8645     END IF;
8646 
8647     --  SELECT  'VALID'
8648     --  INTO     l_dummy
8649     --  FROM     DB_TABLE
8650     --  WHERE    DB_COLUMN = p_reference_line_id;
8651 
8652 
8653     RETURN TRUE;
8654 
8655 EXCEPTION
8656 
8657     WHEN NO_DATA_FOUND THEN
8658 
8659         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8660         THEN
8661 
8662 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_LINE_ID');
8663 
8664             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8665             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8666 				OE_Order_Util.Get_Attribute_Name('reference_line_id'));
8667             OE_MSG_PUB.Add;
8668 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8669 
8670         END IF;
8671 
8672 
8673         RETURN FALSE;
8674 
8675     WHEN OTHERS THEN
8676 
8677         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8678         THEN
8679             OE_MSG_PUB.Add_Exc_Msg
8680             (   G_PKG_NAME
8681             ,   'Reference_Line'
8682             );
8683         END IF;
8684 
8685 
8686         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8687 
8688 END Reference_Line;
8689 
8690 FUNCTION Reference_Type ( p_reference_type IN VARCHAR2 )
8691 RETURN BOOLEAN
8692 IS
8693 l_dummy                       VARCHAR2(10);
8694 BEGIN
8695 
8696 
8697 
8698     IF p_reference_type IS NULL OR
8699         p_reference_type = FND_API.G_MISS_CHAR
8700     THEN
8701 
8702         RETURN TRUE;
8703     END IF;
8704 
8705     --  SELECT  'VALID'
8706     --  INTO     l_dummy
8707     --  FROM     DB_TABLE
8708     --  WHERE    DB_COLUMN = p_reference_type;
8709 
8710 
8711     RETURN TRUE;
8712 
8713 EXCEPTION
8714 
8715     WHEN NO_DATA_FOUND THEN
8716 
8717         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8718         THEN
8719 
8720 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_TYPE');
8721 
8722             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8723             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8724 				OE_Order_Util.Get_Attribute_Name('reference_type'));
8725             OE_MSG_PUB.Add;
8726 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8727 
8728         END IF;
8729 
8730 
8731         RETURN FALSE;
8732 
8733     WHEN OTHERS THEN
8734 
8735         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8736         THEN
8737             OE_MSG_PUB.Add_Exc_Msg
8738             (   G_PKG_NAME
8739             ,   'Reference_Type'
8740             );
8741         END IF;
8742 
8743 
8744         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8745 
8746 END Reference_Type;
8747 
8748 FUNCTION Reference_Header ( p_reference_header_id IN NUMBER )
8749 RETURN BOOLEAN
8750 IS
8751 l_dummy                       VARCHAR2(10);
8752 BEGIN
8753 
8754 
8755     IF p_reference_header_id IS NULL OR
8756         p_reference_header_id = FND_API.G_MISS_NUM
8757     THEN
8758 
8759         RETURN TRUE;
8760     END IF;
8761 
8762     --  SELECT  'VALID'
8763     --  INTO     l_dummy
8764     --  FROM     DB_TABLE
8765     --  WHERE    DB_COLUMN = p_reference_header_id;
8766 
8767 
8768     RETURN TRUE;
8769 
8770 EXCEPTION
8771 
8772     WHEN NO_DATA_FOUND THEN
8773 
8774         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8775         THEN
8776 
8777 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_HEADER_ID');
8778 
8779             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8780             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8781 				OE_Order_Util.Get_Attribute_Name('reference_header_id'));
8782             OE_MSG_PUB.Add;
8783 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8784 
8785         END IF;
8786 
8787 
8788         RETURN FALSE;
8789 
8790     WHEN OTHERS THEN
8791 
8792         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8793         THEN
8794             OE_MSG_PUB.Add_Exc_Msg
8795             (   G_PKG_NAME
8796             ,   'Reference_Header'
8797             );
8798         END IF;
8799 
8800 
8801         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8802 
8803 END Reference_Header;
8804 
8805 
8806 
8807 FUNCTION Revision ( p_revision IN VARCHAR2 )
8808 RETURN BOOLEAN
8809 IS
8810 l_dummy                       VARCHAR2(10);
8811 BEGIN
8812 
8813 
8814     IF p_revision IS NULL OR
8815         p_revision = FND_API.G_MISS_CHAR
8816     THEN
8817 
8818         RETURN TRUE;
8819     END IF;
8820 
8821     --  SELECT  'VALID'
8822     --  INTO     l_dummy
8823     --  FROM     DB_TABLE
8824     --  WHERE    DB_COLUMN = p_revision;
8825 
8826 
8827     RETURN TRUE;
8828 
8829 EXCEPTION
8830 
8831     WHEN NO_DATA_FOUND THEN
8832 
8833         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8834         THEN
8835 
8836 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REVISION');
8837 
8838             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8839             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8840 				OE_Order_Util.Get_Attribute_Name('revision'));
8841             OE_MSG_PUB.Add;
8842 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8843 
8844         END IF;
8845 
8846 
8847         RETURN FALSE;
8848 
8849     WHEN OTHERS THEN
8850 
8851         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8852         THEN
8853             OE_MSG_PUB.Add_Exc_Msg
8854             (   G_PKG_NAME
8855             ,   'Revision'
8856             );
8857         END IF;
8858 
8859 
8860         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8861 
8862 END Revision;
8863 
8864 FUNCTION Unit_Selling_Price ( p_unit_selling_price IN NUMBER )
8865 RETURN BOOLEAN
8866 IS
8867 l_dummy                       VARCHAR2(10);
8868 BEGIN
8869 
8870 
8871     IF p_unit_selling_price IS NULL OR
8872         p_unit_selling_price = FND_API.G_MISS_NUM
8873     THEN
8874 
8875         RETURN TRUE;
8876     END IF;
8877 
8878     --  SELECT  'VALID'
8879     --  INTO     l_dummy
8880     --  FROM     DB_TABLE
8881     --  WHERE    DB_COLUMN = p_unit_selling_price;
8882 
8883 
8884     RETURN TRUE;
8885 
8886 EXCEPTION
8887 
8888     WHEN NO_DATA_FOUND THEN
8889 
8890         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8891         THEN
8892 
8893 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_SELLING_PRICE');
8894 
8895             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8896             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8897 				OE_Order_Util.Get_Attribute_Name('unit_selling_price'));
8898             OE_MSG_PUB.Add;
8899 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8900 
8901         END IF;
8902 
8903 
8904         RETURN FALSE;
8905 
8906     WHEN OTHERS THEN
8907 
8908         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8909         THEN
8910             OE_MSG_PUB.Add_Exc_Msg
8911             (   G_PKG_NAME
8912             ,   'Unit_Selling_Price'
8913             );
8914         END IF;
8915 
8916 
8917         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8918 
8919 END Unit_Selling_Price;
8920 
8921 
8922 FUNCTION Unit_Selling_Price_Per_Pqty ( p_unit_selling_price_per_pqty IN NUMBER )
8923 RETURN BOOLEAN
8924 IS
8925 l_dummy                       VARCHAR2(10);
8926 BEGIN
8927 
8928 
8929     IF p_unit_selling_price_per_pqty IS NULL OR
8930         p_unit_selling_price_per_pqty = FND_API.G_MISS_NUM
8931     THEN
8932 
8933         RETURN TRUE;
8934     END IF;
8935 
8936     --  SELECT  'VALID'
8937     --  INTO     l_dummy
8938     --  FROM     DB_TABLE
8939     --  WHERE    DB_COLUMN = p_unit_selling_price_per_pqty;
8940 
8941 
8942     RETURN TRUE;
8943 
8944 EXCEPTION
8945 
8946     WHEN NO_DATA_FOUND THEN
8947 
8948         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8949         THEN
8950 
8951 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_SELLING_PRICE_PER_PQTY');
8952 
8953             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8954             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8955 				OE_Order_Util.Get_Attribute_Name('unit_selling_price_per_pqty'));
8956             OE_MSG_PUB.Add;
8957 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8958 
8959         END IF;
8960 
8961 
8962         RETURN FALSE;
8963 
8964     WHEN OTHERS THEN
8965 
8966         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8967         THEN
8968             OE_MSG_PUB.Add_Exc_Msg
8969             (   G_PKG_NAME
8970             ,   'Unit_Selling_Price_Per_Pqty'
8971             );
8972         END IF;
8973 
8974 
8975         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8976 
8977 END Unit_Selling_Price_Per_Pqty;
8978 
8979 
8980 FUNCTION Unit_List_Price ( p_unit_list_price IN NUMBER )
8981 RETURN BOOLEAN
8982 IS
8983 l_dummy                       VARCHAR2(10);
8984 BEGIN
8985 
8986 
8987     IF p_unit_list_price IS NULL OR
8988         p_unit_list_price = FND_API.G_MISS_NUM
8989     THEN
8990 
8991         RETURN TRUE;
8992     END IF;
8993 
8994     --  SELECT  'VALID'
8995     --  INTO     l_dummy
8996     --  FROM     DB_TABLE
8997     --  WHERE    DB_COLUMN = p_unit_list_price;
8998 
8999 
9000     RETURN TRUE;
9001 
9002 EXCEPTION
9003 
9004     WHEN NO_DATA_FOUND THEN
9005 
9006         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9007         THEN
9008 
9009 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_LIST_PRICE');
9010 
9011             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9012             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9013 				OE_Order_Util.Get_Attribute_Name('unit_list_price'));
9014             OE_MSG_PUB.Add;
9015 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9016 
9017         END IF;
9018 
9019 
9020         RETURN FALSE;
9021 
9022     WHEN OTHERS THEN
9023 
9024         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9025         THEN
9026             OE_MSG_PUB.Add_Exc_Msg
9027             (   G_PKG_NAME
9028             ,   'Unit_List_Price'
9029             );
9030         END IF;
9031 
9032 
9033         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9034 
9035 END Unit_List_Price;
9036 
9037 FUNCTION Unit_List_Price_Per_Pqty ( p_unit_list_price_per_pqty IN NUMBER )
9038 RETURN BOOLEAN
9039 IS
9040 l_dummy                       VARCHAR2(10);
9041 BEGIN
9042 
9043 
9044     IF p_unit_list_price_per_pqty IS NULL OR
9045         p_unit_list_price_per_pqty = FND_API.G_MISS_NUM
9046     THEN
9047 
9048         RETURN TRUE;
9049     END IF;
9050 
9051     --  SELECT  'VALID'
9052     --  INTO     l_dummy
9053     --  FROM     DB_TABLE
9054     --  WHERE    DB_COLUMN = p_unit_list_price_per_pqty;
9055 
9056 
9057     RETURN TRUE;
9058 
9059 EXCEPTION
9060 
9061     WHEN NO_DATA_FOUND THEN
9062 
9063         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9064         THEN
9065 
9066 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_LIST_PRICE_PER_PQTY');
9067 
9068             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9069             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9070 				OE_Order_Util.Get_Attribute_Name('unit_list_price_per_pqty'));
9071             OE_MSG_PUB.Add;
9072 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9073 
9074         END IF;
9075 
9076 
9077         RETURN FALSE;
9078 
9079     WHEN OTHERS THEN
9080 
9081         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9082         THEN
9083             OE_MSG_PUB.Add_Exc_Msg
9084             (   G_PKG_NAME
9085             ,   'Unit_List_Price_Per_Pqty'
9086             );
9087         END IF;
9088 
9089 
9090         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9091 
9092 END Unit_List_Price_Per_Pqty;
9093 
9094 FUNCTION Tax_Value ( p_tax_value IN NUMBER )
9095 RETURN BOOLEAN
9096 IS
9097 l_dummy                       VARCHAR2(10);
9098 BEGIN
9099 
9100 
9101     IF p_tax_value IS NULL OR
9102         p_tax_value = FND_API.G_MISS_NUM
9103     THEN
9104 
9105         RETURN TRUE;
9106     END IF;
9107 
9108     --  SELECT  'VALID'
9109     --  INTO     l_dummy
9110     --  FROM     DB_TABLE
9111     --  WHERE    DB_COLUMN = p_tax_value;
9112 
9113 
9114     RETURN TRUE;
9115 
9116 EXCEPTION
9117 
9118     WHEN NO_DATA_FOUND THEN
9119 
9120         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9121         THEN
9122 
9123 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_VALUE');
9124 
9125             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9126             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9127 				OE_Order_Util.Get_Attribute_Name('tax_value'));
9128             OE_MSG_PUB.Add;
9129 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9130 
9131         END IF;
9132 
9133 
9134         RETURN FALSE;
9135 
9136     WHEN OTHERS THEN
9137 
9138         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9139         THEN
9140             OE_MSG_PUB.Add_Exc_Msg
9141             (   G_PKG_NAME
9142             ,   'Tax_Value'
9143             );
9144         END IF;
9145 
9146 
9147         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9148 
9149 END Tax_Value;
9150 
9151 
9152 
9153 
9154 FUNCTION Order_Number_Source ( p_order_number_source_id IN NUMBER )
9155 RETURN BOOLEAN
9156 IS
9157 l_dummy                       VARCHAR2(10);
9158 BEGIN
9159 
9160 
9161     IF p_order_number_source_id IS NULL OR
9162         p_order_number_source_id = FND_API.G_MISS_NUM
9163     THEN
9164 
9165         RETURN TRUE;
9166     END IF;
9167 
9168     --  SELECT  'VALID'
9169     --  INTO     l_dummy
9170     --  FROM     DB_TABLE
9171     --  WHERE    DB_COLUMN = p_order_number_source_id;
9172 
9173 
9174     RETURN TRUE;
9175 
9176 EXCEPTION
9177 
9178     WHEN NO_DATA_FOUND THEN
9179 
9180         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9181         THEN
9182 
9183 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_NUMBER_SOURCE_ID');
9184 
9185             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9186             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9187 				OE_Order_Util.Get_Attribute_Name('order_number_source_id'));
9188             OE_MSG_PUB.Add;
9189 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9190 
9191         END IF;
9192 
9193 
9194         RETURN FALSE;
9195 
9196     WHEN OTHERS THEN
9197 
9198         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9199         THEN
9200             OE_MSG_PUB.Add_Exc_Msg
9201             (   G_PKG_NAME
9202             ,   'Order_Number_Source'
9203             );
9204         END IF;
9205 
9206 
9207         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9208 
9209 END Order_Number_Source;
9210 
9211 FUNCTION Name ( p_name IN VARCHAR2 )
9212 RETURN BOOLEAN
9213 IS
9214 l_dummy                       VARCHAR2(10);
9215 BEGIN
9216 
9217 
9218     IF p_name IS NULL OR
9219         p_name = FND_API.G_MISS_CHAR
9220     THEN
9221 
9222         RETURN TRUE;
9223     END IF;
9224 
9225     --  SELECT  'VALID'
9226     --  INTO     l_dummy
9227     --  FROM     DB_TABLE
9228     --  WHERE    DB_COLUMN = p_name;
9229 
9230 
9231     RETURN TRUE;
9232 
9233 EXCEPTION
9234 
9235     WHEN NO_DATA_FOUND THEN
9236 
9237         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9238         THEN
9239 
9240 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'NAME');
9241 
9242             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9243             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9244 				OE_Order_Util.Get_Attribute_Name('name'));
9245             OE_MSG_PUB.Add;
9246 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9247 
9248         END IF;
9249 
9250 
9251         RETURN FALSE;
9252 
9253     WHEN OTHERS THEN
9254 
9255         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9256         THEN
9257             OE_MSG_PUB.Add_Exc_Msg
9258             (   G_PKG_NAME
9259             ,   'Name'
9260             );
9261         END IF;
9262 
9263 
9264         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9265 
9266 END Name;
9267 
9268 FUNCTION Sequence_Starting_Point ( p_sequence_starting_point IN NUMBER )
9269 RETURN BOOLEAN
9270 IS
9271 l_dummy                       VARCHAR2(10);
9272 BEGIN
9273 
9274 
9275     IF p_sequence_starting_point IS NULL OR
9276         p_sequence_starting_point = FND_API.G_MISS_NUM
9277     THEN
9278 
9279         RETURN TRUE;
9280     END IF;
9281 
9282     --  SELECT  'VALID'
9283     --  INTO     l_dummy
9284     --  FROM     DB_TABLE
9285     --  WHERE    DB_COLUMN = p_sequence_starting_point;
9286 
9287 
9288     RETURN TRUE;
9289 
9290 EXCEPTION
9291 
9292     WHEN NO_DATA_FOUND THEN
9293 
9294         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9295         THEN
9296 
9297 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SEQUENCE_STARTING_POINT');
9298 
9299             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9300             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9301 				OE_Order_Util.Get_Attribute_Name('sequence_starting_point'));
9302             OE_MSG_PUB.Add;
9303 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9304 
9305         END IF;
9306 
9307 
9308         RETURN FALSE;
9309 
9310     WHEN OTHERS THEN
9311 
9312         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9313         THEN
9314             OE_MSG_PUB.Add_Exc_Msg
9315             (   G_PKG_NAME
9316             ,   'Sequence_Starting_Point'
9317             );
9318         END IF;
9319 
9320 
9321         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9322 
9323 END Sequence_Starting_Point;
9324 
9325 FUNCTION Description ( p_description IN VARCHAR2 )
9326 RETURN BOOLEAN
9327 IS
9328 l_dummy                       VARCHAR2(10);
9329 BEGIN
9330 
9331 
9332     IF p_description IS NULL OR
9333         p_description = FND_API.G_MISS_CHAR
9334     THEN
9335 
9336         RETURN TRUE;
9337     END IF;
9338 
9339     --  SELECT  'VALID'
9340     --  INTO     l_dummy
9341     --  FROM     DB_TABLE
9342     --  WHERE    DB_COLUMN = p_description;
9343 
9344 
9345 
9346     RETURN TRUE;
9347 
9348 EXCEPTION
9349 
9350     WHEN NO_DATA_FOUND THEN
9351 
9352         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9353         THEN
9354 
9355 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DESCRIPTION');
9356 
9357 
9358             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9359             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9360 				OE_Order_Util.Get_Attribute_Name('description'));
9361             OE_MSG_PUB.Add;
9362 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9363 
9364         END IF;
9365 
9366 
9367         RETURN FALSE;
9368 
9369     WHEN OTHERS THEN
9370 
9371         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9372         THEN
9373             OE_MSG_PUB.Add_Exc_Msg
9374             (   G_PKG_NAME
9375             ,   'Description'
9376             );
9377         END IF;
9378 
9379 
9380         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9381 
9382 END Description;
9383 
9384 /* FUNCTION Start_Date_Active ( p_start_date_active IN DATE )
9385 RETURN BOOLEAN
9386 IS
9387 l_dummy                       VARCHAR2(10);
9388 BEGIN
9389 
9390 
9391     IF p_start_date_active IS NULL OR
9392         p_start_date_active = FND_API.G_MISS_DATE
9393     THEN
9394 
9395         RETURN TRUE;
9396     END IF;
9397 
9398     --  SELECT  'VALID'
9399     --  INTO     l_dummy
9400     --  FROM     DB_TABLE
9401     --  WHERE    DB_COLUMN = p_start_date_active;
9402 
9403 
9404     RETURN TRUE;
9405 
9406 EXCEPTION
9407 
9408     WHEN NO_DATA_FOUND THEN
9409 
9410         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9411         THEN
9412 
9413 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'START_DATE_ACTIVE');
9414 
9415             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9416             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9417 				OE_Order_Util.Get_Attribute_Name('start_date_active'));
9418             OE_MSG_PUB.Add;
9419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9420 
9421         END IF;
9422 
9423 
9424         RETURN FALSE;
9425 
9426     WHEN OTHERS THEN
9427 
9428         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9429         THEN
9430             OE_MSG_PUB.Add_Exc_Msg
9431             (   G_PKG_NAME
9432             ,   'Start_Date_Active'
9433             );
9434         END IF;
9435 
9436 
9437         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9438 
9439 END Start_Date_Active; */
9440 
9441 FUNCTION End_Date_Active ( p_end_date_active IN DATE )
9442 RETURN BOOLEAN
9443 IS
9444 l_dummy                       VARCHAR2(10);
9445 BEGIN
9446 
9447 
9448     IF p_end_date_active IS NULL OR
9449         p_end_date_active = FND_API.G_MISS_DATE
9450     THEN
9451 
9452         RETURN TRUE;
9453     END IF;
9454 
9455     --  SELECT  'VALID'
9456     --  INTO     l_dummy
9457     --  FROM     DB_TABLE
9458     --  WHERE    DB_COLUMN = p_end_date_active;
9459 
9460 
9461     RETURN TRUE;
9462 
9463 EXCEPTION
9464 
9465     WHEN NO_DATA_FOUND THEN
9466 
9467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9468         THEN
9469 
9470 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_DATE_ACTIVE');
9471 
9472             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9473             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9474 				OE_Order_Util.Get_Attribute_Name('end_date_active'));
9475             OE_MSG_PUB.Add;
9476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9477 
9478         END IF;
9479 
9480 
9481         RETURN FALSE;
9482 
9483     WHEN OTHERS THEN
9484 
9485         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9486         THEN
9487             OE_MSG_PUB.Add_Exc_Msg
9488             (   G_PKG_NAME
9489             ,   'End_Date_Active'
9490             );
9491         END IF;
9492 
9493 
9494         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9495 
9496 END End_Date_Active;
9497 
9498 Function SALES_CREDIT_PERCENT( p_percent IN Number) Return Boolean
9499 IS
9500 BEGIN
9501 
9502 
9503   OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
9504 
9505 
9506   IF p_percent = FND_API.G_MISS_NUM THEN
9507 
9508      RETURN TRUE;
9509   END IF;
9510 
9511   IF P_Percent < 0 OR P_Percent > 100 THEN
9512        fnd_message.set_name('ONT','OE_INVALID_CREDIT_PERCENT');
9513        OE_MSG_PUB.Add;
9514 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9515 
9516        RETURN FALSE;
9517   ELSE
9518 
9519      RETURN TRUE;
9520   END IF;
9521 
9522 
9523 END SALES_CREDIT_PERCENT;
9524 
9525 FUNCTION Configuration ( p_configuration_id IN NUMBER )
9526 RETURN BOOLEAN
9527 IS
9528 l_dummy                       VARCHAR2(10);
9529 BEGIN
9530 
9531 
9532     IF p_configuration_id IS NULL OR
9533         p_configuration_id = FND_API.G_MISS_NUM
9534     THEN
9535 
9536         RETURN TRUE;
9537     END IF;
9538 
9539     --  SELECT  'VALID'
9540     --  INTO     l_dummy
9541     --  FROM     DB_TABLE
9542     --  WHERE    DB_COLUMN = p_configuration_id;
9543 
9544 
9545     RETURN TRUE;
9546 
9547 EXCEPTION
9548 
9549     WHEN NO_DATA_FOUND THEN
9550 
9551         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9552         THEN
9553 
9554 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIGURATION_ID');
9555 
9556             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9557             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9558 				OE_Order_Util.Get_Attribute_Name('configuration_id'));
9559             OE_MSG_PUB.Add;
9560 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9561 
9562         END IF;
9563 
9564 
9565         RETURN FALSE;
9566 
9567     WHEN OTHERS THEN
9568 
9569         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9570         THEN
9571             OE_MSG_PUB.Add_Exc_Msg
9572             (   G_PKG_NAME
9573             ,   'Configuration'
9574             );
9575         END IF;
9576 
9577 
9578         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9579 
9580 END Configuration;
9581 
9582 FUNCTION Top_Model_Line ( p_top_model_line_id IN NUMBER )
9583 RETURN BOOLEAN
9584 IS
9585 l_dummy                       VARCHAR2(10);
9586 BEGIN
9587 
9588 
9589     IF p_top_model_line_id IS NULL OR
9590         p_top_model_line_id = FND_API.G_MISS_NUM
9591     THEN
9592 
9593         RETURN TRUE;
9594     END IF;
9595 
9596     --  SELECT  'VALID'
9597     --  INTO     l_dummy
9598     --  FROM     DB_TABLE
9599     --  WHERE    DB_COLUMN = p_top_model_line_id;
9600 
9601 
9602     RETURN TRUE;
9603 
9604 EXCEPTION
9605 
9606     WHEN NO_DATA_FOUND THEN
9607 
9608         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9609         THEN
9610 
9611 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TOP_MODEL_LINE_ID');
9612 
9613             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9614             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9615 				OE_Order_Util.Get_Attribute_Name('top_model_line_id'));
9616             OE_MSG_PUB.Add;
9617 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9618 
9619         END IF;
9620 
9621 
9622         RETURN FALSE;
9623 
9624     WHEN OTHERS THEN
9625 
9626         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9627         THEN
9628             OE_MSG_PUB.Add_Exc_Msg
9629             (   G_PKG_NAME
9630             ,   'Top_Model_Line'
9631             );
9632         END IF;
9633 
9634 
9635         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9636 
9637 END Top_Model_Line;
9638 
9639 FUNCTION Link_To_Line ( p_link_to_line_id IN NUMBER )
9640 RETURN BOOLEAN
9641 IS
9642 l_dummy                       VARCHAR2(10);
9643 BEGIN
9644 
9645 
9646     IF p_link_to_line_id IS NULL OR
9647         p_link_to_line_id = FND_API.G_MISS_NUM
9648     THEN
9649 
9650         RETURN TRUE;
9651     END IF;
9652 
9653     --  SELECT  'VALID'
9654     --  INTO     l_dummy
9655     --  FROM     DB_TABLE
9656     --  WHERE    DB_COLUMN = p_link_to_line_id;
9657 
9658 
9659    RETURN TRUE;
9660 
9661 EXCEPTION
9662 
9663     WHEN NO_DATA_FOUND THEN
9664 
9665         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9666         THEN
9667 
9668 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINK_TO_LINE_ID');
9669 
9670             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9671             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9672 				OE_Order_Util.Get_Attribute_Name('LINK_TO_LINE_ID'));
9673             OE_MSG_PUB.Add;
9674 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9675 
9676         END IF;
9677 
9678 
9679         RETURN FALSE;
9680 
9681     WHEN OTHERS THEN
9682 
9683         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9684         THEN
9685             OE_MSG_PUB.Add_Exc_Msg
9686             (   G_PKG_NAME
9687             ,   'Link_To_Line'
9688             );
9689         END IF;
9690 
9691 
9692         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9693 
9694 END Link_To_Line;
9695 
9696 FUNCTION Component_Sequence ( p_component_sequence_id IN NUMBER )
9697 RETURN BOOLEAN
9698 IS
9699 l_dummy                       VARCHAR2(10);
9700 BEGIN
9701 
9702 
9703     IF p_component_sequence_id IS NULL OR
9704         p_component_sequence_id = FND_API.G_MISS_NUM
9705     THEN
9706 
9707         RETURN TRUE;
9708     END IF;
9709 
9710     --  SELECT  'VALID'
9711     --  INTO     l_dummy
9712     --  FROM     DB_TABLE
9713     --  WHERE    DB_COLUMN = p_component_sequence_id;
9714 
9715 
9716     RETURN TRUE;
9717 
9718 EXCEPTION
9719 
9720     WHEN NO_DATA_FOUND THEN
9721 
9722         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9723         THEN
9724 
9725 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_SEQUENCE_ID');
9726 
9727             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9728             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9729 				OE_Order_Util.Get_Attribute_Name('COMPONENT_SEQUENCE_ID'));
9730             OE_MSG_PUB.Add;
9731 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9732 
9733         END IF;
9734 
9735 
9736         RETURN FALSE;
9737 
9738     WHEN OTHERS THEN
9739 
9740         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9741         THEN
9742             OE_MSG_PUB.Add_Exc_Msg
9743             (   G_PKG_NAME
9744             ,   'Component_Sequence'
9745             );
9746         END IF;
9747 
9748 
9749         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9750 
9751 END Component_Sequence;
9752 
9753 FUNCTION Config_Header ( p_config_header_id IN NUMBER )
9754 RETURN BOOLEAN
9755 IS
9756 l_dummy                       VARCHAR2(10);
9757 BEGIN
9758 
9759 
9760     IF p_config_header_id IS NULL OR
9761         p_config_header_id = FND_API.G_MISS_NUM
9762     THEN
9763 
9764         RETURN TRUE;
9765     END IF;
9766 
9767     --  SELECT  'VALID'
9768     --  INTO     l_dummy
9769     --  FROM     DB_TABLE
9770     --  WHERE    DB_COLUMN = p_config_header_id;
9771 
9772 
9773     RETURN TRUE;
9774 
9775 EXCEPTION
9776 
9777     WHEN NO_DATA_FOUND THEN
9778 
9779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9780         THEN
9781 
9782 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_HEADER');
9783 
9784            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9785            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9786 				OE_Order_Util.Get_Attribute_Name('CONFIG_HEADER_ID'));
9787            OE_MSG_PUB.Add;
9788 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9789 
9790         END IF;
9791 
9792 
9793         RETURN FALSE;
9794 
9795     WHEN OTHERS THEN
9796 
9797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9798         THEN
9799             OE_MSG_PUB.Add_Exc_Msg
9800             (   G_PKG_NAME
9801             ,   'Config_Header'
9802             );
9803         END IF;
9804 
9805 
9806         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9807 
9808 END Config_Header;
9809 
9810 FUNCTION Config_Rev_Nbr ( p_config_rev_nbr IN NUMBER )
9811 RETURN BOOLEAN
9812 IS
9813 l_dummy                       VARCHAR2(10);
9814 BEGIN
9815 
9816 
9817     IF p_config_rev_nbr IS NULL OR
9818         p_config_rev_nbr = FND_API.G_MISS_NUM
9819     THEN
9820 
9821         RETURN TRUE;
9822     END IF;
9823 
9824     --  SELECT  'VALID'
9825     --  INTO     l_dummy
9826     --  FROM     DB_TABLE
9827     --  WHERE    DB_COLUMN = p_config_rev_nbr;
9828 
9829 
9830     RETURN TRUE;
9831 
9832 EXCEPTION
9833 
9834     WHEN NO_DATA_FOUND THEN
9835 
9836         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9837         THEN
9838 
9839 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_REV_NBR');
9840 
9841            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9842            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9843 				OE_Order_Util.Get_Attribute_Name('CONFIG_REV_NBR'));
9844            OE_MSG_PUB.Add;
9845 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9846 
9847         END IF;
9848 
9849 
9850         RETURN FALSE;
9851 
9852     WHEN OTHERS THEN
9853 
9854         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9855         THEN
9856             OE_MSG_PUB.Add_Exc_Msg
9857             (   G_PKG_NAME
9858             ,   'Config_Rev_Nbr'
9859             );
9860         END IF;
9861 
9862 
9863         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9864 
9865 END Config_Rev_Nbr;
9866 
9867 FUNCTION Component ( p_component_code IN VARCHAR2 )
9868 RETURN BOOLEAN
9869 IS
9870 l_dummy                       VARCHAR2(10);
9871 BEGIN
9872 
9873 
9874     IF p_component_code IS NULL OR
9875         p_component_code = FND_API.G_MISS_CHAR
9876     THEN
9877 
9878         RETURN TRUE;
9879     END IF;
9880 
9881     --  SELECT  'VALID'
9882     --  INTO     l_dummy
9883     --  FROM     DB_TABLE
9884     --  WHERE    DB_COLUMN = p_component_code;
9885 
9886 
9887     RETURN TRUE;
9888 
9889 EXCEPTION
9890 
9891     WHEN NO_DATA_FOUND THEN
9892 
9893         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9894         THEN
9895 
9896 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_CODE');
9897 
9898             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9899             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9900 				OE_Order_Util.Get_Attribute_Name('Component_Code'));
9901             OE_MSG_PUB.Add;
9902 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9903 
9904         END IF;
9905 
9906 
9907         RETURN FALSE;
9908 
9909     WHEN OTHERS THEN
9910 
9911         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9912         THEN
9913             OE_MSG_PUB.Add_Exc_Msg
9914             (   G_PKG_NAME
9915             ,   'Component'
9916             );
9917         END IF;
9918 
9919 
9920         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9921 
9922 END Component;
9923 
9924 FUNCTION Config_Display_Sequence ( p_config_display_sequence IN NUMBER )
9925 RETURN BOOLEAN
9926 IS
9927 l_dummy                       VARCHAR2(10);
9928 BEGIN
9929 
9930 
9931     IF p_config_display_sequence IS NULL OR
9932         p_config_display_sequence = FND_API.G_MISS_NUM
9933     THEN
9934 
9935         RETURN TRUE;
9936     END IF;
9937 
9938     --  SELECT  'VALID'
9939     --  INTO     l_dummy
9940     --  FROM     DB_TABLE
9941     --  WHERE    DB_COLUMN = p_config_display_sequence;
9942 
9943 
9944     RETURN TRUE;
9945 
9946 EXCEPTION
9947 
9948     WHEN NO_DATA_FOUND THEN
9949 
9950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9951         THEN
9952 
9953 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_DISPLAY_SEQUENCE');
9954 
9955             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9956             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9957 				OE_Order_Util.Get_Attribute_Name('CONFIG_DISPLAY_SEQUENCE'));
9958             OE_MSG_PUB.Add;
9959 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9960 
9961         END IF;
9962 
9963 
9964         RETURN FALSE;
9965 
9966     WHEN OTHERS THEN
9967 
9968         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9969         THEN
9970             OE_MSG_PUB.Add_Exc_Msg
9971             (   G_PKG_NAME
9972             ,   'Config_Display_Sequence'
9973             );
9974         END IF;
9975 
9976 
9977         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9978 
9979 END Config_Display_Sequence;
9980 
9981 FUNCTION Sort_Order ( p_sort_order IN VARCHAR2 )
9982 RETURN BOOLEAN
9983 IS
9984 l_dummy                       VARCHAR2(10);
9985 BEGIN
9986 
9987 
9988     IF p_sort_order IS NULL OR
9989         p_sort_order = FND_API.G_MISS_CHAR
9990     THEN
9991 
9992         RETURN TRUE;
9993     END IF;
9994 
9995     --  SELECT  'VALID'
9996     --  INTO     l_dummy
9997     --  FROM     DB_TABLE
9998     --  WHERE    DB_COLUMN = p_sort_order;
9999 
10000 
10001     RETURN TRUE;
10002 
10003 EXCEPTION
10004 
10005     WHEN NO_DATA_FOUND THEN
10006 
10007         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10008         THEN
10009 
10010 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SORT_ORDER');
10011 
10012             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10013             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10014 				OE_Order_Util.Get_Attribute_Name('Sort_Order'));
10015             OE_MSG_PUB.Add;
10016 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10017 
10018         END IF;
10019 
10020 
10021         RETURN FALSE;
10022 
10023     WHEN OTHERS THEN
10024 
10025         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10026         THEN
10027             OE_MSG_PUB.Add_Exc_Msg
10028             (   G_PKG_NAME
10029             ,   'Sort_Order'
10030             );
10031         END IF;
10032 
10033 
10034         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10035 
10036 END Sort_Order;
10037 
10038 FUNCTION Oe_Item_Type ( p_oe_item_type IN VARCHAR2 )
10039 RETURN BOOLEAN
10040 IS
10041 l_dummy                       VARCHAR2(10);
10042 BEGIN
10043 
10044 
10045     IF p_oe_item_type IS NULL OR
10046         p_oe_item_type = FND_API.G_MISS_CHAR
10047     THEN
10048 
10049         RETURN TRUE;
10050     END IF;
10051 
10052     --  SELECT  'VALID'
10053     --  INTO     l_dummy
10054     --  FROM     DB_TABLE
10055     --  WHERE    DB_COLUMN = p_oe_item_type;
10056 
10057 
10058     RETURN TRUE;
10059 
10060 EXCEPTION
10061 
10062     WHEN NO_DATA_FOUND THEN
10063 
10064         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10065         THEN
10066 
10067 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OE_ITEM_TYPE');
10068             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10069             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10070 				OE_Order_Util.Get_Attribute_Name('Oe_Item_Type'));
10071             OE_MSG_PUB.Add;
10072 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10073 
10074         END IF;
10075 
10076 
10077         RETURN FALSE;
10078 
10079     WHEN OTHERS THEN
10080 
10081         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10082         THEN
10083             OE_MSG_PUB.Add_Exc_Msg
10084             (   G_PKG_NAME
10085             ,   'Item_Type'
10086             );
10087         END IF;
10088 
10089 
10090         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10091 
10092 END Oe_Item_Type;
10093 
10094 FUNCTION Option_Number ( p_option_number IN NUMBER )
10095 RETURN BOOLEAN
10096 IS
10097 l_dummy                       VARCHAR2(10);
10098 BEGIN
10099 
10100 
10101 
10102     IF p_option_number IS NULL OR
10103         p_option_number = FND_API.G_MISS_NUM
10104     THEN
10105 
10106         RETURN TRUE;
10107     END IF;
10108 
10109     --  SELECT  'VALID'
10110     --  INTO     l_dummy
10111     --  FROM     DB_TABLE
10112     --  WHERE    DB_COLUMN = p_option_number;
10113 
10114 
10115     RETURN TRUE;
10116 
10117 EXCEPTION
10118 
10119     WHEN NO_DATA_FOUND THEN
10120 
10121         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10122         THEN
10123 
10124 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_NUMBER');
10125 
10126             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10127             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10128 				OE_Order_Util.Get_Attribute_Name('Option_Number'));
10129             OE_MSG_PUB.Add;
10130 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10131 
10132         END IF;
10133 
10134 
10135         RETURN FALSE;
10136 
10137     WHEN OTHERS THEN
10138 
10139         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10140         THEN
10141             OE_MSG_PUB.Add_Exc_Msg
10142             (   G_PKG_NAME
10143             ,   'Option_Number'
10144             );
10145         END IF;
10146 
10147 
10148         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10149 
10150 END Option_Number;
10151 
10152 FUNCTION Component_Number ( p_component_number IN NUMBER )
10153 RETURN BOOLEAN
10154 IS
10155 l_dummy                       VARCHAR2(10);
10156 BEGIN
10157 
10158 
10159     IF p_component_number IS NULL OR
10160         p_component_number = FND_API.G_MISS_NUM
10161     THEN
10162 
10163         RETURN TRUE;
10164     END IF;
10165 
10166     --  SELECT  'VALID'
10167     --  INTO     l_dummy
10168     --  FROM     DB_TABLE
10169     --  WHERE    DB_COLUMN = p_component_number;
10170 
10171 
10172     RETURN TRUE;
10173 
10174 EXCEPTION
10175 
10176     WHEN NO_DATA_FOUND THEN
10177 
10178         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10179         THEN
10180 
10181 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_NUMBER');
10182 
10183             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10184             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10185 				OE_Order_Util.Get_Attribute_Name('Component_Number'));
10186             OE_MSG_PUB.Add;
10187 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10188 
10189 
10190         END IF;
10191 
10192 
10193         RETURN FALSE;
10194 
10195     WHEN OTHERS THEN
10196 
10197         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10198         THEN
10199             OE_MSG_PUB.Add_Exc_Msg
10200             (   G_PKG_NAME
10201             ,   'Component_Number'
10202             );
10203         END IF;
10204 
10205 
10206         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10207 
10208 END Component_Number;
10209 
10210 
10211 FUNCTION Explosion_Date ( p_explosion_date IN DATE )
10212 RETURN BOOLEAN
10213 IS
10214 l_dummy                       VARCHAR2(10);
10215 BEGIN
10216 
10217     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
10218 
10219     IF p_explosion_date IS NULL OR
10220         p_explosion_date = FND_API.G_MISS_DATE
10221     THEN
10222 
10223         RETURN TRUE;
10224     END IF;
10225 
10226     --  SELECT  'VALID'
10227     --  INTO     l_dummy
10228     --  FROM     DB_TABLE
10229     --  WHERE    DB_COLUMN = p_explosion_date;
10230 
10231 
10232     RETURN TRUE;
10233 
10234 EXCEPTION
10235 
10236     WHEN NO_DATA_FOUND THEN
10237 
10238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10239         THEN
10240 
10241 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
10242 
10243             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10244             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10245 				OE_Order_Util.Get_Attribute_Name('explosion_date'));
10246             OE_MSG_PUB.Add;
10247 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10248 
10249         END IF;
10250 
10251 
10252         RETURN FALSE;
10253 
10254     WHEN OTHERS THEN
10255 
10256         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10257         THEN
10258             OE_MSG_PUB.Add_Exc_Msg
10259             (   G_PKG_NAME
10260             ,   'Explosion_Date'
10261             );
10262         END IF;
10263 
10264 
10265         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10266 
10267 END Explosion_Date;
10268 
10269 
10270 FUNCTION Line_Category_Code(line_category_code IN VARCHAR2)
10271 RETURN BOOLEAN
10272 IS
10273 BEGIN
10274     RETURN TRUE;
10275 END Line_Category_Code;
10276 
10277 FUNCTION Reference_Cust_Trx_Line_Id(reference_cust_trx_line_id IN NUMBER)
10278 RETURN BOOLEAN
10279 IS
10280 BEGIN
10281     RETURN TRUE;
10282 END Reference_Cust_Trx_Line_Id;
10283 
10284 FUNCTION RMA_CONTEXT(rma_context IN VARCHAR2)
10285 RETURN BOOLEAN
10286 IS
10287 BEGIN
10288     RETURN TRUE;
10289 END RMA_CONTEXT;
10290 
10291 FUNCTION RMA_ATTRIBUTE1(rma_attribute1 IN VARCHAR2)
10292 RETURN BOOLEAN
10293 IS
10294 BEGIN
10295     RETURN TRUE;
10296 END RMA_ATTRIBUTE1;
10297 
10298 FUNCTION RMA_ATTRIBUTE2(rma_attribute2 IN VARCHAR2)
10299 RETURN BOOLEAN
10300 IS
10301 BEGIN
10302     RETURN TRUE;
10303 END RMA_ATTRIBUTE2;
10304 
10305 FUNCTION RMA_ATTRIBUTE3(rma_attribute3 IN VARCHAR2)
10306 RETURN BOOLEAN
10307 IS
10308 BEGIN
10309     RETURN TRUE;
10310 END RMA_ATTRIBUTE3;
10311 
10312 FUNCTION RMA_ATTRIBUTE4(rma_attribute4 IN VARCHAR2)
10313 RETURN BOOLEAN
10314 IS
10315 BEGIN
10316     RETURN TRUE;
10317 END RMA_ATTRIBUTE4;
10318 
10319 FUNCTION RMA_ATTRIBUTE5(rma_attribute5 IN VARCHAR2)
10320 RETURN BOOLEAN
10321 IS
10322 BEGIN
10323     RETURN TRUE;
10324 END RMA_ATTRIBUTE5;
10325 
10326 FUNCTION RMA_ATTRIBUTE6(rma_attribute6 IN VARCHAR2)
10327 RETURN BOOLEAN
10328 IS
10329 BEGIN
10330     RETURN TRUE;
10331 END RMA_ATTRIBUTE6;
10332 
10333 FUNCTION RMA_ATTRIBUTE7(rma_attribute7 IN VARCHAR2)
10334 RETURN BOOLEAN
10335 IS
10336 BEGIN
10337     RETURN TRUE;
10338 END RMA_ATTRIBUTE7;
10339 
10340 FUNCTION RMA_ATTRIBUTE8(rma_attribute8 IN VARCHAR2)
10341 RETURN BOOLEAN
10342 IS
10343 BEGIN
10344     RETURN TRUE;
10345 END RMA_ATTRIBUTE8;
10346 
10347 FUNCTION RMA_ATTRIBUTE9(rma_attribute9 IN VARCHAR2)
10348 RETURN BOOLEAN
10349 IS
10350 BEGIN
10351     RETURN TRUE;
10352 END RMA_ATTRIBUTE9;
10353 
10354 FUNCTION RMA_ATTRIBUTE10(rma_attribute10 IN VARCHAR2)
10355 RETURN BOOLEAN
10356 IS
10357 BEGIN
10358     RETURN TRUE;
10359 END RMA_ATTRIBUTE10;
10360 
10361 
10362 FUNCTION Accounting_Rule ( p_accounting_rule_id IN NUMBER )
10363 RETURN BOOLEAN
10364 IS
10365 l_dummy                       VARCHAR2(10);
10366 BEGIN
10367 
10368 
10369     IF p_accounting_rule_id IS NULL OR
10370         p_accounting_rule_id = FND_API.G_MISS_NUM
10371     THEN
10372 
10373         RETURN TRUE;
10374     END IF;
10375 
10376     --  SELECT  'VALID'
10377     --  INTO     l_dummy
10378     --  FROM     DB_TABLE
10379     --  WHERE    DB_COLUMN = p_accounting_rule_id;
10380     --PP Revenue Recognition
10381     --bug 4893057
10382     --The query has been modified to include the accounting
10383     --rules for the partial revenue recognition
10384     SELECT 'VALID'
10385     INTO l_dummy
10386     FROM    OE_RA_RULES_V
10387     WHERE   RULE_ID = p_accounting_rule_id
10388     AND     STATUS = 'A'
10389     AND     TYPE IN ('A', 'ACC_DUR','PP_DR_ALL','PP_DR_PP');
10390 
10391     RETURN TRUE;
10392 
10393 EXCEPTION
10394 
10395     WHEN NO_DATA_FOUND THEN
10396 
10397         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10398         THEN
10399 
10400 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACCOUNTING_RULE_ID');
10401 
10402             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10403             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10404 				OE_Order_Util.Get_Attribute_Name('accounting_rule_id'));
10405             OE_MSG_PUB.Add;
10406 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10407 
10408         END IF;
10409 
10410 
10411         RETURN FALSE;
10412 
10413     WHEN OTHERS THEN
10414 
10415         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10416         THEN
10417             OE_MSG_PUB.Add_Exc_Msg
10418             (   G_PKG_NAME
10419             ,   'Accounting_Rule'
10420             );
10421         END IF;
10422 
10423 
10424         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10425 
10426 END Accounting_Rule;
10427 
10428 
10429 FUNCTION Accounting_Rule_Duration ( p_accounting_rule_duration IN NUMBER )
10430 RETURN BOOLEAN
10431 IS
10432 l_dummy                       VARCHAR2(10);
10433 BEGIN
10434 
10435 
10436     IF p_accounting_rule_duration IS NULL OR
10437         p_accounting_rule_duration = FND_API.G_MISS_NUM
10438     THEN
10439 
10440         RETURN TRUE;
10441     END IF;
10442 
10443     --  SELECT  'VALID'
10444     --  INTO     l_dummy
10445     --  FROM     DB_TABLE
10446     --  WHERE    DB_COLUMN = p_accounting_rule_duration;
10447 
10448 
10449     RETURN TRUE;
10450 
10451 EXCEPTION
10452 
10453     WHEN NO_DATA_FOUND THEN
10454 
10455         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10456         THEN
10457 
10458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACCOUNTING_RULE_DURATION');
10459 
10460             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10461             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10462 				OE_Order_Util.Get_Attribute_Name('accounting_rule_duration'));
10463             OE_MSG_PUB.Add;
10464 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10465 
10466         END IF;
10467 
10468 
10469         RETURN FALSE;
10470 
10471     WHEN OTHERS THEN
10472 
10473         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10474         THEN
10475             OE_MSG_PUB.Add_Exc_Msg
10476             (   G_PKG_NAME
10477             ,   'Accounting_Rule_Duration'
10478             );
10479         END IF;
10480 
10481 
10482         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10483 
10484 END Accounting_Rule_Duration;
10485 
10486 
10487 FUNCTION Created_By ( p_created_by IN NUMBER )
10488 RETURN BOOLEAN
10489 IS
10490 l_dummy                       VARCHAR2(10);
10491 BEGIN
10492 
10493 
10494     IF p_created_by IS NULL OR
10495         p_created_by = FND_API.G_MISS_NUM
10496     THEN
10497 
10498         RETURN TRUE;
10499     END IF;
10500 
10501     --  SELECT  'VALID'
10502     --  INTO     l_dummy
10503     --  FROM     DB_TABLE
10504     --  WHERE    DB_COLUMN = p_created_by;
10505 
10506 
10507     RETURN TRUE;
10508 
10509 EXCEPTION
10510 
10511     WHEN NO_DATA_FOUND THEN
10512 
10513         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10514         THEN
10515 
10516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATED_BY');
10517 
10518             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10519             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10520 				OE_Order_Util.Get_Attribute_Name('created_by'));
10521             OE_MSG_PUB.Add;
10522 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10523 
10524         END IF;
10525 
10526 
10527         RETURN FALSE;
10528 
10529     WHEN OTHERS THEN
10530 
10531         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10532         THEN
10533             OE_MSG_PUB.Add_Exc_Msg
10534             (   G_PKG_NAME
10535             ,   'Created_By'
10536             );
10537         END IF;
10538 
10539 
10540         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10541 
10542 END Created_By;
10543 
10544 FUNCTION Creation_Date ( p_creation_date IN DATE )
10545 RETURN BOOLEAN
10546 IS
10547 l_dummy                       VARCHAR2(10);
10548 BEGIN
10549 
10550 
10551     IF p_creation_date IS NULL OR
10552         p_creation_date = FND_API.G_MISS_DATE
10553     THEN
10554 
10555         RETURN TRUE;
10556     END IF;
10557 
10558     --  SELECT  'VALID'
10559     --  INTO     l_dummy
10560     --  FROM     DB_TABLE
10561     --  WHERE    DB_COLUMN = p_creation_date;
10562 
10563 
10564     RETURN TRUE;
10565 
10566 EXCEPTION
10567 
10568     WHEN NO_DATA_FOUND THEN
10569 
10570         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10571         THEN
10572 
10573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATION_DATE');
10574 
10575             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10576             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10577 				OE_Order_Util.Get_Attribute_Name('creation_date'));
10578             OE_MSG_PUB.Add;
10579 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10580 
10581         END IF;
10582 
10583 
10584         RETURN FALSE;
10585 
10586     WHEN OTHERS THEN
10587 
10588         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10589         THEN
10590             OE_MSG_PUB.Add_Exc_Msg
10591             (   G_PKG_NAME
10592             ,   'Creation_Date'
10593             );
10594         END IF;
10595 
10596 
10597         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10598 
10599 END Creation_Date;
10600 
10601 
10602 FUNCTION Ordered_Date ( p_ordered_date IN DATE )
10603 RETURN BOOLEAN
10604 IS
10605 l_dummy                       VARCHAR2(10);
10606 BEGIN
10607 
10608 
10609     IF p_ordered_date IS NULL OR
10610         p_ordered_date = FND_API.G_MISS_DATE
10611     THEN
10612 
10613         RETURN TRUE;
10614     END IF;
10615 
10616     --  SELECT  'VALID'
10617     --  INTO     l_dummy
10618     --  FROM     DB_TABLE
10619     --  WHERE    DB_COLUMN = p_ordered_date;
10620 
10621 
10622     RETURN TRUE;
10623 
10624 EXCEPTION
10625 
10626     WHEN NO_DATA_FOUND THEN
10627 
10628         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10629         THEN
10630 
10631 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_DATE');
10632 
10633             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10634             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10635 				OE_Order_Util.Get_Attribute_Name('ordered_date'));
10636             OE_MSG_PUB.Add;
10637 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10638 
10639         END IF;
10640 
10641 
10642         RETURN FALSE;
10643 
10644     WHEN OTHERS THEN
10645 
10646         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10647         THEN
10648             OE_MSG_PUB.Add_Exc_Msg
10649             (   G_PKG_NAME
10650             ,   'Ordered_Date'
10651             );
10652         END IF;
10653 
10654 
10655         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10656 
10657 END Ordered_Date;
10658 
10659 FUNCTION Order_Date_Type_Code ( p_order_date_type_code IN VARCHAR2 )
10660 RETURN BOOLEAN
10661 IS
10662 l_dummy                       VARCHAR2(10);
10663 l_lookup_type      	      VARCHAR2(80) :='REQUEST_DATE_TYPE';
10664 BEGIN
10665 
10666 
10667     IF p_order_date_type_code IS NULL OR
10668         p_order_date_type_code = FND_API.G_MISS_CHAR
10669     THEN
10670 
10671         RETURN TRUE;
10672     END IF;
10673 
10674     SELECT  'VALID'
10675     INTO    l_dummy
10676     FROM    OE_LOOKUPS
10677     WHERE   LOOKUP_CODE = p_order_date_type_code
10678     AND     LOOKUP_TYPE = l_lookup_type
10679     AND     ENABLED_FLAG = 'Y'
10680     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
10681                         AND NVL(END_DATE_ACTIVE, SYSDATE);
10682 
10683 
10684     RETURN TRUE;
10685 
10686 EXCEPTION
10687 
10688     WHEN NO_DATA_FOUND THEN
10689 
10690         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10691         THEN
10692 
10693 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_DATE_TYPE_CODE');
10694 
10695             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10696             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10697 				OE_Order_Util.Get_Attribute_Name('order_date_type_code'));
10698             OE_MSG_PUB.Add;
10699 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10700 
10701 
10702         END IF;
10703 
10704 
10705         RETURN FALSE;
10706 
10707     WHEN OTHERS THEN
10708 
10709         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10710         THEN
10711             OE_MSG_PUB.Add_Exc_Msg
10712             (   G_PKG_NAME
10713             ,   'Order_Date_Type_Code'
10714             );
10715         END IF;
10716 
10717 
10718         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10719 
10720 END Order_Date_Type_Code;
10721 
10722 
10723 
10724 FUNCTION Request_Date ( p_request_date IN DATE )
10725 RETURN BOOLEAN
10726 IS
10727 l_dummy                       VARCHAR2(10);
10728 BEGIN
10729 
10730 
10731     IF p_request_date IS NULL OR
10732         p_request_date = FND_API.G_MISS_DATE
10733     THEN
10734 
10735         RETURN TRUE;
10736     END IF;
10737 
10738     --  SELECT  'VALID'
10739     --  INTO     l_dummy
10740     --  FROM     DB_TABLE
10741     --  WHERE    DB_COLUMN = p_request_date;
10742 
10743 
10744     RETURN TRUE;
10745 
10746 EXCEPTION
10747 
10748     WHEN NO_DATA_FOUND THEN
10749 
10750         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10751         THEN
10752 
10753 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_DATE');
10754 
10755             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10756             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10757 				OE_Order_Util.Get_Attribute_Name('request_date'));
10758             OE_MSG_PUB.Add;
10759 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10760 
10761         END IF;
10762 
10763 
10764         RETURN FALSE;
10765 
10766     WHEN OTHERS THEN
10767 
10768         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10769         THEN
10770             OE_MSG_PUB.Add_Exc_Msg
10771             (   G_PKG_NAME
10772             ,   'Request_Date'
10773             );
10774         END IF;
10775 
10776 
10777         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10778 
10779 END Request_Date;
10780 
10781 FUNCTION Reserved_Quantity ( p_reserved_quantity IN NUMBER )
10782 RETURN BOOLEAN
10783 IS
10784 l_dummy                       VARCHAR2(10);
10785 BEGIN
10786 
10787 
10788     IF p_reserved_quantity IS NULL OR
10789         p_reserved_quantity = FND_API.G_MISS_NUM
10790     THEN
10791 
10792         RETURN TRUE;
10793     END IF;
10794 
10795     --  SELECT  'VALID'
10796     --  INTO     l_dummy
10797     --  FROM     DB_TABLE
10798     --  WHERE    DB_COLUMN = p_ato_line_id;
10799 
10800 
10801     RETURN TRUE;
10802 
10803 EXCEPTION
10804 
10805     WHEN NO_DATA_FOUND THEN
10806 
10807         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10808         THEN
10809 
10810 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RESERVED_QUANTITY');
10811 
10812             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10813             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10814 				OE_Order_Util.Get_Attribute_Name('reserved_quantity'));
10815             OE_MSG_PUB.Add;
10816 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10817 
10818         END IF;
10819 
10820 
10821         RETURN FALSE;
10822 
10823     WHEN OTHERS THEN
10824 
10825         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10826         THEN
10827             OE_MSG_PUB.Add_Exc_Msg
10828             (   G_PKG_NAME
10829             ,   'Reserved_Quantity'
10830             );
10831         END IF;
10832 
10833 
10834         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10835 
10836 END Reserved_Quantity;
10837 
10838 FUNCTION Actual_Arrival_Date ( p_actual_arrival_date IN DATE )
10839 RETURN BOOLEAN
10840 IS
10841 l_dummy                       VARCHAR2(10);
10842 BEGIN
10843 
10844 
10845     IF p_actual_arrival_date IS NULL OR
10846         p_actual_arrival_date = FND_API.G_MISS_DATE
10847     THEN
10848 
10849         RETURN TRUE;
10850     END IF;
10851 
10852     --  SELECT  'VALID'
10853     --  INTO     l_dummy
10854     --  FROM     DB_TABLE
10855     --  WHERE    DB_COLUMN = p_actual_arrival_date;
10856 
10857 
10858     RETURN TRUE;
10859 
10860 EXCEPTION
10861 
10862     WHEN NO_DATA_FOUND THEN
10863 
10864         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10865         THEN
10866 
10867 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_ARRIVAL_DATE');
10868 
10869             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10870             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10871 				OE_Order_Util.Get_Attribute_Name('actual_arrival_date'));
10872             OE_MSG_PUB.Add;
10873 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10874 
10875         END IF;
10876 
10877 
10878         RETURN FALSE;
10879 
10880     WHEN OTHERS THEN
10881 
10882         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10883         THEN
10884             OE_MSG_PUB.Add_Exc_Msg
10885             (   G_PKG_NAME
10886             ,   'Actual_Arrival_Date'
10887             );
10888         END IF;
10889 
10890 
10891         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10892 
10893 END Actual_Arrival_Date;
10894 
10895 
10896 FUNCTION Actual_Shipment_Date ( p_actual_shipment_date IN DATE )
10897 RETURN BOOLEAN
10898 IS
10899 l_dummy                       VARCHAR2(10);
10900 BEGIN
10901 
10902 
10903     IF p_actual_shipment_date IS NULL OR
10904         p_actual_shipment_date = FND_API.G_MISS_DATE
10905     THEN
10906 
10907         RETURN TRUE;
10908     END IF;
10909 
10910     --  SELECT  'VALID'
10911     --  INTO     l_dummy
10912     --  FROM     DB_TABLE
10913     --  WHERE    DB_COLUMN = p_actual_shipment_date;
10914 
10915 
10916     RETURN TRUE;
10917 
10918 EXCEPTION
10919 
10920     WHEN NO_DATA_FOUND THEN
10921 
10922         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10923         THEN
10924 
10925 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_SHIPMENT_DATE');
10926 
10927             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10928             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10929 				OE_Order_Util.Get_Attribute_Name('actual_shipment_date'));
10930             OE_MSG_PUB.Add;
10931 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10932 
10933         END IF;
10934 
10935 
10936         RETURN FALSE;
10937 
10938     WHEN OTHERS THEN
10939 
10940         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10941         THEN
10942             OE_MSG_PUB.Add_Exc_Msg
10943             (   G_PKG_NAME
10944             ,   'Actual_Shipment_Date'
10945             );
10946         END IF;
10947 
10948 
10949         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10950 
10951 END Actual_Shipment_Date;
10952 
10953 
10954 FUNCTION Ato_Line ( p_ato_line_id IN NUMBER )
10955 RETURN BOOLEAN
10956 IS
10957 l_dummy                       VARCHAR2(10);
10958 BEGIN
10959 
10960 
10961     IF p_ato_line_id IS NULL OR
10962         p_ato_line_id = FND_API.G_MISS_NUM
10963     THEN
10964 
10965         RETURN TRUE;
10966     END IF;
10967 
10968     --  SELECT  'VALID'
10969     --  INTO     l_dummy
10970     --  FROM     DB_TABLE
10971     --  WHERE    DB_COLUMN = p_ato_line_id;
10972 
10973 
10974     RETURN TRUE;
10975 
10976 EXCEPTION
10977 
10978     WHEN NO_DATA_FOUND THEN
10979 
10980         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10981         THEN
10982 
10983 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ATO_LINE_ID');
10984 
10985             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10986             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10987 				OE_Order_Util.Get_Attribute_Name('ato_line_id'));
10988             OE_MSG_PUB.Add;
10989 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10990 
10991         END IF;
10992 
10993 
10994         RETURN FALSE;
10995 
10996     WHEN OTHERS THEN
10997 
10998         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10999         THEN
11000             OE_MSG_PUB.Add_Exc_Msg
11001             (   G_PKG_NAME
11002             ,   'Ato_Line_Id'
11003             );
11004         END IF;
11005 
11006 
11007         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11008 
11009 END Ato_Line;
11010 
11011 
11012 FUNCTION Auto_Selected_Quantity ( p_auto_selected_quantity IN NUMBER )
11013 RETURN BOOLEAN
11014 IS
11015 l_dummy                       VARCHAR2(10);
11016 BEGIN
11017 
11018 
11019     IF p_auto_selected_quantity IS NULL OR
11020         p_auto_selected_quantity = FND_API.G_MISS_NUM
11021     THEN
11022 
11023         RETURN TRUE;
11024     END IF;
11025 
11026     --  SELECT  'VALID'
11027     --  INTO     l_dummy
11028     --  FROM     DB_TABLE
11029     --  WHERE    DB_COLUMN = p_auto_selected_quantity;
11030 
11031 
11032     RETURN TRUE;
11033 
11034 EXCEPTION
11035 
11036     WHEN NO_DATA_FOUND THEN
11037 
11038         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11039         THEN
11040 
11041 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTO_SELECTED_QUANTITY');
11042 
11043             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11044             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11045 				OE_Order_Util.Get_Attribute_Name('auto_selected_quantity'));
11046             OE_MSG_PUB.Add;
11047 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11048 
11049         END IF;
11050 
11051 
11052         RETURN FALSE;
11053 
11054     WHEN OTHERS THEN
11055 
11056         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11057         THEN
11058             OE_MSG_PUB.Add_Exc_Msg
11059             (   G_PKG_NAME
11060             ,   'Auto_Selected_Quantity'
11061             );
11062         END IF;
11063 
11064 
11065         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11066 
11067 END Auto_Selected_Quantity;
11068 
11069 FUNCTION Blanket_Number( p_blanket_number IN NUMBER)
11070 RETURN BOOLEAN
11071 IS
11072 l_dummy                       VARCHAR2(10);
11073 BEGIN
11074 
11075     IF p_blanket_number IS NULL OR
11076         p_blanket_number = FND_API.G_MISS_NUM
11077     THEN
11078         RETURN TRUE;
11079     END IF;
11080 
11081 /*
11082    Blanket Number validation is done in procedure Entity for
11083    oe_validate_header/oe_validate_line.
11084    On Hold and Expired blankets are allowed for return/mixed
11085    orders.
11086     SELECT  'VALID'
11087     INTO    l_dummy
11088     FROM    OE_BLANKET_HEADERS BH,OE_BLANKET_HEADERS_EXT BHE
11089     WHERE   BH.ORDER_NUMBER = p_blanket_number
11090     AND     TRUNC(SYSDATE) BETWEEN TRUNC(BHE.START_DATE_ACTIVE )
11091                     AND     TRUNC(NVL( BHE.END_DATE_ACTIVE, SYSDATE )) AND
11092             BHE.ON_HOLD_FLAG = 'N'
11093     AND     BH.ORDER_NUMBER = BHE.ORDER_NUMBER
11094     AND     BH.SALES_DOCUMENT_TYPE_CODE = 'B';
11095 */
11096 
11097     RETURN TRUE;
11098 EXCEPTION
11099 
11100     WHEN NO_DATA_FOUND THEN
11101 
11102         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11103         THEN
11104 
11105             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'BLANKET_NUMBER');
11106 
11107             FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
11108             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11109                          'BLANKET NUMBER');
11110             OE_MSG_PUB.Add;
11111 
11112                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11113 
11114         END IF;
11115 
11116         RETURN FALSE;
11117 
11118     WHEN OTHERS THEN
11119         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11120         THEN
11121             OE_MSG_PUB.Add_Exc_Msg
11122             (   G_PKG_NAME
11123             ,   'Blanket_Number'
11124             );
11125         END IF;
11126 
11127         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11128 
11129 END Blanket_Number;
11130 
11131 
11132 FUNCTION Booked ( p_booked_flag IN VARCHAR2 )
11133 RETURN BOOLEAN
11134 IS
11135 l_dummy                       VARCHAR2(10);
11136 BEGIN
11137 
11138 
11139     IF p_booked_flag IS NULL OR
11140         p_booked_flag = FND_API.G_MISS_CHAR
11141     THEN
11142 
11143         RETURN TRUE;
11144     END IF;
11145 
11146     IF p_booked_flag NOT IN ('Y','N') THEN
11147 		RAISE NO_DATA_FOUND;
11148     END IF;
11149 
11150 
11151     RETURN TRUE;
11152 
11153 EXCEPTION
11154 
11155     WHEN NO_DATA_FOUND THEN
11156 
11157         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11158         THEN
11159 
11160 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'BOOKED_FLAG');
11161 
11162             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11163             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11164 				OE_Order_Util.Get_Attribute_Name('booked_flag'));
11165             OE_MSG_PUB.Add;
11166 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11167 
11168         END IF;
11169 
11170 
11171         RETURN FALSE;
11172 
11173     WHEN OTHERS THEN
11174 
11175         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11176         THEN
11177             OE_MSG_PUB.Add_Exc_Msg
11178             (   G_PKG_NAME
11179             ,   'Booked'
11180             );
11181         END IF;
11182 
11183 
11184         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11185 
11186 END Booked;
11187 
11188 
11189 FUNCTION Cancelled( p_cancelled_flag IN VARCHAR2 )
11190 RETURN BOOLEAN
11191 IS
11192 l_dummy                       VARCHAR2(10);
11193 BEGIN
11194 
11195 
11196     IF p_cancelled_flag IS NULL OR
11197         p_cancelled_flag = FND_API.G_MISS_CHAR
11198     THEN
11199 
11200         RETURN TRUE;
11201     END IF;
11202 
11203     IF p_cancelled_flag NOT IN ('Y','N') THEN
11204 		RAISE NO_DATA_FOUND;
11205     END IF;
11206 
11207 
11208     RETURN TRUE;
11209 
11210 EXCEPTION
11211 
11212     WHEN NO_DATA_FOUND THEN
11213 
11214         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11215         THEN
11216 
11217 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_FLAG');
11218 
11219             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11220             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11221 				OE_Order_Util.Get_Attribute_Name('cancelled_flag'));
11222             OE_MSG_PUB.Add;
11223 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11224 
11225         END IF;
11226 
11227 
11228         RETURN FALSE;
11229 
11230     WHEN OTHERS THEN
11231 
11232         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11233         THEN
11234             OE_MSG_PUB.Add_Exc_Msg
11235             (   G_PKG_NAME
11236             ,   'Cancelled'
11237             );
11238         END IF;
11239 
11240 
11241         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11242 
11243 END Cancelled;
11244 
11245 
11246 FUNCTION Cancelled_Quantity ( p_cancelled_quantity IN NUMBER )
11247 RETURN BOOLEAN
11248 IS
11249 l_dummy                       VARCHAR2(10);
11250 BEGIN
11251 
11252 
11253     IF p_cancelled_quantity IS NULL OR
11254         p_cancelled_quantity = FND_API.G_MISS_NUM
11255     THEN
11256 
11257         RETURN TRUE;
11258     END IF;
11259 
11260     --  SELECT  'VALID'
11261     --  INTO     l_dummy
11262     --  FROM     DB_TABLE
11263     --  WHERE    DB_COLUMN = p_cancelled_quantity;
11264 
11265 
11266     RETURN TRUE;
11267 
11268 EXCEPTION
11269 
11270     WHEN NO_DATA_FOUND THEN
11271 
11272         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11273         THEN
11274 
11275 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_QUANTITY');
11276 
11277             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11278             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11279 				OE_Order_Util.Get_Attribute_Name('cancelled_quantity'));
11280             OE_MSG_PUB.Add;
11281 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11282 
11283         END IF;
11284 
11285 
11286         RETURN FALSE;
11287 
11288     WHEN OTHERS THEN
11289 
11290         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11291         THEN
11292             OE_MSG_PUB.Add_Exc_Msg
11293             (   G_PKG_NAME
11294             ,   'Cancelled_Quantity'
11295             );
11296         END IF;
11297 
11298 
11299         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11300 
11301 END Cancelled_Quantity;
11302 
11303 
11304 
11305 FUNCTION Credit_Invoice_Line ( p_credit_invoice_line_id IN NUMBER )
11306 RETURN BOOLEAN
11307 IS
11308 l_dummy                       VARCHAR2(10);
11309 BEGIN
11310 
11311 
11312     IF p_credit_invoice_line_id IS NULL OR
11313         p_credit_invoice_line_id = FND_API.G_MISS_NUM
11314     THEN
11315 
11316         RETURN TRUE;
11317     END IF;
11318 
11319     --  SELECT  'VALID'
11320     --  INTO     l_dummy
11321     --  FROM     DB_TABLE
11322     --  WHERE    DB_COLUMN = p_credit_invoice_line_id;
11323 
11324 
11325     RETURN TRUE;
11326 
11327 EXCEPTION
11328 
11329     WHEN NO_DATA_FOUND THEN
11330 
11331         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11332         THEN
11333 
11334 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_INVOICE_LINE_ID');
11335 
11336             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11337             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11338 				OE_Order_Util.Get_Attribute_Name('credit_invoice_line'));
11339             OE_MSG_PUB.Add;
11340 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11341 
11342         END IF;
11343 
11344 
11345         RETURN FALSE;
11346 
11347     WHEN OTHERS THEN
11348 
11349         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11350         THEN
11351             OE_MSG_PUB.Add_Exc_Msg
11352             (   G_PKG_NAME
11353             ,   'Credit_Invoice_Line'
11354             );
11355         END IF;
11356 
11357 
11358         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11359 
11360 END Credit_Invoice_Line;
11361 
11362 
11363 FUNCTION Customer_Dock ( p_customer_dock_code IN VARCHAR2 )
11364 RETURN BOOLEAN
11365 IS
11366 l_dummy                       VARCHAR2(10);
11367 BEGIN
11368 
11369 
11370     IF p_customer_dock_code IS NULL OR
11371         p_customer_dock_code = FND_API.G_MISS_CHAR
11372     THEN
11373 
11374         RETURN TRUE;
11375     END IF;
11376 
11377     --  SELECT  'VALID'
11378     --  INTO     l_dummy
11379     --  FROM     DB_TABLE
11380     --  WHERE    DB_COLUMN = p_customer_dock_code;
11381 
11382 
11383     RETURN TRUE;
11384 
11385 EXCEPTION
11386 
11387     WHEN NO_DATA_FOUND THEN
11388 
11389         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11390         THEN
11391 
11392 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_DOCK_CODE');
11393 
11394             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11395             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11396 				OE_Order_Util.Get_Attribute_Name('customer_dock_code'));
11397             OE_MSG_PUB.Add;
11398 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11399 
11400 
11401         END IF;
11402 
11403 
11404         RETURN FALSE;
11405 
11406     WHEN OTHERS THEN
11407 
11408         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11409         THEN
11410             OE_MSG_PUB.Add_Exc_Msg
11411             (   G_PKG_NAME
11412             ,   'Customer_Dock'
11413             );
11414         END IF;
11415 
11416 
11417         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11418 
11419 END Customer_Dock;
11420 
11421 
11422 
11423 FUNCTION Customer_Job ( p_customer_job IN VARCHAR2 )
11424 RETURN BOOLEAN
11425 IS
11426 l_dummy                       VARCHAR2(10);
11427 BEGIN
11428 
11429 
11430     IF p_customer_job IS NULL OR
11431         p_customer_job = FND_API.G_MISS_CHAR
11432     THEN
11433 
11434         RETURN TRUE;
11435     END IF;
11436 
11437     --  SELECT  'VALID'
11438     --  INTO     l_dummy
11439     --  FROM     DB_TABLE
11440     --  WHERE    DB_COLUMN = p_customer_job;
11441 
11442 
11443     RETURN TRUE;
11444 
11445 EXCEPTION
11446 
11447     WHEN NO_DATA_FOUND THEN
11448 
11449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11450         THEN
11451 
11452 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_JOB');
11453 
11454             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11455             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11456 				OE_Order_Util.Get_Attribute_Name('customer_job'));
11457             OE_MSG_PUB.Add;
11458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11459 
11460         END IF;
11461 
11462         RETURN FALSE;
11463 
11464 
11465     WHEN OTHERS THEN
11466 
11467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11468         THEN
11469             OE_MSG_PUB.Add_Exc_Msg
11470             (   G_PKG_NAME
11471             ,   'Customer_Job'
11472             );
11473         END IF;
11474 
11475 
11476         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11477 
11478 END Customer_Job;
11479 
11480 FUNCTION Customer_Production_Line ( p_customer_production_line IN VARCHAR2 )
11481 RETURN BOOLEAN
11482 IS
11483 l_dummy                       VARCHAR2(10);
11484 BEGIN
11485 
11486 
11487     IF p_customer_production_line IS NULL OR
11488         p_customer_production_line = FND_API.G_MISS_CHAR
11489     THEN
11490 
11491         RETURN TRUE;
11492     END IF;
11493 
11494     --  SELECT  'VALID'
11495     --  INTO     l_dummy
11496     --  FROM     DB_TABLE
11497     --  WHERE    DB_COLUMN = p_customer_production_line;
11498 
11499 
11500     RETURN TRUE;
11501 
11502 EXCEPTION
11503 
11504     WHEN NO_DATA_FOUND THEN
11505 
11506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11507         THEN
11508 
11509 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_PRODUCTION_LINE');
11510 
11511             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11513 				OE_Order_Util.Get_Attribute_Name('customer_production_line'));
11514             OE_MSG_PUB.Add;
11515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11516 
11517         END IF;
11518 
11519 
11520         RETURN FALSE;
11521 
11522     WHEN OTHERS THEN
11523 
11524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11525         THEN
11526             OE_MSG_PUB.Add_Exc_Msg
11527             (   G_PKG_NAME
11528             ,   'Customer_Production_Line'
11529             );
11530         END IF;
11531 
11532 
11533         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11534 
11535 END Customer_Production_Line;
11536 
11537 FUNCTION Customer_Trx_Line ( p_customer_trx_line_id IN NUMBER )
11538 RETURN BOOLEAN
11539 IS
11540 l_dummy                       VARCHAR2(10);
11541 BEGIN
11542 
11543 
11544     IF p_customer_trx_line_id IS NULL OR
11545         p_customer_trx_line_id = FND_API.G_MISS_NUM
11546     THEN
11547 
11548         RETURN TRUE;
11549     END IF;
11550 
11551     --  SELECT  'VALID'
11552     --  INTO     l_dummy
11553     --  FROM     DB_TABLE
11554     --  WHERE    DB_COLUMN = p_customer_trx_line_id;
11555 
11556 
11557     RETURN TRUE;
11558 
11559 EXCEPTION
11560 
11561     WHEN NO_DATA_FOUND THEN
11562 
11563         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11564         THEN
11565 
11566 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_TRX_LINE_ID');
11567 
11568             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11569             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11570 				OE_Order_Util.Get_Attribute_Name('customer_trx_line_id'));
11571             OE_MSG_PUB.Add;
11572 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11573 
11574         END IF;
11575 
11576 
11577         RETURN FALSE;
11578 
11579     WHEN OTHERS THEN
11580 
11581         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11582         THEN
11583             OE_MSG_PUB.Add_Exc_Msg
11584             (   G_PKG_NAME
11585             ,   'Customer_Trx_Line'
11586             );
11587         END IF;
11588 
11589 
11590         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11591 
11592 END Customer_Trx_Line;
11593 
11594 
11595 
11596 FUNCTION Dep_Plan_Required ( p_dep_plan_required_flag IN VARCHAR2 )
11597 RETURN BOOLEAN
11598 IS
11599 l_dummy                       VARCHAR2(10);
11600 BEGIN
11601 
11602 
11603     IF p_dep_plan_required_flag IS NULL OR
11604         p_dep_plan_required_flag = FND_API.G_MISS_CHAR
11605     THEN
11606 
11607         RETURN TRUE;
11608     END IF;
11609 
11610     --  SELECT  'VALID'
11611     --  INTO     l_dummy
11612     --  FROM     DB_TABLE
11613     --  WHERE    DB_COLUMN = p_dep_plan_required_flag;
11614 
11615 
11616     RETURN TRUE;
11617 
11618 EXCEPTION
11619 
11620     WHEN NO_DATA_FOUND THEN
11621 
11622         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11623         THEN
11624 
11625 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEP_PLAN_REQUIRED_FLAG');
11626 
11627             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11628             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11629 				OE_Order_Util.Get_Attribute_Name('dep_plan_required_flag'));
11630             OE_MSG_PUB.Add;
11631 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11632 
11633         END IF;
11634 
11635 
11636         RETURN FALSE;
11637 
11638     WHEN OTHERS THEN
11639 
11640         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11641         THEN
11642             OE_MSG_PUB.Add_Exc_Msg
11643             (   G_PKG_NAME
11644             ,   'Dep_Plan_Required'
11645             );
11646         END IF;
11647 
11648 
11649         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11650 
11651 END Dep_Plan_Required;
11652 
11653 
11654 FUNCTION Fulfilled_Quantity ( p_fulfilled_quantity IN NUMBER )
11655 RETURN BOOLEAN
11656 IS
11657 l_dummy                       VARCHAR2(10);
11658 BEGIN
11659 
11660 
11661     IF p_fulfilled_quantity IS NULL OR
11662         p_fulfilled_quantity = FND_API.G_MISS_NUM
11663     THEN
11664 
11665         RETURN TRUE;
11666     END IF;
11667 
11668     --  SELECT  'VALID'
11669     --  INTO     l_dummy
11670     --  FROM     DB_TABLE
11671     --  WHERE    DB_COLUMN = p_fulfilled_quantity;
11672 
11673 
11674     RETURN TRUE;
11675 
11676 EXCEPTION
11677 
11678     WHEN NO_DATA_FOUND THEN
11679 
11680         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11681         THEN
11682 
11683 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY');
11684 
11685             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11686             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11687 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity'));
11688             OE_MSG_PUB.Add;
11689 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11690 
11691         END IF;
11692 
11693 
11694         RETURN FALSE;
11695 
11696     WHEN OTHERS THEN
11697 
11698         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11699         THEN
11700             OE_MSG_PUB.Add_Exc_Msg
11701             (   G_PKG_NAME
11702             ,   'Fulfilled_Quantity'
11703             );
11704         END IF;
11705 
11706 
11707         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11708 
11709 END Fulfilled_Quantity;
11710 
11711 
11712 FUNCTION Invoice_Interface_Status ( p_invoice_interface_status IN VARCHAR2 )
11713 RETURN BOOLEAN
11714 IS
11715 l_dummy                       VARCHAR2(10);
11716 BEGIN
11717 
11718 
11719     IF p_invoice_interface_status IS NULL OR
11720         p_invoice_interface_status = FND_API.G_MISS_CHAR
11721     THEN
11722 
11723         RETURN TRUE;
11724     END IF;
11725 
11726     --  SELECT  'VALID'
11727     --  INTO     l_dummy
11728     --  FROM     DB_TABLE
11729     --  WHERE    DB_COLUMN = p_invoice_interface_status;
11730 
11731 
11732     RETURN TRUE;
11733 
11734 EXCEPTION
11735 
11736     WHEN NO_DATA_FOUND THEN
11737 
11738         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11739         THEN
11740 
11741 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_INTERFACE_STATUS_CODE');
11742 
11743             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11744             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11745 				OE_Order_Util.Get_Attribute_Name('invoice_interface_status_code'));
11746             OE_MSG_PUB.Add;
11747 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11748 
11749         END IF;
11750 
11751 
11752         RETURN FALSE;
11753 
11754     WHEN OTHERS THEN
11755 
11756         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11757         THEN
11758             OE_MSG_PUB.Add_Exc_Msg
11759             (   G_PKG_NAME
11760             ,   'Invoice_Interface_Status'
11761             );
11762         END IF;
11763 
11764 
11765         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11766 
11767 END Invoice_Interface_Status;
11768 
11769 
11770 
11771 FUNCTION Item_Revision ( p_item_revision IN VARCHAR2 )
11772 RETURN BOOLEAN
11773 IS
11774 l_dummy                       VARCHAR2(10);
11775 BEGIN
11776 
11777 
11778     IF p_item_revision IS NULL OR
11779         p_item_revision = FND_API.G_MISS_CHAR
11780     THEN
11781 
11782         RETURN TRUE;
11783     END IF;
11784 
11785     --  SELECT  'VALID'
11786     --  INTO     l_dummy
11787     --  FROM     DB_TABLE
11788     --  WHERE    DB_COLUMN = p_item_revision;
11789 
11790 
11791     RETURN TRUE;
11792 
11793 EXCEPTION
11794 
11795     WHEN NO_DATA_FOUND THEN
11796 
11797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11798         THEN
11799 
11800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_REVISION');
11801 
11802             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11803             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11804 				OE_Order_Util.Get_Attribute_Name('item_revision'));
11805             OE_MSG_PUB.Add;
11806 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11807 
11808         END IF;
11809 
11810 
11811         RETURN FALSE;
11812 
11813     WHEN OTHERS THEN
11814 
11815         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11816         THEN
11817             OE_MSG_PUB.Add_Exc_Msg
11818             (   G_PKG_NAME
11819             ,   'Item_Revision'
11820             );
11821         END IF;
11822 
11823 
11824         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11825 
11826 END Item_Revision;
11827 
11828 FUNCTION Item_Type ( p_item_type_code IN VARCHAR2 )
11829 RETURN BOOLEAN
11830 IS
11831 l_dummy                       VARCHAR2(10);
11832 BEGIN
11833 
11834 
11835     IF p_item_type_code IS NULL OR
11836         p_item_type_code = FND_API.G_MISS_CHAR
11837     THEN
11838 
11839         RETURN TRUE;
11840     END IF;
11841 
11842     --  SELECT  'VALID'
11843     --  INTO     l_dummy
11844     --  FROM     DB_TABLE
11845     --  WHERE    DB_COLUMN = p_item_type_code;
11846 
11847 
11848     RETURN TRUE;
11849 
11850 EXCEPTION
11851 
11852     WHEN NO_DATA_FOUND THEN
11853 
11854         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11855         THEN
11856 
11857 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_TYPE_CODE');
11858 
11859             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11860             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11861 				OE_Order_Util.Get_Attribute_Name('item_type_code'));
11862             OE_MSG_PUB.Add;
11863 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11864 
11865         END IF;
11866 
11867 
11868         RETURN FALSE;
11869 
11870     WHEN OTHERS THEN
11871 
11872         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11873         THEN
11874             OE_MSG_PUB.Add_Exc_Msg
11875             (   G_PKG_NAME
11876             ,   'Item_Type'
11877             );
11878         END IF;
11879 
11880 
11881         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11882 
11883 END Item_Type;
11884 
11885 FUNCTION Line_Category ( p_line_category_code IN VARCHAR2 )
11886 RETURN BOOLEAN
11887 IS
11888 l_dummy                       VARCHAR2(10);
11889 BEGIN
11890 
11891 
11892     IF p_line_category_code IS NULL OR
11893         p_line_category_code = FND_API.G_MISS_CHAR
11894     THEN
11895 
11896         RETURN TRUE;
11897     END IF;
11898 
11899     --  SELECT  'VALID'
11900     --  INTO     l_dummy
11901     --  FROM     DB_TABLE
11902     --  WHERE    DB_COLUMN = p_line_category_code;
11903 
11904 
11905     RETURN TRUE;
11906 
11907 EXCEPTION
11908 
11909     WHEN NO_DATA_FOUND THEN
11910 
11911         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11912         THEN
11913 
11914 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_CATEGORY_CODE');
11915 
11916             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11917             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11918 				OE_Order_Util.Get_Attribute_Name('line_category_code'));
11919             OE_MSG_PUB.Add;
11920 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11921 
11922         END IF;
11923 
11924 
11925         RETURN FALSE;
11926 
11927     WHEN OTHERS THEN
11928 
11929         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11930         THEN
11931             OE_MSG_PUB.Add_Exc_Msg
11932             (   G_PKG_NAME
11933             ,   'Line_Category'
11934             );
11935         END IF;
11936 
11937 
11938         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11939 
11940 END Line_Category;
11941 
11942 
11943 FUNCTION Open(p_open_flag IN VARCHAR2)
11944 RETURN BOOLEAN
11945 IS
11946 l_dummy                       VARCHAR2(10);
11947 BEGIN
11948 
11949 
11950     IF p_open_flag IS NULL OR
11951         p_open_flag = FND_API.G_MISS_CHAR
11952     THEN
11953 
11954         RETURN TRUE;
11955     END IF;
11956 
11957     IF p_open_flag NOT IN ('Y','N') THEN
11958 		RAISE NO_DATA_FOUND;
11959     END IF;
11960 
11961 
11962     RETURN TRUE;
11963 
11964 EXCEPTION
11965 
11966     WHEN NO_DATA_FOUND THEN
11967 
11968         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11969         THEN
11970 
11971 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPEN_FLAG');
11972 
11973             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11974             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11975 				OE_Order_Util.Get_Attribute_Name('open_flag'));
11976             OE_MSG_PUB.Add;
11977 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11978 
11979         END IF;
11980 
11981 
11982         RETURN FALSE;
11983 
11984     WHEN OTHERS THEN
11985 
11986         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11987         THEN
11988             OE_MSG_PUB.Add_Exc_Msg
11989             (   G_PKG_NAME
11990             ,   'Open'
11991             );
11992         END IF;
11993 
11994 
11995         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11996 
11997 END Open;
11998 
11999 
12000 FUNCTION Option_Flag ( p_option_flag IN VARCHAR2 )
12001 RETURN BOOLEAN
12002 IS
12003 l_dummy                       VARCHAR2(10);
12004 BEGIN
12005 
12006 
12007     IF p_option_flag IS NULL OR
12008         p_option_flag = FND_API.G_MISS_CHAR
12009     THEN
12010 
12011         RETURN TRUE;
12012     END IF;
12013 
12014     --  SELECT  'VALID'
12015     --  INTO     l_dummy
12016     --  FROM     DB_TABLE
12017     --  WHERE    DB_COLUMN = p_option_flag;
12018 
12019 
12020     RETURN TRUE;
12021 
12022 EXCEPTION
12023 
12024     WHEN NO_DATA_FOUND THEN
12025 
12026         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12027         THEN
12028 
12029 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_FLAG');
12030 
12031             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12032             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12033 				OE_Order_Util.Get_Attribute_Name('option_flag'));
12034             OE_MSG_PUB.Add;
12035 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12036 
12037         END IF;
12038 
12039 
12040         RETURN FALSE;
12041 
12042     WHEN OTHERS THEN
12043 
12044         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12045         THEN
12046             OE_MSG_PUB.Add_Exc_Msg
12047             (   G_PKG_NAME
12048             ,   'Option_Flag'
12049             );
12050         END IF;
12051 
12052 
12053         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12054 
12055 END Option_Flag;
12056 
12057 
12058 FUNCTION Ordered_Quantity ( p_ordered_quantity IN NUMBER )
12059 RETURN BOOLEAN
12060 IS
12061 l_dummy                       VARCHAR2(10);
12062 BEGIN
12063 
12064 
12065     IF p_ordered_quantity IS NULL OR
12066         p_ordered_quantity = FND_API.G_MISS_NUM
12067     THEN
12068 
12069         RETURN TRUE;
12070     END IF;
12071 
12072     --  SELECT  'VALID'
12073     --  INTO     l_dummy
12074     --  FROM     DB_TABLE
12075     --  WHERE    DB_COLUMN = p_ordered_quantity;
12076     IF p_ordered_quantity < 0 THEN
12077 	RAISE NO_DATA_FOUND;
12078     END IF;
12079 
12080 
12081 
12082     RETURN TRUE;
12083 
12084 EXCEPTION
12085 
12086     WHEN NO_DATA_FOUND THEN
12087 
12088         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12089         THEN
12090 
12091 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY');
12092 
12093             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12094             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12095 				OE_Order_Util.Get_Attribute_Name('ordered_quantity'));
12096             OE_MSG_PUB.Add;
12097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12098 
12099         END IF;
12100 
12101 
12102         RETURN FALSE;
12103 
12104     WHEN OTHERS THEN
12105 
12106         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12107         THEN
12108             OE_MSG_PUB.Add_Exc_Msg
12109             (   G_PKG_NAME
12110             ,   'Ordered_Quantity'
12111             );
12112         END IF;
12113 
12114 
12115         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12116 
12117 END Ordered_Quantity;
12118 
12119 -- OPM 02/JUN/00 - add function to support new process attribute
12120 -- =============================================================
12121 
12122 FUNCTION Ordered_Quantity2 ( p_ordered_quantity2 IN NUMBER )
12123 RETURN BOOLEAN
12124 IS
12125 l_dummy                       VARCHAR2(10);
12126 BEGIN
12127 
12128 
12129     IF p_ordered_quantity2 IS NULL OR
12130         p_ordered_quantity2 = FND_API.G_MISS_NUM
12131     THEN
12132 
12133         RETURN TRUE;
12134     END IF;
12135 
12136     RETURN TRUE;
12137 
12138 EXCEPTION
12139 
12140     WHEN NO_DATA_FOUND THEN
12141 
12142         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12143         THEN
12144 
12145 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>'ORDERED_QUANTITY2');
12146           fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12147           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12148 				OE_Order_Util.Get_Attribute_Name('ordered_quantity2'));
12149             OE_MSG_PUB.Add;
12150 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12151 
12152         END IF;
12153 
12154 
12155         RETURN FALSE;
12156 
12157     WHEN OTHERS THEN
12158 
12159         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12160         THEN
12161             OE_MSG_PUB.Add_Exc_Msg
12162             (   G_PKG_NAME
12163             ,   'Ordered_Quantity2'
12164             );
12165         END IF;
12166 
12167 
12168         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12169 
12170 END Ordered_Quantity2;
12171 
12172 -- OPM 02/JUN/00 END
12173 -- =================
12174 
12175 
12176 FUNCTION Promise_Date ( p_promise_date IN DATE )
12177 RETURN BOOLEAN
12178 IS
12179 l_dummy                       VARCHAR2(10);
12180 BEGIN
12181 
12182 
12183     IF p_promise_date IS NULL OR
12184         p_promise_date = FND_API.G_MISS_DATE
12185     THEN
12186 
12187         RETURN TRUE;
12188     END IF;
12189 
12190     --  SELECT  'VALID'
12191     --  INTO     l_dummy
12192     --  FROM     DB_TABLE
12193     --  WHERE    DB_COLUMN = p_promise_date;
12194 
12195 
12196     RETURN TRUE;
12197 
12198 EXCEPTION
12199 
12200     WHEN NO_DATA_FOUND THEN
12201 
12202         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12203         THEN
12204 
12205 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROMISE_DATE');
12206 
12207             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12208             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12209 				OE_Order_Util.Get_Attribute_Name('promise_date'));
12210             OE_MSG_PUB.Add;
12211 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12212 
12213         END IF;
12214 
12215 
12216         RETURN FALSE;
12217 
12218     WHEN OTHERS THEN
12219 
12220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12221         THEN
12222             OE_MSG_PUB.Add_Exc_Msg
12223             (   G_PKG_NAME
12224             ,   'Promise_Date'
12225             );
12226         END IF;
12227 
12228 
12229         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12230 
12231 END Promise_Date;
12232 
12233 
12234 
12235 FUNCTION Re_Source ( p_re_source_flag IN VARCHAR2 )
12236 RETURN BOOLEAN
12237 IS
12238 l_dummy                       VARCHAR2(10);
12239 BEGIN
12240 
12241 
12242     IF p_re_source_flag IS NULL OR
12243         p_re_source_flag = FND_API.G_MISS_CHAR
12244     THEN
12245 
12246         RETURN TRUE;
12247     END IF;
12248 
12249     --  SELECT  'VALID'
12250     --  INTO     l_dummy
12251     --  FROM     DB_TABLE
12252     --  WHERE    DB_COLUMN = p_re_source_flag;
12253 
12254 
12255     RETURN TRUE;
12256 
12257 EXCEPTION
12258 
12259     WHEN NO_DATA_FOUND THEN
12260 
12261         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12262         THEN
12263 
12264 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RE_SOURCE_FLAG');
12265 
12266             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12267             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12268 				OE_Order_Util.Get_Attribute_Name('re_source_flag'));
12269             OE_MSG_PUB.Add;
12270             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12271 
12272         END IF;
12273 
12274 
12275         RETURN FALSE;
12276 
12277     WHEN OTHERS THEN
12278 
12279         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12280         THEN
12281             OE_MSG_PUB.Add_Exc_Msg
12282             (   G_PKG_NAME
12283             ,   'Re_Source_Flag'
12284             );
12285         END IF;
12286 
12287 
12288         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12289 
12290 END Re_Source;
12291 
12292 
12293 FUNCTION Rla_Schedule_Type ( p_rla_schedule_type_code IN VARCHAR2 )
12294 RETURN BOOLEAN
12295 IS
12296 l_dummy                       VARCHAR2(10);
12297 BEGIN
12298 
12299 
12300     IF p_rla_schedule_type_code IS NULL OR
12301         p_rla_schedule_type_code = FND_API.G_MISS_CHAR
12302     THEN
12303 
12304         RETURN TRUE;
12305     END IF;
12306 
12307     --  SELECT  'VALID'
12308     --  INTO     l_dummy
12309     --  FROM     DB_TABLE
12310     --  WHERE    DB_COLUMN = p_rla_schedule_type_code;
12311 
12312 
12313     RETURN TRUE;
12314 
12315 EXCEPTION
12316 
12317     WHEN NO_DATA_FOUND THEN
12318 
12319         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12320         THEN
12321 
12322 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RLA_SCHEDULE_TYPE_CODE');
12323 
12324             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12325             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12326 				OE_Order_Util.Get_Attribute_Name('rla_schedule_type_code'));
12327             OE_MSG_PUB.Add;
12328 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12329 
12330         END IF;
12331 
12332 
12333         RETURN FALSE;
12334 
12335     WHEN OTHERS THEN
12336 
12337         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12338         THEN
12339             OE_MSG_PUB.Add_Exc_Msg
12340             (   G_PKG_NAME
12341             ,   'Rla_Schedule_Type'
12342             );
12343         END IF;
12344 
12345 
12346         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12347 
12348 END Rla_Schedule_Type;
12349 
12350 FUNCTION Schedule_Ship_Date ( p_schedule_ship_date IN DATE )
12351 RETURN BOOLEAN
12352 IS
12353 l_dummy                       VARCHAR2(10);
12354 BEGIN
12355 
12356 
12357     IF p_schedule_ship_date IS NULL OR
12358         p_schedule_ship_date = FND_API.G_MISS_DATE
12359     THEN
12360 
12361         RETURN TRUE;
12362     END IF;
12363 
12364     --  SELECT  'VALID'
12365     --  INTO     l_dummy
12366     --  FROM     DB_TABLE
12367     --  WHERE    DB_COLUMN = p_Schedule_Ship_Date;
12368 
12369 
12370     RETURN TRUE;
12371 
12372 EXCEPTION
12373 
12374     WHEN NO_DATA_FOUND THEN
12375 
12376         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12377         THEN
12378 
12379 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_SHIP_DATE');
12380 
12381             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12382             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12383 				OE_Order_Util.Get_Attribute_Name('schedule_ship_date'));
12384             OE_MSG_PUB.Add;
12385 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12386 
12387         END IF;
12388 
12389 
12390         RETURN FALSE;
12391 
12392     WHEN OTHERS THEN
12393 
12394         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12395         THEN
12396             OE_MSG_PUB.Add_Exc_Msg
12397             (   G_PKG_NAME
12398             ,   'schedule_ship_date'
12399             );
12400         END IF;
12401 
12402 
12403         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12404 
12405 END Schedule_Ship_Date;
12406 
12407 
12408 
12409 FUNCTION Late_Demand_Penalty_Factor( p_late_demand_penalty_factor IN NUMBER)
12410 RETURN BOOLEAN
12411 IS
12412 l_dummy                       VARCHAR2(10);
12413 BEGIN
12414 
12415 
12416     IF p_late_demand_penalty_factor IS NULL OR
12417         p_late_demand_penalty_factor = FND_API.G_MISS_NUM
12418     THEN
12419 
12420         RETURN TRUE;
12421 
12422     END IF;
12423 
12424     --  SELECT  'VALID'
12425     --  INTO     l_dummy
12426     --  FROM     DB_TABLE
12427     --  WHERE    DB_COLUMN = p_late_demand_penalty_factor;
12428 
12429 
12430     RETURN TRUE;
12431 
12432 EXCEPTION
12433 
12434     WHEN NO_DATA_FOUND THEN
12435 
12436         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12437         THEN
12438 
12439               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATE_DEMAND_PENALTY_FACTOR');
12440 
12441             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12442             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12443                                 OE_Order_Util.Get_Attribute_Name('late_demand_penalty_factor'));
12444             OE_MSG_PUB.Add;
12445               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12446 
12447         END IF;
12448 
12449 
12450         RETURN FALSE;
12451 
12452     WHEN OTHERS THEN
12453 
12454         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12455         THEN
12456             OE_MSG_PUB.Add_Exc_Msg
12457             (   G_PKG_NAME
12458             ,   'late_demand_penalty_factor'
12459             );
12460         END IF;
12461 
12462 
12463         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12464 
12465 END Late_Demand_Penalty_Factor;
12466 
12467 FUNCTION Schedule_Status ( p_schedule_status_code IN VARCHAR2 )
12468 RETURN BOOLEAN
12469 IS
12470 l_dummy                       VARCHAR2(10);
12471 BEGIN
12472 
12473 
12474     IF p_schedule_status_code IS NULL OR
12475         p_schedule_status_code = FND_API.G_MISS_CHAR
12476     THEN
12477 
12478         RETURN TRUE;
12479     END IF;
12480 
12481     --  SELECT  'VALID'
12482     --  INTO     l_dummy
12483     --  FROM     DB_TABLE
12484     --  WHERE    DB_COLUMN = p_schedule_ship_date;
12485 
12486 
12487     RETURN TRUE;
12488 
12489 EXCEPTION
12490 
12491     WHEN NO_DATA_FOUND THEN
12492 
12493         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12494         THEN
12495 
12496 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_STATUS_CODE');
12497 
12498             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12499             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12500 				OE_Order_Util.Get_Attribute_Name('schedule_status_code'));
12501             OE_MSG_PUB.Add;
12502 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12503 
12504         END IF;
12505 
12506 
12507         RETURN FALSE;
12508 
12509     WHEN OTHERS THEN
12510 
12511         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12512         THEN
12513             OE_MSG_PUB.Add_Exc_Msg
12514             (   G_PKG_NAME
12515             ,   'Schedule_Status'
12516             );
12517         END IF;
12518 
12519 
12520         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12521 
12522 END Schedule_Status;
12523 
12524 
12525 FUNCTION Tax ( p_tax_code IN VARCHAR2 )
12526 RETURN BOOLEAN
12527 IS
12528 l_dummy                       VARCHAR2(10);
12529 BEGIN
12530 
12531 
12532     IF p_tax_code IS NULL OR
12533         p_tax_code = FND_API.G_MISS_CHAR
12534     THEN
12535 
12536         RETURN TRUE;
12537     END IF;
12538    /*
12539    ** Since Tax_Code depands on tax_date, the validation should be done at
12540    ** Entity Level.
12541    */
12542 --    SELECT 'VALID'
12543 --    INTO   l_dummy
12544 --    FROM   AR_VAT_TAX V,
12545 --		 AR_SYSTEM_PARAMETERS P
12546 --    WHERE  V.TAX_CODE = p_tax_code
12547 --    AND V.SET_OF_BOOKS_ID = P.SET_OF_BOOKS_ID
12548 --    AND NVL(V.ENABLED_FLAG,'Y')='Y'
12549 --    AND NVL(V.TAX_CLASS,'O')='O'
12550 --    AND NVL(V.DISPLAYED_FLAG,'Y')='Y'
12551 --    AND TRUNC(SYSDATE) BETWEEN TRUNC(V.START_DATE) AND
12552 --	   TRUNC(NVL(V.END_DATE, SYSDATE))
12553 --    AND ROWNUM = 1;
12554 
12555 
12556     RETURN TRUE;
12557 
12558 EXCEPTION
12559 
12560     WHEN NO_DATA_FOUND THEN
12561 
12562         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12563         THEN
12564 
12565 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_CODE');
12566 
12567             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12568             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12569 				OE_Order_Util.Get_Attribute_Name('tax_code'));
12570             OE_MSG_PUB.Add;
12571 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12572 
12573         END IF;
12574 
12575 
12576         RETURN FALSE;
12577 
12578     WHEN OTHERS THEN
12579 
12580         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12581         THEN
12582             OE_MSG_PUB.Add_Exc_Msg
12583             (   G_PKG_NAME
12584             ,   'Tax'
12585             );
12586         END IF;
12587 
12588 
12589         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12590 
12591 END Tax;
12592 
12593 
12594 FUNCTION Tax_Rate ( p_tax_rate IN NUMBER )
12595 RETURN BOOLEAN
12596 IS
12597 l_dummy                       VARCHAR2(10);
12598 BEGIN
12599 
12600 
12601     IF p_tax_rate IS NULL OR
12602         p_tax_rate = FND_API.G_MISS_NUM
12603     THEN
12604 
12605         RETURN TRUE;
12606     END IF;
12607 
12608     --  SELECT  'VALID'
12609     --  INTO     l_dummy
12610     --  FROM     DB_TABLE
12611     --  WHERE    DB_COLUMN = p_tax_rate;
12612 
12613 
12614     RETURN TRUE;
12615 
12616 EXCEPTION
12617 
12618     WHEN NO_DATA_FOUND THEN
12619 
12620         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12621         THEN
12622 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE');
12623 
12624             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12625             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12626 				OE_Order_Util.Get_Attribute_Name('tax_rate'));
12627             OE_MSG_PUB.Add;
12628 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12629 
12630         END IF;
12631 
12632 
12633         RETURN FALSE;
12634 
12635     WHEN OTHERS THEN
12636 
12637         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12638         THEN
12639             OE_MSG_PUB.Add_Exc_Msg
12640             (   G_PKG_NAME
12641             ,   'Tax_Rate'
12642             );
12643         END IF;
12644 
12645 
12646         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12647 
12648 END Tax_Rate;
12649 
12650 
12651 
12652 
12653 FUNCTION Visible_Demand ( p_visible_demand_flag IN VARCHAR2 )
12654 RETURN BOOLEAN
12655 IS
12656 l_dummy                       VARCHAR2(10);
12657 BEGIN
12658 
12659 
12660     IF p_visible_demand_flag IS NULL OR
12661         p_visible_demand_flag = FND_API.G_MISS_CHAR
12662     THEN
12663 
12664         RETURN TRUE;
12665     END IF;
12666 
12667     --  SELECT  'VALID'
12668     --  INTO     l_dummy
12669     --  FROM     DB_TABLE
12670     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12671 
12672 
12673     RETURN TRUE;
12674 
12675 EXCEPTION
12676 
12677     WHEN NO_DATA_FOUND THEN
12678 
12679         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12680         THEN
12681 
12682 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VISIBLE_DEMAND_FLAG');
12683 
12684             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12685             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12686 				OE_Order_Util.Get_Attribute_Name('visible_demand_flag'));
12687             OE_MSG_PUB.Add;
12688 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12689 
12690         END IF;
12691 
12692 
12693         RETURN FALSE;
12694 
12695     WHEN OTHERS THEN
12696 
12697         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12698         THEN
12699             OE_MSG_PUB.Add_Exc_Msg
12700             (   G_PKG_NAME
12701             ,   'Visible_Demand'
12702             );
12703         END IF;
12704 
12705 
12706         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12707 
12708 END Visible_Demand;
12709 
12710 
12711 
12712 FUNCTION Shipped_Quantity ( p_shipped_quantity IN NUMBER )
12713 RETURN BOOLEAN
12714 IS
12715 l_dummy                       VARCHAR2(10);
12716 BEGIN
12717 
12718 
12719     IF p_shipped_quantity IS NULL OR
12720         p_shipped_quantity = FND_API.G_MISS_NUM
12721     THEN
12722 
12723         RETURN TRUE;
12724     END IF;
12725 
12726     --  SELECT  'VALID'
12727     --  INTO     l_dummy
12728     --  FROM     DB_TABLE
12729     --  WHERE    DB_COLUMN = p_shipped_quantity;
12730 
12731 
12732     RETURN TRUE;
12733 
12734 EXCEPTION
12735 
12736     WHEN NO_DATA_FOUND THEN
12737 
12738         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12739         THEN
12740 
12741 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY');
12742 
12743             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12744             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12745 				OE_Order_Util.Get_Attribute_Name('shipped_quantity'));
12746             OE_MSG_PUB.Add;
12747 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12748 
12749         END IF;
12750 
12751 
12752         RETURN FALSE;
12753 
12754     WHEN OTHERS THEN
12755 
12756         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12757         THEN
12758             OE_MSG_PUB.Add_Exc_Msg
12759             (   G_PKG_NAME
12760             ,   'Shipped_Quantity'
12761             );
12762         END IF;
12763 
12764 
12765         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12766 
12767 END Shipped_Quantity;
12768 
12769 FUNCTION Earliest_Acceptable_Date ( p_earliest_acceptable_date IN DATE )
12770 RETURN BOOLEAN
12771 IS
12772 l_dummy                       VARCHAR2(10);
12773 BEGIN
12774 
12775 
12776     IF p_earliest_acceptable_date IS NULL OR
12777         p_earliest_acceptable_date = FND_API.G_MISS_DATE
12778     THEN
12779 
12780         RETURN TRUE;
12781     END IF;
12782 
12783     --  SELECT  'VALID'
12784     --  INTO     l_dummy
12785     --  FROM     DB_TABLE
12786     --  WHERE    DB_COLUMN = p_earliest_acceptable_date;
12787 
12788 
12789     RETURN TRUE;
12790 
12791 EXCEPTION
12792 
12793     WHEN NO_DATA_FOUND THEN
12794 
12795         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12796         THEN
12797 
12798 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_ACCEPTABLE_DATE');
12799 
12800             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12801             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12802 				OE_Order_Util.Get_Attribute_Name('earliest_acceptable_date'));
12803             OE_MSG_PUB.Add;
12804 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12805 
12806         END IF;
12807 
12808 
12809         RETURN FALSE;
12810 
12811     WHEN OTHERS THEN
12812 
12813         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12814         THEN
12815             OE_MSG_PUB.Add_Exc_Msg
12816             (   G_PKG_NAME
12817             ,   'Earliest_Acceptable_Date'
12818             );
12819         END IF;
12820 
12821 
12822         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12823 
12824 END Earliest_Acceptable_Date;
12825 
12826 FUNCTION Earliest_Schedule_limit ( p_earliest_schedule_limit IN NUMBER )
12827 RETURN BOOLEAN
12828 IS
12829 l_dummy                       VARCHAR2(10);
12830 BEGIN
12831 
12832 
12833     IF p_earliest_schedule_limit IS NULL OR
12834         p_earliest_schedule_limit = FND_API.G_MISS_NUM
12835     THEN
12836 
12837         RETURN TRUE;
12838     END IF;
12839 
12840     --  SELECT  'VALID'
12841     --  INTO     l_dummy
12842     --  FROM     DB_TABLE
12843     --  WHERE    DB_COLUMN = p_earliest_schedule_limit;
12844 
12845 
12846     RETURN TRUE;
12847 
12848 EXCEPTION
12849 
12850     WHEN NO_DATA_FOUND THEN
12851 
12852         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12853         THEN
12854 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_SCHEDULE_LIMIT');
12855 
12856             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12857             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12858 				OE_Order_Util.Get_Attribute_Name('earliest_schedule_limit'));
12859             OE_MSG_PUB.Add;
12860 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12861 
12862         END IF;
12863 
12864 
12865         RETURN FALSE;
12866 
12867     WHEN OTHERS THEN
12868 
12869         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12870         THEN
12871             OE_MSG_PUB.Add_Exc_Msg
12872             (   G_PKG_NAME
12873             ,   'Earliest_Schedule_Limit'
12874             );
12875         END IF;
12876 
12877 
12878         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12879 
12880 END Earliest_Schedule_Limit;
12881 
12882 
12883 FUNCTION Latest_Acceptable_Date ( p_latest_acceptable_date IN DATE )
12884 RETURN BOOLEAN
12885 IS
12886 l_dummy                       VARCHAR2(10);
12887 BEGIN
12888 
12889 
12890     IF p_latest_acceptable_date IS NULL OR
12891         p_latest_acceptable_date = FND_API.G_MISS_DATE
12892     THEN
12893 
12894         RETURN TRUE;
12895     END IF;
12896 
12897     --  SELECT  'VALID'
12898     --  INTO     l_dummy
12899     --  FROM     DB_TABLE
12900     --  WHERE    DB_COLUMN = p_latest_acceptable_date;
12901 
12902 
12903     RETURN TRUE;
12904 
12905 EXCEPTION
12906 
12907     WHEN NO_DATA_FOUND THEN
12908 
12909         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12910         THEN
12911 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_ACCEPTABLE_DATE');
12912 
12913 
12914             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12915             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12916 				OE_Order_Util.Get_Attribute_Name('latest_acceptable_date'));
12917             OE_MSG_PUB.Add;
12918 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12919 
12920         END IF;
12921 
12922 
12923         RETURN FALSE;
12924 
12925     WHEN OTHERS THEN
12926 
12927         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12928         THEN
12929             OE_MSG_PUB.Add_Exc_Msg
12930             (   G_PKG_NAME
12931             ,   'Latest_Acceptable_Date'
12932             );
12933         END IF;
12934 
12935 
12936         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12937 
12938 END Latest_Acceptable_Date;
12939 
12940 FUNCTION Latest_Schedule_limit (p_latest_schedule_limit IN NUMBER)
12941 RETURN BOOLEAN
12942 IS
12943 l_dummy                       VARCHAR2(10);
12944 BEGIN
12945 
12946 
12947     IF p_latest_schedule_limit IS NULL OR
12948         p_latest_schedule_limit = FND_API.G_MISS_NUM
12949     THEN
12950 
12951         RETURN TRUE;
12952     END IF;
12953 
12954     --  SELECT  'VALID'
12955     --  INTO     l_dummy
12956     --  FROM     DB_TABLE
12957     --  WHERE    DB_COLUMN = p_latest_schedule_limit;
12958 
12959 
12960     RETURN TRUE;
12961 
12962 EXCEPTION
12963 
12964     WHEN NO_DATA_FOUND THEN
12965 
12966         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12967         THEN
12968 
12969 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_SCHEDULE_LIMIT');
12970 
12971             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12972             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12973 				OE_Order_Util.Get_Attribute_Name('latest_schedule_limit'));
12974             OE_MSG_PUB.Add;
12975 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12976 
12977         END IF;
12978 
12979 
12980         RETURN FALSE;
12981 
12982     WHEN OTHERS THEN
12983 
12984         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12985         THEN
12986             OE_MSG_PUB.Add_Exc_Msg
12987             (   G_PKG_NAME
12988             ,   'Latest_Schedule_Limit'
12989             );
12990         END IF;
12991 
12992 
12993         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12994 
12995 END Latest_Schedule_Limit;
12996 
12997 FUNCTION Model_Group_Number ( p_model_group_number IN NUMBER )
12998 RETURN BOOLEAN
12999 IS
13000 l_dummy                       VARCHAR2(10);
13001 BEGIN
13002 
13003 
13004     IF p_model_group_number IS NULL OR
13005         p_model_group_number = FND_API.G_MISS_NUM
13006     THEN
13007 
13008         RETURN TRUE;
13009     END IF;
13010 
13011     --  SELECT  'VALID'
13012     --  INTO     l_dummy
13013     --  FROM     DB_TABLE
13014     --  WHERE    DB_COLUMN = p_model_group_number;
13015 
13016 
13017     RETURN TRUE;
13018 
13019 EXCEPTION
13020 
13021     WHEN NO_DATA_FOUND THEN
13022 
13023         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13024         THEN
13025 
13026 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODEL_GROUP_NUMBER');
13027 
13028             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13029             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13030 				OE_Order_Util.Get_Attribute_Name('model_group_number'));
13031             OE_MSG_PUB.Add;
13032 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13033 
13034         END IF;
13035 
13036 
13037         RETURN FALSE;
13038 
13039     WHEN OTHERS THEN
13040 
13041         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13042         THEN
13043             OE_MSG_PUB.Add_Exc_Msg
13044             (   G_PKG_NAME
13045             ,   'Model_Group_Number'
13046             );
13047         END IF;
13048 
13049 
13050         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13051 
13052 END Model_Group_Number;
13053 
13054 
13055 FUNCTION Mfg_Component_Sequence ( p_mfg_component_sequence_id IN NUMBER )
13056 RETURN BOOLEAN
13057 IS
13058 l_dummy                       VARCHAR2(10);
13059 BEGIN
13060 
13061 
13062     IF p_mfg_component_sequence_id IS NULL OR
13063         p_mfg_component_sequence_id = FND_API.G_MISS_NUM
13064     THEN
13065 
13066         RETURN TRUE;
13067     END IF;
13068 
13069     --  SELECT  'VALID'
13070     --  INTO     l_dummy
13071     --  FROM     DB_TABLE
13072     --  WHERE    DB_COLUMN = p_mfg_component_sequence_id;
13073 
13074 
13075     RETURN TRUE;
13076 
13077 EXCEPTION
13078 
13079     WHEN NO_DATA_FOUND THEN
13080 
13081         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13082         THEN
13083 
13084 	      OE_MSG_PUB.Update_Msg_Context
13085 			    (p_attribute_code => 'MFG_COMPONENT_SEQUENCE_ID');
13086 
13087             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13088             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13089 				OE_Order_Util.Get_Attribute_Name
13090 						('mfg_component_sequence_id'));
13091             OE_MSG_PUB.Add;
13092 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13093 
13094         END IF;
13095 
13096 
13097         RETURN FALSE;
13098 
13099     WHEN OTHERS THEN
13100 
13101         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13102         THEN
13103             OE_MSG_PUB.Add_Exc_Msg
13104             (   G_PKG_NAME
13105             ,   'Mfg_Component_Sequence_Id'
13106             );
13107         END IF;
13108 
13109 
13110         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13111 
13112 END Mfg_Component_Sequence;
13113 
13114 FUNCTION Schedule_Arrival_Date ( p_schedule_arrival_date IN DATE )
13115 RETURN BOOLEAN
13116 IS
13117 l_dummy                       VARCHAR2(10);
13118 BEGIN
13119 
13120 
13121     IF p_schedule_arrival_date IS NULL OR
13122         p_schedule_arrival_date = FND_API.G_MISS_DATE
13123     THEN
13124 
13125         RETURN TRUE;
13126     END IF;
13127 
13128     --  SELECT  'VALID'
13129     --  INTO     l_dummy
13130     --  FROM     DB_TABLE
13131     --  WHERE    DB_COLUMN = p_schedule_arrival_date;
13132 
13133 
13134     RETURN TRUE;
13135 
13136 EXCEPTION
13137 
13138     WHEN NO_DATA_FOUND THEN
13139 
13140         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13141         THEN
13142 
13143 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ARRIVAL_DATE');
13144 
13145             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13146             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13147 				OE_Order_Util.Get_Attribute_Name('schedule_arrival_date'));
13148             OE_MSG_PUB.Add;
13149 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13150 
13151         END IF;
13152 
13153 
13154         RETURN FALSE;
13155 
13156     WHEN OTHERS THEN
13157 
13158         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13159         THEN
13160             OE_MSG_PUB.Add_Exc_Msg
13161             (   G_PKG_NAME
13162             ,   'Schedule_Arrival_Date'
13163             );
13164         END IF;
13165 
13166 
13167         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13168 
13169 END Schedule_Arrival_Date;
13170 
13171 
13172 
13173 FUNCTION Ship_Model_Complete ( p_ship_model_complete_flag IN VARCHAR2 )
13174 RETURN BOOLEAN
13175 IS
13176 l_dummy                       VARCHAR2(10);
13177 BEGIN
13178 
13179 
13180     IF p_ship_model_complete_flag IS NULL OR
13181         p_ship_model_complete_flag = FND_API.G_MISS_CHAR
13182     THEN
13183 
13184         RETURN TRUE;
13185     END IF;
13186 
13187     --  SELECT  'VALID'
13188     --  INTO     l_dummy
13189     --  FROM     DB_TABLE
13190     --  WHERE    DB_COLUMN = p_visible_demand_flag;
13191 
13192 
13193     RETURN TRUE;
13194 
13195 EXCEPTION
13196 
13197     WHEN NO_DATA_FOUND THEN
13198 
13199         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13200         THEN
13201 
13202 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_MODEL_COMPLETE_FLAG');
13203 
13204             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13205             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13206 				OE_Order_Util.Get_Attribute_Name('ship_model_complete_flag'));
13207             OE_MSG_PUB.Add;
13208 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13209 
13210         END IF;
13211 
13212 
13213         RETURN FALSE;
13214 
13215     WHEN OTHERS THEN
13216 
13217         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13218         THEN
13219             OE_MSG_PUB.Add_Exc_Msg
13220             (   G_PKG_NAME
13221             ,   'Ship_Model_Complete_Flag'
13222             );
13223         END IF;
13224 
13225 
13226         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13227 
13228 END Ship_Model_Complete;
13229 
13230 FUNCTION From_Serial_Number ( p_from_serial_number IN VARCHAR2 )
13231 RETURN BOOLEAN
13232 IS
13233 l_dummy                       VARCHAR2(10);
13234 BEGIN
13235 
13236 
13237     IF p_from_serial_number IS NULL OR
13238         p_from_serial_number = FND_API.G_MISS_CHAR
13239     THEN
13240 
13241         RETURN TRUE;
13242     END IF;
13243 
13244     --  SELECT  'VALID'
13245     --  INTO     l_dummy
13246     --  FROM     DB_TABLE
13247     --  WHERE    DB_COLUMN = p_from_serial_number;
13248 
13249 
13250     RETURN TRUE;
13251 
13252 EXCEPTION
13253 
13254     WHEN NO_DATA_FOUND THEN
13255 
13256         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13257         THEN
13258 
13259 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FROM_SERIAL_NUMBER');
13260 
13261             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13262             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13263 				OE_Order_Util.Get_Attribute_Name('from_serial_number'));
13264             OE_MSG_PUB.Add;
13265 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13266 
13267         END IF;
13268 
13269 
13270         RETURN FALSE;
13271 
13272     WHEN OTHERS THEN
13273 
13274         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13275         THEN
13276             OE_MSG_PUB.Add_Exc_Msg
13277             (   G_PKG_NAME
13278             ,   'From_Serial_Number'
13279             );
13280         END IF;
13281 
13282 
13283         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13284 
13285 END From_Serial_Number;
13286 
13287 FUNCTION Lot_Number ( p_lot_number IN VARCHAR2 )
13288 RETURN BOOLEAN
13289 IS
13290 l_dummy                       VARCHAR2(10);
13291 BEGIN
13292 
13293 
13294     IF p_lot_number IS NULL OR
13295         p_lot_number = FND_API.G_MISS_CHAR
13296     THEN
13297 
13298         RETURN TRUE;
13299     END IF;
13300 
13301     --  SELECT  'VALID'
13302     --  INTO     l_dummy
13303     --  FROM     DB_TABLE
13304     --  WHERE    DB_COLUMN = p_lot_number;
13305 
13306 
13307     RETURN TRUE;
13308 
13309 EXCEPTION
13310 
13311     WHEN NO_DATA_FOUND THEN
13312 
13313         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13314         THEN
13315 
13316 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_NUMBER');
13317 
13318             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13319             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13320 				OE_Order_Util.Get_Attribute_Name('lot_number'));
13321             OE_MSG_PUB.Add;
13322 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13323 
13324         END IF;
13325 
13326 
13327         RETURN FALSE;
13328 
13329     WHEN OTHERS THEN
13330 
13331         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13332         THEN
13333             OE_MSG_PUB.Add_Exc_Msg
13334             (   G_PKG_NAME
13335             ,   'Lot_Number'
13336             );
13337         END IF;
13338 
13339 
13340         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13341 
13342 END Lot_Number;
13343 
13344 /* FUNCTION Sublot_Number ( p_sublot_number IN VARCHAR2 ) --OPM 2380194  -- remove for INVCONV
13345 RETURN BOOLEAN
13346 IS
13347 l_dummy                       VARCHAR2(10);
13348 BEGIN
13349 
13350 
13351     IF p_sublot_number IS NULL OR
13352         p_sublot_number = FND_API.G_MISS_CHAR
13353     THEN
13354 
13355         RETURN TRUE;
13356     END IF;
13357 
13358     --  SELECT  'VALID'
13359     --  INTO     l_dummy
13360     --  FROM     DB_TABLE
13361     --  WHERE    DB_COLUMN = p_sublot_number;
13362 
13363 
13364     RETURN TRUE;
13365 
13366 EXCEPTION
13367 
13368     WHEN NO_DATA_FOUND THEN
13369 
13370         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13371         THEN
13372 
13373 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBLOT_NUMBER');
13374 
13375             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13376             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13377 				OE_Order_Util.Get_Attribute_Name('sublot_number'));
13378             OE_MSG_PUB.Add;
13379 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13380 
13381         END IF;
13382 
13383 
13384         RETURN FALSE;
13385 
13386     WHEN OTHERS THEN
13387 
13388         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13389         THEN
13390             OE_MSG_PUB.Add_Exc_Msg
13391             (   G_PKG_NAME
13392             ,   'Sublot_Number'
13393             );
13394         END IF;
13395 
13396 
13397         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13398 
13399 END Sublot_Number;    */
13400 
13401 FUNCTION Lot_Serial ( p_lot_serial_id IN NUMBER )
13402 RETURN BOOLEAN
13403 IS
13404 l_dummy                       VARCHAR2(10);
13405 BEGIN
13406 
13407 
13408     IF p_lot_serial_id IS NULL OR
13409         p_lot_serial_id = FND_API.G_MISS_NUM
13410     THEN
13411 
13412         RETURN TRUE;
13413     END IF;
13414 
13415     --  SELECT  'VALID'
13416     --  INTO     l_dummy
13417     --  FROM     DB_TABLE
13418     --  WHERE    DB_COLUMN = p_lot_serial_id;
13419 
13420 
13421     RETURN TRUE;
13422 
13423 EXCEPTION
13424 
13425     WHEN NO_DATA_FOUND THEN
13426 
13427         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13428         THEN
13429 
13430 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_SERIAL_ID');
13431 
13432             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13433             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13434 				OE_Order_Util.Get_Attribute_Name('lot_serial_id'));
13435             OE_MSG_PUB.Add;
13436 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13437 
13438         END IF;
13439 
13440 
13441         RETURN FALSE;
13442 
13443     WHEN OTHERS THEN
13444 
13445         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13446         THEN
13447             OE_MSG_PUB.Add_Exc_Msg
13448             (   G_PKG_NAME
13449             ,   'Lot_Serial'
13450             );
13451         END IF;
13452 
13453 
13454         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13455 
13456 END Lot_Serial;
13457 
13458 FUNCTION Quantity ( p_quantity IN NUMBER )
13459 RETURN BOOLEAN
13460 IS
13461 l_dummy                       VARCHAR2(10);
13462 BEGIN
13463 
13464 
13465     IF p_quantity IS NULL OR
13466         p_quantity = FND_API.G_MISS_NUM
13467     THEN
13468 
13469         RETURN TRUE;
13470     END IF;
13471 
13472     --  SELECT  'VALID'
13473     --  INTO     l_dummy
13474     --  FROM     DB_TABLE
13475     --  WHERE    DB_COLUMN = p_quantity;
13476 
13477 
13478     RETURN TRUE;
13479 
13480 EXCEPTION
13481 
13482     WHEN NO_DATA_FOUND THEN
13483 
13484         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13485         THEN
13486 
13487 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY');
13488 
13489             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13490             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13491 				OE_Order_Util.Get_Attribute_Name('quantity'));
13492             OE_MSG_PUB.Add;
13493 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13494 
13495         END IF;
13496 
13497 
13498         RETURN FALSE;
13499 
13500     WHEN OTHERS THEN
13501 
13502         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13503         THEN
13504             OE_MSG_PUB.Add_Exc_Msg
13505             (   G_PKG_NAME
13506             ,   'Quantity'
13507             );
13508         END IF;
13509 
13510 
13511         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13512 
13513 END Quantity;
13514 
13515 FUNCTION Quantity2 ( p_quantity2 IN NUMBER ) --OPM 2380194
13516 RETURN BOOLEAN
13517 IS
13518 l_dummy                       VARCHAR2(10);
13519 BEGIN
13520 
13521 
13522     IF p_quantity2 IS NULL OR
13523         p_quantity2 = FND_API.G_MISS_NUM
13524     THEN
13525 
13526         RETURN TRUE;
13527     END IF;
13528 
13529     --  SELECT  'VALID'
13530     --  INTO     l_dummy
13531     --  FROM     DB_TABLE
13532     --  WHERE    DB_COLUMN = p_quantity2;
13533 
13534 
13535     RETURN TRUE;
13536 
13537 EXCEPTION
13538 
13539     WHEN NO_DATA_FOUND THEN
13540 
13541         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13542         THEN
13543 
13544 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY2');
13545 
13546             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13547             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13548 				OE_Order_Util.Get_Attribute_Name('quantity2'));
13549             OE_MSG_PUB.Add;
13550 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13551 
13552         END IF;
13553 
13554 
13555         RETURN FALSE;
13556 
13557     WHEN OTHERS THEN
13558 
13559         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13560         THEN
13561             OE_MSG_PUB.Add_Exc_Msg
13562             (   G_PKG_NAME
13563             ,   'Quantity2'
13564             );
13565         END IF;
13566 
13567 
13568         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13569 
13570 END Quantity2;
13571 
13572 FUNCTION To_Serial_Number ( p_to_serial_number IN VARCHAR2 )
13573 RETURN BOOLEAN
13574 IS
13575 l_dummy                       VARCHAR2(10);
13576 BEGIN
13577 
13578 
13579     IF p_to_serial_number IS NULL OR
13580         p_to_serial_number = FND_API.G_MISS_CHAR
13581     THEN
13582 
13583         RETURN TRUE;
13584     END IF;
13585 
13586     --  SELECT  'VALID'
13587     --  INTO     l_dummy
13588     --  FROM     DB_TABLE
13589     --  WHERE    DB_COLUMN = p_to_serial_number;
13590 
13591 
13592     RETURN TRUE;
13593 
13594 EXCEPTION
13595 
13596     WHEN NO_DATA_FOUND THEN
13597 
13598         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13599         THEN
13600 
13601 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TO_SERIAL_NUMBER');
13602 
13603             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13604             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13605 				OE_Order_Util.Get_Attribute_Name('to_serial_number'));
13606             OE_MSG_PUB.Add;
13607 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13608 
13609         END IF;
13610 
13611 
13612         RETURN FALSE;
13613 
13614     WHEN OTHERS THEN
13615 
13616         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13617         THEN
13618             OE_MSG_PUB.Add_Exc_Msg
13619             (   G_PKG_NAME
13620             ,   'To_Serial_Number'
13621             );
13622         END IF;
13623 
13624 
13625         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13626 
13627 END To_Serial_Number;
13628 
13629 FUNCTION Line_Set ( p_line_set_id IN NUMBER)
13630 RETURN BOOLEAN
13631 IS
13632 l_dummy                       VARCHAR2(10);
13633 BEGIN
13634 
13635 
13636     IF p_line_set_id IS NULL OR
13637         p_line_set_id = FND_API.G_MISS_NUM
13638     THEN
13639 
13640         RETURN TRUE;
13641     END IF;
13642 
13643     --  SELECT  'VALID'
13644     --  INTO     l_dummy
13645     --  FROM     DB_TABLE
13646     --  WHERE    DB_COLUMN = p_line_set_id;
13647 
13648 
13649     RETURN TRUE;
13650 
13651 EXCEPTION
13652 
13653     WHEN NO_DATA_FOUND THEN
13654 
13655         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13656         THEN
13657 
13658 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_ID');
13659 
13660             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13661             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13662 				OE_Order_Util.Get_Attribute_Name('Line_Set_ID'));
13663             OE_MSG_PUB.Add;
13664 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13665 
13666         END IF;
13667 
13668 
13669         RETURN FALSE;
13670 
13671     WHEN OTHERS THEN
13672 
13673         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13674         THEN
13675             OE_MSG_PUB.Add_Exc_Msg
13676             (   G_PKG_NAME
13677             ,   'Line_Set'
13678             );
13679         END IF;
13680 
13681 
13682         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13683 
13684 END Line_Set;
13685 
13686 FUNCTION Amount ( p_amount IN NUMBER )
13687 RETURN BOOLEAN
13688 IS
13689 l_dummy                       VARCHAR2(10);
13690 BEGIN
13691 
13692 
13693     IF p_amount IS NULL OR
13694         p_amount = FND_API.G_MISS_NUM
13695     THEN
13696 
13697         RETURN TRUE;
13698     END IF;
13699 
13700     --  SELECT  'VALID'
13701     --  INTO     l_dummy
13702     --  FROM     DB_TABLE
13703     --  WHERE    DB_COLUMN = p_amount;
13704 
13705 
13706     RETURN TRUE;
13707 
13708 EXCEPTION
13709 
13710     WHEN NO_DATA_FOUND THEN
13711 
13712         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13713         THEN
13714 
13715 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AMOUNT');
13716 
13717             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13718             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13719 				OE_Order_Util.Get_Attribute_Name('amount'));
13720             OE_MSG_PUB.Add;
13721 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13722 
13723         END IF;
13724 
13725 
13726         RETURN FALSE;
13727 
13728     WHEN OTHERS THEN
13729 
13730         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13731         THEN
13732             OE_MSG_PUB.Add_Exc_Msg
13733             (   G_PKG_NAME
13734             ,   'Amount'
13735             );
13736         END IF;
13737 
13738 
13739         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13740 
13741 END Amount;
13742 
13743 FUNCTION Appear_On_Ack ( p_appear_on_ack_flag IN VARCHAR2 )
13744 RETURN BOOLEAN
13745 IS
13746 l_dummy                       VARCHAR2(10);
13747 BEGIN
13748 
13749 
13750     IF p_appear_on_ack_flag IS NULL OR
13751         p_appear_on_ack_flag = FND_API.G_MISS_CHAR
13752     THEN
13753 
13754         RETURN TRUE;
13755     END IF;
13756 
13757     --  SELECT  'VALID'
13758     --  INTO     l_dummy
13759     --  FROM     DB_TABLE
13760     --  WHERE    DB_COLUMN = p_appear_on_ack_flag;
13761 
13762 
13763     RETURN TRUE;
13764 
13765 EXCEPTION
13766 
13767     WHEN NO_DATA_FOUND THEN
13768 
13769         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13770         THEN
13771 
13772 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_ACK_FLAG');
13773 
13774             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13775             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13776 				OE_Order_Util.Get_Attribute_Name('appear_on_ack_flag'));
13777             OE_MSG_PUB.Add;
13778 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13779 
13780         END IF;
13781 
13782 
13783        RETURN FALSE;
13784 
13785     WHEN OTHERS THEN
13786 
13787         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13788         THEN
13789             OE_MSG_PUB.Add_Exc_Msg
13790             (   G_PKG_NAME
13791             ,   'Appear_On_Ack'
13792             );
13793         END IF;
13794 
13795 
13796         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13797 
13798 END Appear_On_Ack;
13799 
13800 FUNCTION Appear_On_Invoice ( p_appear_on_invoice_flag IN VARCHAR2 )
13801 RETURN BOOLEAN
13802 IS
13803 l_dummy                       VARCHAR2(10);
13804 BEGIN
13805 
13806 
13807     IF p_appear_on_invoice_flag IS NULL OR
13808         p_appear_on_invoice_flag = FND_API.G_MISS_CHAR
13809     THEN
13810 
13811         RETURN TRUE;
13812     END IF;
13813 
13814     --  SELECT  'VALID'
13815     --  INTO     l_dummy
13816     --  FROM     DB_TABLE
13817     --  WHERE    DB_COLUMN = p_appear_on_invoice_flag;
13818 
13819 
13820     RETURN TRUE;
13821 
13822 EXCEPTION
13823 
13824     WHEN NO_DATA_FOUND THEN
13825 
13826         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13827         THEN
13828 
13829 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_INVOICE_FLAG');
13830 
13831             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13832             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13833 				OE_Order_Util.Get_Attribute_Name('appear_on_invoice_flag'));
13834             OE_MSG_PUB.Add;
13835 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13836 
13837         END IF;
13838 
13839 
13840         RETURN FALSE;
13841 
13842     WHEN OTHERS THEN
13843 
13844         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13845         THEN
13846             OE_MSG_PUB.Add_Exc_Msg
13847             (   G_PKG_NAME
13848             ,   'Appear_On_Invoice'
13849             );
13850         END IF;
13851 
13852 
13853         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13854 
13855 END Appear_On_Invoice;
13856 
13857 FUNCTION Charge ( p_charge_id IN NUMBER )
13858 RETURN BOOLEAN
13859 IS
13860 l_dummy                       VARCHAR2(10);
13861 BEGIN
13862 
13863 
13864     IF p_charge_id IS NULL OR
13865         p_charge_id = FND_API.G_MISS_NUM
13866     THEN
13867 
13868         RETURN TRUE;
13869     END IF;
13870 
13871     --  SELECT  'VALID'
13872     --  INTO     l_dummy
13873     --  FROM     DB_TABLE
13874     --  WHERE    DB_COLUMN = p_charge_id;
13875 
13876 
13877     RETURN TRUE;
13878 
13879 EXCEPTION
13880 
13881     WHEN NO_DATA_FOUND THEN
13882 
13883         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13884         THEN
13885 
13886 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_ID');
13887 
13888             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13889             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13890 				OE_Order_Util.Get_Attribute_Name('charge_id'));
13891             OE_MSG_PUB.Add;
13892 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13893 
13894 
13895         END IF;
13896 
13897         RETURN FALSE;
13898 
13899     WHEN OTHERS THEN
13900 
13901         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13902         THEN
13903             OE_MSG_PUB.Add_Exc_Msg
13904             (   G_PKG_NAME
13905             ,   'Charge'
13906             );
13907         END IF;
13908 
13909 
13910         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13911 
13912 END Charge;
13913 
13914 FUNCTION Charge_Type ( p_charge_type_id IN NUMBER )
13915 RETURN BOOLEAN
13916 IS
13917 l_dummy                       VARCHAR2(10);
13918 BEGIN
13919 
13920 
13921     IF p_charge_type_id IS NULL OR
13922         p_charge_type_id = FND_API.G_MISS_NUM
13923     THEN
13924 
13925         RETURN TRUE;
13926     END IF;
13927 
13928     --  SELECT  'VALID'
13929     --  INTO     l_dummy
13930     --  FROM     DB_TABLE
13931     --  WHERE    DB_COLUMN = p_charge_type_id;
13932 
13933 
13934    RETURN TRUE;
13935 
13936 EXCEPTION
13937 
13938     WHEN NO_DATA_FOUND THEN
13939 
13940         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13941         THEN
13942 
13943 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_ID');
13944 
13945             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13946             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13947 				OE_Order_Util.Get_Attribute_Name('charge_type_id'));
13948             OE_MSG_PUB.Add;
13949 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13950 
13951         END IF;
13952 
13953 
13954         RETURN FALSE;
13955 
13956     WHEN OTHERS THEN
13957 
13958         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13959         THEN
13960             OE_MSG_PUB.Add_Exc_Msg
13961             (   G_PKG_NAME
13962             ,   'Charge_Type'
13963             );
13964         END IF;
13965 
13966 
13967         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13968 
13969 END Charge_Type;
13970 
13971 FUNCTION Conversion_Date ( p_conversion_date IN DATE )
13972 RETURN BOOLEAN
13973 IS
13974 l_dummy                       VARCHAR2(10);
13975 BEGIN
13976 
13977 
13978     IF p_conversion_date IS NULL OR
13979         p_conversion_date = FND_API.G_MISS_DATE
13980     THEN
13981 
13982         RETURN TRUE;
13983     END IF;
13984 
13985     --  SELECT  'VALID'
13986     --  INTO     l_dummy
13987     --  FROM     DB_TABLE
13988     --  WHERE    DB_COLUMN = p_conversion_date;
13989 
13990 
13991     RETURN TRUE;
13992 
13993 EXCEPTION
13994 
13995     WHEN NO_DATA_FOUND THEN
13996 
13997         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13998         THEN
13999 
14000 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_DATE');
14001 
14002             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14003             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14004 				OE_Order_Util.Get_Attribute_Name('conversion_date'));
14005 
14006 	      OE_MSG_PUB.Add;
14007 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14008 
14009 
14010         END IF;
14011 
14012 
14013         RETURN FALSE;
14014 
14015     WHEN OTHERS THEN
14016 
14017         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14018         THEN
14019             OE_MSG_PUB.Add_Exc_Msg
14020             (   G_PKG_NAME
14021             ,   'Conversion_Date'
14022             );
14023         END IF;
14024 
14025 
14026         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14027 
14028 END Conversion_Date;
14029 
14030 FUNCTION Cost_Or_Charge ( p_cost_or_charge_flag IN VARCHAR2 )
14031 RETURN BOOLEAN
14032 IS
14033 l_dummy                       VARCHAR2(10);
14034 BEGIN
14035 
14036 
14037     IF p_cost_or_charge_flag IS NULL OR
14038         p_cost_or_charge_flag = FND_API.G_MISS_CHAR
14039     THEN
14040 
14041         RETURN TRUE;
14042     END IF;
14043 
14044     --  SELECT  'VALID'
14045     --  INTO     l_dummy
14046     --  FROM     DB_TABLE
14047     --  WHERE    DB_COLUMN = p_cost_or_charge_flag;
14048 
14049 
14050     RETURN TRUE;
14051 
14052 EXCEPTION
14053 
14054     WHEN NO_DATA_FOUND THEN
14055 
14056         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14057         THEN
14058 
14059 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_OR_CHARGE_FLAG');
14060 
14061             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14062             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14063 				OE_Order_Util.Get_Attribute_Name('cost_or_charge_flag'));
14064             OE_MSG_PUB.Add;
14065 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14066 
14067         END IF;
14068 
14069 
14070         RETURN FALSE;
14071 
14072     WHEN OTHERS THEN
14073 
14074         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14075         THEN
14076             OE_MSG_PUB.Add_Exc_Msg
14077             (   G_PKG_NAME
14078             ,   'Cost_Or_Charge'
14079             );
14080         END IF;
14081 
14082 
14083         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14084 
14085 END Cost_Or_Charge;
14086 
14087 FUNCTION Currency ( p_currency_code IN VARCHAR2 )
14088 RETURN BOOLEAN
14089 IS
14090 l_dummy                       VARCHAR2(10);
14091 BEGIN
14092 
14093 
14094     IF p_currency_code IS NULL OR
14095         p_currency_code = FND_API.G_MISS_CHAR
14096     THEN
14097 
14098         RETURN TRUE;
14099     END IF;
14100 
14101     --  SELECT  'VALID'
14102     --  INTO     l_dummy
14103     --  FROM     DB_TABLE
14104     --  WHERE    DB_COLUMN = p_currency_code;
14105 
14106 
14107     RETURN TRUE;
14108 
14109 EXCEPTION
14110 
14111     WHEN NO_DATA_FOUND THEN
14112 
14113         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14114         THEN
14115 
14116 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CURRENCY_CODE');
14117 
14118             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14119             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14120 				OE_Order_Util.Get_Attribute_Name('currency_code'));
14121             OE_MSG_PUB.Add;
14122 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14123 
14124         END IF;
14125 
14126 
14127         RETURN FALSE;
14128 
14129     WHEN OTHERS THEN
14130 
14131         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14132         THEN
14133             OE_MSG_PUB.Add_Exc_Msg
14134             (   G_PKG_NAME
14135             ,   'Currency'
14136             );
14137         END IF;
14138 
14139 
14140         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14141 
14142 END Currency;
14143 
14144 FUNCTION Departure ( p_departure_id IN NUMBER )
14145 RETURN BOOLEAN
14146 IS
14147 l_dummy                       VARCHAR2(10);
14148 BEGIN
14149 
14150 
14151     IF p_departure_id IS NULL OR
14152         p_departure_id = FND_API.G_MISS_NUM
14153     THEN
14154 
14155         RETURN TRUE;
14156     END IF;
14157 
14158     --  SELECT  'VALID'
14159     --  INTO     l_dummy
14160     --  FROM     DB_TABLE
14161     --  WHERE    DB_COLUMN = p_departure_id;
14162 
14163 
14164     RETURN TRUE;
14165 
14166 EXCEPTION
14167 
14168     WHEN NO_DATA_FOUND THEN
14169 
14170         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14171         THEN
14172 
14173 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEPARTURE_ID');
14174 
14175             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14176             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14177 				OE_Order_Util.Get_Attribute_Name('departure_id'));
14178             OE_MSG_PUB.Add;
14179 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14180 
14181         END IF;
14182 
14183 
14184         RETURN FALSE;
14185 
14186     WHEN OTHERS THEN
14187 
14188         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14189         THEN
14190             OE_MSG_PUB.Add_Exc_Msg
14191             (   G_PKG_NAME
14192             ,   'Departure'
14193             );
14194         END IF;
14195 
14196 
14197         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14198 
14199 END Departure;
14200 
14201 FUNCTION Estimated ( p_estimated_flag IN VARCHAR2 )
14202 RETURN BOOLEAN
14203 IS
14204 l_dummy                       VARCHAR2(10);
14205 BEGIN
14206 
14207 
14208     IF p_estimated_flag IS NULL OR
14209         p_estimated_flag = FND_API.G_MISS_CHAR
14210     THEN
14211 
14212         RETURN TRUE;
14213     END IF;
14214 
14215     --  SELECT  'VALID'
14216     --  INTO     l_dummy
14217     --  FROM     DB_TABLE
14218     --  WHERE    DB_COLUMN = p_estimated_flag;
14219 
14220 
14221     RETURN TRUE;
14222 
14223 EXCEPTION
14224 
14225     WHEN NO_DATA_FOUND THEN
14226 
14227         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14228         THEN
14229 
14230 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ESTIMATED_FLAG');
14231 
14232             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14233             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14234 				OE_Order_Util.Get_Attribute_Name('estimated_flag'));
14235             OE_MSG_PUB.Add;
14236 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14237 
14238         END IF;
14239 
14240 
14241         RETURN FALSE;
14242 
14243     WHEN OTHERS THEN
14244 
14245         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14246         THEN
14247             OE_MSG_PUB.Add_Exc_Msg
14248             (   G_PKG_NAME
14249             ,   'Estimated'
14250             );
14251         END IF;
14252 
14253 
14254         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14255 
14256 END Estimated;
14257 
14258 FUNCTION Inc_In_Sales_Performance ( p_inc_in_sales_performance IN VARCHAR2 )
14259 RETURN BOOLEAN
14260 IS
14261 l_dummy                       VARCHAR2(10);
14262 BEGIN
14263 
14264 
14265     IF p_inc_in_sales_performance IS NULL OR
14266         p_inc_in_sales_performance = FND_API.G_MISS_CHAR
14267     THEN
14268 
14269         RETURN TRUE;
14270     END IF;
14271 
14272     --  SELECT  'VALID'
14273     --  INTO     l_dummy
14274     --  FROM     DB_TABLE
14275     --  WHERE    DB_COLUMN = p_inc_in_sales_performance;
14276 
14277 
14278     RETURN TRUE;
14279 
14280 EXCEPTION
14281 
14282     WHEN NO_DATA_FOUND THEN
14283 
14284         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14285         THEN
14286 
14287 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INC_IN_SALES_PERFORMANCE');
14288 
14289             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14290             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14291 				OE_Order_Util.Get_Attribute_Name('inc_in_sales_performance'));
14292             OE_MSG_PUB.Add;
14293 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14294 
14295 
14296         END IF;
14297 
14298 
14299         RETURN FALSE;
14300 
14301     WHEN OTHERS THEN
14302 
14303         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14304         THEN
14305             OE_MSG_PUB.Add_Exc_Msg
14306             (   G_PKG_NAME
14307             ,   'Inc_In_Sales_Performance'
14308             );
14309         END IF;
14310 
14311 
14312         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14313 
14314 END Inc_In_Sales_Performance;
14315 
14316 FUNCTION Invoiced ( p_invoiced_flag IN VARCHAR2 )
14317 RETURN BOOLEAN
14318 IS
14319 l_dummy                       VARCHAR2(10);
14320 BEGIN
14321 
14322 
14323     IF p_invoiced_flag IS NULL OR
14324         p_invoiced_flag = FND_API.G_MISS_CHAR
14325     THEN
14326 
14327         RETURN TRUE;
14328     END IF;
14329 
14330     --  SELECT  'VALID'
14331     --  INTO     l_dummy
14332     --  FROM     DB_TABLE
14333     --  WHERE    DB_COLUMN = p_invoiced_flag;
14334 
14335 
14336     RETURN TRUE;
14337 
14338 EXCEPTION
14339 
14340     WHEN NO_DATA_FOUND THEN
14341 
14342         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14343         THEN
14344 
14345 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_FLAG');
14346 
14347             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14348             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14349 				OE_Order_Util.Get_Attribute_Name('invoiced_flag'));
14350             OE_MSG_PUB.Add;
14351 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14352 
14353         END IF;
14354 
14355 
14356         RETURN FALSE;
14357 
14358     WHEN OTHERS THEN
14359 
14360         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14361         THEN
14362             OE_MSG_PUB.Add_Exc_Msg
14363             (   G_PKG_NAME
14364             ,   'Invoiced'
14365             );
14366         END IF;
14367 
14368 
14369         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14370 
14371 END Invoiced;
14372 
14373 FUNCTION Lpn ( p_lpn IN NUMBER )
14374 RETURN BOOLEAN
14375 IS
14376 l_dummy                       VARCHAR2(10);
14377 BEGIN
14378 
14379 
14380     IF p_lpn IS NULL OR
14381         p_lpn = FND_API.G_MISS_NUM
14382     THEN
14383 
14384         RETURN TRUE;
14385     END IF;
14386 
14387     --  SELECT  'VALID'
14388     --  INTO     l_dummy
14389     --  FROM     DB_TABLE
14390     --  WHERE    DB_COLUMN = p_lpn;
14391 
14392 
14393     RETURN TRUE;
14394 
14395 EXCEPTION
14396 
14397     WHEN NO_DATA_FOUND THEN
14398 
14399         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14400         THEN
14401 
14402 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LPN');
14403 
14404             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14405             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14406 				OE_Order_Util.Get_Attribute_Name('lpn'));
14407             OE_MSG_PUB.Add;
14408 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14409 
14410         END IF;
14411 
14412 
14413         RETURN FALSE;
14414 
14415     WHEN OTHERS THEN
14416 
14417         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14418         THEN
14419             OE_MSG_PUB.Add_Exc_Msg
14420             (   G_PKG_NAME
14421             ,   'Lpn'
14422             );
14423         END IF;
14424 
14425 
14426         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14427 
14428 END Lpn;
14429 
14430 FUNCTION Parent_Charge ( p_parent_charge_id IN NUMBER )
14431 RETURN BOOLEAN
14432 IS
14433 l_dummy                       VARCHAR2(10);
14434 BEGIN
14435 
14436 
14437     IF p_parent_charge_id IS NULL OR
14438         p_parent_charge_id = FND_API.G_MISS_NUM
14439     THEN
14440 
14441         RETURN TRUE;
14442     END IF;
14443 
14444     --  SELECT  'VALID'
14445     --  INTO     l_dummy
14446     --  FROM     DB_TABLE
14447     --  WHERE    DB_COLUMN = p_parent_charge_id;
14448 
14449 
14450     RETURN TRUE;
14451 
14452 EXCEPTION
14453 
14454     WHEN NO_DATA_FOUND THEN
14455 
14456         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14457         THEN
14458 
14459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARENT_CHARGE_ID');
14460 
14461             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14462             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14463 				OE_Order_Util.Get_Attribute_Name('parent_charge_id'));
14464             OE_MSG_PUB.Add;
14465 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14466 
14467         END IF;
14468 
14469 
14470         RETURN FALSE;
14471 
14472     WHEN OTHERS THEN
14473 
14474         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14475         THEN
14476             OE_MSG_PUB.Add_Exc_Msg
14477             (   G_PKG_NAME
14478             ,   'Parent_Charge'
14479             );
14480         END IF;
14481 
14482 
14483         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14484 
14485 END Parent_Charge;
14486 
14487 FUNCTION Returnable ( p_returnable_flag IN VARCHAR2 )
14488 RETURN BOOLEAN
14489 IS
14490 l_dummy                       VARCHAR2(10);
14491 BEGIN
14492 
14493 
14494     IF p_returnable_flag IS NULL OR
14495         p_returnable_flag = FND_API.G_MISS_CHAR
14496     THEN
14497 
14498         RETURN TRUE;
14499     END IF;
14500 
14501     --  SELECT  'VALID'
14502     --  INTO     l_dummy
14503     --  FROM     DB_TABLE
14504     --  WHERE    DB_COLUMN = p_returnable_flag;
14505 
14506 
14507     RETURN TRUE;
14508 
14509 EXCEPTION
14510 
14511     WHEN NO_DATA_FOUND THEN
14512 
14513         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14514         THEN
14515 
14516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURNABLE_FLAG');
14517 
14518             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14519             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14520 				OE_Order_Util.Get_Attribute_Name('returnable_flag'));
14521             OE_MSG_PUB.Add;
14522 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14523 
14524         END IF;
14525 
14526 
14527         RETURN FALSE;
14528 
14529     WHEN OTHERS THEN
14530 
14531         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14532         THEN
14533             OE_MSG_PUB.Add_Exc_Msg
14534             (   G_PKG_NAME
14535             ,   'Returnable'
14536             );
14537         END IF;
14538 
14539 
14540         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14541 
14542 END Returnable;
14543 
14544 FUNCTION Tax_Group ( p_tax_group_code IN VARCHAR2 )
14545 RETURN BOOLEAN
14546 IS
14547 l_dummy                       VARCHAR2(10);
14548 BEGIN
14549 
14550 
14551     IF p_tax_group_code IS NULL OR
14552         p_tax_group_code = FND_API.G_MISS_CHAR
14553     THEN
14554 
14555         RETURN TRUE;
14556     END IF;
14557 
14558     --  SELECT  'VALID'
14559     --  INTO     l_dummy
14560     --  FROM     DB_TABLE
14561     --  WHERE    DB_COLUMN = p_tax_group_code;
14562 
14563 
14564     RETURN TRUE;
14565 
14566 EXCEPTION
14567 
14568     WHEN NO_DATA_FOUND THEN
14569 
14570         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14571         THEN
14572 
14573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_GROUP_CODE');
14574 
14575             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14576             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14577 				OE_Order_Util.Get_Attribute_Name('tax_group_code'));
14578             OE_MSG_PUB.Add;
14579 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14580 
14581         END IF;
14582 
14583 
14584         RETURN FALSE;
14585 
14586     WHEN OTHERS THEN
14587 
14588         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14589         THEN
14590             OE_MSG_PUB.Add_Exc_Msg
14591             (   G_PKG_NAME
14592             ,   'Tax_Group'
14593             );
14594         END IF;
14595 
14596 
14597         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14598 
14599 END Tax_Group;
14600 
14601 --  END GEN validate
14602 
14603 --- function header_desc_flex
14604 -- if all attrs. are missing, then return valid.
14605 -- if some are missing, set_column_value for these missing attrs., pass null
14606 -- and  for others pass the actual value
14607 -- call validate.desccols
14608 -- return valid/invalid
14609 
14610 FUNCTION Header_Desc_Flex (p_context IN VARCHAR2,
14611  			   p_attribute1 IN VARCHAR2,
14612                            p_attribute2 IN VARCHAR2,
14613                            p_attribute3 IN VARCHAR2,
14614                            p_attribute4 IN VARCHAR2,
14615                            p_attribute5 IN VARCHAR2,
14616                            p_attribute6 IN VARCHAR2,
14617                            p_attribute7 IN VARCHAR2,
14618                            p_attribute8 IN VARCHAR2,
14619                            p_attribute9 IN VARCHAR2,
14620                            p_attribute10 IN VARCHAR2,
14621                            p_attribute11 IN VARCHAR2,
14622                            p_attribute12 IN VARCHAR2,
14623                            p_attribute13 IN VARCHAR2,
14624                            p_attribute14 IN VARCHAR2,
14625                            p_attribute15 IN VARCHAR2,
14626                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
14627                            p_attribute17 IN VARCHAR2,
14628                            p_attribute18 IN VARCHAR2,
14629                            p_attribute19 IN VARCHAR2,
14630                            p_attribute20 IN VARCHAR2,
14631                            p_document_type IN VARCHAR2 := 'ORDER')
14632 
14633 RETURN BOOLEAN
14634 IS
14635 l_column_value VARCHAR2(240) := null;
14636 BEGIN
14637 
14638    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
14639    --  Assiging the segment names so as to map the values after the FND call.
14640                 g_context_name := 'CONTEXT';
14641 		g_attribute1_name := 'ATTRIBUTE1';
14642 		g_attribute2_name := 'ATTRIBUTE2';
14643 		g_attribute3_name := 'ATTRIBUTE3';
14644 		g_attribute4_name := 'ATTRIBUTE4';
14645 		g_attribute5_name := 'ATTRIBUTE5';
14646 		g_attribute6_name := 'ATTRIBUTE6';
14647 		g_attribute7_name := 'ATTRIBUTE7';
14648 		g_attribute8_name := 'ATTRIBUTE8';
14649 		g_attribute9_name := 'ATTRIBUTE9';
14650 		g_attribute10_name := 'ATTRIBUTE10';
14651 		g_attribute11_name := 'ATTRIBUTE11';
14652 		g_attribute12_name := 'ATTRIBUTE12';
14653 		g_attribute13_name := 'ATTRIBUTE13';
14654 		g_attribute14_name := 'ATTRIBUTE14';
14655 		g_attribute15_name := 'ATTRIBUTE15';
14656 		g_attribute16_name := 'ATTRIBUTE16';  -- for bug 2184255
14657 		g_attribute17_name := 'ATTRIBUTE17';
14658 		g_attribute18_name := 'ATTRIBUTE18';
14659 		g_attribute19_name := 'ATTRIBUTE19';
14660 		g_attribute20_name := 'ATTRIBUTE20';
14661 
14662                 /* commented out for 2056666
14663 
14664 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14665                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14666 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14667                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14668                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14669                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14670                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14671                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14672                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14673                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14674                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14675                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14676                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14677                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14678                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14679                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14680 
14681 
14682 		     RETURN TRUE;
14683 
14684                 ELSE
14685 
14686                 2056666 */
14687 
14688 
14689 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14690 
14691 		     l_column_value := null;
14692 
14693 	          ELSE
14694 
14695 		     l_column_value := p_attribute1;
14696 
14697                   END IF;
14698 
14699                   FND_FLEX_DESCVAL.Set_Column_Value
14700                   (   column_name   => 'ATTRIBUTE1'
14701                    ,  column_value  => l_column_value);
14702 
14703 
14704 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14705 
14706 		     l_column_value := null;
14707 
14708 	          ELSE
14709 
14710 		     l_column_value := p_attribute2;
14711 
14712                   END IF;
14713                   FND_FLEX_DESCVAL.Set_Column_Value
14714                   (   column_name   => 'ATTRIBUTE2'
14715                    ,  column_value  =>  l_column_value);
14716 
14717 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14718 
14719 		     l_column_value := null;
14720 
14721 	          ELSE
14722 
14723 		     l_column_value := p_attribute3;
14724 
14725                   END IF;
14726                   FND_FLEX_DESCVAL.Set_Column_Value
14727                   (   column_name   => 'ATTRIBUTE3'
14728                    ,  column_value  =>  l_column_value);
14729 
14730 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14731 
14732 		     l_column_value := null;
14733 
14734 	          ELSE
14735 
14736 		     l_column_value := p_attribute4;
14737 
14738                   END IF;
14739                   FND_FLEX_DESCVAL.Set_Column_Value
14740                   (   column_name   => 'ATTRIBUTE4'
14741                    ,  column_value  =>  l_column_value);
14742 
14743 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14744 
14745 		     l_column_value := null;
14746 
14747 	          ELSE
14748 
14749 		     l_column_value := p_attribute5;
14750 
14751                   END IF;
14752                   FND_FLEX_DESCVAL.Set_Column_Value
14753                   (   column_name   => 'ATTRIBUTE5'
14754                    ,  column_value  =>  l_column_value);
14755 
14756 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14757 
14758 		     l_column_value := null;
14759 
14760 	          ELSE
14761 
14762 		     l_column_value := p_attribute6;
14763 
14764                   END IF;
14765                   FND_FLEX_DESCVAL.Set_Column_Value
14766                   (   column_name   => 'ATTRIBUTE6'
14767                    ,  column_value  =>  l_column_value);
14768 
14769 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14770 
14771 		     l_column_value := null;
14772 
14773 	          ELSE
14774 
14775 		     l_column_value := p_attribute7;
14776 
14777                   END IF;
14778                   FND_FLEX_DESCVAL.Set_Column_Value
14779                   (   column_name   => 'ATTRIBUTE7'
14780                    ,  column_value  =>  l_column_value);
14781 
14782 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14783 
14784 		     l_column_value := null;
14785 
14786 	          ELSE
14787 
14788 		     l_column_value := p_attribute8;
14789 
14790                   END IF;
14791                   FND_FLEX_DESCVAL.Set_Column_Value
14792                   (   column_name   => 'ATTRIBUTE8'
14793                    ,  column_value  =>  l_column_value);
14794 
14795 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14796 
14797 		     l_column_value := null;
14798 
14799 	          ELSE
14800 
14801 		     l_column_value := p_attribute9;
14802 
14803                   END IF;
14804                   FND_FLEX_DESCVAL.Set_Column_Value
14805                   (   column_name   => 'ATTRIBUTE9'
14806                    ,  column_value  =>  l_column_value);
14807 
14808 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
14809 
14810 		     l_column_value := null;
14811 
14812 	          ELSE
14813 
14814 		     l_column_value := p_attribute10;
14815 
14816                   END IF;
14817                   FND_FLEX_DESCVAL.Set_Column_Value
14818                   (   column_name   => 'ATTRIBUTE10'
14819                    ,  column_value  =>  l_column_value);
14820 
14821 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
14822 
14823 		     l_column_value := null;
14824 
14825 	          ELSE
14826 
14827 		     l_column_value := p_attribute11;
14828 
14829                   END IF;
14830                   FND_FLEX_DESCVAL.Set_Column_Value
14831                   (   column_name   => 'ATTRIBUTE11'
14832                    ,  column_value  =>  l_column_value);
14833 
14834 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
14835 
14836 		     l_column_value := null;
14837 
14838 	          ELSE
14839 
14840 		     l_column_value := p_attribute12;
14841 
14842                   END IF;
14843                   FND_FLEX_DESCVAL.Set_Column_Value
14844                   (   column_name   => 'ATTRIBUTE12'
14845                    ,  column_value  =>  l_column_value);
14846 
14847 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
14848 
14849 		     l_column_value := null;
14850 
14851 	          ELSE
14852 
14853 		     l_column_value := p_attribute13;
14854 
14855                   END IF;
14856                   FND_FLEX_DESCVAL.Set_Column_Value
14857                   (   column_name   => 'ATTRIBUTE13'
14858                    ,  column_value  =>  l_column_value);
14859 
14860 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
14861 
14862 		     l_column_value := null;
14863 
14864 	          ELSE
14865 
14866 		     l_column_value := p_attribute14;
14867 
14868                   END IF;
14869                   FND_FLEX_DESCVAL.Set_Column_Value
14870                   (   column_name   => 'ATTRIBUTE14'
14871                    ,  column_value  =>  l_column_value);
14872 
14873 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
14874 
14875 		     l_column_value := null;
14876 
14877 	          ELSE
14878 
14879 		     l_column_value := p_attribute15;
14880 
14881                   END IF;
14882                   FND_FLEX_DESCVAL.Set_Column_Value
14883                   (   column_name   => 'ATTRIBUTE15'
14884                    ,  column_value  =>  l_column_value);
14885 
14886 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN  -- For bug 2184255
14887 
14888 		     l_column_value := null;
14889 
14890 	          ELSE
14891 
14892 		     l_column_value := p_attribute16;
14893 
14894                   END IF;
14895                   FND_FLEX_DESCVAL.Set_Column_Value
14896                   (   column_name   => 'ATTRIBUTE16'
14897                    ,  column_value  =>  l_column_value);
14898 
14899 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
14900 
14901 		     l_column_value := null;
14902 
14903 	          ELSE
14904 
14905 		     l_column_value := p_attribute17;
14906 
14907                   END IF;
14908                   FND_FLEX_DESCVAL.Set_Column_Value
14909                   (   column_name   => 'ATTRIBUTE17'
14910                    ,  column_value  =>  l_column_value);
14911 
14912 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
14913 
14914 		     l_column_value := null;
14915 
14916 	          ELSE
14917 
14918 		     l_column_value := p_attribute18;
14919 
14920                   END IF;
14921                   FND_FLEX_DESCVAL.Set_Column_Value
14922                   (   column_name   => 'ATTRIBUTE18'
14923                    ,  column_value  =>  l_column_value);
14924 
14925 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
14926 
14927 		     l_column_value := null;
14928 
14929 	          ELSE
14930 
14931 		     l_column_value := p_attribute19;
14932 
14933                   END IF;
14934                   FND_FLEX_DESCVAL.Set_Column_Value
14935                   (   column_name   => 'ATTRIBUTE19'
14936                    ,  column_value  =>  l_column_value);
14937 
14938 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
14939 
14940 		     l_column_value := null;
14941 
14942 	          ELSE
14943 
14944 		     l_column_value := p_attribute20;
14945 
14946                   END IF;
14947                   FND_FLEX_DESCVAL.Set_Column_Value
14948                   (   column_name   => 'ATTRIBUTE20'
14949                    ,  column_value  =>  l_column_value);  -- End bug 2184255
14950 
14951 		  IF p_context = FND_API.G_MISS_CHAR THEN
14952 
14953 		     l_column_value := null;
14954 
14955 	          ELSE
14956 
14957 		     l_column_value := p_context;
14958 
14959                   END IF;
14960 		  FND_FLEX_DESCVAL.Set_Context_Value
14961 		   ( context_value   => l_column_value);
14962 
14963                   IF p_document_type = 'ORDER' THEN
14964                    IF NOT OE_Validate.Desc_Flex('OE_HEADER_ATTRIBUTES') THEN
14965 			RETURN FALSE;
14966                    END IF;
14967                   ELSIF p_document_type = 'BLANKET' THEN
14968                    IF NOT OE_Validate.Desc_Flex('OE_BLKT_HEADER_ATTRIBUTES') THEN
14969 			RETURN FALSE;
14970                    END IF;
14971                   END IF;
14972 
14973                 /* commented out for 2056666
14974                 END IF;
14975                 */
14976 
14977     RETURN TRUE;
14978 
14979 EXCEPTION
14980 
14981    WHEN OTHERS THEN
14982 
14983 
14984      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14985      THEN
14986 
14987         OE_MSG_PUB.Add_Exc_Msg
14988 	( G_PKG_NAME
14989           , 'Header_Desc_Flex');
14990      END IF;
14991 
14992 
14993      RETURN FALSE;
14994 
14995 END Header_Desc_Flex;
14996 
14997 
14998 FUNCTION G_Header_Desc_Flex (p_context IN VARCHAR2,
14999 			   p_attribute1 IN VARCHAR2,
15000                            p_attribute2 IN VARCHAR2,
15001                            p_attribute3 IN VARCHAR2,
15002                            p_attribute4 IN VARCHAR2,
15003                            p_attribute5 IN VARCHAR2,
15004                            p_attribute6 IN VARCHAR2,
15005                            p_attribute7 IN VARCHAR2,
15006                            p_attribute8 IN VARCHAR2,
15007                            p_attribute9 IN VARCHAR2,
15008                            p_attribute10 IN VARCHAR2,
15009                            p_attribute11 IN VARCHAR2,
15010                            p_attribute12 IN VARCHAR2,
15011                            p_attribute13 IN VARCHAR2,
15012                            p_attribute14 IN VARCHAR2,
15013                            p_attribute15 IN VARCHAR2,
15014                            p_attribute16 IN VARCHAR2,
15015                            p_attribute17 IN VARCHAR2,
15016                            p_attribute18 IN VARCHAR2,
15017                            p_attribute19 IN VARCHAR2,
15018                            p_attribute20 IN VARCHAR2)
15019 RETURN BOOLEAN
15020 IS
15021 l_column_value VARCHAR2(240) := null;
15022 BEGIN
15023 
15024 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15025 
15026                 g_context_name := 'GLOBAL_ATTRIBUTE_CATEGORY';
15027 		g_attribute1_name := 'GLOBAL_ATTRIBUTE1';
15028 		g_attribute2_name := 'GLOBAL_ATTRIBUTE2';
15029 		g_attribute3_name := 'GLOBAL_ATTRIBUTE3';
15030 		g_attribute4_name := 'GLOBAL_ATTRIBUTE4';
15031 		g_attribute5_name := 'GLOBAL_ATTRIBUTE5';
15032 		g_attribute6_name := 'GLOBAL_ATTRIBUTE6';
15033 		g_attribute7_name := 'GLOBAL_ATTRIBUTE7';
15034 		g_attribute8_name := 'GLOBAL_ATTRIBUTE8';
15035 		g_attribute9_name := 'GLOBAL_ATTRIBUTE9';
15036 		g_attribute10_name := 'GLOBAL_ATTRIBUTE10';
15037 		g_attribute11_name := 'GLOBAL_ATTRIBUTE11';
15038 		g_attribute12_name := 'GLOBAL_ATTRIBUTE12';
15039 		g_attribute13_name := 'GLOBAL_ATTRIBUTE13';
15040 		g_attribute14_name := 'GLOBAL_ATTRIBUTE14';
15041 		g_attribute15_name := 'GLOBAL_ATTRIBUTE15';
15042 		g_attribute16_name := 'GLOBAL_ATTRIBUTE16';
15043 		g_attribute17_name := 'GLOBAL_ATTRIBUTE17';
15044 		g_attribute18_name := 'GLOBAL_ATTRIBUTE18';
15045 		g_attribute19_name := 'GLOBAL_ATTRIBUTE19';
15046 		g_attribute20_name := 'GLOBAL_ATTRIBUTE20';
15047 
15048 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15049                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15050 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15051                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15052                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15053                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15054                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15055                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15056                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15057                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15058                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15059                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15060                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15061                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15062                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15063                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
15064                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15065                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15066                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15067                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15068                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15069 
15070 
15071 		     RETURN TRUE;
15072 
15073                 ELSE */
15074 
15075 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15076 
15077 		     l_column_value := null;
15078 
15079 	          ELSE
15080 
15081 		     l_column_value := p_attribute1;
15082 
15083                   END IF;
15084 
15085                   FND_FLEX_DESCVAL.Set_Column_Value
15086                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
15087                    ,  column_value  => l_column_value);
15088 
15089 
15090 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15091 
15092 		     l_column_value := null;
15093 
15094 	          ELSE
15095 
15096 		     l_column_value := p_attribute2;
15097 
15098                   END IF;
15099                   FND_FLEX_DESCVAL.Set_Column_Value
15100                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
15101                    ,  column_value  =>  l_column_value);
15102 
15103 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15104 
15105 		     l_column_value := null;
15106 
15107 	          ELSE
15108 
15109 		     l_column_value := p_attribute3;
15110 
15111                   END IF;
15112                   FND_FLEX_DESCVAL.Set_Column_Value
15113                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
15114                    ,  column_value  =>  l_column_value);
15115 
15116 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15117 
15118 		     l_column_value := null;
15119 
15120 	          ELSE
15121 
15122 		     l_column_value := p_attribute4;
15123 
15124                   END IF;
15125                   FND_FLEX_DESCVAL.Set_Column_Value
15126                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
15127                    ,  column_value  =>  l_column_value);
15128 
15129 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15130 
15131 		     l_column_value := null;
15132 
15133 	          ELSE
15134 
15135 		     l_column_value := p_attribute5;
15136 
15137                   END IF;
15138                   FND_FLEX_DESCVAL.Set_Column_Value
15139                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
15140                    ,  column_value  =>  l_column_value);
15141 
15142 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15143 
15144 		     l_column_value := null;
15145 
15146 	          ELSE
15147 
15148 		     l_column_value := p_attribute6;
15149 
15150                   END IF;
15151                   FND_FLEX_DESCVAL.Set_Column_Value
15152                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
15153                    ,  column_value  =>  l_column_value);
15154 
15155 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15156 
15157 		     l_column_value := null;
15158 
15159 	          ELSE
15160 
15161 		     l_column_value := p_attribute7;
15162 
15163                   END IF;
15164                   FND_FLEX_DESCVAL.Set_Column_Value
15165                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
15166                    ,  column_value  =>  l_column_value);
15167 
15168 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15169 
15170 		     l_column_value := null;
15171 
15172 	          ELSE
15173 
15174 		     l_column_value := p_attribute8;
15175 
15176                   END IF;
15177                   FND_FLEX_DESCVAL.Set_Column_Value
15178                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
15179                    ,  column_value  =>  l_column_value);
15180 
15181 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15182 
15183 		     l_column_value := null;
15184 
15185 	          ELSE
15186 
15187 		     l_column_value := p_attribute9;
15188 
15189                   END IF;
15190                   FND_FLEX_DESCVAL.Set_Column_Value
15191                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
15192                    ,  column_value  =>  l_column_value);
15193 
15194 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15195 
15196 		     l_column_value := null;
15197 
15198 	          ELSE
15199 
15200 		     l_column_value := p_attribute10;
15201 
15202                   END IF;
15203                   FND_FLEX_DESCVAL.Set_Column_Value
15204                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
15205                    ,  column_value  =>  l_column_value);
15206 
15207 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15208 
15209 		     l_column_value := null;
15210 
15211 	          ELSE
15212 
15213 		     l_column_value := p_attribute11;
15214 
15215                   END IF;
15216                   FND_FLEX_DESCVAL.Set_Column_Value
15217                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
15218                    ,  column_value  =>  l_column_value);
15219 
15220 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15221 
15222 		     l_column_value := null;
15223 
15224 	          ELSE
15225 
15226 		     l_column_value := p_attribute12;
15227 
15228                   END IF;
15229                   FND_FLEX_DESCVAL.Set_Column_Value
15230                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
15231                    ,  column_value  =>  l_column_value);
15232 
15233 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15234 
15235 		     l_column_value := null;
15236 
15237 	          ELSE
15238 
15239 		     l_column_value := p_attribute13;
15240 
15241                   END IF;
15242                   FND_FLEX_DESCVAL.Set_Column_Value
15243                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
15244                    ,  column_value  =>  l_column_value);
15245 
15246 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15247 
15248 		     l_column_value := null;
15249 
15250 	          ELSE
15251 
15252 		     l_column_value := p_attribute14;
15253 
15254                   END IF;
15255                   FND_FLEX_DESCVAL.Set_Column_Value
15256                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
15257                    ,  column_value  =>  l_column_value);
15258 
15259 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15260 
15261 		     l_column_value := null;
15262 
15263 	          ELSE
15264 
15265 		     l_column_value := p_attribute15;
15266 
15267                   END IF;
15268                   FND_FLEX_DESCVAL.Set_Column_Value
15269                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
15270                    ,  column_value  =>  l_column_value);
15271 
15272 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
15273 
15274 		     l_column_value := null;
15275 
15276 	          ELSE
15277 
15278 		     l_column_value := p_attribute16;
15279 
15280                   END IF;
15281 
15282                   FND_FLEX_DESCVAL.Set_Column_Value
15283                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
15284                    ,  column_value  =>  l_column_value);
15285 
15286 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15287 
15288 		     l_column_value := null;
15289 
15290 	          ELSE
15291 
15292 		     l_column_value := p_attribute17;
15293 
15294                   END IF;
15295                   FND_FLEX_DESCVAL.Set_Column_Value
15296                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
15297                    ,  column_value  =>  l_column_value);
15298 
15299 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15300 
15301 		     l_column_value := null;
15302 
15303 	          ELSE
15304 
15305 		     l_column_value := p_attribute18;
15306 
15307                   END IF;
15308                   FND_FLEX_DESCVAL.Set_Column_Value
15309                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
15310                    ,  column_value  =>  l_column_value);
15311 
15312 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15313 
15314 		     l_column_value := null;
15315 
15316 	          ELSE
15317 
15318 		     l_column_value := p_attribute19;
15319 
15320                   END IF;
15321                   FND_FLEX_DESCVAL.Set_Column_Value
15322                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
15323                    ,  column_value  =>  l_column_value);
15324 
15325 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15326 
15327 		     l_column_value := null;
15328 
15329 	          ELSE
15330 
15331 		     l_column_value := p_attribute20;
15332 
15333                   END IF;
15334                   FND_FLEX_DESCVAL.Set_Column_Value
15335                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
15336                    ,  column_value  =>  l_column_value);
15337 
15338 		  IF p_context = FND_API.G_MISS_CHAR THEN
15339 
15340 		     l_column_value := null;
15341 
15342 	          ELSE
15343 
15344 		     l_column_value := p_context;
15345 
15346                   END IF;
15347 		  FND_FLEX_DESCVAL.Set_Context_Value
15348 		   ( context_value   => l_column_value);
15349 
15350                    IF NOT OE_Validate.Desc_Flex('OE_HEADER_GLOBAL_ATTRIBUTE') THEN
15351 			RETURN FALSE;
15352                    END IF;
15353 
15354                 --END IF;
15355 
15356     RETURN TRUE;
15357 
15358 EXCEPTION
15359 
15360    WHEN OTHERS THEN
15361 
15362 
15363      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15364      THEN
15365 
15366         OE_MSG_PUB.Add_Exc_Msg
15367 	( G_PKG_NAME
15368           , 'G_Header_Desc_Flex');
15369      END IF;
15370 
15371      RETURN FALSE;
15372 END G_Header_Desc_Flex;
15373 
15374 FUNCTION TP_Header_Desc_Flex (p_context IN VARCHAR2,
15375 			   p_attribute1 IN VARCHAR2,
15376                            p_attribute2 IN VARCHAR2,
15377                            p_attribute3 IN VARCHAR2,
15378                            p_attribute4 IN VARCHAR2,
15379                            p_attribute5 IN VARCHAR2,
15380                            p_attribute6 IN VARCHAR2,
15381                            p_attribute7 IN VARCHAR2,
15382                            p_attribute8 IN VARCHAR2,
15383                            p_attribute9 IN VARCHAR2,
15384                            p_attribute10 IN VARCHAR2,
15385                            p_attribute11 IN VARCHAR2,
15386                            p_attribute12 IN VARCHAR2,
15387                            p_attribute13 IN VARCHAR2,
15388                            p_attribute14 IN VARCHAR2,
15389                            p_attribute15 IN VARCHAR2)
15390 RETURN BOOLEAN
15391 IS
15392 l_column_value VARCHAR2(240) := null;
15393 BEGIN
15394 
15395    --OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15396 
15397                 g_context_name := 'TP_CONTEXT';
15398 		g_attribute1_name := 'TP_ATTRIBUTE1';
15399 		g_attribute2_name := 'TP_ATTRIBUTE2';
15400 		g_attribute3_name := 'TP_ATTRIBUTE3';
15401 		g_attribute4_name := 'TP_ATTRIBUTE4';
15402 		g_attribute5_name := 'TP_ATTRIBUTE5';
15403 		g_attribute6_name := 'TP_ATTRIBUTE6';
15404 		g_attribute7_name := 'TP_ATTRIBUTE7';
15405 		g_attribute8_name := 'TP_ATTRIBUTE8';
15406 		g_attribute9_name := 'TP_ATTRIBUTE9';
15407 		g_attribute10_name := 'TP_ATTRIBUTE10';
15408 		g_attribute11_name := 'TP_ATTRIBUTE11';
15409 		g_attribute12_name := 'TP_ATTRIBUTE12';
15410 		g_attribute13_name := 'TP_ATTRIBUTE13';
15411 		g_attribute14_name := 'TP_ATTRIBUTE14';
15412 		g_attribute15_name := 'TP_ATTRIBUTE15';
15413 
15414 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15415                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15416 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15417                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15418                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15419                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15420                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15421                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15422                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15423                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15424                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15425                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15426                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15427                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15428                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15429                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15430 
15431 
15432 		     RETURN TRUE;
15433 
15434                 ELSE */
15435 
15436 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15437 
15438 		     l_column_value := null;
15439 
15440 	          ELSE
15441 
15442 		     l_column_value := p_attribute1;
15443 
15444                   END IF;
15445 
15446                   FND_FLEX_DESCVAL.Set_Column_Value
15447                   (   column_name   => 'TP_ATTRIBUTE1'
15448                    ,  column_value  => l_column_value);
15449 
15450 
15451 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15452 
15453 		     l_column_value := null;
15454 
15455 	          ELSE
15456 
15457 		     l_column_value := p_attribute2;
15458 
15459                   END IF;
15460                   FND_FLEX_DESCVAL.Set_Column_Value
15461                   (   column_name   => 'TP_ATTRIBUTE2'
15462                    ,  column_value  =>  l_column_value);
15463 
15464 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15465 
15466 		     l_column_value := null;
15467 
15468 	          ELSE
15469 
15470 		     l_column_value := p_attribute3;
15471 
15472                   END IF;
15473                   FND_FLEX_DESCVAL.Set_Column_Value
15474                   (   column_name   => 'TP_ATTRIBUTE3'
15475                    ,  column_value  =>  l_column_value);
15476 
15477 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15478 
15479 		     l_column_value := null;
15480 
15481 	          ELSE
15482 
15483 		     l_column_value := p_attribute4;
15484 
15485                   END IF;
15486                   FND_FLEX_DESCVAL.Set_Column_Value
15487                   (   column_name   => 'TP_ATTRIBUTE4'
15488                    ,  column_value  =>  l_column_value);
15489 
15490 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15491 
15492 		     l_column_value := null;
15493 
15494 	          ELSE
15495 
15496 		     l_column_value := p_attribute5;
15497 
15498                   END IF;
15499                   FND_FLEX_DESCVAL.Set_Column_Value
15500                   (   column_name   => 'TP_ATTRIBUTE5'
15501                    ,  column_value  =>  l_column_value);
15502 
15503 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15504 
15505 		     l_column_value := null;
15506 
15507 	          ELSE
15508 
15509 		     l_column_value := p_attribute6;
15510 
15511                   END IF;
15512                   FND_FLEX_DESCVAL.Set_Column_Value
15513                   (   column_name   => 'TP_ATTRIBUTE6'
15514                    ,  column_value  =>  l_column_value);
15515 
15516 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15517 
15518 		     l_column_value := null;
15519 
15520 	          ELSE
15521 
15522 		     l_column_value := p_attribute7;
15523 
15524                   END IF;
15525                   FND_FLEX_DESCVAL.Set_Column_Value
15526                   (   column_name   => 'TP_ATTRIBUTE7'
15527                    ,  column_value  =>  l_column_value);
15528 
15529 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15530 
15531 		     l_column_value := null;
15532 
15533 	          ELSE
15534 
15535 		     l_column_value := p_attribute8;
15536 
15537                   END IF;
15538                   FND_FLEX_DESCVAL.Set_Column_Value
15539                   (   column_name   => 'TP_ATTRIBUTE8'
15540                    ,  column_value  =>  l_column_value);
15541 
15542 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15543 
15544 		     l_column_value := null;
15545 
15546 	          ELSE
15547 
15548 		     l_column_value := p_attribute9;
15549 
15550                   END IF;
15551                   FND_FLEX_DESCVAL.Set_Column_Value
15552                   (   column_name   => 'TP_ATTRIBUTE9'
15553                    ,  column_value  =>  l_column_value);
15554 
15555 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15556 
15557 		     l_column_value := null;
15558 
15559 	          ELSE
15560 
15561 		     l_column_value := p_attribute10;
15562 
15563                   END IF;
15564                   FND_FLEX_DESCVAL.Set_Column_Value
15565                   (   column_name   => 'TP_ATTRIBUTE10'
15566                    ,  column_value  =>  l_column_value);
15567 
15568 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15569 
15570 		     l_column_value := null;
15571 
15572 	          ELSE
15573 
15574 		     l_column_value := p_attribute11;
15575 
15576                   END IF;
15577                   FND_FLEX_DESCVAL.Set_Column_Value
15578                   (   column_name   => 'TP_ATTRIBUTE11'
15579                    ,  column_value  =>  l_column_value);
15580 
15581 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15582 
15583 		     l_column_value := null;
15584 
15585 	          ELSE
15586 
15587 		     l_column_value := p_attribute12;
15588 
15589                   END IF;
15590                   FND_FLEX_DESCVAL.Set_Column_Value
15591                   (   column_name   => 'TP_ATTRIBUTE12'
15592                    ,  column_value  =>  l_column_value);
15593 
15594 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15595 
15596 		     l_column_value := null;
15597 
15598 	          ELSE
15599 
15600 		     l_column_value := p_attribute13;
15601 
15602                   END IF;
15603                   FND_FLEX_DESCVAL.Set_Column_Value
15604                   (   column_name   => 'TP_ATTRIBUTE13'
15605                    ,  column_value  =>  l_column_value);
15606 
15607 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15608 
15609 		     l_column_value := null;
15610 
15611 	          ELSE
15612 
15613 		     l_column_value := p_attribute14;
15614 
15615                   END IF;
15616                   FND_FLEX_DESCVAL.Set_Column_Value
15617                   (   column_name   => 'TP_ATTRIBUTE14'
15618                    ,  column_value  =>  l_column_value);
15619 
15620 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15621 
15622 		     l_column_value := null;
15623 
15624 	          ELSE
15625 
15626 		     l_column_value := p_attribute15;
15627 
15628                   END IF;
15629                   FND_FLEX_DESCVAL.Set_Column_Value
15630                   (   column_name   => 'TP_ATTRIBUTE15'
15631                    ,  column_value  =>  l_column_value);
15632 
15633 
15634 		  IF p_context = FND_API.G_MISS_CHAR THEN
15635 
15636 		     l_column_value := null;
15637 
15638 	       ELSE
15639 
15640 		     l_column_value := p_context;
15641 
15642             END IF;
15643 		  FND_FLEX_DESCVAL.Set_Context_Value
15644 		   ( context_value   => l_column_value);
15645 
15646              IF NOT OE_Validate.Desc_Flex('OE_HEADER_TP_ATTRIBUTES') THEN
15647 			RETURN FALSE;
15648              END IF;
15649 
15650           --END IF;
15651 
15652     RETURN TRUE;
15653 
15654 EXCEPTION
15655 
15656    WHEN OTHERS THEN
15657 
15658 
15659      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15660      THEN
15661 
15662         OE_MSG_PUB.Add_Exc_Msg
15663 	( G_PKG_NAME
15664           , 'TP_Header_Desc_Flex');
15665      END IF;
15666 
15667      RETURN FALSE;
15668 END TP_Header_Desc_Flex;
15669 
15670 
15671 
15672 FUNCTION Line_Desc_Flex (p_context IN VARCHAR2,
15673 			         p_attribute1 IN VARCHAR2,
15674                            p_attribute2 IN VARCHAR2,
15675                            p_attribute3 IN VARCHAR2,
15676                            p_attribute4 IN VARCHAR2,
15677                            p_attribute5 IN VARCHAR2,
15678                            p_attribute6 IN VARCHAR2,
15679                            p_attribute7 IN VARCHAR2,
15680                            p_attribute8 IN VARCHAR2,
15681                            p_attribute9 IN VARCHAR2,
15682                            p_attribute10 IN VARCHAR2,
15683                            p_attribute11 IN VARCHAR2,
15684                            p_attribute12 IN VARCHAR2,
15685                            p_attribute13 IN VARCHAR2,
15686                            p_attribute14 IN VARCHAR2,
15687                            p_attribute15 IN VARCHAR2,
15688                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
15689                            p_attribute17 IN VARCHAR2,
15690                            p_attribute18 IN VARCHAR2,
15691                            p_attribute19 IN VARCHAR2,
15692                            p_attribute20 IN VARCHAR2,
15693                            p_document_type IN VARCHAR2 := 'ORDER')
15694 
15695 RETURN BOOLEAN
15696 IS
15697 l_column_value VARCHAR2(240) := null;
15698 BEGIN
15699 
15700 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
15701                 g_context_name := 'CONTEXT';
15702 		g_attribute1_name := 'ATTRIBUTE1';
15703 		g_attribute2_name := 'ATTRIBUTE2';
15704 		g_attribute3_name := 'ATTRIBUTE3';
15705 		g_attribute4_name := 'ATTRIBUTE4';
15706 		g_attribute5_name := 'ATTRIBUTE5';
15707 		g_attribute6_name := 'ATTRIBUTE6';
15708 		g_attribute7_name := 'ATTRIBUTE7';
15709 		g_attribute8_name := 'ATTRIBUTE8';
15710 		g_attribute9_name := 'ATTRIBUTE9';
15711 		g_attribute10_name := 'ATTRIBUTE10';
15712 		g_attribute11_name := 'ATTRIBUTE11';
15713 		g_attribute12_name := 'ATTRIBUTE12';
15714 		g_attribute13_name := 'ATTRIBUTE13';
15715 		g_attribute14_name := 'ATTRIBUTE14';
15716 		g_attribute15_name := 'ATTRIBUTE15';
15717 		g_attribute16_name := 'ATTRIBUTE16';  -- for bug 2184255
15718 		g_attribute17_name := 'ATTRIBUTE17';
15719 		g_attribute18_name := 'ATTRIBUTE18';
15720 		g_attribute19_name := 'ATTRIBUTE19';
15721 		g_attribute20_name := 'ATTRIBUTE20';
15722 
15723                 /* commented out for 2056666
15724 
15725 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15726                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15727 		     AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15728                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15729                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15730                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15731                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15732                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15733                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15734                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15735                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15736                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15737                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15738                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15739                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15740                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15741 
15742 
15743 		     RETURN TRUE;
15744 
15745                 ELSE
15746 
15747                 2056666 */
15748 
15749 
15750 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15751 
15752 		     l_column_value := null;
15753 
15754 	          ELSE
15755 
15756 		     l_column_value := p_attribute1;
15757 
15758                   END IF;
15759 
15760                   FND_FLEX_DESCVAL.Set_Column_Value
15761                   (   column_name   => 'ATTRIBUTE1'
15762                    ,  column_value  => l_column_value);
15763 
15764 
15765 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15766 
15767 		     l_column_value := null;
15768 
15769 	          ELSE
15770 
15771 		     l_column_value := p_attribute2;
15772 
15773                   END IF;
15774                   FND_FLEX_DESCVAL.Set_Column_Value
15775                   (   column_name   => 'ATTRIBUTE2'
15776                    ,  column_value  =>  l_column_value);
15777 
15778 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15779 
15780 		     l_column_value := null;
15781 
15782 	          ELSE
15783 
15784 		     l_column_value := p_attribute3;
15785 
15786                   END IF;
15787                   FND_FLEX_DESCVAL.Set_Column_Value
15788                   (   column_name   => 'ATTRIBUTE3'
15789                    ,  column_value  =>  l_column_value);
15790 
15791 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15792 
15793 		     l_column_value := null;
15794 
15795 	          ELSE
15796 
15797 		     l_column_value := p_attribute4;
15798 
15799                   END IF;
15800                   FND_FLEX_DESCVAL.Set_Column_Value
15801                   (   column_name   => 'ATTRIBUTE4'
15802                    ,  column_value  =>  l_column_value);
15803 
15804 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15805 
15806 		     l_column_value := null;
15807 
15808 	          ELSE
15809 
15810 		     l_column_value := p_attribute5;
15811 
15812                   END IF;
15813                   FND_FLEX_DESCVAL.Set_Column_Value
15814                   (   column_name   => 'ATTRIBUTE5'
15815                    ,  column_value  =>  l_column_value);
15816 
15817 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15818 
15819 		     l_column_value := null;
15820 
15821 	          ELSE
15822 
15823 		     l_column_value := p_attribute6;
15824 
15825                   END IF;
15826                   FND_FLEX_DESCVAL.Set_Column_Value
15827                   (   column_name   => 'ATTRIBUTE6'
15828                    ,  column_value  =>  l_column_value);
15829 
15830 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15831 
15832 		     l_column_value := null;
15833 
15834 	          ELSE
15835 
15836 		     l_column_value := p_attribute7;
15837 
15838                   END IF;
15839                   FND_FLEX_DESCVAL.Set_Column_Value
15840                   (   column_name   => 'ATTRIBUTE7'
15841                    ,  column_value  =>  l_column_value);
15842 
15843 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15844 
15845 		     l_column_value := null;
15846 
15847 	          ELSE
15848 
15849 		     l_column_value := p_attribute8;
15850 
15851                   END IF;
15852                   FND_FLEX_DESCVAL.Set_Column_Value
15853                   (   column_name   => 'ATTRIBUTE8'
15854                    ,  column_value  =>  l_column_value);
15855 
15856 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15857 
15858 		     l_column_value := null;
15859 
15860 	          ELSE
15861 
15862 		     l_column_value := p_attribute9;
15863 
15864                   END IF;
15865                   FND_FLEX_DESCVAL.Set_Column_Value
15866                   (   column_name   => 'ATTRIBUTE9'
15867                    ,  column_value  =>  l_column_value);
15868 
15869 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15870 
15871 		     l_column_value := null;
15872 
15873 	          ELSE
15874 
15875 		     l_column_value := p_attribute10;
15876 
15877                   END IF;
15878                   FND_FLEX_DESCVAL.Set_Column_Value
15879                   (   column_name   => 'ATTRIBUTE10'
15880                    ,  column_value  =>  l_column_value);
15881 
15882 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15883 
15884 		     l_column_value := null;
15885 
15886 	          ELSE
15887 
15888 		     l_column_value := p_attribute11;
15889 
15890                   END IF;
15891                   FND_FLEX_DESCVAL.Set_Column_Value
15892                   (   column_name   => 'ATTRIBUTE11'
15893                    ,  column_value  =>  l_column_value);
15894 
15895 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15896 
15897 		     l_column_value := null;
15898 
15899 	          ELSE
15900 
15901 		     l_column_value := p_attribute12;
15902 
15903                   END IF;
15904                   FND_FLEX_DESCVAL.Set_Column_Value
15905                   (   column_name   => 'ATTRIBUTE12'
15906                    ,  column_value  =>  l_column_value);
15907 
15908 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15909 
15910 		     l_column_value := null;
15911 
15912 	          ELSE
15913 
15914 		     l_column_value := p_attribute13;
15915 
15916                   END IF;
15917                   FND_FLEX_DESCVAL.Set_Column_Value
15918                   (   column_name   => 'ATTRIBUTE13'
15919                    ,  column_value  =>  l_column_value);
15920 
15921 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15922 
15923 		     l_column_value := null;
15924 
15925 	          ELSE
15926 
15927 		     l_column_value := p_attribute14;
15928 
15929                   END IF;
15930                   FND_FLEX_DESCVAL.Set_Column_Value
15931                   (   column_name   => 'ATTRIBUTE14'
15932                    ,  column_value  =>  l_column_value);
15933 
15934 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15935 
15936 		     l_column_value := null;
15937 
15938 	          ELSE
15939 
15940 		     l_column_value := p_attribute15;
15941 
15942                   END IF;
15943                   FND_FLEX_DESCVAL.Set_Column_Value
15944                   (   column_name   => 'ATTRIBUTE15'
15945                    ,  column_value  =>  l_column_value);
15946 
15947 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN -- For bug 2184255
15948 
15949 		     l_column_value := null;
15950 
15951 	          ELSE
15952 
15953 		     l_column_value := p_attribute16;
15954 
15955                   END IF;
15956                   FND_FLEX_DESCVAL.Set_Column_Value
15957                   (   column_name   => 'ATTRIBUTE16'
15958                    ,  column_value  =>  l_column_value);
15959 
15960 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15961 
15962 		     l_column_value := null;
15963 
15964 	          ELSE
15965 
15966 		     l_column_value := p_attribute17;
15967 
15968                   END IF;
15969                   FND_FLEX_DESCVAL.Set_Column_Value
15970                   (   column_name   => 'ATTRIBUTE17'
15971                    ,  column_value  =>  l_column_value);
15972 
15973 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15974 
15975 		     l_column_value := null;
15976 
15977 	          ELSE
15978 
15979 		     l_column_value := p_attribute18;
15980 
15981                   END IF;
15982                   FND_FLEX_DESCVAL.Set_Column_Value
15983                   (   column_name   => 'ATTRIBUTE18'
15984                    ,  column_value  =>  l_column_value);
15985 
15986 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15987 
15988 		     l_column_value := null;
15989 
15990 	          ELSE
15991 
15992 		     l_column_value := p_attribute19;
15993 
15994                   END IF;
15995                   FND_FLEX_DESCVAL.Set_Column_Value
15996                   (   column_name   => 'ATTRIBUTE19'
15997                    ,  column_value  =>  l_column_value);
15998 
15999 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16000 
16001 		     l_column_value := null;
16002 
16003 	          ELSE
16004 
16005 		     l_column_value := p_attribute20;
16006 
16007                   END IF;
16008                   FND_FLEX_DESCVAL.Set_Column_Value
16009                   (   column_name   => 'ATTRIBUTE20'
16010                    ,  column_value  =>  l_column_value);  --End bug 2184255
16011 
16012 
16013 		  IF p_context = FND_API.G_MISS_CHAR THEN
16014 
16015 		     l_column_value := null;
16016 
16017 	          ELSE
16018 
16019 		     l_column_value := p_context;
16020 
16021                   END IF;
16022 		  FND_FLEX_DESCVAL.Set_Context_Value
16023 		   ( context_value   => l_column_value);
16024 
16025                   IF p_document_type = 'ORDER' THEN
16026                    IF NOT OE_Validate.Desc_Flex('OE_LINE_ATTRIBUTES') THEN
16027 			RETURN FALSE;
16028                    END IF;
16029                   ELSIF p_document_type = 'BLANKET' THEN
16030                    IF NOT OE_Validate.Desc_Flex('OE_BLKT_LINE_ATTRIBUTES') THEN
16031 			RETURN FALSE;
16032                    END IF;
16033                   END IF;
16034 
16035                 /* commented out for 2056666
16036                 END IF;
16037                 */
16038 
16039     RETURN TRUE;
16040 
16041 EXCEPTION
16042 
16043    WHEN OTHERS THEN
16044 
16045 
16046      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16047      THEN
16048 
16049         OE_MSG_PUB.Add_Exc_Msg
16050 	( G_PKG_NAME
16051           , 'Line_Desc_Flex');
16052      END IF;
16053 
16054 
16055      RETURN FALSE;
16056 
16057 END Line_Desc_Flex;
16058 
16059 FUNCTION G_Line_Desc_Flex (p_context IN VARCHAR2,
16060 			   p_attribute1 IN VARCHAR2,
16061                            p_attribute2 IN VARCHAR2,
16062                            p_attribute3 IN VARCHAR2,
16063                            p_attribute4 IN VARCHAR2,
16064                            p_attribute5 IN VARCHAR2,
16065                            p_attribute6 IN VARCHAR2,
16066                            p_attribute7 IN VARCHAR2,
16067                            p_attribute8 IN VARCHAR2,
16068                            p_attribute9 IN VARCHAR2,
16069                            p_attribute10 IN VARCHAR2,
16070                            p_attribute11 IN VARCHAR2,
16071                            p_attribute12 IN VARCHAR2,
16072                            p_attribute13 IN VARCHAR2,
16073                            p_attribute14 IN VARCHAR2,
16074                            p_attribute15 IN VARCHAR2,
16075                            p_attribute16 IN VARCHAR2,
16076                            p_attribute17 IN VARCHAR2,
16077                            p_attribute18 IN VARCHAR2,
16078                            p_attribute19 IN VARCHAR2,
16079                            p_attribute20 IN VARCHAR2)
16080 RETURN BOOLEAN
16081 IS
16082 l_column_value VARCHAR2(240) := null;
16083 BEGIN
16084 
16085 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
16086 
16087 
16088                 g_context_name := 'GLOBAL_ATTRIBUTE_CATEGORY';
16089 		g_attribute1_name := 'GLOBAL_ATTRIBUTE1';
16090 		g_attribute2_name := 'GLOBAL_ATTRIBUTE2';
16091 		g_attribute3_name := 'GLOBAL_ATTRIBUTE3';
16092 		g_attribute4_name := 'GLOBAL_ATTRIBUTE4';
16093 		g_attribute5_name := 'GLOBAL_ATTRIBUTE5';
16094 		g_attribute6_name := 'GLOBAL_ATTRIBUTE6';
16095 		g_attribute7_name := 'GLOBAL_ATTRIBUTE7';
16096 		g_attribute8_name := 'GLOBAL_ATTRIBUTE8';
16097 		g_attribute9_name := 'GLOBAL_ATTRIBUTE9';
16098 		g_attribute10_name := 'GLOBAL_ATTRIBUTE10';
16099 		g_attribute11_name := 'GLOBAL_ATTRIBUTE11';
16100 		g_attribute12_name := 'GLOBAL_ATTRIBUTE12';
16101 		g_attribute13_name := 'GLOBAL_ATTRIBUTE13';
16102 		g_attribute14_name := 'GLOBAL_ATTRIBUTE14';
16103 		g_attribute15_name := 'GLOBAL_ATTRIBUTE15';
16104 		g_attribute16_name := 'GLOBAL_ATTRIBUTE16';
16105 		g_attribute17_name := 'GLOBAL_ATTRIBUTE17';
16106 		g_attribute18_name := 'GLOBAL_ATTRIBUTE18';
16107 		g_attribute19_name := 'GLOBAL_ATTRIBUTE19';
16108 		g_attribute20_name := 'GLOBAL_ATTRIBUTE20';
16109 
16110 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16111                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16112 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16113                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16114                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16115                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16116                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16117                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16118                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16119                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16120                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16121                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16122                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16123                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16124                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16125                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16126                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16127                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16128                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16129                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16130                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16131 
16132 
16133 		     RETURN TRUE;
16134 
16135                 ELSE */
16136 
16137 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16138 
16139 		     l_column_value := null;
16140 
16141 	          ELSE
16142 
16143 		     l_column_value := p_attribute1;
16144 
16145                   END IF;
16146 
16147                   FND_FLEX_DESCVAL.Set_Column_Value
16148                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
16149                    ,  column_value  => l_column_value);
16150 
16151 
16152 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16153 
16154 		     l_column_value := null;
16155 
16156 	          ELSE
16157 
16158 		     l_column_value := p_attribute2;
16159 
16160                   END IF;
16161                   FND_FLEX_DESCVAL.Set_Column_Value
16162                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
16163                    ,  column_value  =>  l_column_value);
16164 
16165 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16166 
16167 		     l_column_value := null;
16168 
16169 	          ELSE
16170 
16171 		     l_column_value := p_attribute3;
16172 
16173                   END IF;
16174                   FND_FLEX_DESCVAL.Set_Column_Value
16175                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
16176                    ,  column_value  =>  l_column_value);
16177 
16178 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16179 
16180 		     l_column_value := null;
16181 
16182 	          ELSE
16183 
16184 		     l_column_value := p_attribute4;
16185 
16186                   END IF;
16187                   FND_FLEX_DESCVAL.Set_Column_Value
16188                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
16189                    ,  column_value  =>  l_column_value);
16190 
16191 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16192 
16193 		     l_column_value := null;
16194 
16195 	          ELSE
16196 
16197 		     l_column_value := p_attribute5;
16198 
16199                   END IF;
16200                   FND_FLEX_DESCVAL.Set_Column_Value
16201                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
16202                    ,  column_value  =>  l_column_value);
16203 
16204 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16205 
16206 		     l_column_value := null;
16207 
16208 	          ELSE
16209 
16210 		     l_column_value := p_attribute6;
16211 
16212                   END IF;
16213                   FND_FLEX_DESCVAL.Set_Column_Value
16214                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
16215                    ,  column_value  =>  l_column_value);
16216 
16217 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16218 
16219 		     l_column_value := null;
16220 
16221 	          ELSE
16222 
16223 		     l_column_value := p_attribute7;
16224 
16225                   END IF;
16226                   FND_FLEX_DESCVAL.Set_Column_Value
16227                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
16228                    ,  column_value  =>  l_column_value);
16229 
16230 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16231 
16232 		     l_column_value := null;
16233 
16234 	          ELSE
16235 
16236 		     l_column_value := p_attribute8;
16237 
16238                   END IF;
16239                   FND_FLEX_DESCVAL.Set_Column_Value
16240                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
16241                    ,  column_value  =>  l_column_value);
16242 
16243 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16244 
16245 		     l_column_value := null;
16246 
16247 	          ELSE
16248 
16249 		     l_column_value := p_attribute9;
16250 
16251                   END IF;
16252                   FND_FLEX_DESCVAL.Set_Column_Value
16253                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
16254                    ,  column_value  =>  l_column_value);
16255 
16256 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16257 
16258 		     l_column_value := null;
16259 
16260 	          ELSE
16261 
16262 		     l_column_value := p_attribute10;
16263 
16264                   END IF;
16265                   FND_FLEX_DESCVAL.Set_Column_Value
16266                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
16267                    ,  column_value  =>  l_column_value);
16268 
16269 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16270 
16271 		     l_column_value := null;
16272 
16273 	          ELSE
16274 
16275 		     l_column_value := p_attribute11;
16276 
16277                   END IF;
16278                   FND_FLEX_DESCVAL.Set_Column_Value
16279                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
16280                    ,  column_value  =>  l_column_value);
16281 
16282 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16283 
16284 		     l_column_value := null;
16285 
16286 	          ELSE
16287 
16288 		     l_column_value := p_attribute12;
16289 
16290                   END IF;
16291                   FND_FLEX_DESCVAL.Set_Column_Value
16292                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
16293                    ,  column_value  =>  l_column_value);
16294 
16295 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16296 
16297 		     l_column_value := null;
16298 
16299 	          ELSE
16300 
16301 		     l_column_value := p_attribute13;
16302 
16303                   END IF;
16304                   FND_FLEX_DESCVAL.Set_Column_Value
16305                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
16306                    ,  column_value  =>  l_column_value);
16307 
16308 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16309 
16310 		     l_column_value := null;
16311 
16312 	          ELSE
16313 
16314 		     l_column_value := p_attribute14;
16315 
16316                   END IF;
16317                   FND_FLEX_DESCVAL.Set_Column_Value
16318                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
16319                    ,  column_value  =>  l_column_value);
16320 
16321 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16322 
16323 		     l_column_value := null;
16324 
16325 	          ELSE
16326 
16327 		     l_column_value := p_attribute15;
16328 
16329                   END IF;
16330                   FND_FLEX_DESCVAL.Set_Column_Value
16331                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
16332                    ,  column_value  =>  l_column_value);
16333 
16334 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
16335 
16336 		     l_column_value := null;
16337 
16338 	          ELSE
16339 
16340 		     l_column_value := p_attribute16;
16341 
16342                   END IF;
16343 
16344                   FND_FLEX_DESCVAL.Set_Column_Value
16345                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
16346                    ,  column_value  =>  l_column_value);
16347 
16348 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
16349 
16350 		     l_column_value := null;
16351 
16352 	          ELSE
16353 
16354 		     l_column_value := p_attribute17;
16355 
16356                   END IF;
16357                   FND_FLEX_DESCVAL.Set_Column_Value
16358                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
16359                    ,  column_value  =>  l_column_value);
16360 
16361 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
16362 
16363 		     l_column_value := null;
16364 
16365 	          ELSE
16366 
16367 		     l_column_value := p_attribute18;
16368 
16369                   END IF;
16370                   FND_FLEX_DESCVAL.Set_Column_Value
16371                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
16372                    ,  column_value  =>  l_column_value);
16373 
16374 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
16375 
16376 		     l_column_value := null;
16377 
16378 	          ELSE
16379 
16380 		     l_column_value := p_attribute19;
16381 
16382                   END IF;
16383                   FND_FLEX_DESCVAL.Set_Column_Value
16384                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
16385                    ,  column_value  =>  l_column_value);
16386 
16387 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16388 
16389 		     l_column_value := null;
16390 
16391 	          ELSE
16392 
16393 		     l_column_value := p_attribute20;
16394 
16395                   END IF;
16396                   FND_FLEX_DESCVAL.Set_Column_Value
16397                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
16398                    ,  column_value  =>  l_column_value);
16399 
16400 		  IF p_context = FND_API.G_MISS_CHAR THEN
16401 
16402 		     l_column_value := null;
16403 
16404 	          ELSE
16405 
16406 		     l_column_value := p_context;
16407 
16408                   END IF;
16409 		  FND_FLEX_DESCVAL.Set_Context_Value
16410 		   ( context_value   => l_column_value);
16411 /*commenting this code due to bug# 993103
16412                    IF NOT OE_Validate.Desc_Flex('OE_LINE_GLOBAL_ATTRIBUTE') THEN
16413 
16414 			RETURN FALSE;
16415                    END IF;  */
16416 
16417                 --END IF;
16418 
16419     RETURN TRUE;
16420 
16421 EXCEPTION
16422 
16423    WHEN OTHERS THEN
16424 
16425 
16426      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16427      THEN
16428 
16429         OE_MSG_PUB.Add_Exc_Msg
16430 	( G_PKG_NAME
16431           , 'G_Line_Desc_Flex');
16432      END IF;
16433 
16434      RETURN FALSE;
16435 END G_Line_Desc_Flex;
16436 
16437 FUNCTION P_Line_Desc_Flex (p_context IN VARCHAR2,
16438 			   p_attribute1 IN VARCHAR2,
16439                            p_attribute2 IN VARCHAR2,
16440                            p_attribute3 IN VARCHAR2,
16441                            p_attribute4 IN VARCHAR2,
16442                            p_attribute5 IN VARCHAR2,
16443                            p_attribute6 IN VARCHAR2,
16444                            p_attribute7 IN VARCHAR2,
16445                            p_attribute8 IN VARCHAR2,
16446                            p_attribute9 IN VARCHAR2,
16447                            p_attribute10 IN VARCHAR2)
16448 
16449 RETURN BOOLEAN
16450 IS
16451 l_column_value VARCHAR2(240) := null;
16452 BEGIN
16453 
16454    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_CONTEXT');
16455 
16456                 g_context_name := 'PRICING_CONTEXT';
16457 		g_attribute1_name := 'PRICING_ATTRIBUTE1';
16458 		g_attribute2_name := 'PRICING_ATTRIBUTE2';
16459 		g_attribute3_name := 'PRICING_ATTRIBUTE3';
16460 		g_attribute4_name := 'PRICING_ATTRIBUTE4';
16461 		g_attribute5_name := 'PRICING_ATTRIBUTE5';
16462 		g_attribute6_name := 'PRICING_ATTRIBUTE6';
16463 		g_attribute7_name := 'PRICING_ATTRIBUTE7';
16464 		g_attribute8_name := 'PRICING_ATTRIBUTE8';
16465 		g_attribute9_name := 'PRICING_ATTRIBUTE9';
16466 		g_attribute10_name := 'PRICING_ATTRIBUTE10';
16467 
16468 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16469                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16470 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16471                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16472                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16473                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16474                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16475                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16476                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16477                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16478                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16479 
16480 
16481 		     RETURN TRUE;
16482 
16483                 ELSE*/
16484 
16485 
16486 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16487 
16488 		     l_column_value := null;
16489 
16490 	          ELSE
16491 
16492 		     l_column_value := p_attribute1;
16493 
16494                   END IF;
16495 
16496                   FND_FLEX_DESCVAL.Set_Column_Value
16497                   (   column_name   => 'PRICING_ATTRIBUTE1'
16498                    ,  column_value  => l_column_value);
16499 
16500 
16501 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16502 
16503 		     l_column_value := null;
16504 
16505 	          ELSE
16506 
16507 		     l_column_value := p_attribute2;
16508 
16509                   END IF;
16510                   FND_FLEX_DESCVAL.Set_Column_Value
16511                   (   column_name   => 'PRICING_ATTRIBUTE2'
16512                    ,  column_value  =>  l_column_value);
16513 
16514 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16515 
16516 		     l_column_value := null;
16517 
16518 	          ELSE
16519 
16520 		     l_column_value := p_attribute3;
16521 
16522                   END IF;
16523                   FND_FLEX_DESCVAL.Set_Column_Value
16524                   (   column_name   => 'PRICING_ATTRIBUTE3'
16525                    ,  column_value  =>  l_column_value);
16526 
16527 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16528 
16529 		     l_column_value := null;
16530 
16531 	          ELSE
16532 
16533 		     l_column_value := p_attribute4;
16534 
16535                   END IF;
16536                   FND_FLEX_DESCVAL.Set_Column_Value
16537                   (   column_name   => 'PRICING_ATTRIBUTE4'
16538                    ,  column_value  =>  l_column_value);
16539 
16540 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16541 
16542 		     l_column_value := null;
16543 
16544 	          ELSE
16545 
16546 		     l_column_value := p_attribute5;
16547 
16548                   END IF;
16549                   FND_FLEX_DESCVAL.Set_Column_Value
16550                   (   column_name   => 'PRICING_ATTRIBUTE5'
16551                    ,  column_value  =>  l_column_value);
16552 
16553 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16554 
16555 		     l_column_value := null;
16556 
16557 	          ELSE
16558 
16559 		     l_column_value := p_attribute6;
16560 
16561                   END IF;
16562                   FND_FLEX_DESCVAL.Set_Column_Value
16563                   (   column_name   => 'PRICING_ATTRIBUTE6'
16564                    ,  column_value  =>  l_column_value);
16565 
16566 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16567 
16568 		     l_column_value := null;
16569 
16570 	          ELSE
16571 
16572 		     l_column_value := p_attribute7;
16573 
16574                   END IF;
16575                   FND_FLEX_DESCVAL.Set_Column_Value
16576                   (   column_name   => 'PRICING_ATTRIBUTE7'
16577                    ,  column_value  =>  l_column_value);
16578 
16579 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16580 
16581 		     l_column_value := null;
16582 
16583 	          ELSE
16584 
16585 		     l_column_value := p_attribute8;
16586 
16587                   END IF;
16588                   FND_FLEX_DESCVAL.Set_Column_Value
16589                   (   column_name   => 'PRICING_ATTRIBUTE8'
16590                    ,  column_value  =>  l_column_value);
16591 
16592 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16593 
16594 		     l_column_value := null;
16595 
16596 	          ELSE
16597 
16598 		     l_column_value := p_attribute9;
16599 
16600                   END IF;
16601                   FND_FLEX_DESCVAL.Set_Column_Value
16602                   (   column_name   => 'PRICING_ATTRIBUTE9'
16603                    ,  column_value  =>  l_column_value);
16604 
16605 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16606 
16607 		     l_column_value := null;
16608 
16609 	          ELSE
16610 
16611 		     l_column_value := p_attribute10;
16612 
16613                   END IF;
16614                   FND_FLEX_DESCVAL.Set_Column_Value
16615                   (   column_name   => 'PRICING_ATTRIBUTE10'
16616                    ,  column_value  =>  l_column_value);
16617 
16618 
16619 		  IF p_context = FND_API.G_MISS_CHAR THEN
16620 
16621 		     l_column_value := null;
16622 
16623 	          ELSE
16624 
16625 		     l_column_value := p_context;
16626 
16627                   END IF;
16628 		  FND_FLEX_DESCVAL.Set_Context_Value
16629 		   ( context_value   => l_column_value);
16630 
16631                    IF NOT OE_Validate.Desc_Flex('OE_LINE_PRICING_ATTRIBUTE') THEN
16632 			RETURN FALSE;
16633                    END IF;
16634 
16635 
16636                -- END IF;
16637 
16638     RETURN TRUE;
16639 
16640 EXCEPTION
16641 
16642    WHEN OTHERS THEN
16643 
16644 
16645      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16646      THEN
16647 
16648         OE_MSG_PUB.Add_Exc_Msg
16649 	( G_PKG_NAME
16650           , 'P_Line_Desc_Flex');
16651      END IF;
16652 
16653 
16654      RETURN FALSE;
16655 
16656 END P_Line_Desc_Flex;
16657 
16658 
16659 FUNCTION I_Line_Desc_Flex (p_context IN VARCHAR2,
16660 			         p_attribute1 IN VARCHAR2,
16661                            p_attribute2 IN VARCHAR2,
16662                            p_attribute3 IN VARCHAR2,
16663                            p_attribute4 IN VARCHAR2,
16664                            p_attribute5 IN VARCHAR2,
16665                            p_attribute6 IN VARCHAR2,
16666                            p_attribute7 IN VARCHAR2,
16667                            p_attribute8 IN VARCHAR2,
16668                            p_attribute9 IN VARCHAR2,
16669                            p_attribute10 IN VARCHAR2,
16670                            p_attribute11 IN VARCHAR2,
16671                            p_attribute12 IN VARCHAR2,
16672                            p_attribute13 IN VARCHAR2,
16673                            p_attribute14 IN VARCHAR2,
16674                            p_attribute15 IN VARCHAR2,
16675 			         p_attribute16 IN VARCHAR2,
16676                            p_attribute17 IN VARCHAR2,
16677                            p_attribute18 IN VARCHAR2,
16678                            p_attribute19 IN VARCHAR2,
16679                            p_attribute20 IN VARCHAR2,
16680                            p_attribute21 IN VARCHAR2,
16681                            p_attribute22 IN VARCHAR2,
16682                            p_attribute23 IN VARCHAR2,
16683                            p_attribute24 IN VARCHAR2,
16684                            p_attribute25 IN VARCHAR2,
16685                            p_attribute26 IN VARCHAR2,
16686                            p_attribute27 IN VARCHAR2,
16687                            p_attribute28 IN VARCHAR2,
16688                            p_attribute29 IN VARCHAR2,
16689                            p_attribute30 IN VARCHAR2)
16690 
16691 
16692 RETURN BOOLEAN
16693 IS
16694 l_column_value VARCHAR2(240) := null;
16695 
16696  l_status    VARCHAR2(1) := NULL;
16697  l_industry  VARCHAR2(30) := NULL;
16698  l_rlm_product_id NUMBER := 662;
16699 
16700 BEGIN
16701 
16702 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INDUSTRY_CONTEXT');
16703 
16704    /*** commented out for bug 1701377
16705    -- Check if RLM is installed
16706    if (FND_INSTALLATION.Get(l_rlm_product_id,l_rlm_product_id,
16707                                                 l_status, l_industry )) then
16708 
16709         if (l_status = 'I') then
16710            G_RLM_INSTALLED_FLAG := 'Y';
16711         else
16712            G_RLM_INSTALLED_FLAG := 'N';
16713         end if;
16714 
16715    else
16716         G_RLM_INSTALLED_FLAG := 'N';
16717    end if;
16718    OE_DEBUG_PUB.ADD('OEXSVATB:G_RLM_INSTALLED_FLAG:' || G_RLM_INSTALLED_FLAG);
16719      ***/
16720 
16721                 g_context_name := 'INDUSTRY_CONTEXT';
16722 		g_attribute1_name := 'INDUSTRY_ATTRIBUTE1';
16723 		g_attribute2_name := 'INDUSTRY_ATTRIBUTE2';
16724 		g_attribute3_name := 'INDUSTRY_ATTRIBUTE3';
16725 		g_attribute4_name := 'INDUSTRY_ATTRIBUTE4';
16726 		g_attribute5_name := 'INDUSTRY_ATTRIBUTE5';
16727 		g_attribute6_name := 'INDUSTRY_ATTRIBUTE6';
16728 		g_attribute7_name := 'INDUSTRY_ATTRIBUTE7';
16729 		g_attribute8_name := 'INDUSTRY_ATTRIBUTE8';
16730 		g_attribute9_name := 'INDUSTRY_ATTRIBUTE9';
16731 		g_attribute10_name := 'INDUSTRY_ATTRIBUTE10';
16732 		g_attribute11_name := 'INDUSTRY_ATTRIBUTE11';
16733 		g_attribute12_name := 'INDUSTRY_ATTRIBUTE12';
16734 		g_attribute13_name := 'INDUSTRY_ATTRIBUTE13';
16735 		g_attribute14_name := 'INDUSTRY_ATTRIBUTE14';
16736 		g_attribute15_name := 'INDUSTRY_ATTRIBUTE15';
16737 		g_attribute16_name := 'INDUSTRY_ATTRIBUTE16';
16738 		g_attribute17_name := 'INDUSTRY_ATTRIBUTE17';
16739 		g_attribute18_name := 'INDUSTRY_ATTRIBUTE18';
16740 		g_attribute19_name := 'INDUSTRY_ATTRIBUTE19';
16741 		g_attribute20_name := 'INDUSTRY_ATTRIBUTE20';
16742 		g_attribute21_name := 'INDUSTRY_ATTRIBUTE21';
16743 		g_attribute22_name := 'INDUSTRY_ATTRIBUTE22';
16744 		g_attribute23_name := 'INDUSTRY_ATTRIBUTE23';
16745 		g_attribute24_name := 'INDUSTRY_ATTRIBUTE24';
16746 		g_attribute25_name := 'INDUSTRY_ATTRIBUTE25';
16747 		g_attribute26_name := 'INDUSTRY_ATTRIBUTE26';
16748 		g_attribute27_name := 'INDUSTRY_ATTRIBUTE27';
16749 		g_attribute28_name := 'INDUSTRY_ATTRIBUTE28';
16750 		g_attribute29_name := 'INDUSTRY_ATTRIBUTE29';
16751 		g_attribute30_name := 'INDUSTRY_ATTRIBUTE30';
16752 
16753 		/*IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16754                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16755 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16756                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16757                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16758                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16759                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16760                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16761                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16762                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16763                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16764                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16765                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16766                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16767                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16768                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16769 		    AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16770                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16771                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16772                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16773                 AND  (p_attribute21 = FND_API.G_MISS_CHAR)
16774                 AND  (p_attribute22 = FND_API.G_MISS_CHAR)
16775                 AND  (p_attribute23 = FND_API.G_MISS_CHAR)
16776                 AND  (p_attribute24 = FND_API.G_MISS_CHAR)
16777                 AND  (p_attribute25 = FND_API.G_MISS_CHAR)
16778                 AND  (p_attribute26 = FND_API.G_MISS_CHAR)
16779                 AND  (p_attribute27 = FND_API.G_MISS_CHAR)
16780                 AND  (p_attribute28 = FND_API.G_MISS_CHAR)
16781                 AND  (p_attribute29 = FND_API.G_MISS_CHAR)
16782                 AND  (p_attribute30 = FND_API.G_MISS_CHAR)
16783                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16784 
16785 
16786 		     RETURN TRUE;
16787 
16788                 ELSE */
16789 
16790 
16791 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16792 
16793 		     l_column_value := null;
16794 
16795 	          ELSE
16796 
16797 		     l_column_value := p_attribute1;
16798 
16799                   END IF;
16800 
16801                   FND_FLEX_DESCVAL.Set_Column_Value
16802                   (   column_name   => 'INDUSTRY_ATTRIBUTE1'
16803                    ,  column_value  => l_column_value);
16804 
16805 
16806 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16807 
16808 		     l_column_value := null;
16809 
16810 	          ELSE
16811 
16812 		     l_column_value := p_attribute2;
16813 
16814                   END IF;
16815                   FND_FLEX_DESCVAL.Set_Column_Value
16816                   (   column_name   => 'INDUSTRY_ATTRIBUTE2'
16817                    ,  column_value  =>  l_column_value);
16818 
16819 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16820 
16821 		     l_column_value := null;
16822 
16823 	          ELSE
16824 
16825 		     l_column_value := p_attribute3;
16826 
16827                   END IF;
16828                   FND_FLEX_DESCVAL.Set_Column_Value
16829                   (   column_name   => 'INDUSTRY_ATTRIBUTE3'
16830                    ,  column_value  =>  l_column_value);
16831 
16832 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16833 
16834 		     l_column_value := null;
16835 
16836 	          ELSE
16837 
16838 		     l_column_value := p_attribute4;
16839 
16840                   END IF;
16841                   FND_FLEX_DESCVAL.Set_Column_Value
16842                   (   column_name   => 'INDUSTRY_ATTRIBUTE4'
16843                    ,  column_value  =>  l_column_value);
16844 
16845 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16846 
16847 		     l_column_value := null;
16848 
16849 	          ELSE
16850 
16851 		     l_column_value := p_attribute5;
16852 
16853                   END IF;
16854                   FND_FLEX_DESCVAL.Set_Column_Value
16855                   (   column_name   => 'INDUSTRY_ATTRIBUTE5'
16856                    ,  column_value  =>  l_column_value);
16857 
16858 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16859 
16860 		     l_column_value := null;
16861 
16862 	          ELSE
16863 
16864 		     l_column_value := p_attribute6;
16865 
16866                   END IF;
16867                   FND_FLEX_DESCVAL.Set_Column_Value
16868                   (   column_name   => 'INDUSTRY_ATTRIBUTE6'
16869                    ,  column_value  =>  l_column_value);
16870 
16871 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16872 
16873 		     l_column_value := null;
16874 
16875 	          ELSE
16876 
16877 		     l_column_value := p_attribute7;
16878 
16879                   END IF;
16880                   FND_FLEX_DESCVAL.Set_Column_Value
16881                   (   column_name   => 'INDUSTRY_ATTRIBUTE7'
16882                    ,  column_value  =>  l_column_value);
16883 
16884 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16885 
16886 		     l_column_value := null;
16887 
16888 	          ELSE
16889 
16890 		     l_column_value := p_attribute8;
16891 
16892                   END IF;
16893                   FND_FLEX_DESCVAL.Set_Column_Value
16894                   (   column_name   => 'INDUSTRY_ATTRIBUTE8'
16895                    ,  column_value  =>  l_column_value);
16896 
16897 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16898 
16899 		     l_column_value := null;
16900 
16901 	          ELSE
16902 
16903 		     l_column_value := p_attribute9;
16904 
16905                   END IF;
16906                   FND_FLEX_DESCVAL.Set_Column_Value
16907                   (   column_name   => 'INDUSTRY_ATTRIBUTE9'
16908                    ,  column_value  =>  l_column_value);
16909 
16910 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16911 
16912 		     l_column_value := null;
16913 
16914 	          ELSE
16915 
16916 		     l_column_value := p_attribute10;
16917 
16918                   END IF;
16919                   FND_FLEX_DESCVAL.Set_Column_Value
16920                   (   column_name   => 'INDUSTRY_ATTRIBUTE10'
16921                    ,  column_value  =>  l_column_value);
16922 
16923 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16924 
16925 		     l_column_value := null;
16926 
16927 	          ELSE
16928 
16929 		     l_column_value := p_attribute11;
16930 
16931                   END IF;
16932                   FND_FLEX_DESCVAL.Set_Column_Value
16933                   (   column_name   => 'INDUSTRY_ATTRIBUTE11'
16934                    ,  column_value  =>  l_column_value);
16935 
16936 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16937 
16938 		     l_column_value := null;
16939 
16940 	          ELSE
16941 
16942 		     l_column_value := p_attribute12;
16943 
16944                   END IF;
16945                   FND_FLEX_DESCVAL.Set_Column_Value
16946                   (   column_name   => 'INDUSTRY_ATTRIBUTE12'
16947                    ,  column_value  =>  l_column_value);
16948 
16949 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16950 
16951 		     l_column_value := null;
16952 
16953 	          ELSE
16954 
16955 		     l_column_value := p_attribute13;
16956 
16957                   END IF;
16958                   FND_FLEX_DESCVAL.Set_Column_Value
16959                   (   column_name   => 'INDUSTRY_ATTRIBUTE13'
16960                    ,  column_value  =>  l_column_value);
16961 
16962 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16963 
16964 		     l_column_value := null;
16965 
16966 	          ELSE
16967 
16968 		     l_column_value := p_attribute14;
16969 
16970                   END IF;
16971                   FND_FLEX_DESCVAL.Set_Column_Value
16972                   (   column_name   => 'INDUSTRY_ATTRIBUTE14'
16973                    ,  column_value  =>  l_column_value);
16974 
16975 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16976 
16977 		     l_column_value := null;
16978 
16979 	          ELSE
16980 
16981 		     l_column_value := p_attribute15;
16982 
16983                   END IF;
16984                   FND_FLEX_DESCVAL.Set_Column_Value
16985                   (   column_name   => 'INDUSTRY_ATTRIBUTE15'
16986                    ,  column_value  =>  l_column_value);
16987 
16988 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
16989 
16990 		     l_column_value := null;
16991 
16992 	          ELSE
16993 
16994 		     l_column_value := p_attribute16;
16995 
16996                   END IF;
16997                   FND_FLEX_DESCVAL.Set_Column_Value
16998                   (   column_name   => 'INDUSTRY_ATTRIBUTE16'
16999                    ,  column_value  =>  l_column_value);
17000 
17001 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
17002 
17003 		     l_column_value := null;
17004 
17005 	          ELSE
17006 
17007 		     l_column_value := p_attribute17;
17008 
17009                   END IF;
17010                   FND_FLEX_DESCVAL.Set_Column_Value
17011                   (   column_name   => 'INDUSTRY_ATTRIBUTE17'
17012                    ,  column_value  =>  l_column_value);
17013 
17014 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
17015 
17016 		     l_column_value := null;
17017 
17018 	          ELSE
17019 
17020 		     l_column_value := p_attribute18;
17021 
17022                   END IF;
17023                   FND_FLEX_DESCVAL.Set_Column_Value
17024                   (   column_name   => 'INDUSTRY_ATTRIBUTE18'
17025                    ,  column_value  =>  l_column_value);
17026 
17027 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
17028 
17029 		     l_column_value := null;
17030 
17031 	          ELSE
17032 
17033 		     l_column_value := p_attribute19;
17034 
17035                   END IF;
17036                   FND_FLEX_DESCVAL.Set_Column_Value
17037                   (   column_name   => 'INDUSTRY_ATTRIBUTE19'
17038                    ,  column_value  =>  l_column_value);
17039 
17040 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
17041 
17042 		     l_column_value := null;
17043 
17044 	          ELSE
17045 
17046 		     l_column_value := p_attribute20;
17047 
17048                   END IF;
17049                   FND_FLEX_DESCVAL.Set_Column_Value
17050                   (   column_name   => 'INDUSTRY_ATTRIBUTE20'
17051                    ,  column_value  =>  l_column_value);
17052 
17053 		  IF p_attribute21 = FND_API.G_MISS_CHAR THEN
17054 
17055 		     l_column_value := null;
17056 
17057 	          ELSE
17058 
17059 		     l_column_value := p_attribute21;
17060 
17061                   END IF;
17062                   FND_FLEX_DESCVAL.Set_Column_Value
17063                   (   column_name   => 'INDUSTRY_ATTRIBUTE21'
17064                    ,  column_value  =>  l_column_value);
17065 
17066 		  IF p_attribute22 = FND_API.G_MISS_CHAR THEN
17067 
17068 		     l_column_value := null;
17069 
17070 	          ELSE
17071 
17072 		     l_column_value := p_attribute22;
17073 
17074                   END IF;
17075                   FND_FLEX_DESCVAL.Set_Column_Value
17076                   (   column_name   => 'INDUSTRY_ATTRIBUTE22'
17077                    ,  column_value  =>  l_column_value);
17078 
17079 		  IF p_attribute23 = FND_API.G_MISS_CHAR THEN
17080 
17081 		     l_column_value := null;
17082 
17083 	          ELSE
17084 
17085 		     l_column_value := p_attribute23;
17086 
17087                   END IF;
17088                   FND_FLEX_DESCVAL.Set_Column_Value
17089                   (   column_name   => 'INDUSTRY_ATTRIBUTE23'
17090                    ,  column_value  =>  l_column_value);
17091 
17092 		  IF p_attribute24 = FND_API.G_MISS_CHAR THEN
17093 
17094 		     l_column_value := null;
17095 
17096 	          ELSE
17097 
17098 		     l_column_value := p_attribute24;
17099 
17100                   END IF;
17101                   FND_FLEX_DESCVAL.Set_Column_Value
17102                   (   column_name   => 'INDUSTRY_ATTRIBUTE24'
17103                    ,  column_value  =>  l_column_value);
17104 
17105 		  IF p_attribute25 = FND_API.G_MISS_CHAR THEN
17106 
17107 		     l_column_value := null;
17108 
17109 	          ELSE
17110 
17111 		     l_column_value := p_attribute25;
17112 
17113                   END IF;
17114                   FND_FLEX_DESCVAL.Set_Column_Value
17115                   (   column_name   => 'INDUSTRY_ATTRIBUTE25'
17116                    ,  column_value  =>  l_column_value);
17117 
17118 		  IF p_attribute26 = FND_API.G_MISS_CHAR THEN
17119 
17120 		     l_column_value := null;
17121 
17122 	          ELSE
17123 
17124 		     l_column_value := p_attribute26;
17125 
17126                   END IF;
17127                   FND_FLEX_DESCVAL.Set_Column_Value
17128                   (   column_name   => 'INDUSTRY_ATTRIBUTE26'
17129                    ,  column_value  =>  l_column_value);
17130 
17131 		  IF p_attribute27 = FND_API.G_MISS_CHAR THEN
17132 
17133 		     l_column_value := null;
17134 
17135 	          ELSE
17136 
17137 		     l_column_value := p_attribute27;
17138 
17139                   END IF;
17140                   FND_FLEX_DESCVAL.Set_Column_Value
17141                   (   column_name   => 'INDUSTRY_ATTRIBUTE27'
17142                    ,  column_value  =>  l_column_value);
17143 
17144 		  IF p_attribute28 = FND_API.G_MISS_CHAR THEN
17145 
17146 		     l_column_value := null;
17147 
17148 	          ELSE
17149 
17150 		     l_column_value := p_attribute28;
17151 
17152                   END IF;
17153                   FND_FLEX_DESCVAL.Set_Column_Value
17154                   (   column_name   => 'INDUSTRY_ATTRIBUTE28'
17155                    ,  column_value  =>  l_column_value);
17156 
17157 		  IF p_attribute29 = FND_API.G_MISS_CHAR THEN
17158 
17159 		     l_column_value := null;
17160 
17161 	          ELSE
17162 
17163 		     l_column_value := p_attribute29;
17164 
17165                   END IF;
17166                   FND_FLEX_DESCVAL.Set_Column_Value
17167                   (   column_name   => 'INDUSTRY_ATTRIBUTE29'
17168                    ,  column_value  =>  l_column_value);
17169 
17170 		  IF p_attribute30 = FND_API.G_MISS_CHAR THEN
17171 
17172 		     l_column_value := null;
17173 
17174 	          ELSE
17175 
17176 		     l_column_value := p_attribute30;
17177 
17178                   END IF;
17179                   FND_FLEX_DESCVAL.Set_Column_Value
17180                   (   column_name   => 'INDUSTRY_ATTRIBUTE30'
17181                    ,  column_value  =>  l_column_value);
17182 
17183 
17184 
17185 		  IF p_context = FND_API.G_MISS_CHAR THEN
17186 
17187 		     l_column_value := null;
17188 
17189 	          ELSE
17190 
17191 		     l_column_value := p_context;
17192 
17193                   END IF;
17194 		  FND_FLEX_DESCVAL.Set_Context_Value
17195 		   ( context_value   => l_column_value);
17196 
17197            -- bug 1701377
17198 		 -- check if RLM is installed
17199 	      IF OE_GLOBALS.G_RLM_INSTALLED IS NULL THEN
17200 		   OE_GLOBALS.G_RLM_INSTALLED := OE_GLOBALS.CHECK_PRODUCT_INSTALLED(662);
17201            END IF;
17202 		 -- end of 1701377
17203 
17204 	      IF OE_GLOBALS.G_RLM_INSTALLED = 'Y' THEN
17205 
17206            -- IF (G_RLM_INSTALLED_FLAG = 'Y') THEN
17207               IF NOT OE_Validate.Desc_Flex('RLM_SCHEDULE_LINES') THEN
17208 			RETURN FALSE;
17209               END IF;
17210            ELSE
17211               IF NOT OE_Validate.Desc_Flex('OE_LINE_INDUSTRY_ATTRIBUTE') THEN
17212 			RETURN FALSE;
17213               END IF;
17214            END IF;
17215 
17216                 --END IF;
17217 
17218     RETURN TRUE;
17219 
17220 EXCEPTION
17221 
17222    WHEN OTHERS THEN
17223 
17224 
17225      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17226      THEN
17227 
17228         OE_MSG_PUB.Add_Exc_Msg
17229 	( G_PKG_NAME
17230           , 'I_Line_Desc_Flex');
17231      END IF;
17232 
17233 
17234      RETURN FALSE;
17235 
17236 END I_Line_Desc_Flex;
17237 
17238 
17239 FUNCTION TP_Line_Desc_Flex (p_context IN VARCHAR2,
17240 			         p_attribute1 IN VARCHAR2,
17241                            p_attribute2 IN VARCHAR2,
17242                            p_attribute3 IN VARCHAR2,
17243                            p_attribute4 IN VARCHAR2,
17244                            p_attribute5 IN VARCHAR2,
17245                            p_attribute6 IN VARCHAR2,
17246                            p_attribute7 IN VARCHAR2,
17247                            p_attribute8 IN VARCHAR2,
17248                            p_attribute9 IN VARCHAR2,
17249                            p_attribute10 IN VARCHAR2,
17250                            p_attribute11 IN VARCHAR2,
17251                            p_attribute12 IN VARCHAR2,
17252                            p_attribute13 IN VARCHAR2,
17253                            p_attribute14 IN VARCHAR2,
17254                            p_attribute15 IN VARCHAR2)
17255 
17256 
17257 RETURN BOOLEAN
17258 IS
17259 l_column_value VARCHAR2(240) := null;
17260 BEGIN
17261 
17262 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TP_CONTEXT');
17263 
17264                 g_context_name := 'TP_CONTEXT';
17265 		g_attribute1_name := 'TP_ATTRIBUTE1';
17266 		g_attribute2_name := 'TP_ATTRIBUTE2';
17267 		g_attribute3_name := 'TP_ATTRIBUTE3';
17268 		g_attribute4_name := 'TP_ATTRIBUTE4';
17269 		g_attribute5_name := 'TP_ATTRIBUTE5';
17270 		g_attribute6_name := 'TP_ATTRIBUTE6';
17271 		g_attribute7_name := 'TP_ATTRIBUTE7';
17272 		g_attribute8_name := 'TP_ATTRIBUTE8';
17273 		g_attribute9_name := 'TP_ATTRIBUTE9';
17274 		g_attribute10_name := 'TP_ATTRIBUTE10';
17275 		g_attribute11_name := 'TP_ATTRIBUTE11';
17276 		g_attribute12_name := 'TP_ATTRIBUTE12';
17277 		g_attribute13_name := 'TP_ATTRIBUTE13';
17278 		g_attribute14_name := 'TP_ATTRIBUTE14';
17279 		g_attribute15_name := 'TP_ATTRIBUTE15';
17280 
17281 		/*IF  (p_attribute1 = FND_API.G_MISS_CHAR)
17282                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17283 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17284                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17285                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17286                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17287                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17288                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17289                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17290                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17291                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17292                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17293                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17294                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17295                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17296                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17297 
17298 
17299 		     RETURN TRUE;
17300 
17301                 ELSE */
17302 
17303 
17304 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17305 
17306 		     l_column_value := null;
17307 
17308 	          ELSE
17309 
17310 		     l_column_value := p_attribute1;
17311 
17312                   END IF;
17313 
17314                   FND_FLEX_DESCVAL.Set_Column_Value
17315                   (   column_name   => 'TP_ATTRIBUTE1'
17316                    ,  column_value  => l_column_value);
17317 
17318 
17319 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17320 
17321 		     l_column_value := null;
17322 
17323 	          ELSE
17324 
17325 		     l_column_value := p_attribute2;
17326 
17327                   END IF;
17328                   FND_FLEX_DESCVAL.Set_Column_Value
17329                   (   column_name   => 'TP_ATTRIBUTE2'
17330                    ,  column_value  =>  l_column_value);
17331 
17332 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17333 
17334 		     l_column_value := null;
17335 
17336 	          ELSE
17337 
17338 		     l_column_value := p_attribute3;
17339 
17340                   END IF;
17341                   FND_FLEX_DESCVAL.Set_Column_Value
17342                   (   column_name   => 'TP_ATTRIBUTE3'
17343                    ,  column_value  =>  l_column_value);
17344 
17345 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17346 
17347 		     l_column_value := null;
17348 
17349 	          ELSE
17350 
17351 		     l_column_value := p_attribute4;
17352 
17353                   END IF;
17354                   FND_FLEX_DESCVAL.Set_Column_Value
17355                   (   column_name   => 'TP_ATTRIBUTE4'
17356                    ,  column_value  =>  l_column_value);
17357 
17358 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17359 
17360 		     l_column_value := null;
17361 
17362 	          ELSE
17363 
17364 		     l_column_value := p_attribute5;
17365 
17366                   END IF;
17367                   FND_FLEX_DESCVAL.Set_Column_Value
17368                   (   column_name   => 'TP_ATTRIBUTE5'
17369                    ,  column_value  =>  l_column_value);
17370 
17371 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17372 
17373 		     l_column_value := null;
17374 
17375 	          ELSE
17376 
17377 		     l_column_value := p_attribute6;
17378 
17379                   END IF;
17380                   FND_FLEX_DESCVAL.Set_Column_Value
17381                   (   column_name   => 'TP_ATTRIBUTE6'
17382                    ,  column_value  =>  l_column_value);
17383 
17384 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17385 
17386 		     l_column_value := null;
17387 
17388 	          ELSE
17389 
17390 		     l_column_value := p_attribute7;
17391 
17392                   END IF;
17393                   FND_FLEX_DESCVAL.Set_Column_Value
17394                   (   column_name   => 'TP_ATTRIBUTE7'
17395                    ,  column_value  =>  l_column_value);
17396 
17397 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17398 
17399 		     l_column_value := null;
17400 
17401 	          ELSE
17402 
17403 		     l_column_value := p_attribute8;
17404 
17405                   END IF;
17406                   FND_FLEX_DESCVAL.Set_Column_Value
17407                   (   column_name   => 'TP_ATTRIBUTE8'
17408                    ,  column_value  =>  l_column_value);
17409 
17410 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17411 
17412 		     l_column_value := null;
17413 
17414 	          ELSE
17415 
17416 		     l_column_value := p_attribute9;
17417 
17418                   END IF;
17419                   FND_FLEX_DESCVAL.Set_Column_Value
17420                   (   column_name   => 'TP_ATTRIBUTE9'
17421                    ,  column_value  =>  l_column_value);
17422 
17423 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17424 
17425 		     l_column_value := null;
17426 
17427 	          ELSE
17428 
17429 		     l_column_value := p_attribute10;
17430 
17431                   END IF;
17432                   FND_FLEX_DESCVAL.Set_Column_Value
17433                   (   column_name   => 'TP_ATTRIBUTE10'
17434                    ,  column_value  =>  l_column_value);
17435 
17436 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17437 
17438 		     l_column_value := null;
17439 
17440 	          ELSE
17441 
17442 		     l_column_value := p_attribute11;
17443 
17444                   END IF;
17445                   FND_FLEX_DESCVAL.Set_Column_Value
17446                   (   column_name   => 'TP_ATTRIBUTE11'
17447                    ,  column_value  =>  l_column_value);
17448 
17449 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17450 
17451 		     l_column_value := null;
17452 
17453 	          ELSE
17454 
17455 		     l_column_value := p_attribute12;
17456 
17457                   END IF;
17458                   FND_FLEX_DESCVAL.Set_Column_Value
17459                   (   column_name   => 'TP_ATTRIBUTE12'
17460                    ,  column_value  =>  l_column_value);
17461 
17462 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17463 
17464 		     l_column_value := null;
17465 
17466 	          ELSE
17467 
17468 		     l_column_value := p_attribute13;
17469 
17470                   END IF;
17471                   FND_FLEX_DESCVAL.Set_Column_Value
17472                   (   column_name   => 'TP_ATTRIBUTE13'
17473                    ,  column_value  =>  l_column_value);
17474 
17475 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17476 
17477 		     l_column_value := null;
17478 
17479 	          ELSE
17480 
17481 		     l_column_value := p_attribute14;
17482 
17483                   END IF;
17484                   FND_FLEX_DESCVAL.Set_Column_Value
17485                   (   column_name   => 'TP_ATTRIBUTE14'
17486                    ,  column_value  =>  l_column_value);
17487 
17488 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17489 
17490 		     l_column_value := null;
17491 
17492 	          ELSE
17493 
17494 		     l_column_value := p_attribute15;
17495 
17496                   END IF;
17497                   FND_FLEX_DESCVAL.Set_Column_Value
17498                   (   column_name   => 'TP_ATTRIBUTE15'
17499                    ,  column_value  =>  l_column_value);
17500 
17501 
17502 
17503 		  IF p_context = FND_API.G_MISS_CHAR THEN
17504 
17505 		     l_column_value := null;
17506 
17507 	          ELSE
17508 
17509 		     l_column_value := p_context;
17510 
17511                   END IF;
17512 		  FND_FLEX_DESCVAL.Set_Context_Value
17513 		   ( context_value   => l_column_value);
17514 
17515                    IF NOT OE_Validate.Desc_Flex('OE_LINE_TP_ATTRIBUTES') THEN
17516 			RETURN FALSE;
17517                    END IF;
17518 
17519 
17520                 --END IF;
17521 
17522     RETURN TRUE;
17523 
17524 EXCEPTION
17525 
17526    WHEN OTHERS THEN
17527 
17528 
17529      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17530      THEN
17531 
17532         OE_MSG_PUB.Add_Exc_Msg
17533 	( G_PKG_NAME
17534           , 'TP_Line_Desc_Flex');
17535      END IF;
17536 
17537 
17538      RETURN FALSE;
17539 
17540 END TP_Line_Desc_Flex;
17541 
17542 
17543 FUNCTION R_Line_Desc_Flex (p_context IN VARCHAR2,
17544 			   p_attribute1 IN VARCHAR2,
17545                            p_attribute2 IN VARCHAR2,
17546                            p_attribute3 IN VARCHAR2,
17547                            p_attribute4 IN VARCHAR2,
17548                            p_attribute5 IN VARCHAR2,
17549                            p_attribute6 IN VARCHAR2,
17550                            p_attribute7 IN VARCHAR2,
17551                            p_attribute8 IN VARCHAR2,
17552                            p_attribute9 IN VARCHAR2,
17553                            p_attribute10 IN VARCHAR2,
17554                            p_attribute11 IN VARCHAR2,
17555                            p_attribute12 IN VARCHAR2,
17556                            p_attribute13 IN VARCHAR2,
17557                            p_attribute14 IN VARCHAR2,
17558                            p_attribute15 IN VARCHAR2)
17559 
17560 RETURN BOOLEAN
17561 IS
17562 l_column_value VARCHAR2(240) := null;
17563 BEGIN
17564 
17565    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_CONTEXT');
17566 
17567    /* Following assignments have been added for bug 2755607, since the call
17568       to oe_validate.desc_flex is commented for Return Flex field, the global
17569       variables holding the flex values  need to be assigned with NULL, this
17570       can commented when call to oe_validate.desc_flex is uncommented below */
17571 
17572     		g_context     := NULL;
17573     		g_attribute1  := NULL;
17574     		g_attribute2  := NULL;
17575     		g_attribute3  := NULL;
17576     		g_attribute4  := NULL;
17577     		g_attribute5  := NULL;
17578     		g_attribute6  := NULL;
17579     		g_attribute7  := NULL;
17580     		g_attribute8  := NULL;
17581     		g_attribute9  := NULL;
17582     		g_attribute10 := NULL;
17583     		g_attribute11 := NULL;
17584     		g_attribute12 := NULL;
17585     		g_attribute13 := NULL;
17586     		g_attribute14 := NULL;
17587     		g_attribute15 := NULL;
17588 
17589                 g_context_name := 'RETURN_CONTEXT';
17590 		g_attribute1_name := 'RETURN_ATTRIBUTE1';
17591 		g_attribute2_name := 'RETURN_ATTRIBUTE2';
17592 		g_attribute3_name := 'RETURN_ATTRIBUTE3';
17593 		g_attribute4_name := 'RETURN_ATTRIBUTE4';
17594 		g_attribute5_name := 'RETURN_ATTRIBUTE5';
17595 		g_attribute6_name := 'RETURN_ATTRIBUTE6';
17596 		g_attribute7_name := 'RETURN_ATTRIBUTE7';
17597 		g_attribute8_name := 'RETURN_ATTRIBUTE8';
17598 		g_attribute9_name := 'RETURN_ATTRIBUTE9';
17599 		g_attribute10_name := 'RETURN_ATTRIBUTE10';
17600 		g_attribute11_name := 'RETURN_ATTRIBUTE11';
17601 		g_attribute12_name := 'RETURN_ATTRIBUTE12';
17602 		g_attribute13_name := 'RETURN_ATTRIBUTE13';
17603 		g_attribute14_name := 'RETURN_ATTRIBUTE14';
17604 		g_attribute15_name := 'RETURN_ATTRIBUTE15';
17605 
17606 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17607                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17608 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17609                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17610                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17611                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17612                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17613                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17614                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17615                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17616                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17617                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17618                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17619                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17620                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17621                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17622 
17623 
17624 		     RETURN TRUE;
17625 
17626                 ELSE */
17627 
17628 
17629 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17630 
17631 		     l_column_value := null;
17632 
17633 	          ELSE
17634 
17635 		     l_column_value := p_attribute1;
17636 
17637                   END IF;
17638 
17639                   FND_FLEX_DESCVAL.Set_Column_Value
17640                   (   column_name   => 'RETURN_ATTRIBUTE1'
17641                    ,  column_value  => l_column_value);
17642 
17643 
17644 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17645 
17646 		     l_column_value := null;
17647 
17648 	          ELSE
17649 
17650 		     l_column_value := p_attribute2;
17651 
17652                   END IF;
17653                   FND_FLEX_DESCVAL.Set_Column_Value
17654                   (   column_name   => 'RETURN_ATTRIBUTE2'
17655                    ,  column_value  =>  l_column_value);
17656 
17657 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17658 
17659 		     l_column_value := null;
17660 
17661 	          ELSE
17662 
17663 		     l_column_value := p_attribute3;
17664 
17665                   END IF;
17666                   FND_FLEX_DESCVAL.Set_Column_Value
17667                   (   column_name   => 'RETURN_ATTRIBUTE3'
17668                    ,  column_value  =>  l_column_value);
17669 
17670 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17671 
17672 		     l_column_value := null;
17673 
17674 	          ELSE
17675 
17676 		     l_column_value := p_attribute4;
17677 
17678                   END IF;
17679                   FND_FLEX_DESCVAL.Set_Column_Value
17680                   (   column_name   => 'RETURN_ATTRIBUTE4'
17681                    ,  column_value  =>  l_column_value);
17682 
17683 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17684 
17685 		     l_column_value := null;
17686 
17687 	          ELSE
17688 
17689 		     l_column_value := p_attribute5;
17690 
17691                   END IF;
17692                   FND_FLEX_DESCVAL.Set_Column_Value
17693                   (   column_name   => 'RETURN_ATTRIBUTE5'
17694                    ,  column_value  =>  l_column_value);
17695 
17696 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17697 
17698 		     l_column_value := null;
17699 
17700 	          ELSE
17701 
17702 		     l_column_value := p_attribute6;
17703 
17704                   END IF;
17705                   FND_FLEX_DESCVAL.Set_Column_Value
17706                   (   column_name   => 'RETURN_ATTRIBUTE6'
17707                    ,  column_value  =>  l_column_value);
17708 
17709 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17710 
17711 		     l_column_value := null;
17712 
17713 	          ELSE
17714 
17715 		     l_column_value := p_attribute7;
17716 
17717                   END IF;
17718                   FND_FLEX_DESCVAL.Set_Column_Value
17719                   (   column_name   => 'RETURN_ATTRIBUTE7'
17720                    ,  column_value  =>  l_column_value);
17721 
17722 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17723 
17724 		     l_column_value := null;
17725 
17726 	          ELSE
17727 
17728 		     l_column_value := p_attribute8;
17729 
17730                   END IF;
17731                   FND_FLEX_DESCVAL.Set_Column_Value
17732                   (   column_name   => 'RETURN_ATTRIBUTE8'
17733                    ,  column_value  =>  l_column_value);
17734 
17735 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17736 
17737 		     l_column_value := null;
17738 
17739 	          ELSE
17740 
17741 		     l_column_value := p_attribute9;
17742 
17743                   END IF;
17744                   FND_FLEX_DESCVAL.Set_Column_Value
17745                   (   column_name   => 'RETURN_ATTRIBUTE9'
17746                    ,  column_value  =>  l_column_value);
17747 
17748 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17749 
17750 		     l_column_value := null;
17751 
17752 	          ELSE
17753 
17754 		     l_column_value := p_attribute10;
17755 
17756                   END IF;
17757                   FND_FLEX_DESCVAL.Set_Column_Value
17758                   (   column_name   => 'RETURN_ATTRIBUTE10'
17759                    ,  column_value  =>  l_column_value);
17760 
17761 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17762 
17763 		     l_column_value := null;
17764 
17765 	          ELSE
17766 
17767 		     l_column_value := p_attribute11;
17768 
17769                   END IF;
17770                   FND_FLEX_DESCVAL.Set_Column_Value
17771                   (   column_name   => 'RETURN_ATTRIBUTE11'
17772                    ,  column_value  =>  l_column_value);
17773 
17774 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17775 
17776 		     l_column_value := null;
17777 
17778 	          ELSE
17779 
17780 		     l_column_value := p_attribute12;
17781 
17782                   END IF;
17783                   FND_FLEX_DESCVAL.Set_Column_Value
17784                   (   column_name   => 'RETURN_ATTRIBUTE12'
17785                    ,  column_value  =>  l_column_value);
17786 
17787 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17788 
17789 		     l_column_value := null;
17790 
17791 	          ELSE
17792 
17793 		     l_column_value := p_attribute13;
17794 
17795                   END IF;
17796                   FND_FLEX_DESCVAL.Set_Column_Value
17797                   (   column_name   => 'RETURN_ATTRIBUTE13'
17798                    ,  column_value  =>  l_column_value);
17799 
17800 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17801 
17802 		     l_column_value := null;
17803 
17804 	          ELSE
17805 
17806 		     l_column_value := p_attribute14;
17807 
17808                   END IF;
17809                   FND_FLEX_DESCVAL.Set_Column_Value
17810                   (   column_name   => 'RETURN_ATTRIBUTE14'
17811                    ,  column_value  =>  l_column_value);
17812 
17813 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17814 
17815 		     l_column_value := null;
17816 
17817 	          ELSE
17818 
17819 		     l_column_value := p_attribute15;
17820 
17821                   END IF;
17822                   FND_FLEX_DESCVAL.Set_Column_Value
17823                   (   column_name   => 'RETURN_ATTRIBUTE15'
17824                    ,  column_value  =>  l_column_value);
17825 
17826 		  IF p_context = FND_API.G_MISS_CHAR THEN
17827 
17828 		    l_column_value := null;
17829 
17830 	       ELSE
17831 
17832 		    l_column_value := p_context;
17833 
17834             END IF;
17835 
17836 		  FND_FLEX_DESCVAL.Set_Context_Value
17837 		   ( context_value   => l_column_value);
17838 
17839 
17840 	-- Remove after fixing :block.field_name stuff
17841 
17842         --    IF NOT OE_Validate.Desc_Flex('OE_LINE_RETURN_ATTRIBUTE') THEN
17843         --					RETURN FALSE;
17844         --    END IF;
17845 
17846 --         END IF;
17847 
17848     RETURN TRUE;
17849 
17850 EXCEPTION
17851 
17852    WHEN OTHERS THEN
17853 
17854 
17855      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17856      THEN
17857 
17858         OE_MSG_PUB.Add_Exc_Msg
17859 	( G_PKG_NAME
17860           , 'R_Line_Desc_Flex');
17861      END IF;
17862 
17863 
17864      RETURN FALSE;
17865 
17866 END R_Line_Desc_Flex;
17867 
17868 
17869 FUNCTION Price_Adj_Desc_Flex (p_context IN VARCHAR2,
17870 			   p_attribute1 IN VARCHAR2,
17871                            p_attribute2 IN VARCHAR2,
17872                            p_attribute3 IN VARCHAR2,
17873                            p_attribute4 IN VARCHAR2,
17874                            p_attribute5 IN VARCHAR2,
17875                            p_attribute6 IN VARCHAR2,
17876                            p_attribute7 IN VARCHAR2,
17877                            p_attribute8 IN VARCHAR2,
17878                            p_attribute9 IN VARCHAR2,
17879                            p_attribute10 IN VARCHAR2,
17880                            p_attribute11 IN VARCHAR2,
17881                            p_attribute12 IN VARCHAR2,
17882                            p_attribute13 IN VARCHAR2,
17883                            p_attribute14 IN VARCHAR2,
17884                            p_attribute15 IN VARCHAR2)
17885 
17886 RETURN BOOLEAN
17887 IS
17888 l_column_value VARCHAR2(240) := null;
17889 BEGIN
17890 
17891 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
17892 
17893 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17894                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17895 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17896                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17897                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17898                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17899                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17900                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17901                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17902                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17903                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17904                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17905                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17906                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17907                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17908                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17909 
17910 
17911 		     RETURN TRUE;
17912 
17913                 ELSE
17914 
17915 
17916 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17917 
17918 		     l_column_value := null;
17919 
17920 	          ELSE
17921 
17922 		     l_column_value := p_attribute1;
17923 
17924                   END IF;
17925 
17926                   FND_FLEX_DESCVAL.Set_Column_Value
17927                   (   column_name   => 'ATTRIBUTE1'
17928                    ,  column_value  => l_column_value);
17929 
17930 
17931 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17932 
17933 		     l_column_value := null;
17934 
17935 	          ELSE
17936 
17937 		     l_column_value := p_attribute2;
17938 
17939                   END IF;
17940                   FND_FLEX_DESCVAL.Set_Column_Value
17941                   (   column_name   => 'ATTRIBUTE2'
17942                    ,  column_value  =>  l_column_value);
17943 
17944 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17945 
17946 		     l_column_value := null;
17947 
17948 	          ELSE
17949 
17950 		     l_column_value := p_attribute3;
17951 
17952                   END IF;
17953                   FND_FLEX_DESCVAL.Set_Column_Value
17954                   (   column_name   => 'ATTRIBUTE3'
17955                    ,  column_value  =>  l_column_value);
17956 
17957 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17958 
17959 		     l_column_value := null;
17960 
17961 	          ELSE
17962 
17963 		     l_column_value := p_attribute4;
17964 
17965                   END IF;
17966                   FND_FLEX_DESCVAL.Set_Column_Value
17967                   (   column_name   => 'ATTRIBUTE4'
17968                    ,  column_value  =>  l_column_value);
17969 
17970 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17971 
17972 		     l_column_value := null;
17973 
17974 	          ELSE
17975 
17976 		     l_column_value := p_attribute5;
17977 
17978                   END IF;
17979                   FND_FLEX_DESCVAL.Set_Column_Value
17980                   (   column_name   => 'ATTRIBUTE5'
17981                    ,  column_value  =>  l_column_value);
17982 
17983 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17984 
17985 		     l_column_value := null;
17986 
17987 	          ELSE
17988 
17989 		     l_column_value := p_attribute6;
17990 
17991                   END IF;
17992                   FND_FLEX_DESCVAL.Set_Column_Value
17993                   (   column_name   => 'ATTRIBUTE6'
17994                    ,  column_value  =>  l_column_value);
17995 
17996 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17997 
17998 		     l_column_value := null;
17999 
18000 	          ELSE
18001 
18002 		     l_column_value := p_attribute7;
18003 
18004                   END IF;
18005                   FND_FLEX_DESCVAL.Set_Column_Value
18006                   (   column_name   => 'ATTRIBUTE7'
18007                    ,  column_value  =>  l_column_value);
18008 
18009 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
18010 
18011 		     l_column_value := null;
18012 
18013 	          ELSE
18014 
18015 		     l_column_value := p_attribute8;
18016 
18017                   END IF;
18018                   FND_FLEX_DESCVAL.Set_Column_Value
18019                   (   column_name   => 'ATTRIBUTE8'
18020                    ,  column_value  =>  l_column_value);
18021 
18022 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
18023 
18024 		     l_column_value := null;
18025 
18026 	          ELSE
18027 
18028 		     l_column_value := p_attribute9;
18029 
18030                   END IF;
18031                   FND_FLEX_DESCVAL.Set_Column_Value
18032                   (   column_name   => 'ATTRIBUTE9'
18033                    ,  column_value  =>  l_column_value);
18034 
18035 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
18036 
18037 		     l_column_value := null;
18038 
18039 	          ELSE
18040 
18041 		     l_column_value := p_attribute10;
18042 
18043                   END IF;
18044                   FND_FLEX_DESCVAL.Set_Column_Value
18045                   (   column_name   => 'ATTRIBUTE10'
18046                    ,  column_value  =>  l_column_value);
18047 
18048 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
18049 
18050 		     l_column_value := null;
18051 
18052 	          ELSE
18053 
18054 		     l_column_value := p_attribute11;
18055 
18056                   END IF;
18057                   FND_FLEX_DESCVAL.Set_Column_Value
18058                   (   column_name   => 'ATTRIBUTE11'
18059                    ,  column_value  =>  l_column_value);
18060 
18061 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
18062 
18063 		     l_column_value := null;
18064 
18065 	          ELSE
18066 
18067 		     l_column_value := p_attribute12;
18068 
18069                   END IF;
18070                   FND_FLEX_DESCVAL.Set_Column_Value
18071                   (   column_name   => 'ATTRIBUTE12'
18072                    ,  column_value  =>  l_column_value);
18073 
18074 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
18075 
18076 		     l_column_value := null;
18077 
18078 	          ELSE
18079 
18080 		     l_column_value := p_attribute13;
18081 
18082                   END IF;
18083                   FND_FLEX_DESCVAL.Set_Column_Value
18084                   (   column_name   => 'ATTRIBUTE13'
18085                    ,  column_value  =>  l_column_value);
18086 
18087 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
18088 
18089 		     l_column_value := null;
18090 
18091 	          ELSE
18092 
18093 		     l_column_value := p_attribute14;
18094 
18095                   END IF;
18096                   FND_FLEX_DESCVAL.Set_Column_Value
18097                   (   column_name   => 'ATTRIBUTE14'
18098                    ,  column_value  =>  l_column_value);
18099 
18100 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
18101 
18102 		     l_column_value := null;
18103 
18104 	          ELSE
18105 
18106 		     l_column_value := p_attribute15;
18107 
18108                   END IF;
18109                   FND_FLEX_DESCVAL.Set_Column_Value
18110                   (   column_name   => 'ATTRIBUTE15'
18111                    ,  column_value  =>  l_column_value);
18112 
18113 		  IF p_context = FND_API.G_MISS_CHAR THEN
18114 
18115 		     l_column_value := null;
18116 
18117 	          ELSE
18118 
18119 		     l_column_value := p_context;
18120 
18121                   END IF;
18122 		  FND_FLEX_DESCVAL.Set_Context_Value
18123 		   ( context_value   => l_column_value);
18124 
18125                    IF NOT OE_Validate.Desc_Flex('OE_PRICE_ADJUSTMENT') THEN
18126 			RETURN FALSE;
18127                    END IF;
18128 
18129 
18130                 END IF;
18131 
18132     RETURN TRUE;
18133 
18134 EXCEPTION
18135 
18136    WHEN OTHERS THEN
18137 
18138 
18139      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18140      THEN
18141 
18142         OE_MSG_PUB.Add_Exc_Msg
18143 	( G_PKG_NAME
18144           , 'Price_Adj_Desc_Flex');
18145      END IF;
18146 
18147 
18148      RETURN FALSE;
18149 
18150 
18151 END Price_Adj_Desc_Flex;
18152 
18153 FUNCTION Sales_Credits_Desc_Flex (p_context IN VARCHAR2,
18154 			   p_attribute1 IN VARCHAR2,
18155                            p_attribute2 IN VARCHAR2,
18156                            p_attribute3 IN VARCHAR2,
18157                            p_attribute4 IN VARCHAR2,
18158                            p_attribute5 IN VARCHAR2,
18159                            p_attribute6 IN VARCHAR2,
18160                            p_attribute7 IN VARCHAR2,
18161                            p_attribute8 IN VARCHAR2,
18162                            p_attribute9 IN VARCHAR2,
18163                            p_attribute10 IN VARCHAR2,
18164                            p_attribute11 IN VARCHAR2,
18165                            p_attribute12 IN VARCHAR2,
18166                            p_attribute13 IN VARCHAR2,
18167                            p_attribute14 IN VARCHAR2,
18168                            p_attribute15 IN VARCHAR2)
18169 
18170 RETURN BOOLEAN
18171 IS
18172 l_column_value VARCHAR2(240) := null;
18173 BEGIN
18174 
18175 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
18176 -- Added the following lines to fix the bug 3006018 */
18177    --  Assiging the segment names so as to map the values after the FND call.
18178                 g_context_name := 'CONTEXT';
18179                 g_attribute1_name := 'ATTRIBUTE1';
18180                 g_attribute2_name := 'ATTRIBUTE2';
18181                 g_attribute3_name := 'ATTRIBUTE3';
18182                 g_attribute4_name := 'ATTRIBUTE4';
18183                 g_attribute5_name := 'ATTRIBUTE5';
18184                 g_attribute6_name := 'ATTRIBUTE6';
18185                 g_attribute7_name := 'ATTRIBUTE7';
18186                 g_attribute8_name := 'ATTRIBUTE8';
18187                 g_attribute9_name := 'ATTRIBUTE9';
18188                 g_attribute10_name := 'ATTRIBUTE10';
18189                 g_attribute11_name := 'ATTRIBUTE11';
18190                 g_attribute12_name := 'ATTRIBUTE12';
18191                 g_attribute13_name := 'ATTRIBUTE13';
18192                 g_attribute14_name := 'ATTRIBUTE14';
18193                 g_attribute15_name := 'ATTRIBUTE15';
18194 
18195 /* Commented the following lines to fix the bug 3006018 */
18196 /*
18197 
18198 
18199 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
18200                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
18201 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
18202                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
18203                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
18204                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
18205                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
18206                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
18207                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
18208                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
18209                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
18210                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
18211                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
18212                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
18213                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
18214                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
18215 
18216 
18217 		     RETURN TRUE;
18218 
18219                 ELSE
18220 
18221 
18222 */
18223 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
18224 
18225 		     l_column_value := null;
18226 
18227 	          ELSE
18228 
18229 		     l_column_value := p_attribute1;
18230 
18231                   END IF;
18232 
18233                   FND_FLEX_DESCVAL.Set_Column_Value
18234                   (   column_name   => 'ATTRIBUTE1'
18235                    ,  column_value  => l_column_value);
18236 
18237 
18238 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
18239 
18240 		     l_column_value := null;
18241 
18242 	          ELSE
18243 
18244 		     l_column_value := p_attribute2;
18245 
18246                   END IF;
18247                   FND_FLEX_DESCVAL.Set_Column_Value
18248                   (   column_name   => 'ATTRIBUTE2'
18249                    ,  column_value  =>  l_column_value);
18250 
18251 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
18252 
18253 		     l_column_value := null;
18254 
18255 	          ELSE
18256 
18257 		     l_column_value := p_attribute3;
18258 
18259                   END IF;
18260                   FND_FLEX_DESCVAL.Set_Column_Value
18261                   (   column_name   => 'ATTRIBUTE3'
18262                    ,  column_value  =>  l_column_value);
18263 
18264 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
18265 
18266 		     l_column_value := null;
18267 
18268 	          ELSE
18269 
18270 		     l_column_value := p_attribute4;
18271 
18272                   END IF;
18273                   FND_FLEX_DESCVAL.Set_Column_Value
18274                   (   column_name   => 'ATTRIBUTE4'
18275                    ,  column_value  =>  l_column_value);
18276 
18277 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
18278 
18279 		     l_column_value := null;
18280 
18281 	          ELSE
18282 
18283 		     l_column_value := p_attribute5;
18284 
18285                   END IF;
18286                   FND_FLEX_DESCVAL.Set_Column_Value
18287                   (   column_name   => 'ATTRIBUTE5'
18288                    ,  column_value  =>  l_column_value);
18289 
18290 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
18291 
18292 		     l_column_value := null;
18293 
18294 	          ELSE
18295 
18296 		     l_column_value := p_attribute6;
18297 
18298                   END IF;
18299                   FND_FLEX_DESCVAL.Set_Column_Value
18300                   (   column_name   => 'ATTRIBUTE6'
18301                    ,  column_value  =>  l_column_value);
18302 
18303 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
18304 
18305 		     l_column_value := null;
18306 
18307 	          ELSE
18308 
18309 		     l_column_value := p_attribute7;
18310 
18311                   END IF;
18312                   FND_FLEX_DESCVAL.Set_Column_Value
18313                   (   column_name   => 'ATTRIBUTE7'
18314                    ,  column_value  =>  l_column_value);
18315 
18316 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
18317 
18318 		     l_column_value := null;
18319 
18320 	          ELSE
18321 
18322 		     l_column_value := p_attribute8;
18323 
18324                   END IF;
18325                   FND_FLEX_DESCVAL.Set_Column_Value
18326                   (   column_name   => 'ATTRIBUTE8'
18327                    ,  column_value  =>  l_column_value);
18328 
18329 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
18330 
18331 		     l_column_value := null;
18332 
18333 	          ELSE
18334 
18335 		     l_column_value := p_attribute9;
18336 
18337                   END IF;
18338                   FND_FLEX_DESCVAL.Set_Column_Value
18339                   (   column_name   => 'ATTRIBUTE9'
18340                    ,  column_value  =>  l_column_value);
18341 
18342 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
18343 
18344 		     l_column_value := null;
18345 
18346 	          ELSE
18347 
18348 		     l_column_value := p_attribute10;
18349 
18350                   END IF;
18351                   FND_FLEX_DESCVAL.Set_Column_Value
18352                   (   column_name   => 'ATTRIBUTE10'
18353                    ,  column_value  =>  l_column_value);
18354 
18355 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
18356 
18357 		     l_column_value := null;
18358 
18359 	          ELSE
18360 
18361 		     l_column_value := p_attribute11;
18362 
18363                   END IF;
18364                   FND_FLEX_DESCVAL.Set_Column_Value
18365                   (   column_name   => 'ATTRIBUTE11'
18366                    ,  column_value  =>  l_column_value);
18367 
18368 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
18369 
18370 		     l_column_value := null;
18371 
18372 	          ELSE
18373 
18374 		     l_column_value := p_attribute12;
18375 
18376                   END IF;
18377                   FND_FLEX_DESCVAL.Set_Column_Value
18378                   (   column_name   => 'ATTRIBUTE12'
18379                    ,  column_value  =>  l_column_value);
18380 
18381 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
18382 
18383 		     l_column_value := null;
18384 
18385 	          ELSE
18386 
18387 		     l_column_value := p_attribute13;
18388 
18389                   END IF;
18390                   FND_FLEX_DESCVAL.Set_Column_Value
18391                   (   column_name   => 'ATTRIBUTE13'
18392                    ,  column_value  =>  l_column_value);
18393 
18394 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
18395 
18396 		     l_column_value := null;
18397 
18398 	          ELSE
18399 
18400 		     l_column_value := p_attribute14;
18401 
18402                   END IF;
18403                   FND_FLEX_DESCVAL.Set_Column_Value
18404                   (   column_name   => 'ATTRIBUTE14'
18405                    ,  column_value  =>  l_column_value);
18406 
18407 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
18408 
18409 		     l_column_value := null;
18410 
18411 	          ELSE
18412 
18413 		     l_column_value := p_attribute15;
18414 
18415                   END IF;
18416                   FND_FLEX_DESCVAL.Set_Column_Value
18417                   (   column_name   => 'ATTRIBUTE15'
18418                    ,  column_value  =>  l_column_value);
18419 
18420 		  IF p_context = FND_API.G_MISS_CHAR THEN
18421 
18422 		     l_column_value := null;
18423 
18424 	          ELSE
18425 
18426 		     l_column_value := p_context;
18427 
18428                   END IF;
18429 		  FND_FLEX_DESCVAL.Set_Context_Value
18430 		   ( context_value   => l_column_value);
18431 
18432                    IF NOT OE_Validate.Desc_Flex('OE_SALES_CREDITS_ATTRIBUTES') THEN
18433                         OE_DEBUG_PUB.add('Error at validation of OE_SALES_CREDITS_ATTRIBUTES ',1);
18434 			RETURN FALSE;
18435                    END IF;
18436 
18437 
18438 /* Commented the following line to fix the bug 3006018
18439                 END IF;
18440 */
18441 
18442 
18443     RETURN TRUE;
18444 
18445 EXCEPTION
18446 
18447    WHEN OTHERS THEN
18448 
18449 
18450      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18451      THEN
18452 
18453         OE_MSG_PUB.Add_Exc_Msg
18454 	( G_PKG_NAME
18455           , 'Sales_Credits_Desc_Flex');
18456      END IF;
18457 
18458 
18459     RETURN FALSE;
18460 
18461 END Sales_Credits_Desc_Flex;
18462 
18463 
18464 FUNCTION Return_reason ( p_return_reason_code IN VARCHAR2 )
18465 RETURN BOOLEAN
18466 IS
18467 l_dummy                       VARCHAR2(10);
18468 l_lookup_type      	      VARCHAR2(80) :='CREDIT_MEMO_REASON';
18469 BEGIN
18470 
18471 
18472     IF p_return_reason_code IS NULL OR
18473         p_return_reason_code = FND_API.G_MISS_CHAR
18474     THEN
18475 
18476         RETURN TRUE;
18477     END IF;
18478 
18479     SELECT  'VALID'
18480     INTO    l_dummy
18481     FROM    OE_AR_LOOKUPS_V
18482     WHERE   LOOKUP_CODE = p_return_reason_code
18483     AND     LOOKUP_TYPE = l_lookup_type
18484     AND     ENABLED_FLAG = 'Y'
18485     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18486                         AND NVL(END_DATE_ACTIVE, SYSDATE);
18487 
18488 
18489     RETURN TRUE;
18490 
18491 EXCEPTION
18492 
18493     WHEN NO_DATA_FOUND THEN
18494 
18495         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18496         THEN
18497 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_REASON_CODE');
18498 
18499 
18500             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18501             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18502 				OE_Order_Util.Get_Attribute_Name('return_reason_code'));
18503             OE_MSG_PUB.Add;
18504 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18505 
18506         END IF;
18507 
18508 
18509 
18510 
18511         RETURN FALSE;
18512 
18513     WHEN OTHERS THEN
18514 
18515         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18516         THEN
18517             OE_MSG_PUB.Add_Exc_Msg
18518             (   G_PKG_NAME
18519             ,   'return_reason'
18520             );
18521         END IF;
18522 
18523 
18524 
18525         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18526 
18527 END Return_reason;
18528 
18529 FUNCTION Split_from_line ( p_split_from_line_id IN NUMBER )
18530 RETURN BOOLEAN
18531 IS
18532 l_dummy                       VARCHAR2(10);
18533 BEGIN
18534 
18535 
18536     IF p_split_from_line_id IS NULL OR
18537         p_split_from_line_id = FND_API.G_MISS_NUM
18538     THEN
18539 
18540         RETURN TRUE;
18541     END IF;
18542 
18543     --  SELECT  'VALID'
18544     --  INTO     l_dummy
18545     --  FROM     DB_TABLE
18546     --  WHERE    DB_COLUMN = p_split_from_line_id;
18547 
18548 
18549 
18550     RETURN TRUE;
18551 
18552 EXCEPTION
18553 
18554     WHEN NO_DATA_FOUND THEN
18555 
18556         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18557         THEN
18558 
18559 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_FROM_LINE_ID');
18560 
18561             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18562             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18563 				OE_Order_Util.Get_Attribute_Name('split_from_line_id'));
18564             OE_MSG_PUB.Add;
18565 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18566 
18567         END IF;
18568 
18569 
18570 
18571         RETURN FALSE;
18572 
18573     WHEN OTHERS THEN
18574 
18575         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18576         THEN
18577             OE_MSG_PUB.Add_Exc_Msg
18578             (   G_PKG_NAME
18579             ,   'split_from_line'
18580             );
18581         END IF;
18582 
18583 
18584 
18585         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18586 
18587 END Split_from_line;
18588 
18589 FUNCTION Cust_production_seq_num ( p_cust_production_seq_num IN VARCHAR2 )
18590 RETURN BOOLEAN
18591 IS
18592 l_dummy                       VARCHAR2(10);
18593 BEGIN
18594 
18595 
18596     IF p_cust_production_seq_num IS NULL OR
18597         p_cust_production_seq_num = FND_API.G_MISS_CHAR
18598     THEN
18599 
18600         RETURN TRUE;
18601     END IF;
18602 
18603     --  SELECT  'VALID'
18604     --  INTO     l_dummy
18605     --  FROM     DB_TABLE
18606     --  WHERE    DB_COLUMN = p_cust_production_seq_num;
18607 
18608 
18609 
18610     RETURN TRUE;
18611 
18612 EXCEPTION
18613 
18614     WHEN NO_DATA_FOUND THEN
18615 
18616         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18617         THEN
18618 
18619 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_SEQ_NUM');
18620 
18621             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18622             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18623 				OE_Order_Util.Get_Attribute_Name('cust_production_seq_num'));
18624             OE_MSG_PUB.Add;
18625 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18626 
18627         END IF;
18628 
18629 
18630 
18631         RETURN FALSE;
18632 
18633     WHEN OTHERS THEN
18634 
18635         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18636         THEN
18637             OE_MSG_PUB.Add_Exc_Msg
18638             (   G_PKG_NAME
18639             ,   'cust_production_seq_num'
18640             );
18641         END IF;
18642 
18643 
18644 
18645         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18646 
18647 END Cust_production_seq_num;
18648 
18649 
18650 FUNCTION Authorized_to_ship ( p_authorized_to_ship_flag IN VARCHAR2 )
18651 RETURN BOOLEAN
18652 IS
18653 l_dummy                       VARCHAR2(10);
18654 BEGIN
18655 
18656 
18657     IF p_authorized_to_ship_flag IS NULL OR
18658         p_authorized_to_ship_flag = FND_API.G_MISS_CHAR
18659     THEN
18660 
18661         RETURN TRUE;
18662     END IF;
18663 
18664     --  SELECT  'VALID'
18665     --  INTO     l_dummy
18666     --  FROM     DB_TABLE
18667     --  WHERE    DB_COLUMN = p_authorized_to_ship_flag;
18668 
18669 
18670 
18671     RETURN TRUE;
18672 
18673 EXCEPTION
18674 
18675     WHEN NO_DATA_FOUND THEN
18676 
18677         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18678         THEN
18679 
18680 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTHORIZED_TO_SHIP_FLAG');
18681 
18682             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18683             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18684 				OE_Order_Util.Get_Attribute_Name('authorized_to_ship_flag'));
18685             OE_MSG_PUB.Add;
18686 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18687 
18688         END IF;
18689 
18690 
18691 
18692         RETURN FALSE;
18693 
18694     WHEN OTHERS THEN
18695 
18696         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18697         THEN
18698             OE_MSG_PUB.Add_Exc_Msg
18699             (   G_PKG_NAME
18700             ,   'authorized_to_ship'
18701             );
18702         END IF;
18703 
18704 
18705 
18706         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18707 
18708 END Authorized_to_ship;
18709 
18710 FUNCTION Veh_cus_item_cum_key ( p_veh_cus_item_cum_key_id IN NUMBER )
18711 RETURN BOOLEAN
18712 IS
18713 l_dummy                       VARCHAR2(10);
18714 BEGIN
18715 
18716 
18717     IF p_veh_cus_item_cum_key_id IS NULL OR
18718         p_veh_cus_item_cum_key_id = FND_API.G_MISS_NUM
18719     THEN
18720 
18721         RETURN TRUE;
18722     END IF;
18723 
18724     --  SELECT  'VALID'
18725     --  INTO     l_dummy
18726     --  FROM     DB_TABLE
18727     --  WHERE    DB_COLUMN = p_veh_cus_item_cum_key_id;
18728 
18729 
18730 
18731     RETURN TRUE;
18732 
18733 EXCEPTION
18734 
18735     WHEN NO_DATA_FOUND THEN
18736 
18737         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18738         THEN
18739 
18740 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VEH_CUS_ITEM_CUM_KEY_ID');
18741 
18742             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18743             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18744 				OE_Order_Util.Get_Attribute_Name('veh_cus_item_cum_key_id'));
18745             OE_MSG_PUB.Add;
18746 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18747 
18748         END IF;
18749 
18750 
18751 
18752         RETURN FALSE;
18753 
18754     WHEN OTHERS THEN
18755 
18756         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18757         THEN
18758             OE_MSG_PUB.Add_Exc_Msg
18759             (   G_PKG_NAME
18760             ,   'veh_cus_item_cum_key'
18761             );
18762         END IF;
18763 
18764 
18765 
18766         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18767 
18768 END Veh_cus_item_cum_key;
18769 
18770 FUNCTION Arrival_set ( p_arrival_set_id IN NUMBER )
18771 RETURN BOOLEAN
18772 IS
18773 l_dummy                       VARCHAR2(10);
18774 BEGIN
18775 
18776 
18777     IF p_arrival_set_id IS NULL OR
18778         p_arrival_set_id = FND_API.G_MISS_NUM
18779     THEN
18780 
18781         RETURN TRUE;
18782     END IF;
18783 
18784     --  SELECT  'VALID'
18785     --  INTO     l_dummy
18786     --  FROM     DB_TABLE
18787     --  WHERE    DB_COLUMN = p_arrival_set_id;
18788 
18789 
18790 
18791     RETURN TRUE;
18792 
18793 EXCEPTION
18794 
18795     WHEN NO_DATA_FOUND THEN
18796 
18797         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18798         THEN
18799 
18800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ARRIVAL_SET_ID');
18801 
18802 
18803             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18804             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18805 				OE_Order_Util.Get_Attribute_Name('arrival_set_id'));
18806             OE_MSG_PUB.Add;
18807 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18808 
18809         END IF;
18810 
18811 
18812 
18813         RETURN FALSE;
18814 
18815     WHEN OTHERS THEN
18816 
18817         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18818         THEN
18819             OE_MSG_PUB.Add_Exc_Msg
18820             (   G_PKG_NAME
18821             ,   'arrival_set'
18822             );
18823         END IF;
18824 
18825 
18826 
18827         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18828 
18829 END Arrival_set;
18830 
18831 FUNCTION Ship_set ( p_ship_set_id IN NUMBER )
18832 RETURN BOOLEAN
18833 IS
18834 l_dummy                       VARCHAR2(10);
18835 BEGIN
18836 
18837 
18838     IF p_ship_set_id IS NULL OR
18839         p_ship_set_id = FND_API.G_MISS_NUM
18840     THEN
18841 
18842         RETURN TRUE;
18843     END IF;
18844 
18845     --  SELECT  'VALID'
18846     --  INTO     l_dummy
18847     --  FROM     DB_TABLE
18848     --  WHERE    DB_COLUMN = p_ship_set_id;
18849 
18850 
18851 
18852     RETURN TRUE;
18853 
18854 EXCEPTION
18855 
18856     WHEN NO_DATA_FOUND THEN
18857 
18858         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18859         THEN
18860 
18861 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_SET_ID');
18862 
18863             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18864             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18865 				OE_Order_Util.Get_Attribute_Name('ship_set_id'));
18866             OE_MSG_PUB.Add;
18867 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18868 
18869         END IF;
18870 
18871 
18872 
18873         RETURN FALSE;
18874 
18875     WHEN OTHERS THEN
18876 
18877         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18878         THEN
18879             OE_MSG_PUB.Add_Exc_Msg
18880             (   G_PKG_NAME
18881             ,   'ship_set'
18882             );
18883         END IF;
18884 
18885 
18886 
18887         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18888 
18889 END Ship_set;
18890 
18891 FUNCTION Over_ship_reason ( p_over_ship_reason_code IN VARCHAR2 )
18892 RETURN BOOLEAN
18893 IS
18894 l_dummy                       VARCHAR2(10);
18895 BEGIN
18896 
18897 
18898     IF p_over_ship_reason_code IS NULL OR
18899         p_over_ship_reason_code = FND_API.G_MISS_CHAR
18900     THEN
18901 
18902         RETURN TRUE;
18903     END IF;
18904 
18905     --  SELECT  'VALID'
18906     --  INTO     l_dummy
18907     --  FROM     DB_TABLE
18908     --  WHERE    DB_COLUMN = p_over_ship_reason_code;
18909 
18910 
18911 
18912     RETURN TRUE;
18913 
18914 EXCEPTION
18915 
18916     WHEN NO_DATA_FOUND THEN
18917 
18918         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18919         THEN
18920 
18921 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_REASON_CODE');
18922 
18923             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18924             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18925 				OE_Order_Util.Get_Attribute_Name('over_ship_reason_code'));
18926             OE_MSG_PUB.Add;
18927 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18928 
18929         END IF;
18930 
18931 
18932 
18933         RETURN FALSE;
18934 
18935     WHEN OTHERS THEN
18936 
18937         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18938         THEN
18939             OE_MSG_PUB.Add_Exc_Msg
18940             (   G_PKG_NAME
18941             ,   'over_ship_reason'
18942             );
18943         END IF;
18944 
18945 
18946 
18947         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18948 
18949 END Over_ship_reason;
18950 
18951 FUNCTION Over_ship_resolved ( p_over_ship_resolved_flag IN VARCHAR2 )
18952 RETURN BOOLEAN
18953 IS
18954 l_dummy                       VARCHAR2(10);
18955 BEGIN
18956 
18957 
18958     IF p_over_ship_resolved_flag IS NULL OR
18959         p_over_ship_resolved_flag = FND_API.G_MISS_CHAR
18960     THEN
18961 
18962         RETURN TRUE;
18963     END IF;
18964 
18965 
18966     --  SELECT  'VALID'
18967     --  INTO     l_dummy
18968     --  FROM     DB_TABLE
18969     --  WHERE    DB_COLUMN = p_over_ship_resolved_flag;
18970 
18971 
18972 
18973     RETURN TRUE;
18974 
18975 EXCEPTION
18976 
18977     WHEN NO_DATA_FOUND THEN
18978 
18979         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18980         THEN
18981 
18982 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_RESOLVED_FLAG');
18983 
18984             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18985             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18986 				OE_Order_Util.Get_Attribute_Name('over_ship_resolved_flag'));
18987             OE_MSG_PUB.Add;
18988 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18989 
18990         END IF;
18991 
18992 
18993 
18994         RETURN FALSE;
18995 
18996     WHEN OTHERS THEN
18997 
18998         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18999         THEN
19000             OE_MSG_PUB.Add_Exc_Msg
19001             (   G_PKG_NAME
19002             ,   'over_ship_resolved'
19003             );
19004         END IF;
19005 
19006 
19007 
19008         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19009 
19010 END Over_ship_resolved;
19011 
19012 FUNCTION Payment_Type ( p_payment_type_code IN VARCHAR2 )
19013 RETURN BOOLEAN
19014 IS
19015 l_dummy                       VARCHAR2(10);
19016 l_lookup_type      	      VARCHAR2(80) :='PAYMENT TYPE';
19017 BEGIN
19018 
19019 
19020     IF p_payment_type_code IS NULL OR
19021         p_payment_type_code = FND_API.G_MISS_CHAR OR
19022           p_payment_type_code = 'COMMITMENT'  /* Bug #3536642 */
19023     THEN
19024         oe_Debug_Pub.add('Returning True .. ');
19025         RETURN TRUE;
19026     END IF;
19027 
19028     IF OE_PrePayment_UTIL.IS_MULTIPLE_PAYMENTS_ENABLED THEN
19029        SELECT  'VALID'
19030        INTO    l_dummy
19031        FROM    oe_payment_types_vl
19032        WHERE   payment_type_code = p_payment_type_code
19033        AND     ENABLED_FLAG = 'Y';
19034     ELSE
19035        SELECT  'VALID'
19036        INTO    l_dummy
19037        FROM    OE_LOOKUPS
19038        WHERE   LOOKUP_CODE = p_payment_type_code
19039        AND     LOOKUP_TYPE = l_lookup_type
19040        AND     ENABLED_FLAG = 'Y'
19041        AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19042                            AND NVL(END_DATE_ACTIVE, SYSDATE);
19043     END IF;
19044 
19045 
19046     RETURN TRUE;
19047 
19048 EXCEPTION
19049 
19050     WHEN NO_DATA_FOUND THEN
19051 
19052         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19053         THEN
19054 
19055 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TYPE_CODE');
19056 
19057             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19058             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19059 				OE_Order_Util.Get_Attribute_Name('payment_type_code'));
19060             OE_MSG_PUB.Add;
19061 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19062 
19063         END IF;
19064 
19065 
19066         RETURN FALSE;
19067 
19068     WHEN OTHERS THEN
19069 
19070         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19071         THEN
19072             OE_MSG_PUB.Add_Exc_Msg
19073             (   G_PKG_NAME
19074             ,   'Payment_Type'
19075             );
19076         END IF;
19077 
19078 
19079         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19080 
19081 END Payment_Type;
19082 
19083 FUNCTION Payment_Amount ( p_payment_amount IN NUMBER )
19084 RETURN BOOLEAN
19085 IS
19086 l_dummy                       VARCHAR2(10);
19087 BEGIN
19088 
19089 
19090     IF p_payment_amount IS NULL OR
19091         p_payment_amount = FND_API.G_MISS_NUM
19092     THEN
19093 
19094         RETURN TRUE;
19095     END IF;
19096 
19097     --  SELECT  'VALID'
19098     --  INTO     l_dummy
19099     --  FROM     DB_TABLE
19100     --  WHERE    DB_COLUMN = p_payment_amount;
19101 
19102 
19103 
19104     RETURN TRUE;
19105 
19106 EXCEPTION
19107 
19108     WHEN NO_DATA_FOUND THEN
19109 
19110         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19111         THEN
19112 
19113 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_AMOUNT');
19114 
19115             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19116             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19117 				OE_Order_Util.Get_Attribute_Name('payment_amount'));
19118             OE_MSG_PUB.Add;
19119 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19120 
19121         END IF;
19122 
19123 
19124 
19125         RETURN FALSE;
19126 
19127     WHEN OTHERS THEN
19128 
19129         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19130         THEN
19131             OE_MSG_PUB.Add_Exc_Msg
19132             (   G_PKG_NAME
19133             ,   'payment_amount'
19134             );
19135         END IF;
19136 
19137 
19138 
19139         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19140 
19141 END Payment_Amount;
19142 
19143 FUNCTION Check_Number ( p_check_number IN VARCHAR2 )
19144 RETURN BOOLEAN
19145 IS
19146 l_dummy                       VARCHAR2(10);
19147 BEGIN
19148 
19149 
19150     IF p_check_number IS NULL OR
19151         p_check_number = FND_API.G_MISS_CHAR
19152     THEN
19153 
19154         RETURN TRUE;
19155     END IF;
19156 
19157     --  SELECT  'VALID'
19158     --  INTO     l_dummy
19159     --  FROM     DB_TABLE
19160     --  WHERE    DB_COLUMN = p_check_number;
19161 
19162 
19163     RETURN TRUE;
19164 
19165 EXCEPTION
19166 
19167     WHEN NO_DATA_FOUND THEN
19168 
19169         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19170         THEN
19171 
19172 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHECK_NUMBER');
19173 
19174             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19175             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19176 				OE_Order_Util.Get_Attribute_Name('check_number'));
19177             OE_MSG_PUB.Add;
19178 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19179 
19180         END IF;
19181 
19182 
19183         RETURN FALSE;
19184 
19185     WHEN OTHERS THEN
19186 
19187         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19188         THEN
19189             OE_MSG_PUB.Add_Exc_Msg
19190             (   G_PKG_NAME
19191             ,   'Check_Number'
19192             );
19193         END IF;
19194 
19195 
19196         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19197 
19198 END Check_Number;
19199 
19200 FUNCTION Credit_Card ( p_credit_card_code IN VARCHAR2 )
19201 RETURN BOOLEAN
19202 IS
19203 l_dummy                       VARCHAR2(10);
19204 l_lookup_type      	      VARCHAR2(80) :='CREDIT_CARD';
19205 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
19206 BEGIN
19207 
19208 
19209     IF p_credit_card_code IS NULL OR
19210         p_credit_card_code = FND_API.G_MISS_CHAR
19211     THEN
19212 
19213         RETURN TRUE;
19214     END IF;
19215     IF l_debug_level > 0 THEN
19216 	    oe_debug_pub.add('Credit card code in oe_validate...'||p_Credit_card_code);
19217     END IF;
19218     /*SELECT  'VALID'
19219     INTO    l_dummy
19220     FROM    OE_LOOKUPS
19221     WHERE   LOOKUP_CODE = p_credit_card_code
19222     AND     LOOKUP_TYPE = l_lookup_type
19223     AND     ENABLED_FLAG = 'Y'
19224     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19225                         AND NVL(END_DATE_ACTIVE, SYSDATE);*/
19226     --bug 5070961
19227     select 'VALID'
19228     into l_dummy
19229     from iby_creditcard_issuers_v
19230     where card_issuer_code = p_credit_card_code
19231     and rownum=1;
19232 
19233     IF l_debug_level > 0 THEN
19234 	    oe_debug_pub.add('Value returned from iby table...'||l_dummy);
19235     END IF;
19236 
19237     RETURN TRUE;
19238 
19239 EXCEPTION
19240 
19241     WHEN NO_DATA_FOUND THEN
19242 
19243         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19244         THEN
19245 
19246 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_CODE');
19247 
19248             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19249             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19250 				OE_Order_Util.Get_Attribute_Name('credit_card_code'));
19251             OE_MSG_PUB.Add;
19252 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19253 
19254         END IF;
19255 
19256         IF l_debug_level > 0 THEN
19257 	    oe_debug_pub.add('No data found in Credit card code in oe_validate...'||p_Credit_card_code);
19258         END IF;
19259 
19260         RETURN FALSE;
19261 
19262     WHEN OTHERS THEN
19263 
19264         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19265         THEN
19266             OE_MSG_PUB.Add_Exc_Msg
19267             (   G_PKG_NAME
19268             ,   'Credit_Card'
19269             );
19270         END IF;
19271 
19272         IF l_debug_level > 0 THEN
19273 	    oe_debug_pub.add('Others error in Credit card code in oe_validate...'||p_Credit_card_code);
19274         END IF;
19275 
19276 
19277         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19278 
19279 END Credit_Card;
19280 
19281 FUNCTION Credit_Card_Holder_Name ( p_credit_card_holder_name IN VARCHAR2 )
19282 RETURN BOOLEAN
19283 IS
19284 l_dummy                       VARCHAR2(10);
19285 BEGIN
19286 
19287 
19288     IF p_credit_card_holder_name IS NULL OR
19289         p_credit_card_holder_name = FND_API.G_MISS_CHAR
19290     THEN
19291 
19292         RETURN TRUE;
19293     END IF;
19294 
19295     --  SELECT  'VALID'
19296     --  INTO     l_dummy
19297     --  FROM     DB_TABLE
19298     --  WHERE    DB_COLUMN = p_credit_card_holder_name;
19299 
19300 
19301     RETURN TRUE;
19302 
19303 EXCEPTION
19304 
19305     WHEN NO_DATA_FOUND THEN
19306 
19307         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19308         THEN
19309 
19310 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_HOLDER_NAME');
19311 
19312             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19313             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19314 				OE_Order_Util.Get_Attribute_Name('credit_card_holder_name'));
19315             OE_MSG_PUB.Add;
19316 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19317 
19318         END IF;
19319 
19320 
19321         RETURN FALSE;
19322 
19323     WHEN OTHERS THEN
19324 
19325         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19326         THEN
19327             OE_MSG_PUB.Add_Exc_Msg
19328             (   G_PKG_NAME
19329             ,   'Credit_Card_Holder_Name'
19330             );
19331         END IF;
19332 
19333 
19334         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19335 
19336 END Credit_Card_Holder_Name;
19337 
19338 FUNCTION Credit_Card_Number ( p_credit_card_number IN VARCHAR2 )
19339 RETURN BOOLEAN
19340 IS
19341 l_dummy                       VARCHAR2(10);
19342 BEGIN
19343 
19344 
19345     IF p_credit_card_number IS NULL OR
19346         p_credit_card_number = FND_API.G_MISS_CHAR
19347     THEN
19348 
19349         RETURN TRUE;
19350     END IF;
19351 
19352     --  SELECT  'VALID'
19353     --  INTO     l_dummy
19354     --  FROM     DB_TABLE
19355     --  WHERE    DB_COLUMN = p_credit_card_number;
19356 
19357 
19358     RETURN TRUE;
19359 
19360 EXCEPTION
19361 
19362     WHEN NO_DATA_FOUND THEN
19363 
19364         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19365         THEN
19366 
19367 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_NUMBER');
19368 
19369             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19370             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19371 				OE_Order_Util.Get_Attribute_Name('credit_card_number'));
19372             OE_MSG_PUB.Add;
19373 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19374 
19375         END IF;
19376 
19377 
19378         RETURN FALSE;
19379 
19380     WHEN OTHERS THEN
19381 
19382         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19383         THEN
19384             OE_MSG_PUB.Add_Exc_Msg
19385             (   G_PKG_NAME
19386             ,   'Credit_Card_Number'
19387             );
19388         END IF;
19389 
19390 
19391         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19392 
19393 END Credit_Card_Number;
19394 
19395 FUNCTION Credit_Card_Approval_Date ( p_credit_card_approval_date IN DATE )
19396 RETURN BOOLEAN
19397 IS
19398 l_dummy                       VARCHAR2(10);
19399 BEGIN
19400     IF p_credit_card_approval_date IS NULL OR
19401         p_credit_card_approval_date = FND_API.G_MISS_DATE
19402     THEN
19403         RETURN TRUE;
19404     END IF;
19405     --  SELECT  'VALID'
19406     --  INTO     l_dummy
19407     --  FROM     DB_TABLE
19408     --  WHERE    DB_COLUMN = p_credit_card_approval_date;
19409     RETURN TRUE;
19410 EXCEPTION
19411     WHEN NO_DATA_FOUND THEN
19412         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19413         THEN
19414 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_DATE');
19415            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19416            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19417 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_date'));
19418            OE_MSG_PUB.Add;
19419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19420         END IF;
19421         RETURN FALSE;
19422     WHEN OTHERS THEN
19423         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19424         THEN
19425             OE_MSG_PUB.Add_Exc_Msg
19426             (   G_PKG_NAME
19427             ,   'Credit_Card_Approval_Date'
19428             );
19429         END IF;
19430         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19431 END Credit_Card_Approval_Date;
19432 
19433 FUNCTION Credit_Card_Expiration_Date ( p_credit_card_expiration_date IN DATE )
19434 RETURN BOOLEAN
19435 IS
19436 l_dummy                       VARCHAR2(10);
19437 BEGIN
19438     IF p_credit_card_expiration_date IS NULL OR
19439         p_credit_card_expiration_date = FND_API.G_MISS_DATE
19440     THEN
19441         RETURN TRUE;
19442     END IF;
19443     --  SELECT  'VALID'
19444     --  INTO     l_dummy
19445     --  FROM     DB_TABLE
19446     --  WHERE    DB_COLUMN = p_credit_card_expiration_date;
19447     RETURN TRUE;
19448 EXCEPTION
19449     WHEN NO_DATA_FOUND THEN
19450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19451         THEN
19452 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_EXPIRATION_DATE');
19453             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19454             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19455 				OE_Order_Util.Get_Attribute_Name('credit_card_expiration_date'));
19456             OE_MSG_PUB.Add;
19457 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19458         END IF;
19459         RETURN FALSE;
19460     WHEN OTHERS THEN
19461         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19462         THEN
19463             OE_MSG_PUB.Add_Exc_Msg
19464             (   G_PKG_NAME
19465             ,   'Credit_Card_Expiration_Date'
19466             );
19467         END IF;
19468         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19469 END Credit_Card_Expiration_Date;
19470 
19471 FUNCTION Credit_Card_Approval ( p_credit_card_approval_code IN VARCHAR2 )
19472 RETURN BOOLEAN
19473 IS
19474 l_dummy                       VARCHAR2(10);
19475 BEGIN
19476 
19477 
19478     IF p_credit_card_approval_code IS NULL OR
19479         p_credit_card_approval_code = FND_API.G_MISS_CHAR
19480     THEN
19481 
19482         RETURN TRUE;
19483     END IF;
19484 
19485     --  SELECT  'VALID'
19486     --  INTO     l_dummy
19487     --  FROM     DB_TABLE
19488     --  WHERE    DB_COLUMN = p_credit_card_approval_code;
19489 
19490 
19491     RETURN TRUE;
19492 
19493 EXCEPTION
19494 
19495     WHEN NO_DATA_FOUND THEN
19496 
19497         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19498         THEN
19499 
19500 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_CODE');
19501 
19502             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19503             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19504 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_code'));
19505             OE_MSG_PUB.Add;
19506 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19507 
19508         END IF;
19509 
19510 
19511         RETURN FALSE;
19512 
19513     WHEN OTHERS THEN
19514 
19515         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19516         THEN
19517             OE_MSG_PUB.Add_Exc_Msg
19518             (   G_PKG_NAME
19519             ,   'Credit_Card_Approval'
19520             );
19521         END IF;
19522 
19523 
19524         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19525 
19526 END Credit_Card_Approval;
19527 
19528 
19529 FUNCTION First_Ack ( p_first_ack_code IN VARCHAR2 )
19530 RETURN BOOLEAN
19531 IS
19532 l_dummy                       VARCHAR2(10);
19533 BEGIN
19534 
19535 
19536     IF p_first_ack_code IS NULL OR
19537         p_first_ack_code = FND_API.G_MISS_CHAR
19538     THEN
19539 
19540         RETURN TRUE;
19541     END IF;
19542 
19543     --  SELECT  'VALID'
19544     --  INTO     l_dummy
19545     --  FROM     DB_TABLE
19546     --  WHERE    DB_COLUMN = p_first_ack_code;
19547 
19548 
19549     RETURN TRUE;
19550 
19551 EXCEPTION
19552 
19553     WHEN NO_DATA_FOUND THEN
19554 
19555         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19556         THEN
19557 
19558 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_CODE');
19559 
19560             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19561             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19562 				OE_Order_Util.Get_Attribute_Name('first_ack_code'));
19563             OE_MSG_PUB.Add;
19564 
19565             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19566 
19567         END IF;
19568 
19569 
19570         RETURN FALSE;
19571 
19572     WHEN OTHERS THEN
19573 
19574         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19575         THEN
19576             OE_MSG_PUB.Add_Exc_Msg
19577             (   G_PKG_NAME
19578             ,   'First_Ack'
19579             );
19580         END IF;
19581 
19582 
19583         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19584 
19585 END First_Ack;
19586 
19587 
19588 FUNCTION First_Ack_DATE ( p_first_ack_date IN DATE )
19589 RETURN BOOLEAN
19590 IS
19591 l_dummy                       VARCHAR2(10);
19592 BEGIN
19593 
19594 
19595     IF p_first_ack_date IS NULL OR
19596         p_first_ack_date = FND_API.G_MISS_DATE
19597     THEN
19598 
19599         RETURN TRUE;
19600     END IF;
19601 
19602     --  SELECT  'VALID'
19603     --  INTO     l_dummy
19604     --  FROM     DB_TABLE
19605     --  WHERE    DB_COLUMN = p_first_ack_date;
19606 
19607 
19608     RETURN TRUE;
19609 
19610 EXCEPTION
19611 
19612     WHEN NO_DATA_FOUND THEN
19613 
19614         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19615         THEN
19616 
19617 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_DATE');
19618 
19619             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19620             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19621 				OE_Order_Util.Get_Attribute_Name('first_ack_date'));
19622             OE_MSG_PUB.Add;
19623 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19624 
19625         END IF;
19626 
19627 
19628         RETURN FALSE;
19629 
19630     WHEN OTHERS THEN
19631 
19632         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19633         THEN
19634             OE_MSG_PUB.Add_Exc_Msg
19635             (   G_PKG_NAME
19636             ,   'First_Ack_Date'
19637             );
19638         END IF;
19639 
19640 
19641         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19642 
19643 END First_Ack_Date;
19644 
19645 FUNCTION Last_Ack ( p_last_ack_code IN VARCHAR2 )
19646 RETURN BOOLEAN
19647 IS
19648 l_dummy                       VARCHAR2(10);
19649 BEGIN
19650 
19651 
19652     IF p_last_ack_code IS NULL OR
19653         p_last_ack_code = FND_API.G_MISS_CHAR
19654     THEN
19655 
19656         RETURN TRUE;
19657     END IF;
19658 
19659     --  SELECT  'VALID'
19660     --  INTO     l_dummy
19661     --  FROM     DB_TABLE
19662     --  WHERE    DB_COLUMN = p_last_ack_code;
19663 
19664 
19665     RETURN TRUE;
19666 
19667 EXCEPTION
19668 
19669     WHEN NO_DATA_FOUND THEN
19670 
19671         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19672         THEN
19673 
19674 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_CODE');
19675 
19676             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19677             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19678 				OE_Order_Util.Get_Attribute_Name('last_ack_code'));
19679             OE_MSG_PUB.Add;
19680 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19681 
19682         END IF;
19683 
19684 
19685         RETURN FALSE;
19686 
19687     WHEN OTHERS THEN
19688 
19689         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19690         THEN
19691             OE_MSG_PUB.Add_Exc_Msg
19692             (   G_PKG_NAME
19693             ,   'Last_Ack'
19694             );
19695         END IF;
19696 
19697 
19698         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19699 
19700 END Last_Ack;
19701 
19702 
19703 FUNCTION Last_Ack_DATE ( p_last_ack_date IN DATE )
19704 RETURN BOOLEAN
19705 IS
19706 l_dummy                       VARCHAR2(10);
19707 BEGIN
19708 
19709 
19710     IF p_last_ack_date IS NULL OR
19711         p_last_ack_date = FND_API.G_MISS_DATE
19712     THEN
19713 
19714         RETURN TRUE;
19715     END IF;
19716 
19717     --  SELECT  'VALID'
19718     --  INTO     l_dummy
19719     --  FROM     DB_TABLE
19720     --  WHERE    DB_COLUMN = p_last_ack_date;
19721 
19722 
19723     RETURN TRUE;
19724 
19725 EXCEPTION
19726 
19727     WHEN NO_DATA_FOUND THEN
19728 
19729         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19730         THEN
19731 
19732 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_DATE');
19733 
19734             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19735             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19736 				OE_Order_Util.Get_Attribute_Name('last_ack_date'));
19737             OE_MSG_PUB.Add;
19738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19739 
19740         END IF;
19741 
19742 
19743         RETURN FALSE;
19744 
19745     WHEN OTHERS THEN
19746 
19747         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19748         THEN
19749             OE_MSG_PUB.Add_Exc_Msg
19750             (   G_PKG_NAME
19751             ,   'Last_Ack_Date'
19752             );
19753         END IF;
19754 
19755 
19756         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19757 
19758 END Last_Ack_Date;
19759 
19760 FUNCTION End_Item_Unit_Number ( p_end_item_unit_number IN Varchar2 )
19761 RETURN BOOLEAN
19762 IS
19763 l_dummy                       VARCHAR2(10);
19764 BEGIN
19765 
19766 
19767     IF p_end_item_unit_number IS NULL OR
19768         p_end_item_unit_number = FND_API.G_MISS_CHAR
19769     THEN
19770         RETURN TRUE;
19771     END IF;
19772 
19773       SELECT  'VALID'
19774       INTO     l_dummy
19775       FROM     pjm_unit_numbers_lov_v
19776       WHERE    unit_number = p_end_item_unit_number;
19777 
19778     RETURN TRUE;
19779 
19780 EXCEPTION
19781 
19782     WHEN NO_DATA_FOUND THEN
19783 
19784         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19785         THEN
19786 
19787 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_ITEM_UNIT_NUMBER');
19788 
19789 
19790             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19791             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19792 				OE_Order_Util.Get_Attribute_Name('end_item_unit_number'));
19793             OE_MSG_PUB.Add;
19794 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19795 
19796         END IF;
19797 
19798 
19799         RETURN FALSE;
19800 
19801     WHEN OTHERS THEN
19802 
19803         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19804         THEN
19805             OE_MSG_PUB.Add_Exc_Msg
19806             (   G_PKG_NAME
19807             ,   'end_item_unit_number'
19808             );
19809         END IF;
19810 
19811 
19812         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19813 
19814 END End_Item_Unit_Number;
19815 
19816 FUNCTION Invoiced_Quantity ( p_invoiced_quantity IN NUMBER )
19817 RETURN BOOLEAN
19818 IS
19819 l_dummy                       VARCHAR2(10);
19820 BEGIN
19821 
19822 
19823     IF p_invoiced_quantity IS NULL OR
19824         p_invoiced_quantity = FND_API.G_MISS_NUM
19825     THEN
19826 
19827         RETURN TRUE;
19828     END IF;
19829 
19830     --  SELECT  'VALID'
19831     --  INTO     l_dummy
19832     --  FROM     DB_TABLE
19833     --  WHERE    DB_COLUMN = p_invoiced_quantity;
19834 
19835 
19836     RETURN TRUE;
19837 
19838 EXCEPTION
19839 
19840     WHEN NO_DATA_FOUND THEN
19841 
19842         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19843         THEN
19844 
19845 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_QUANTITY');
19846 
19847             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19848             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19849 				OE_Order_Util.Get_Attribute_Name('invoiced_quantity'));
19850             OE_MSG_PUB.Add;
19851 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19852 
19853         END IF;
19854 
19855 
19856         RETURN FALSE;
19857 
19858     WHEN OTHERS THEN
19859 
19860         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19861         THEN
19862             OE_MSG_PUB.Add_Exc_Msg
19863             (   G_PKG_NAME
19864             ,   'Invoiced_Quantity'
19865             );
19866         END IF;
19867 
19868 
19869         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19870 
19871 END Invoiced_Quantity;
19872 
19873 
19874 FUNCTION Service_Txn_Reason ( p_service_txn_reason IN VARCHAR2 )
19875 RETURN BOOLEAN
19876 IS
19877 l_dummy                       VARCHAR2(10);
19878 BEGIN
19879 
19880 
19881     IF p_service_txn_reason IS NULL OR
19882         p_service_txn_reason = FND_API.G_MISS_CHAR
19883     THEN
19884 
19885         RETURN TRUE;
19886     END IF;
19887 
19888     --  SELECT  'VALID'
19889     --  INTO     l_dummy
19890     --  FROM     DB_TABLE
19891     --  WHERE    DB_COLUMN = p_service_txn_reason;
19892 
19893 
19894     RETURN TRUE;
19895 
19896 EXCEPTION
19897 
19898     WHEN NO_DATA_FOUND THEN
19899 
19900         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19901         THEN
19902 
19903 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_REASON');
19904 
19905             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19906             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19907 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Reason'));
19908             OE_MSG_PUB.Add;
19909 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19910 
19911         END IF;
19912 
19913 
19914         RETURN FALSE;
19915 
19916     WHEN OTHERS THEN
19917 
19918         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19919         THEN
19920             OE_MSG_PUB.Add_Exc_Msg
19921             (   G_PKG_NAME
19922             ,   'Service_Txn_Reason'
19923             );
19924         END IF;
19925 
19926 
19927         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19928 
19929 END Service_Txn_Reason;
19930 
19931 
19932 FUNCTION Service_Txn_Comments ( p_service_txn_comments IN VARCHAR2 )
19933 RETURN BOOLEAN
19934 IS
19935 l_dummy                       VARCHAR2(10);
19936 BEGIN
19937 
19938 
19939     IF p_service_txn_comments IS NULL OR
19940         p_service_txn_comments = FND_API.G_MISS_CHAR
19941     THEN
19942 
19943         RETURN TRUE;
19944     END IF;
19945 
19946     --  SELECT  'VALID'
19947     --  INTO     l_dummy
19948     --  FROM     DB_TABLE
19949     --  WHERE    DB_COLUMN = p_service_txn_comments;
19950 
19951 
19952     RETURN TRUE;
19953 
19954 EXCEPTION
19955 
19956     WHEN NO_DATA_FOUND THEN
19957 
19958         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19959         THEN
19960 
19961 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_COMMENTS');
19962 
19963             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19964             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19965 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Comments'));
19966             OE_MSG_PUB.Add;
19967 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19968 
19969         END IF;
19970 
19971 
19972         RETURN FALSE;
19973 
19974     WHEN OTHERS THEN
19975 
19976         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19977         THEN
19978             OE_MSG_PUB.Add_Exc_Msg
19979             (   G_PKG_NAME
19980             ,   'Service_Txn_Comments'
19981             );
19982         END IF;
19983 
19984 
19985         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19986 
19987 END Service_Txn_Comments;
19988 
19989 
19990 FUNCTION Service_Duration ( p_service_duration IN NUMBER )
19991 RETURN BOOLEAN
19992 IS
19993 l_dummy                       VARCHAR2(10);
19994 BEGIN
19995 
19996 
19997     IF p_service_duration IS NULL OR
19998         p_service_duration = FND_API.G_MISS_NUM
19999     THEN
20000 
20001         RETURN TRUE;
20002     END IF;
20003 
20004     --  SELECT  'VALID'
20005     --  INTO     l_dummy
20006     --  FROM     DB_TABLE
20007     --  WHERE    DB_COLUMN = p_service_duration;
20008 
20009 
20010     RETURN TRUE;
20011 
20012 EXCEPTION
20013 
20014     WHEN NO_DATA_FOUND THEN
20015 
20016         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20017         THEN
20018 
20019 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Serviced_Duration');
20020 
20021             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20022             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20023 				OE_Order_Util.Get_Attribute_Name('Service_Duration'));
20024             OE_MSG_PUB.Add;
20025 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20026 
20027         END IF;
20028 
20029 
20030         RETURN FALSE;
20031 
20032     WHEN OTHERS THEN
20033 
20034         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20035         THEN
20036             OE_MSG_PUB.Add_Exc_Msg
20037             (   G_PKG_NAME
20038             ,   'Serviced_Duration'
20039             );
20040         END IF;
20041 
20042 
20043         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20044 
20045 END Service_Duration;
20046 
20047 FUNCTION Service_Period ( p_service_period IN VARCHAR2 )
20048 RETURN BOOLEAN
20049 IS
20050 l_dummy                       VARCHAR2(10);
20051 BEGIN
20052 
20053 
20054     IF p_service_period IS NULL OR
20055         p_service_period = FND_API.G_MISS_CHAR
20056     THEN
20057 
20058         RETURN TRUE;
20059     END IF;
20060 
20061     --  SELECT  'VALID'
20062     --  INTO     l_dummy
20063     --  FROM     DB_TABLE
20064     --  WHERE    DB_COLUMN = p_service_period;
20065 
20066 
20067     RETURN TRUE;
20068 
20069 EXCEPTION
20070 
20071     WHEN NO_DATA_FOUND THEN
20072 
20073         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20074         THEN
20075 
20076 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Period');
20077 
20078             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20079             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20080 				OE_Order_Util.Get_Attribute_Name('Service_Period'));
20081             OE_MSG_PUB.Add;
20082 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20083 
20084         END IF;
20085 
20086 
20087         RETURN FALSE;
20088 
20089     WHEN OTHERS THEN
20090 
20091         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20092         THEN
20093             OE_MSG_PUB.Add_Exc_Msg
20094             (   G_PKG_NAME
20095             ,   'Service_Period'
20096             );
20097         END IF;
20098 
20099 
20100         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20101 
20102 END Service_Period;
20103 
20104 
20105 FUNCTION Service_Start_Date ( p_service_start_date IN DATE )
20106 RETURN BOOLEAN
20107 IS
20108 l_dummy                       VARCHAR2(10);
20109 BEGIN
20110 
20111 
20112     IF p_service_start_date IS NULL OR
20113         p_service_start_date = FND_API.G_MISS_DATE
20114     THEN
20115 
20116         RETURN TRUE;
20117     END IF;
20118 
20119     --  SELECT  'VALID'
20120     --  INTO     l_dummy
20121     --  FROM     DB_TABLE
20122     --  WHERE    DB_COLUMN = p_service_start_date;
20123 
20124 
20125     RETURN TRUE;
20126 
20127 EXCEPTION
20128 
20129     WHEN NO_DATA_FOUND THEN
20130 
20131         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20132         THEN
20133 
20134 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Start_Date');
20135 
20136             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20137             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20138 				OE_Order_Util.Get_Attribute_Name('Service_Start_Date'));
20139             OE_MSG_PUB.Add;
20140 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20141 
20142         END IF;
20143 
20144 
20145         RETURN FALSE;
20146 
20147     WHEN OTHERS THEN
20148 
20149         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20150         THEN
20151             OE_MSG_PUB.Add_Exc_Msg
20152             (   G_PKG_NAME
20153             ,   'Serviced_Start_Date'
20154             );
20155         END IF;
20156 
20157 
20158         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20159 
20160 END Service_Start_Date;
20161 
20162 FUNCTION Service_End_Date ( p_service_end_date IN DATE )
20163 RETURN BOOLEAN
20164 IS
20165 l_dummy                       VARCHAR2(10);
20166 BEGIN
20167 
20168 
20169     IF p_service_end_date IS NULL OR
20170         p_service_end_date = FND_API.G_MISS_DATE
20171     THEN
20172 
20173         RETURN TRUE;
20174     END IF;
20175 
20176     --  SELECT  'VALID'
20177     --  INTO     l_dummy
20178     --  FROM     DB_TABLE
20179     --  WHERE    DB_COLUMN = p_service_end_date;
20180 
20181 
20182     RETURN TRUE;
20183 
20184 EXCEPTION
20185 
20186     WHEN NO_DATA_FOUND THEN
20187 
20188         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20189         THEN
20190 
20191 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_End_Date');
20192 
20193             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20194             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20195 				OE_Order_Util.Get_Attribute_Name('Service_End_Date'));
20196             OE_MSG_PUB.Add;
20197 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20198 
20199         END IF;
20200 
20201 
20202         RETURN FALSE;
20203 
20204     WHEN OTHERS THEN
20205 
20206         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20207         THEN
20208             OE_MSG_PUB.Add_Exc_Msg
20209             (   G_PKG_NAME
20210             ,   'Service_End_Date'
20211             );
20212         END IF;
20213 
20214 
20215         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20216 
20217 END Service_End_Date;
20218 
20219 FUNCTION Service_Coterminate ( p_service_coterminate_flag IN VARCHAR2)
20220 RETURN BOOLEAN
20221 IS
20222 l_dummy                       VARCHAR2(10);
20223 BEGIN
20224 
20225 
20226     IF p_service_coterminate_flag IS NULL OR
20227         p_service_coterminate_flag = FND_API.G_MISS_CHAR
20228     THEN
20229 
20230         RETURN TRUE;
20231     END IF;
20232 
20233     --  SELECT  'VALID'
20234     --  INTO     l_dummy
20235     --  FROM     DB_TABLE
20236     --  WHERE    DB_COLUMN = p_service_coterminate_flag;
20237 
20238 
20239     RETURN TRUE;
20240 
20241 EXCEPTION
20242 
20243     WHEN NO_DATA_FOUND THEN
20244 
20245         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20246         THEN
20247 
20248 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Coterminate');
20249 
20250             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20251             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20252 				OE_Order_Util.Get_Attribute_Name('Service_Coterminate'));
20253             OE_MSG_PUB.Add;
20254 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20255 
20256         END IF;
20257 
20258 
20259         RETURN FALSE;
20260 
20261     WHEN OTHERS THEN
20262 
20263         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20264         THEN
20265             OE_MSG_PUB.Add_Exc_Msg
20266             (   G_PKG_NAME
20267             ,   'Service_Coterminate'
20268             );
20269         END IF;
20270 
20271 
20272         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20273 
20274 END Service_Coterminate;
20275 
20276 FUNCTION Unit_List_Percent ( p_unit_list_percent IN NUMBER)
20277 RETURN BOOLEAN
20278 IS
20279 l_dummy                       VARCHAR2(10);
20280 BEGIN
20281 
20282 
20283     IF p_unit_list_percent IS NULL OR
20284         p_unit_list_percent = FND_API.G_MISS_NUM
20285     THEN
20286 
20287         RETURN TRUE;
20288     END IF;
20289 
20290     --  SELECT  'VALID'
20291     --  INTO     l_dummy
20292     --  FROM     DB_TABLE
20293     --  WHERE    DB_COLUMN = p_unit_list_percent;
20294 
20295 
20296     RETURN TRUE;
20297 
20298 EXCEPTION
20299 
20300     WHEN NO_DATA_FOUND THEN
20301 
20302         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20303         THEN
20304 
20305 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_List_Percent');
20306 
20307             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20308             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20309 				OE_Order_Util.Get_Attribute_Name('Unit_List_Percent'));
20310             OE_MSG_PUB.Add;
20311 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20312 
20313         END IF;
20314 
20315 
20316         RETURN FALSE;
20317 
20318     WHEN OTHERS THEN
20319 
20320         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20321         THEN
20322             OE_MSG_PUB.Add_Exc_Msg
20323             (   G_PKG_NAME
20324             ,   'Unit_List_Percent'
20325             );
20326         END IF;
20327 
20328 
20329         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20330 
20331 END Unit_List_Percent;
20332 
20333 FUNCTION Unit_Selling_Percent ( p_unit_selling_percent IN NUMBER)
20334 RETURN BOOLEAN
20335 IS
20336 l_dummy                       VARCHAR2(10);
20337 BEGIN
20338 
20339 
20340     IF p_unit_selling_percent IS NULL OR
20341         p_unit_selling_percent = FND_API.G_MISS_NUM
20342     THEN
20343 
20344         RETURN TRUE;
20345     END IF;
20346 
20347     --  SELECT  'VALID'
20348     --  INTO     l_dummy
20349     --  FROM     DB_TABLE
20350     --  WHERE    DB_COLUMN = p_unit_selling_percent;
20351 
20352 
20353     RETURN TRUE;
20354 
20355 EXCEPTION
20356 
20357     WHEN NO_DATA_FOUND THEN
20358 
20359         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20360         THEN
20361 
20362 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Selling_Percent');
20363 
20364             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20365             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20366 				OE_Order_Util.Get_Attribute_Name('Unit_Selling_Percent'));
20367             OE_MSG_PUB.Add;
20368 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20369 
20370         END IF;
20371 
20372 
20373         RETURN FALSE;
20374 
20375     WHEN OTHERS THEN
20376 
20377         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20378         THEN
20379             OE_MSG_PUB.Add_Exc_Msg
20380             (   G_PKG_NAME
20381             ,   'Unit_Selling_Percent'
20382             );
20383         END IF;
20384 
20385 
20386         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20387 
20388 END Unit_Selling_Percent;
20389 
20390 FUNCTION Unit_Percent_Base_Price ( p_unit_percent_base_price IN NUMBER)
20391 RETURN BOOLEAN
20392 IS
20393 l_dummy                       VARCHAR2(10);
20394 BEGIN
20395 
20396 
20397     IF p_unit_percent_base_price IS NULL OR
20398         p_unit_percent_base_price = FND_API.G_MISS_NUM
20399     THEN
20400 
20401         RETURN TRUE;
20402     END IF;
20403 
20404     --  SELECT  'VALID'
20405     --  INTO     l_dummy
20406     --  FROM     DB_TABLE
20407     --  WHERE    DB_COLUMN = p_unit_percent_base_price;
20408 
20409 
20410     RETURN TRUE;
20411 
20412 EXCEPTION
20413 
20414     WHEN NO_DATA_FOUND THEN
20415 
20416         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20417         THEN
20418 
20419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Percent_base_Price');
20420 
20421             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20422             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20423 				OE_Order_Util.Get_Attribute_Name('Unit_Percent_Base_Price'));
20424             OE_MSG_PUB.Add;
20425 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20426 
20427         END IF;
20428 
20429 
20430         RETURN FALSE;
20431 
20432     WHEN OTHERS THEN
20433 
20434         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20435         THEN
20436             OE_MSG_PUB.Add_Exc_Msg
20437             (   G_PKG_NAME
20438             ,   'Unit_Percent_Base_Price'
20439             );
20440         END IF;
20441 
20442 
20443         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20444 
20445 END Unit_Percent_Base_Price;
20446 
20447 FUNCTION Service_Number ( p_service_number IN NUMBER)
20448 RETURN BOOLEAN
20449 IS
20450 l_dummy                       VARCHAR2(10);
20451 BEGIN
20452 
20453 
20454     IF p_service_number IS NULL OR
20455         p_service_number = FND_API.G_MISS_NUM
20456     THEN
20457 
20458         RETURN TRUE;
20459     END IF;
20460 
20461     --  SELECT  'VALID'
20462     --  INTO     l_dummy
20463     --  FROM     DB_TABLE
20464     --  WHERE    DB_COLUMN = p_service_number;
20465 
20466 
20467     RETURN TRUE;
20468 
20469 EXCEPTION
20470 
20471     WHEN NO_DATA_FOUND THEN
20472 
20473         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20474         THEN
20475 
20476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Number');
20477 
20478             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20479             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20480 				OE_Order_Util.Get_Attribute_Name('Service_Number'));
20481             OE_MSG_PUB.Add;
20482 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20483 
20484         END IF;
20485 
20486 
20487         RETURN FALSE;
20488 
20489     WHEN OTHERS THEN
20490 
20491         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20492         THEN
20493             OE_MSG_PUB.Add_Exc_Msg
20494             (   G_PKG_NAME
20495             ,   'Service_Number'
20496             );
20497         END IF;
20498 
20499 
20500         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20501 
20502 END Service_Number;
20503 
20504 FUNCTION Service_Reference_Type ( p_service_reference_type_code IN VARCHAR2)
20505 RETURN BOOLEAN
20506 IS
20507 l_dummy                       VARCHAR2(10);
20508 BEGIN
20509 
20510 
20511     IF p_service_reference_Type_code IS NULL OR
20512         p_service_reference_Type_code = FND_API.G_MISS_CHAR
20513     THEN
20514 
20515         RETURN TRUE;
20516     END IF;
20517 
20518     --  SELECT  'VALID'
20519     --  INTO     l_dummy
20520     --  FROM     DB_TABLE
20521     --  WHERE    DB_COLUMN = p_service_reference_type_code;
20522 
20523 
20524     RETURN TRUE;
20525 
20526 EXCEPTION
20527 
20528     WHEN NO_DATA_FOUND THEN
20529 
20530         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20531         THEN
20532 
20533 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Type_Code');
20534 
20535             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20536             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20537 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Type_Code'));
20538             OE_MSG_PUB.Add;
20539 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20540 
20541         END IF;
20542 
20543 
20544         RETURN FALSE;
20545 
20546     WHEN OTHERS THEN
20547 
20548         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20549         THEN
20550             OE_MSG_PUB.Add_Exc_Msg
20551             (   G_PKG_NAME
20552             ,   'Service_Reference_Type_Code'
20553             );
20554         END IF;
20555 
20556 
20557         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20558 
20559 END Service_Reference_Type;
20560 
20561 FUNCTION Service_Reference_Line ( p_service_reference_line_id IN NUMBER)
20562 RETURN BOOLEAN
20563 IS
20564 l_dummy                       VARCHAR2(10);
20565 BEGIN
20566 
20567 
20568     IF p_service_reference_line_id IS NULL OR
20569         p_service_reference_line_id = FND_API.G_MISS_NUM
20570     THEN
20571 
20572         RETURN TRUE;
20573     END IF;
20574 
20575     --  SELECT  'VALID'
20576     --  INTO     l_dummy
20577     --  FROM     DB_TABLE
20578     --  WHERE    DB_COLUMN = p_service_reference_line_id;
20579 
20580 
20581     RETURN TRUE;
20582 
20583 EXCEPTION
20584 
20585     WHEN NO_DATA_FOUND THEN
20586 
20587         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20588         THEN
20589 
20590 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Line_id');
20591 
20592             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20593             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20594 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Line_Id'));
20595             OE_MSG_PUB.Add;
20596 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20597 
20598         END IF;
20599 
20600 
20601         RETURN FALSE;
20602 
20603     WHEN OTHERS THEN
20604 
20605         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20606         THEN
20607             OE_MSG_PUB.Add_Exc_Msg
20608             (   G_PKG_NAME
20609             ,   'Service_Reference_Line'
20610             );
20611         END IF;
20612 
20613 
20614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20615 
20616 END Service_Reference_Line;
20617 
20618 FUNCTION Service_Reference_System ( p_service_reference_system_id IN NUMBER)
20619 RETURN BOOLEAN
20620 IS
20621 l_dummy                       VARCHAR2(10);
20622 BEGIN
20623 
20624 
20625     IF p_service_reference_system_id IS NULL OR
20626         p_service_reference_system_id = FND_API.G_MISS_NUM
20627     THEN
20628 
20629         RETURN TRUE;
20630     END IF;
20631 
20632     --  SELECT  'VALID'
20633     --  INTO     l_dummy
20634     --  FROM     DB_TABLE
20635     --  WHERE    DB_COLUMN = p_service_reference_system_id;
20636 
20637 
20638     RETURN TRUE;
20639 
20640 EXCEPTION
20641 
20642     WHEN NO_DATA_FOUND THEN
20643 
20644         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20645         THEN
20646 
20647 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_System_id');
20648 
20649             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20650             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20651 				OE_Order_Util.Get_Attribute_Name('Service_Reference_System_Id'));
20652             OE_MSG_PUB.Add;
20653 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20654 
20655         END IF;
20656 
20657 
20658         RETURN FALSE;
20659 
20660     WHEN OTHERS THEN
20661 
20662         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20663         THEN
20664             OE_MSG_PUB.Add_Exc_Msg
20665             (   G_PKG_NAME
20666             ,   'Service_Reference_System'
20667             );
20668         END IF;
20669 
20670 
20671         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20672 
20673 END Service_Reference_System;
20674 
20675 FUNCTION Line_Flow_Status ( p_flow_status_code IN VARCHAR2 )
20676 RETURN BOOLEAN
20677 IS
20678 l_dummy                       VARCHAR2(10);
20679 l_lookup_type      	      VARCHAR2(80) :='LINE_FLOW_STATUS';
20680 BEGIN
20681 
20682 
20683     IF p_flow_status_code IS NULL OR
20684         p_flow_status_code = FND_API.G_MISS_CHAR
20685     THEN
20686 
20687         RETURN TRUE;
20688     END IF;
20689 
20690     SELECT  'VALID'
20691     INTO    l_dummy
20692     FROM    OE_LOOKUPS
20693     WHERE   LOOKUP_CODE = p_flow_status_code
20694     AND     LOOKUP_TYPE = l_lookup_type
20695     AND     ENABLED_FLAG = 'Y'
20696     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
20697                         AND NVL(END_DATE_ACTIVE, SYSDATE);
20698 
20699 
20700 
20701     RETURN TRUE;
20702 
20703 EXCEPTION
20704 
20705     WHEN NO_DATA_FOUND THEN
20706 
20707         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20708         THEN
20709 
20710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
20711 
20712             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20713             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20714 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
20715             OE_MSG_PUB.Add;
20716 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20717 
20718         END IF;
20719 
20720 
20721         RETURN FALSE;
20722 
20723     WHEN OTHERS THEN
20724 
20725         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20726         THEN
20727             OE_MSG_PUB.Add_Exc_Msg
20728             (   G_PKG_NAME
20729             ,   'Line_Flow_Status'
20730             );
20731         END IF;
20732 
20733 
20734         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20735 
20736 END Line_Flow_Status;
20737 
20738 FUNCTION Flow_Status ( p_flow_status_code IN VARCHAR2 )
20739 RETURN BOOLEAN
20740 IS
20741 l_dummy                       VARCHAR2(10);
20742 l_lookup_type      	      VARCHAR2(80) :='FLOW_STATUS';
20743 BEGIN
20744 
20745 
20746     IF p_flow_status_code IS NULL OR
20747         p_flow_status_code = FND_API.G_MISS_CHAR
20748     THEN
20749 
20750         RETURN TRUE;
20751     END IF;
20752 
20753     SELECT  'VALID'
20754     INTO    l_dummy
20755     FROM    OE_LOOKUPS
20756     WHERE   LOOKUP_CODE = p_flow_status_code
20757     AND     LOOKUP_TYPE = l_lookup_type
20758     AND     ENABLED_FLAG = 'Y'
20759     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
20760                         AND NVL(END_DATE_ACTIVE, SYSDATE);
20761 
20762 
20763 
20764     RETURN TRUE;
20765 
20766 EXCEPTION
20767 
20768     WHEN NO_DATA_FOUND THEN
20769 
20770         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20771         THEN
20772 
20773 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
20774 
20775             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20776             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20777 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
20778             OE_MSG_PUB.Add;
20779 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20780 
20781         END IF;
20782 
20783 
20784         RETURN FALSE;
20785 
20786     WHEN OTHERS THEN
20787 
20788         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20789         THEN
20790             OE_MSG_PUB.Add_Exc_Msg
20791             (   G_PKG_NAME
20792             ,   'Flow_Status'
20793             );
20794         END IF;
20795 
20796 
20797         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20798 
20799 END Flow_Status;
20800 
20801 FUNCTION Split_Action ( p_split_action_code IN VARCHAR2 )
20802 RETURN BOOLEAN
20803 IS
20804 l_dummy                       VARCHAR2(10);
20805 BEGIN
20806 
20807     IF p_split_action_code IS NULL OR
20808         p_split_action_code = FND_API.G_MISS_CHAR
20809     THEN
20810             RETURN TRUE;
20811     END IF;
20812 
20813     --  SELECT  'VALID'
20814     --  INTO     l_dummy
20815     --  FROM     DB_TABLE
20816     --  WHERE    DB_COLUMN = p_split_action_code;
20817 
20818 
20819     RETURN TRUE;
20820 
20821 EXCEPTION
20822 
20823     WHEN NO_DATA_FOUND THEN
20824 
20825 
20826         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20827         THEN
20828 
20829 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_ACTION_CODE');
20830 
20831             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20832             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20833 				OE_Order_Util.Get_Attribute_Name('split_action_code'));
20834             OE_MSG_PUB.Add;
20835 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20836 
20837         END IF;
20838 
20839 
20840         RETURN FALSE;
20841 
20842     WHEN OTHERS THEN
20843 
20844         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20845         THEN
20846             OE_MSG_PUB.Add_Exc_Msg
20847             (   G_PKG_NAME
20848             ,   'Split Action'
20849             );
20850         END IF;
20851 
20852         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20853 
20854 END Split_Action;
20855 
20856 /* JPN: Marketing source code related */
20857 
20858 FUNCTION Marketing_Source_Code ( p_marketing_source_code_id IN NUMBER)
20859 RETURN BOOLEAN
20860 IS
20861 l_dummy                       VARCHAR2(10);
20862 BEGIN
20863 
20864 
20865     IF p_marketing_source_code_id IS NULL OR
20866         p_marketing_source_code_id = FND_API.G_MISS_NUM
20867     THEN
20868 
20869         RETURN TRUE;
20870     END IF;
20871 
20872     --  SELECT  'VALID'
20873     --  INTO     l_dummy
20874     --  FROM     DB_TABLE
20875     --  WHERE    DB_COLUMN = p_marketing_source_code_id;
20876 
20877 
20878     RETURN TRUE;
20879 
20880 EXCEPTION
20881 
20882     WHEN NO_DATA_FOUND THEN
20883 
20884         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20885         THEN
20886 
20887 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Marketing_Source_Code_id');
20888 
20889             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20890             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20891 				OE_Order_Util.Get_Attribute_Name('Marketing_Source_Code_Id'));
20892             OE_MSG_PUB.Add;
20893 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20894 
20895         END IF;
20896 
20897 
20898         RETURN FALSE;
20899 
20900     WHEN OTHERS THEN
20901 
20902         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20903         THEN
20904             OE_MSG_PUB.Add_Exc_Msg
20905             (   G_PKG_NAME
20906             ,   'Marketing_Source_Code'
20907             );
20908         END IF;
20909 
20910         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20911 
20912 END Marketing_Source_Code;
20913 
20914 /* End of Marketing source code */
20915 
20916 FUNCTION cost_id ( p_cost_id IN NUMBER )
20917 RETURN BOOLEAN
20918 IS
20919 l_dummy                       VARCHAR2(10);
20920 BEGIN
20921 
20922     IF p_cost_id IS NULL OR
20923         p_cost_id = FND_API.G_MISS_NUM
20924     THEN
20925             RETURN TRUE;
20926     END IF;
20927 
20928     --  SELECT  'VALID'
20929     --  INTO     l_dummy
20930     --  FROM     DB_TABLE
20931     --  WHERE    DB_COLUMN = p_cost_id;
20932 
20933 
20934     RETURN TRUE;
20935 
20936 EXCEPTION
20937 
20938     WHEN NO_DATA_FOUND THEN
20939 
20940 
20941         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20942         THEN
20943 
20944 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_ID');
20945 
20946             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20947             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20948 				OE_Order_Util.Get_Attribute_Name('COST_ID'));
20949             OE_MSG_PUB.Add;
20950 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20951 
20952         END IF;
20953 
20954 
20955         RETURN FALSE;
20956 
20957     WHEN OTHERS THEN
20958 
20959         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20960         THEN
20961             OE_MSG_PUB.Add_Exc_Msg
20962             (   G_PKG_NAME
20963             ,   'Cost Id '
20964             );
20965         END IF;
20966 
20967         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20968 
20969 END Cost_Id;
20970 
20971 FUNCTION Charge_Type_Code ( p_Charge_Type_Code IN VARCHAR2 )
20972 RETURN BOOLEAN
20973 IS
20974 l_dummy                       VARCHAR2(10);
20975 BEGIN
20976 
20977     IF p_Charge_Type_Code IS NULL OR
20978         p_Charge_Type_Code = FND_API.G_MISS_CHAR
20979     THEN
20980             RETURN TRUE;
20981     END IF;
20982 
20983     SELECT  'VALID'
20984     INTO     l_dummy
20985     FROM     QP_CHARGE_LOOKUP
20986     WHERE    LOOKUP_CODE = p_charge_type_code;
20987 
20988 
20989     RETURN TRUE;
20990 
20991 EXCEPTION
20992 
20993     WHEN NO_DATA_FOUND THEN
20994 
20995 
20996         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20997         THEN
20998 
20999 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_CODE');
21000 
21001             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21002             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21003 				OE_Order_Util.Get_Attribute_Name('CHARGE_TYPE_CODE'));
21004             OE_MSG_PUB.Add;
21005 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21006 
21007         END IF;
21008 
21009 
21010         RETURN FALSE;
21011 
21012     WHEN OTHERS THEN
21013 
21014         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21015         THEN
21016             OE_MSG_PUB.Add_Exc_Msg
21017             (   G_PKG_NAME
21018             ,   'Charge Type'
21019             );
21020         END IF;
21021 
21022         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21023 
21024 END Charge_Type_Code;
21025 
21026 FUNCTION Charge_Subtype_Code ( p_Charge_Subtype_Code IN VARCHAR2 )
21027 RETURN BOOLEAN
21028 IS
21029 l_dummy                       VARCHAR2(10);
21030 BEGIN
21031 
21032     IF p_Charge_Subtype_Code IS NULL OR
21033         p_Charge_Subtype_Code = FND_API.G_MISS_CHAR
21034     THEN
21035             RETURN TRUE;
21036     END IF;
21037 
21038     -- SELECT  'VALID'
21039     -- INTO     l_dummy
21040     -- FROM     DB_TABLE
21041     -- WHERE    DB_COLUMN = p_charge_Subtype_code;
21042 
21043 
21044     RETURN TRUE;
21045 
21046 EXCEPTION
21047 
21048     WHEN NO_DATA_FOUND THEN
21049 
21050 
21051         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21052         THEN
21053 
21054 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_SUBTYPE_CODE');
21055 
21056             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21057             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21058 				OE_Order_Util.Get_Attribute_Name('CHARGE_SUBTYPE_CODE'));
21059             OE_MSG_PUB.Add;
21060 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21061 
21062         END IF;
21063 
21064 
21065         RETURN FALSE;
21066 
21067     WHEN OTHERS THEN
21068 
21069         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21070         THEN
21071             OE_MSG_PUB.Add_Exc_Msg
21072             (   G_PKG_NAME
21073             ,   'Charge Sub Type'
21074             );
21075         END IF;
21076 
21077         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21078 
21079 END Charge_Subtype_Code;
21080 
21081 FUNCTION Commitment ( p_commitment_id IN NUMBER )
21082 RETURN BOOLEAN
21083 IS
21084 l_dummy                       VARCHAR2(10);
21085 BEGIN
21086 
21087     IF p_commitment_id IS NULL OR
21088         p_commitment_id = FND_API.G_MISS_NUM
21089     THEN
21090             RETURN TRUE;
21091     END IF;
21092 
21093     --  SELECT  'VALID'
21094     --  INTO     l_dummy
21095     --  FROM     DB_TABLE
21096     --  WHERE    DB_COLUMN = p_charge_Subtype_code;
21097 
21098 
21099     RETURN TRUE;
21100 
21101 EXCEPTION
21102 
21103     WHEN NO_DATA_FOUND THEN
21104 
21105 
21106         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21107         THEN
21108 
21109                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_ID');
21110 
21111             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21112             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21113                                 OE_Order_Util.Get_Attribute_Name('COMMITMENT_ID'));
21114             OE_MSG_PUB.Add;
21115               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21116 
21117         END IF;
21118 
21119 
21120         RETURN FALSE;
21121 
21122     WHEN OTHERS THEN
21123 
21124         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21125         THEN
21126             OE_MSG_PUB.Add_Exc_Msg
21127             (   G_PKG_NAME
21128             ,   'Commitment'
21129             );
21130         END IF;
21131 
21132         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21133 
21134 END Commitment;
21135 
21136 FUNCTION credit_or_charge_flag( p_credit_or_charge_flag IN VARCHAR2 )
21137 RETURN BOOLEAN
21138 IS
21139 l_dummy                       VARCHAR2(10);
21140 l_lookup_type      	      VARCHAR2(80) :='CREDIT_OR_CHARGE_FLAG';
21141 BEGIN
21142 
21143     IF p_credit_or_charge_flag IS NULL OR
21144         p_credit_or_charge_flag = FND_API.G_MISS_CHAR
21145     THEN
21146             RETURN TRUE;
21147     END IF;
21148 
21149     SELECT  'VALID'
21150     INTO     l_dummy
21151     FROM     OE_LOOKUPS
21152     WHERE    LOOKUP_CODE = p_credit_or_charge_flag
21153     AND      LOOKUP_TYPE = l_lookup_type
21154     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21155                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21156 
21157 
21158     RETURN TRUE;
21159 
21160 EXCEPTION
21161 
21162     WHEN NO_DATA_FOUND THEN
21163 
21164 
21165         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21166         THEN
21167 
21168 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_OR_CHARGE_FLAG');
21169 
21170             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21171             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21172 				OE_Order_Util.Get_Attribute_Name('CREDIT_OR_CHARGE_FLAG'));
21173             OE_MSG_PUB.Add;
21174 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21175 
21176         END IF;
21177 
21178 
21179         RETURN FALSE;
21180 
21181     WHEN OTHERS THEN
21182 
21183         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21184         THEN
21185             OE_MSG_PUB.Add_Exc_Msg
21186             (   G_PKG_NAME
21187             ,   'Credit Or Charge Flag '
21188             );
21189         END IF;
21190 
21191         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21192 
21193 END Credit_Or_Charge_Flag;
21194 
21195 FUNCTION Include_On_Returns_Flag( p_Include_On_Returns_Flag IN VARCHAR2 )
21196 RETURN BOOLEAN
21197 IS
21198 l_dummy                       VARCHAR2(10);
21199 l_lookup_type      	      VARCHAR2(80) :='YES_NO';
21200 BEGIN
21201 
21202     IF p_Include_On_Returns_Flag IS NULL OR
21203         p_Include_On_Returns_Flag = FND_API.G_MISS_CHAR
21204     THEN
21205             RETURN TRUE;
21206     END IF;
21207 
21208     SELECT  'VALID'
21209     INTO     l_dummy
21210     FROM     OE_FND_COMMON_LOOKUPS_V
21211     WHERE    LOOKUP_CODE = p_Include_On_Returns_Flag
21212     AND      LOOKUP_TYPE = l_lookup_type
21213     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21214                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21215 
21216 
21217     RETURN TRUE;
21218 
21219 EXCEPTION
21220 
21221     WHEN NO_DATA_FOUND THEN
21222 
21223 
21224         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21225         THEN
21226 
21227 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INCLUDE_ON_RETURNS_FLAG');
21228 
21229             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21230             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21231 				OE_Order_Util.Get_Attribute_Name('INCLUDE_ON_RETURNS_FLAG'));
21232             OE_MSG_PUB.Add;
21233 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21234 
21235         END IF;
21236 
21237 
21238         RETURN FALSE;
21239 
21240     WHEN OTHERS THEN
21241 
21242         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21243         THEN
21244             OE_MSG_PUB.Add_Exc_Msg
21245             (   G_PKG_NAME
21246             ,   'Include On Returns Flag'
21247             );
21248         END IF;
21249 
21250         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21251 
21252 END Include_On_Returns_Flag;
21253 
21254 FUNCTION IS_AUDIT_REASON_RQD RETURN BOOLEAN IS
21255 BEGIN
21256    IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG = 'Y' THEN
21257 	 RETURN TRUE;
21258    ELSE
21259 	 RETURN FALSE;
21260    END IF;
21261 END;
21262 
21263 FUNCTION IS_AUDIT_HISTORY_RQD RETURN BOOLEAN IS
21264 BEGIN
21265    IF OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG = 'Y' THEN
21266 	 RETURN TRUE;
21267    ELSE
21268 	 RETURN FALSE;
21269    END IF;
21270 END;
21271 
21272 PROCEDURE RESET_AUDIT_REASON_FLAGS IS
21273 BEGIN
21274    OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'N';
21275    OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
21276 END;
21277 FUNCTION Sales_Channel( p_sales_channel_code IN VARCHAR2 )
21278 RETURN BOOLEAN
21279 IS
21280 l_dummy                       VARCHAR2(10);
21281 l_lookup_type      	      VARCHAR2(80) :='SALES_CHANNEL';
21282 BEGIN
21283 
21284     IF p_sales_channel_code IS NULL OR
21285         p_sales_channel_code = FND_API.G_MISS_CHAR
21286     THEN
21287             RETURN TRUE;
21288     END IF;
21289 
21290     SELECT  'VALID'
21291     INTO     l_dummy
21292     FROM     OE_LOOKUPS
21293     WHERE    LOOKUP_CODE = p_sales_channel_code
21294     AND      LOOKUP_TYPE = l_lookup_type
21295     AND      ENABLED_FLAG = 'Y'
21296     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21297                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21298 
21299 
21300     RETURN TRUE;
21301 
21302 EXCEPTION
21303 
21304     WHEN NO_DATA_FOUND THEN
21305 
21306 
21307         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21308         THEN
21309 
21310 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CHANNEL_CODE');
21311 
21312           FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
21313           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21314 				OE_Order_Util.Get_Attribute_Name('SALES_CHANNEL_CODE'));
21315           OE_MSG_PUB.Add;
21316 
21317 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21318 
21319         END IF;
21320 
21321 
21322         RETURN FALSE;
21323 
21324     WHEN OTHERS THEN
21325 
21326         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21327         THEN
21328             OE_MSG_PUB.Add_Exc_Msg
21329             (   G_PKG_NAME
21330             ,   'Sales_Channel'
21331             );
21332         END IF;
21333 
21334         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21335 
21336 END Sales_Channel;
21337 
21338 FUNCTION User_Item_Description ( p_user_item_description IN VARCHAR2 )
21339 RETURN BOOLEAN
21340 IS
21341 l_dummy                       VARCHAR2(10);
21342 BEGIN
21343 
21344 
21345     IF p_user_item_description IS NULL OR
21346         p_user_item_description = FND_API.G_MISS_CHAR
21347     THEN
21348 
21349         RETURN TRUE;
21350     END IF;
21351 
21352     --  SELECT  'VALID'
21353     --  INTO     l_dummy
21354     --  FROM     DB_TABLE
21355     --  WHERE    DB_COLUMN = p_user_item_description;
21356 
21357 
21358     RETURN TRUE;
21359 
21360 EXCEPTION
21361 
21362     WHEN NO_DATA_FOUND THEN
21363 
21364         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21365         THEN
21366 
21367 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'USER_ITEM_DESCRIPTION');
21368 
21369             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21370             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21371 				OE_Order_Util.Get_Attribute_Name('user_item_description'));
21372             OE_MSG_PUB.Add;
21373 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21374 
21375         END IF;
21376 
21377 
21378         RETURN FALSE;
21379 
21380     WHEN OTHERS THEN
21381 
21382         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21383         THEN
21384             OE_MSG_PUB.Add_Exc_Msg
21385             (   G_PKG_NAME
21386             ,   'User_Item_Description'
21387             );
21388         END IF;
21389 
21390 
21391         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21392 
21393 END User_Item_Description;
21394 
21395 
21396 FUNCTION Item_Relationship_Type ( p_Item_Relationship_Type IN NUMBER )
21397 RETURN BOOLEAN
21398 IS
21399 l_dummy                       VARCHAR2(10);
21400 l_lookup_type      	      VARCHAR2(80) :='MTL_RELATIONSHIP_TYPES';
21401 BEGIN
21402     IF p_Item_Relationship_Type IS NULL OR
21403         p_Item_Relationship_Type = FND_API.G_MISS_NUM
21404     THEN
21405         RETURN TRUE;
21406     END IF;
21407 
21408     SELECT  'VALID'
21409     INTO    l_dummy
21410     FROM    MFG_LOOKUPS
21411     WHERE   LOOKUP_CODE = p_Item_Relationship_Type
21412     AND     LOOKUP_TYPE = l_lookup_type
21413     AND     ENABLED_FLAG = 'Y'
21414     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21415                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21416 RETURN TRUE;
21417 
21418 EXCEPTION
21419     WHEN NO_DATA_FOUND THEN
21420         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21421         THEN
21422               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_RELATIONSHIP_TYPE');
21423             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21424             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21425                                 OE_Order_Util.Get_Attribute_Name('ITEM_RELATIONSHIP_TYPE'));
21426             OE_MSG_PUB.Add;
21427               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21428        END IF;
21429         RETURN FALSE;
21430 
21431     WHEN OTHERS THEN
21432         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21433         THEN
21434             OE_MSG_PUB.Add_Exc_Msg(g_pkg_name,'Item_Relationship_Type');
21435         END IF;
21436         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21437 END Item_Relationship_Type;
21438 
21439 
21440  -- Changes for Line Set Enhancements
21441 
21442 FUNCTION Default_Fulfillment_set (p_default_fulfillment_set IN VARCHAR2)
21443 RETURN BOOLEAN
21444 IS
21445 l_dummy                       VARCHAR2(10);
21446  BEGIN
21447        IF p_default_fulfillment_set IS NULL OR
21448           p_default_fulfillment_set = FND_API.G_MISS_CHAR
21449        THEN
21450           RETURN TRUE;
21451        END IF;
21452 
21453       --  SELECT  'VALID'
21454       --  INTO     l_dummy
21455       --  FROM     DB_TABLE
21456       --  WHERE    DB_COLUMN = p_default_fulfillment_set;
21457 
21458       RETURN TRUE;
21459 
21460 EXCEPTION
21461 
21462       WHEN NO_DATA_FOUND THEN
21463 
21464           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21465           THEN
21466 
21467                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>  'Default_Fulfillment_Set');
21468 
21469               FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
21470               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21471                                   OE_Order_Util.Get_Attribute_Name('Default_Fulfillment_Set'));
21472               OE_MSG_PUB.Add;
21473                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21474 
21475           END IF;
21476 
21477 
21478           RETURN FALSE;
21479 
21480       WHEN OTHERS THEN
21481 
21482           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21483           THEN
21484               OE_MSG_PUB.Add_Exc_Msg
21485               (   G_PKG_NAME
21486               ,   'Default_Fulfillment_Set'
21487               );
21488           END IF;
21489 
21490 
21491           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21492 
21493 END Default_Fulfillment_Set;
21494 
21495 FUNCTION Fulfillment_Set_Name (p_fulfillment_set_name IN VARCHAR2)
21496 RETURN BOOLEAN
21497 IS
21498   l_dummy                       VARCHAR2(10);
21499   BEGIN
21500        IF p_fulfillment_set_name IS NULL OR
21501           p_fulfillment_set_name= FND_API.G_MISS_CHAR    THEN
21502             RETURN TRUE;
21503        END IF;
21504 
21505       --  SELECT  'VALID'
21506       --  INTO    l_dummy
21507       --  FROM    DB_TABLE
21508       --  WHERE   DB_COLUMN = p_fulfillment_set_name;
21509 
21510       RETURN TRUE;
21511   EXCEPTION
21512 
21513       WHEN NO_DATA_FOUND THEN
21514 
21515           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21516           THEN
21517 
21518                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Fulfillment_Set_Name');
21519 
21520               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21521               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21522                                   OE_Order_Util.Get_Attribute_Name('Fulfillment_Set_Name'));
21523               OE_MSG_PUB.Add;
21524                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21525 
21526           END IF;
21527 
21528 
21529           RETURN FALSE;
21530 
21531       WHEN OTHERS THEN
21532 
21533           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21534           THEN
21535               OE_MSG_PUB.Add_Exc_Msg
21536               (   G_PKG_NAME
21537               ,   'Fulfillment_Set_Name'
21538               );
21539           END IF;
21540 
21541 
21542           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21543 
21544 END Fulfillment_Set_Name;
21545 
21546 FUNCTION Line_Set_Name (p_line_set_name IN VARCHAR2)
21547 RETURN BOOLEAN
21548 IS
21549   l_dummy                       VARCHAR2(10);
21550 BEGIN
21551       IF p_line_set_name IS NULL OR
21552          p_line_set_name= FND_API.G_MISS_CHAR    THEN
21553              RETURN TRUE;
21554       END IF;
21555 
21556       --  SELECT  'VALID'
21557       --  INTO    l_dummy
21558       --  FROM    DB_TABLE
21559       --  WHERE   DB_COLUMN = p_line_set_name;
21560 
21561       RETURN TRUE;
21562   EXCEPTION
21563 
21564       WHEN NO_DATA_FOUND THEN
21565 
21566           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21567           THEN
21568 
21569                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_Name');
21570 
21571              fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21572              FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21573                                  OE_Order_Util.Get_Attribute_Name('Line_Set_Name'));
21574              OE_MSG_PUB.Add;
21575                OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21576 
21577          END IF;
21578 
21579 
21580          RETURN FALSE;
21581 
21582      WHEN OTHERS THEN
21583 
21584           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21585           THEN
21586               OE_MSG_PUB.Add_Exc_Msg
21587               (   G_PKG_NAME
21588               ,   'Line_Set_Name'
21589               );
21590           END IF;
21591 
21592 
21593           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21594 
21595 END Line_Set_Name;
21596 
21597 
21598 FUNCTION Customer_Shipment_Number (p_customer_shipment_number IN VARCHAR2)
21599 RETURN BOOLEAN
21600 IS
21601 l_dummy                       VARCHAR2(10);
21602  BEGIN
21603        IF p_customer_shipment_number IS NULL OR
21604           p_customer_shipment_number = FND_API.G_MISS_CHAR
21605        THEN
21606           RETURN TRUE;
21607        END IF;
21608 
21609       --  SELECT  'VALID'
21610       --  INTO     l_dummy
21611       --  FROM     DB_TABLE
21612       --  WHERE    DB_COLUMN = p_customer_shipment_number;
21613 
21614       RETURN TRUE;
21615 
21616 EXCEPTION
21617 
21618       WHEN NO_DATA_FOUND THEN
21619 
21620           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21621           THEN
21622 
21623                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>  'Customer_Shipment_Number');
21624 
21625               FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
21626               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21627                                   OE_Order_Util.Get_Attribute_Name('Customer_Shipment_Number'));
21628               OE_MSG_PUB.Add;
21629                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21630 
21631           END IF;
21632 
21633 
21634           RETURN FALSE;
21635 
21636       WHEN OTHERS THEN
21637 
21638           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21639           THEN
21640               OE_MSG_PUB.Add_Exc_Msg
21641               (   G_PKG_NAME
21642               ,   'Customer_Shipment_Number'
21643               );
21644           END IF;
21645 
21646 
21647           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21648 
21649 END Customer_Shipment_Number;
21650 
21651 -- QUOTING changes
21652 
21653 FUNCTION Transaction_Phase ( p_transaction_phase_code IN VARCHAR2 )
21654 RETURN BOOLEAN
21655 IS
21656 l_dummy                       VARCHAR2(10);
21657 l_lookup_type      	      VARCHAR2(80) :='TRANSACTION_PHASE';
21658 BEGIN
21659 
21660     IF p_transaction_phase_code IS NULL OR
21661         p_transaction_phase_code = FND_API.G_MISS_CHAR
21662     THEN
21663 
21664         RETURN TRUE;
21665     END IF;
21666 
21667     SELECT  'VALID'
21668     INTO    l_dummy
21669     FROM    OE_LOOKUPS
21670     WHERE   LOOKUP_CODE = p_transaction_phase_code
21671     AND     LOOKUP_TYPE = l_lookup_type
21672     AND     ENABLED_FLAG = 'Y'
21673     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21674                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21675 
21676 
21677     RETURN TRUE;
21678 
21679 EXCEPTION
21680 
21681     WHEN NO_DATA_FOUND THEN
21682 
21683         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21684         THEN
21685 
21686 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRANSACTION_PHASE_CODE');
21687 
21688             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21689             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21690 				OE_Order_Util.Get_Attribute_Name('TRANSACTION_PHASE_CODE'));
21691             OE_MSG_PUB.Add;
21692 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21693 
21694         END IF;
21695 
21696 
21697         RETURN FALSE;
21698 
21699     WHEN OTHERS THEN
21700 
21701         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21702         THEN
21703             OE_MSG_PUB.Add_Exc_Msg
21704             (   G_PKG_NAME
21705             ,   'Transaction_Phase'
21706             );
21707         END IF;
21708 
21709 
21710         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21711 
21712 END Transaction_Phase;
21713 
21714 FUNCTION User_Status ( p_user_status_code IN VARCHAR2 )
21715 RETURN BOOLEAN
21716 IS
21717 l_dummy                       VARCHAR2(10);
21718 l_lookup_type      	      VARCHAR2(80) :='USER_STATUS';
21719 BEGIN
21720 
21721     IF p_user_status_code IS NULL OR
21722         p_user_status_code = FND_API.G_MISS_CHAR
21723     THEN
21724 
21725         RETURN TRUE;
21726     END IF;
21727 
21728     SELECT  'VALID'
21729     INTO    l_dummy
21730     FROM    OE_LOOKUPS
21731     WHERE   LOOKUP_CODE = p_user_status_code
21732     AND     LOOKUP_TYPE = l_lookup_type
21733     AND     ENABLED_FLAG = 'Y'
21734     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21735                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21736 
21737 
21738     RETURN TRUE;
21739 
21740 EXCEPTION
21741 
21742     WHEN NO_DATA_FOUND THEN
21743 
21744         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21745         THEN
21746 
21747 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'USER_STATUS_CODE');
21748 
21749             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21750             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21751 				OE_Order_Util.Get_Attribute_Name('USER_STATUS_CODE'));
21752             OE_MSG_PUB.Add;
21753 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21754 
21755         END IF;
21756 
21757 
21758         RETURN FALSE;
21759 
21760     WHEN OTHERS THEN
21761 
21762         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21763         THEN
21764             OE_MSG_PUB.Add_Exc_Msg
21765             (   G_PKG_NAME
21766             ,   'User_Status'
21767             );
21768         END IF;
21769 
21770 
21771         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21772 
21773 END User_Status;
21774 
21775 FUNCTION Customer_Location ( p_sold_to_site_use_id IN NUMBER )
21776 RETURN BOOLEAN
21777 IS
21778 l_dummy                       VARCHAR2(10);
21779 BEGIN
21780 
21781 
21782     IF p_sold_to_site_use_id IS NULL OR
21783         p_sold_to_site_use_id = FND_API.G_MISS_NUM
21784     THEN
21785 
21786         RETURN TRUE;
21787     END IF;
21788 
21789     SELECT  'VALID'
21790     INTO    l_dummy
21791     FROM    HZ_CUST_SITE_USES   SITE
21792     WHERE   SITE.SITE_USE_ID =p_sold_to_site_use_id
21793     AND     SITE.SITE_USE_CODE = 'SOLD_TO'
21794     AND     SITE.STATUS = 'A';
21795 
21796 
21797     RETURN TRUE;
21798 
21799 EXCEPTION
21800 
21801     WHEN NO_DATA_FOUND THEN
21802 
21803         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21804         THEN
21805 
21806 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_SITE_USE_ID');
21807 
21808             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21809             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21810 				OE_Order_Util.Get_Attribute_Name('sold_to_site_use_id'));
21811             OE_MSG_PUB.Add;
21812 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21813 
21814         END IF;
21815 
21816 
21817         RETURN FALSE;
21818 
21819     WHEN OTHERS THEN
21820 
21821         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21822         THEN
21823             OE_MSG_PUB.Add_Exc_Msg
21824             (   G_PKG_NAME
21825             ,   'Customer_Location'
21826             );
21827         END IF;
21828 
21829 
21830         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21831 
21832 END Customer_Location;
21833 -- QUOTING changes END
21834 FUNCTION Minisite( p_minisite_id IN NUMBER)
21835 RETURN BOOLEAN
21836 IS
21837 l_sql_stat                      VARCHAR2(500);
21838 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
21839 x_return_status                 VARCHAR2(80);
21840 l_dummy                         NUMBER;
21841 BEGIN
21842 
21843     IF p_minisite_id IS NULL
21844             OR
21845        p_minisite_id = FND_API.G_MISS_NUM
21846     THEN
21847         RETURN TRUE;
21848 
21849     ELSE
21850 
21851  IF  OE_GLOBALS.CHECK_PRODUCT_INSTALLED(671) = 'Y' THEN
21852 
21853     -- SQL Literal Change
21854     l_sql_stat := 'select 1 from IBE_MSITES_B where msite_id= :bind_minisite_id';
21855 
21856     -- SQL Literal Change
21857      Execute immediate l_sql_stat into l_dummy using p_minisite_id;
21858 
21859     RETURN TRUE;
21860 
21861 /* ELSE
21862          IF l_debug_level  > 0 THEN
21863        oe_debug_pub.add('profuct is not installed');
21864            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
21865            RETURN FALSE;
21866          END IF; */
21867 
21868 
21869 END IF;
21870 END IF;
21871 
21872 EXCEPTION
21873 
21874     WHEN NO_DATA_FOUND THEN
21875 
21876         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21877         THEN
21878 
21879             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MINISITE_ID');
21880 
21881             FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
21882             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21883                          'MINISITE_ID');
21884             OE_MSG_PUB.Add;
21885 
21886                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21887 
21888         END IF;
21889 
21890         RETURN FALSE;
21891 
21892 /*  WHEN OTHERS THEN
21893          IF l_debug_level  > 0 THEN
21894        oe_debug_pub.add('error in calling');
21895        oe_debug_pub.add(sqlerrm);
21896            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
21897            RETURN FALSE;
21898          END IF;  */
21899 
21900     WHEN OTHERS THEN
21901         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21902         THEN
21903             OE_MSG_PUB.Add_Exc_Msg
21904             (   G_PKG_NAME
21905             ,   'Minisite'
21906             );
21907         END IF;
21908 
21909         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21910 
21911 END Minisite;
21912 
21913 FUNCTION IB_OWNER ( p_ib_owner IN VARCHAR2 )
21914 RETURN BOOLEAN
21915 IS
21916 l_dummy                       VARCHAR2(10);
21917 l_lookup_type1      	      VARCHAR2(80) :='ITEM_OWNER';
21918 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
21919 BEGIN
21920 
21921 
21922     IF p_ib_owner IS NULL OR
21923         p_ib_owner = FND_API.G_MISS_CHAR
21924     THEN
21925 
21926         RETURN TRUE;
21927     END IF;
21928 
21929       SELECT  'VALID'
21930       INTO     l_dummy
21931       FROM     OE_LOOKUPS
21932       WHERE    lookup_code = p_ib_owner AND
21933               ( lookup_type = l_lookup_type1 OR lookup_type=l_lookup_type2);
21934 
21935 
21936     RETURN TRUE;
21937 
21938 EXCEPTION
21939 
21940     WHEN NO_DATA_FOUND THEN
21941 
21942         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21943         THEN
21944 
21945            OE_DEBUG_PUB.ADD('Validation failed for IB_OWNER in OEXSVATB.pls');
21946 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_OWNER');
21947 
21948             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21949             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21950 				OE_Order_Util.Get_Attribute_Name('ib_owner'));
21951             OE_MSG_PUB.Add;
21952 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21953 
21954         END IF;
21955 
21956 
21957         RETURN FALSE;
21958 
21959     WHEN OTHERS THEN
21960 
21961         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21962         THEN
21963             OE_MSG_PUB.Add_Exc_Msg
21964             (   G_PKG_NAME
21965             ,   'IB_OWNER'
21966             );
21967         END IF;
21968 
21969 
21970         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21971 
21972 END IB_OWNER;
21973 
21974 FUNCTION IB_INSTALLED_AT_LOCATION ( p_ib_installed_at_location IN VARCHAR2 )
21975 RETURN BOOLEAN
21976 IS
21977 l_dummy                       VARCHAR2(10);
21978 l_lookup_type1      	      VARCHAR2(80) :='ITEM_INSTALL_LOCATION';
21979 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
21980 BEGIN
21981 
21982 
21983     IF p_ib_installed_at_location IS NULL OR
21984         p_ib_installed_at_location = FND_API.G_MISS_CHAR
21985     THEN
21986 
21987         RETURN TRUE;
21988     END IF;
21989 
21990       SELECT  'VALID'
21991       INTO     l_dummy
21992       FROM     OE_LOOKUPS
21993       WHERE    lookup_code = p_ib_installed_at_location AND
21994                (lookup_type = l_lookup_type1 OR lookup_type= l_lookup_type2);
21995 
21996 
21997     RETURN TRUE;
21998 
21999 EXCEPTION
22000 
22001     WHEN NO_DATA_FOUND THEN
22002 
22003         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22004         THEN
22005 
22006            OE_DEBUG_PUB.ADD('Validation failed for IB_INSTALLED_AT_LOCATION in OEXSVATB.pls');
22007 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_INSTALLED_AT_LOCATION');
22008 
22009             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22010             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22011 				OE_Order_Util.Get_Attribute_Name('ib_installed_at_location'));
22012             OE_MSG_PUB.Add;
22013 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22014 
22015         END IF;
22016 
22017 
22018         RETURN FALSE;
22019 
22020     WHEN OTHERS THEN
22021 
22022         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22023         THEN
22024             OE_MSG_PUB.Add_Exc_Msg
22025             (   G_PKG_NAME
22026             ,   'IB_INSTALLED_AT_LOCATION'
22027             );
22028         END IF;
22029 
22030 
22031         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22032 
22033 END IB_INSTALLED_AT_LOCATION;
22034 
22035 FUNCTION IB_CURRENT_LOCATION ( p_ib_current_location IN VARCHAR2 )
22036 RETURN BOOLEAN
22037 IS
22038 l_dummy                       VARCHAR2(10);
22039 l_lookup_type1      	      VARCHAR2(80) :='ITEM_CURRENT_LOCATION';
22040 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
22041 BEGIN
22042 
22043 
22044     IF p_ib_current_location IS NULL OR
22045         p_ib_current_location = FND_API.G_MISS_CHAR
22046     THEN
22047 
22048         RETURN TRUE;
22049     END IF;
22050 
22051       SELECT  'VALID'
22052       INTO     l_dummy
22053       FROM     OE_LOOKUPS
22054       WHERE    lookup_code = p_ib_current_location AND
22055                (lookup_type = l_lookup_type1 OR lookup_type=l_lookup_type2);
22056 
22057 
22058     RETURN TRUE;
22059 
22060 EXCEPTION
22061 
22062     WHEN NO_DATA_FOUND THEN
22063 
22064         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22065         THEN
22066 
22067            OE_DEBUG_PUB.ADD('Validation failed for IB_CURRENT_LOCATION in OEXSVATB.pls');
22068 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_CURRENT_LOCATION');
22069 
22070             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22071             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22072 				OE_Order_Util.Get_Attribute_Name('ib_current_location'));
22073             OE_MSG_PUB.Add;
22074 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22075 
22076         END IF;
22077 
22078 
22079         RETURN FALSE;
22080 
22081     WHEN OTHERS THEN
22082 
22083         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22084         THEN
22085             OE_MSG_PUB.Add_Exc_Msg
22086             (   G_PKG_NAME
22087             ,   'IB_CURRENT_LOCATION'
22088             );
22089         END IF;
22090 
22091 
22092         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22093 
22094 END IB_CURRENT_LOCATION;
22095 
22096 -- distributed orders
22097 
22098 FUNCTION end_customer(p_end_customer_id IN NUMBER) RETURN BOOLEAN
22099 IS
22100    l_dummy                       VARCHAR2(10);
22101 BEGIN
22102 
22103    IF p_end_customer_id IS NULL OR
22104         p_end_customer_id = FND_API.G_MISS_NUM
22105     THEN
22106         RETURN TRUE;
22107     END IF;
22108 
22109     SELECT  'VALID'
22110     INTO    l_dummy
22111     FROM    OE_SOLD_TO_ORGS_V
22112     WHERE   ORGANIZATION_ID =p_end_customer_id
22113     AND     STATUS = 'A'
22114     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
22115                     AND     NVL(END_DATE_ACTIVE, SYSDATE);
22116 
22117 
22118 
22119     RETURN TRUE;
22120 
22121 EXCEPTION
22122 
22123     WHEN NO_DATA_FOUND THEN
22124 
22125         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22126         THEN
22127 
22128 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_ID');
22129 
22130             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22131             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22132 				OE_Order_Util.Get_Attribute_Name('END_CUSTOMER_ID')||':validation:'||to_char(p_end_customer_id));
22133             OE_MSG_PUB.Add;
22134 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22135 
22136         END IF;
22137 
22138 
22139         RETURN FALSE;
22140 
22141     WHEN OTHERS THEN
22142 
22143         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22144         THEN
22145             OE_MSG_PUB.Add_Exc_Msg
22146             (   G_PKG_NAME
22147             ,   'END_CUSOTMER'
22148             );
22149         END IF;
22150 
22151 
22152         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22153    null;
22154 END end_customer;
22155 
22156 
22157 FUNCTION end_customer_contact(p_end_customer_contact_id IN NUMBER) RETURN BOOLEAN
22158 IS
22159    l_dummy                       VARCHAR2(10);
22160 BEGIN
22161 
22162    IF p_end_customer_contact_id IS NULL OR
22163         p_end_customer_contact_id = FND_API.G_MISS_NUM
22164     THEN
22165 
22166         RETURN TRUE;
22167     END IF;
22168 
22169     SELECT  'VALID'
22170     INTO    l_dummy
22171     FROM    HZ_CUST_ACCOUNT_ROLES
22172     WHERE   CUST_ACCOUNT_ROLE_ID = p_end_customer_contact_id
22173     AND     ROLE_TYPE = 'CONTACT'
22174     AND     STATUS = 'A';
22175 
22176     RETURN TRUE;
22177 
22178 EXCEPTION
22179 
22180     WHEN NO_DATA_FOUND THEN
22181 
22182         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22183         THEN
22184 
22185 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_CONTACT_ID');
22186 
22187             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22188             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22189 				OE_Order_Util.Get_Attribute_Name('end_customer_contact_id'));
22190             OE_MSG_PUB.Add;
22191 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22192 
22193         END IF;
22194 
22195 
22196         RETURN FALSE;
22197 
22198     WHEN OTHERS THEN
22199 
22200         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22201         THEN
22202             OE_MSG_PUB.Add_Exc_Msg
22203             (   G_PKG_NAME
22204             ,   'End_Customer_Contact'
22205             );
22206         END IF;
22207 
22208 
22209         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22210    null;
22211 END end_customer_contact;
22212 
22213 FUNCTION END_CUSTOMER_SITE_USE ( p_end_customer_site_use_id IN NUMBER )
22214 RETURN BOOLEAN
22215 IS
22216 l_dummy                       VARCHAR2(10);
22217 BEGIN
22218 
22219 
22220     IF p_end_customer_site_use_id IS NULL OR
22221         p_end_customer_site_use_id = FND_API.G_MISS_NUM
22222     THEN
22223 
22224         RETURN TRUE;
22225     END IF;
22226 
22227     --  SELECT  'VALID'
22228     --  INTO     l_dummy
22229     --  FROM     DB_TABLE
22230     --  WHERE    DB_COLUMN = p_end_customer_site_use_id;
22231 
22232 
22233     RETURN TRUE;
22234 
22235 EXCEPTION
22236 
22237     WHEN NO_DATA_FOUND THEN
22238 
22239         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22240         THEN
22241 
22242 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_SITE_USE_ID');
22243 
22244             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22245             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22246 				OE_Order_Util.Get_Attribute_Name('end_customer_site_use_id'));
22247             OE_MSG_PUB.Add;
22248 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22249 
22250         END IF;
22251 
22252 
22253         RETURN FALSE;
22254 
22255     WHEN OTHERS THEN
22256 
22257         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22258         THEN
22259             OE_MSG_PUB.Add_Exc_Msg
22260             (   G_PKG_NAME
22261             ,   'END_CUSTOMER_SITE_USE_ID'
22262             );
22263         END IF;
22264 
22265 
22266         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22267 
22268 END END_CUSTOMER_SITE_USE;
22269 
22270 FUNCTION SUPPLIER_SIGNATURE ( p_supplier_signature IN VARCHAR2 )
22271 RETURN BOOLEAN
22272 IS
22273 l_dummy                       VARCHAR2(10);
22274 BEGIN
22275 
22276 
22277     IF p_supplier_signature IS NULL OR
22278         p_supplier_signature = FND_API.G_MISS_CHAR
22279     THEN
22280 
22281         RETURN TRUE;
22282     END IF;
22283 
22284     --  SELECT  'VALID'
22285     --  INTO     l_dummy
22286     --  FROM     DB_TABLE
22287     --  WHERE    DB_COLUMN = p_supplier_signature;
22288 
22289 
22290     RETURN TRUE;
22291 
22292 EXCEPTION
22293 
22294     WHEN NO_DATA_FOUND THEN
22295 
22296         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22297         THEN
22298 
22299 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUPPLIER_SIGNATURE');
22300 
22301             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22302             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22303 				OE_Order_Util.Get_Attribute_Name('supplier_signature'));
22304             OE_MSG_PUB.Add;
22305 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22306 
22307         END IF;
22308 
22309 
22310         RETURN FALSE;
22311 
22312     WHEN OTHERS THEN
22313 
22314         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22315         THEN
22316             OE_MSG_PUB.Add_Exc_Msg
22317             (   G_PKG_NAME
22318             ,   'SUPPLIER_SIGNATURE'
22319             );
22320         END IF;
22321 
22322 
22323         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22324 
22325 END SUPPLIER_SIGNATURE;
22326 
22327 FUNCTION SUPPLIER_SIGNATURE_DATE ( p_supplier_signature_date IN DATE )
22328 RETURN BOOLEAN
22329 IS
22330 l_dummy                       VARCHAR2(10);
22331 BEGIN
22332 
22333 
22334     IF p_supplier_signature_date IS NULL OR
22335         p_supplier_signature_date = FND_API.G_MISS_DATE
22336     THEN
22337 
22338         RETURN TRUE;
22339     END IF;
22340 
22341     --  SELECT  'VALID'
22342     --  INTO     l_dummy
22343     --  FROM     DB_TABLE
22344     --  WHERE    DB_COLUMN = p_supplier_signature_date;
22345 
22346 
22347     RETURN TRUE;
22348 
22349 EXCEPTION
22350 
22351     WHEN NO_DATA_FOUND THEN
22352 
22353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22354         THEN
22355 
22356 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUPPLIER_SIGNATURE');
22357 
22358             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22359             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22360 				OE_Order_Util.Get_Attribute_Name('supplier_signature_date'));
22361             OE_MSG_PUB.Add;
22362 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22363 
22364         END IF;
22365 
22366 
22367         RETURN FALSE;
22368 
22369     WHEN OTHERS THEN
22370 
22371         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22372         THEN
22373             OE_MSG_PUB.Add_Exc_Msg
22374             (   G_PKG_NAME
22375             ,   'SUPPLIER_SIGNATURE_DATE'
22376             );
22377         END IF;
22378 
22379 
22380         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22381 
22382 END SUPPLIER_SIGNATURE_DATE;
22383 
22384 FUNCTION CUSTOMER_SIGNATURE ( p_customer_signature IN VARCHAR2 )
22385 RETURN BOOLEAN
22386 IS
22387 l_dummy                       VARCHAR2(10);
22388 BEGIN
22389 
22390 
22391     IF p_customer_signature IS NULL OR
22392         p_customer_signature = FND_API.G_MISS_CHAR
22393     THEN
22394 
22395         RETURN TRUE;
22396     END IF;
22397 
22398     --  SELECT  'VALID'
22399     --  INTO     l_dummy
22400     --  FROM     DB_TABLE
22401     --  WHERE    DB_COLUMN = p_customer_signature;
22402 
22403 
22404     RETURN TRUE;
22405 
22406 EXCEPTION
22407 
22408     WHEN NO_DATA_FOUND THEN
22409 
22410         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22411         THEN
22412 
22413 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_SIGNATURE');
22414 
22415             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22416             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22417 				OE_Order_Util.Get_Attribute_Name('customer_signature'));
22418             OE_MSG_PUB.Add;
22419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22420 
22421         END IF;
22422 
22423 
22424         RETURN FALSE;
22425 
22426     WHEN OTHERS THEN
22427 
22428         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22429         THEN
22430             OE_MSG_PUB.Add_Exc_Msg
22431             (   G_PKG_NAME
22432             ,   'CUSTOMER_SIGNATURE'
22433             );
22434         END IF;
22435 
22436 
22437         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22438 
22439 END CUSTOMER_SIGNATURE;
22440 
22441 FUNCTION CUSTOMER_SIGNATURE_DATE ( p_customer_signature_date IN DATE )
22442 RETURN BOOLEAN
22443 IS
22444 l_dummy                       VARCHAR2(10);
22445 BEGIN
22446 
22447 
22448     IF p_customer_signature_date IS NULL OR
22449         p_customer_signature_date = FND_API.G_MISS_DATE
22450     THEN
22451 
22452         RETURN TRUE;
22453     END IF;
22454 
22455     --  SELECT  'VALID'
22456     --  INTO     l_dummy
22457     --  FROM     DB_TABLE
22458     --  WHERE    DB_COLUMN = p_customer_signature_date;
22459 
22460 
22461     RETURN TRUE;
22462 
22463 EXCEPTION
22464 
22465     WHEN NO_DATA_FOUND THEN
22466 
22467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22468         THEN
22469 
22470 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_SIGNATURE_DATE');
22471 
22472             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22473             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22474 				OE_Order_Util.Get_Attribute_Name('customer_signature_date'));
22475             OE_MSG_PUB.Add;
22476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22477 
22478         END IF;
22479 
22480 
22481         RETURN FALSE;
22482 
22483     WHEN OTHERS THEN
22484 
22485         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22486         THEN
22487             OE_MSG_PUB.Add_Exc_Msg
22488             (   G_PKG_NAME
22489             ,   'CUSTOMER_SIGNATURE_DATE'
22490             );
22491         END IF;
22492 
22493 
22494         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22495 
22496 END CUSTOMER_SIGNATURE_DATE;
22497 
22498 FUNCTION CONTRACT_TEMPLATE_ID ( p_contract_template_id IN NUMBER )
22499 RETURN BOOLEAN
22500 IS
22501 l_dummy                       VARCHAR2(10);
22502 BEGIN
22503 
22504 
22505     IF p_contract_template_id IS NULL OR
22506         p_contract_template_id = FND_API.G_MISS_NUM
22507     THEN
22508 
22509         RETURN TRUE;
22510     END IF;
22511 
22512     --  SELECT  'VALID'
22513     --  INTO     l_dummy
22514     --  FROM     DB_TABLE
22515     --  WHERE    DB_COLUMN = p_contract_template_id;
22516 
22517  RETURN TRUE;
22518 
22519 EXCEPTION
22520 
22521     WHEN NO_DATA_FOUND THEN
22522 
22523         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22524         THEN
22525 
22526               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_TEMPLATE_ID
22527 ');
22528 
22529             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22530             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22531                                 OE_Order_Util.Get_Attribute_Name('contract_template_id'));
22532             OE_MSG_PUB.Add;
22533               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22534 
22535         END IF;
22536 
22537         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22538 
22539 END CONTRACT_TEMPLATE_ID;
22540 
22541 FUNCTION CONTRACT_SOURCE_DOC_TYPE_CODE ( p_contract_source_doc_type IN NUMBER )
22542 RETURN BOOLEAN
22543 IS
22544 l_dummy                       VARCHAR2(10);
22545 BEGIN
22546 
22547 
22548     IF p_contract_source_doc_type IS NULL OR
22549         p_contract_source_doc_type = FND_API.G_MISS_NUM
22550     THEN
22551 
22552         RETURN TRUE;
22553     END IF;
22554 
22555     --  SELECT  'VALID'
22556     --  INTO     l_dummy
22557     --  FROM     DB_TABLE
22558     --  WHERE    DB_COLUMN = p_contract_source_doc_type;
22559 
22560  RETURN TRUE;
22561 
22562 EXCEPTION
22563 
22564     WHEN NO_DATA_FOUND THEN
22565 
22566         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22567         THEN
22568 
22569               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_SOURCE_DOC_TYPE_CODE
22570 ');
22571 
22572             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22573             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22574                                 OE_Order_Util.Get_Attribute_Name('contract_source_doc_type_code'));
22575             OE_MSG_PUB.Add;
22576               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22577 
22578         END IF;
22579 
22580         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22581 
22582 END CONTRACT_SOURCE_DOC_TYPE_CODE;
22583 
22584 
22585 FUNCTION CONTRACT_SOURCE_DOCUMENT_ID ( p_contract_source_document_id IN NUMBER )
22586 RETURN BOOLEAN
22587 IS
22588 l_dummy                       VARCHAR2(10);
22589 BEGIN
22590 
22591 
22592     IF p_contract_source_document_id IS NULL OR
22593         p_contract_source_document_id = FND_API.G_MISS_NUM
22594     THEN
22595 
22596         RETURN TRUE;
22597     END IF;
22598 
22599     --  SELECT  'VALID'
22600     --  INTO     l_dummy
22601     --  FROM     DB_TABLE
22602     --  WHERE    DB_COLUMN = p_contract_source_document_id;
22603 
22604  RETURN TRUE;
22605 
22606 EXCEPTION
22607 
22608     WHEN NO_DATA_FOUND THEN
22609 
22610         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22611         THEN
22612 
22613               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_SOURCE_DOCUMENT_ID');
22614 
22615             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22616             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22617                                 OE_Order_Util.Get_Attribute_Name('contract_source_document_id'));
22618             OE_MSG_PUB.Add;
22619               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22620 
22621         END IF;
22622 
22623         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22624 
22625 END CONTRACT_SOURCE_DOCUMENT_ID;
22626 
22627 
22628 FUNCTION Payments_Desc_Flex (p_context IN VARCHAR2,
22629                            p_attribute1 IN VARCHAR2,
22630                            p_attribute2 IN VARCHAR2,
22631                            p_attribute3 IN VARCHAR2,
22632                            p_attribute4 IN VARCHAR2,
22633                            p_attribute5 IN VARCHAR2,
22634                            p_attribute6 IN VARCHAR2,
22635                            p_attribute7 IN VARCHAR2,
22636                            p_attribute8 IN VARCHAR2,
22637                            p_attribute9 IN VARCHAR2,
22638                            p_attribute10 IN VARCHAR2,
22639                            p_attribute11 IN VARCHAR2,
22640                            p_attribute12 IN VARCHAR2,
22641                            p_attribute13 IN VARCHAR2,
22642                            p_attribute14 IN VARCHAR2,
22643                            p_attribute15 IN VARCHAR2)
22644 
22645 RETURN BOOLEAN
22646 IS
22647 l_column_value VARCHAR2(240) := null;
22648 BEGIN
22649 
22650    --  Assiging the segment names so as to map the values after the FND call.
22651                 g_context_name := 'CONTEXT';
22652                 g_attribute1_name := 'ATTRIBUTE1';
22653                 g_attribute2_name := 'ATTRIBUTE2';
22654                 g_attribute3_name := 'ATTRIBUTE3';
22655                 g_attribute4_name := 'ATTRIBUTE4';
22656                 g_attribute5_name := 'ATTRIBUTE5';
22657                 g_attribute6_name := 'ATTRIBUTE6';
22658                 g_attribute7_name := 'ATTRIBUTE7';
22659                 g_attribute8_name := 'ATTRIBUTE8';
22660                 g_attribute9_name := 'ATTRIBUTE9';
22661                 g_attribute10_name := 'ATTRIBUTE10';
22662                 g_attribute11_name := 'ATTRIBUTE11';
22663                 g_attribute12_name := 'ATTRIBUTE12';
22664                 g_attribute13_name := 'ATTRIBUTE13';
22665                 g_attribute14_name := 'ATTRIBUTE14';
22666                 g_attribute15_name := 'ATTRIBUTE15';
22667 
22668                   IF p_attribute1 = FND_API.G_MISS_CHAR THEN
22669 
22670                      l_column_value := null;
22671 
22672                   ELSE
22673 
22674                      l_column_value := p_attribute1;
22675 
22676                   END IF;
22677 
22678                   FND_FLEX_DESCVAL.Set_Column_Value
22679                   (   column_name   => 'ATTRIBUTE1'
22680                    ,  column_value  => l_column_value);
22681 
22682 
22683                   IF p_attribute2 = FND_API.G_MISS_CHAR THEN
22684 
22685                      l_column_value := null;
22686 
22687                   ELSE
22688 
22689                      l_column_value := p_attribute2;
22690 
22691                   END IF;
22692                   FND_FLEX_DESCVAL.Set_Column_Value
22693                   (   column_name   => 'ATTRIBUTE2'
22694                    ,  column_value  =>  l_column_value);
22695 
22696                   IF p_attribute3 = FND_API.G_MISS_CHAR THEN
22697 
22698                      l_column_value := null;
22699 
22700                   ELSE
22701 
22702                      l_column_value := p_attribute3;
22703 
22704                   END IF;
22705                   FND_FLEX_DESCVAL.Set_Column_Value
22706                   (   column_name   => 'ATTRIBUTE3'
22707                    ,  column_value  =>  l_column_value);
22708 
22709                   IF p_attribute4 = FND_API.G_MISS_CHAR THEN
22710 
22711                      l_column_value := null;
22712 
22713                   ELSE
22714 
22715                      l_column_value := p_attribute4;
22716 
22717                   END IF;
22718                   FND_FLEX_DESCVAL.Set_Column_Value
22719                   (   column_name   => 'ATTRIBUTE4'
22720                    ,  column_value  =>  l_column_value);
22721 
22722                   IF p_attribute5 = FND_API.G_MISS_CHAR THEN
22723 
22724                      l_column_value := null;
22725 
22726                   ELSE
22727 
22728                      l_column_value := p_attribute5;
22729 
22730                   END IF;
22731                   FND_FLEX_DESCVAL.Set_Column_Value
22732                   (   column_name   => 'ATTRIBUTE5'
22733                    ,  column_value  =>  l_column_value);
22734 
22735                   IF p_attribute6 = FND_API.G_MISS_CHAR THEN
22736 
22737                      l_column_value := null;
22738 
22739                   ELSE
22740 
22741                      l_column_value := p_attribute6;
22742 
22743                   END IF;
22744                   FND_FLEX_DESCVAL.Set_Column_Value
22745                   (   column_name   => 'ATTRIBUTE6'
22746                    ,  column_value  =>  l_column_value);
22747 
22748                   IF p_attribute7 = FND_API.G_MISS_CHAR THEN
22749 
22750                      l_column_value := null;
22751 
22752                   ELSE
22753 
22754                      l_column_value := p_attribute7;
22755 
22756                   END IF;
22757                   FND_FLEX_DESCVAL.Set_Column_Value
22758                   (   column_name   => 'ATTRIBUTE7'
22759                    ,  column_value  =>  l_column_value);
22760 
22761                   IF p_attribute8 = FND_API.G_MISS_CHAR THEN
22762 
22763                      l_column_value := null;
22764 
22765                   ELSE
22766 
22767                      l_column_value := p_attribute8;
22768 
22769                   END IF;
22770                   FND_FLEX_DESCVAL.Set_Column_Value
22771                   (   column_name   => 'ATTRIBUTE8'
22772                    ,  column_value  =>  l_column_value);
22773 
22774                   IF p_attribute9 = FND_API.G_MISS_CHAR THEN
22775 
22776                      l_column_value := null;
22777 
22778                   ELSE
22779 
22780                      l_column_value := p_attribute9;
22781 
22782                   END IF;
22783                   FND_FLEX_DESCVAL.Set_Column_Value
22784                   (   column_name   => 'ATTRIBUTE9'
22785                    ,  column_value  =>  l_column_value);
22786 
22787                   IF p_attribute10 = FND_API.G_MISS_CHAR THEN
22788 
22789                      l_column_value := null;
22790 
22791                   ELSE
22792 
22793                      l_column_value := p_attribute10;
22794 
22795                   END IF;
22796                   FND_FLEX_DESCVAL.Set_Column_Value
22797                   (   column_name   => 'ATTRIBUTE10'
22798                    ,  column_value  =>  l_column_value);
22799 
22800                   IF p_attribute11 = FND_API.G_MISS_CHAR THEN
22801 
22802                      l_column_value := null;
22803 
22804                   ELSE
22805 
22806                      l_column_value := p_attribute11;
22807 
22808                   END IF;
22809                   FND_FLEX_DESCVAL.Set_Column_Value
22810                   (   column_name   => 'ATTRIBUTE11'
22811                    ,  column_value  =>  l_column_value);
22812 
22813                   IF p_attribute12 = FND_API.G_MISS_CHAR THEN
22814 
22815                      l_column_value := null;
22816 
22817                   ELSE
22818 
22819                      l_column_value := p_attribute12;
22820 
22821                   END IF;
22822                   FND_FLEX_DESCVAL.Set_Column_Value
22823                   (   column_name   => 'ATTRIBUTE12'
22824                    ,  column_value  =>  l_column_value);
22825 
22826                   IF p_attribute13 = FND_API.G_MISS_CHAR THEN
22827 
22828                      l_column_value := null;
22829 
22830                   ELSE
22831 
22832                      l_column_value := p_attribute13;
22833 
22834                   END IF;
22835                   FND_FLEX_DESCVAL.Set_Column_Value
22836                   (   column_name   => 'ATTRIBUTE13'
22837                    ,  column_value  =>  l_column_value);
22838 
22839                   IF p_attribute14 = FND_API.G_MISS_CHAR THEN
22840 
22841                      l_column_value := null;
22842 
22843                   ELSE
22844 
22845                      l_column_value := p_attribute14;
22846 
22847                   END IF;
22848                   FND_FLEX_DESCVAL.Set_Column_Value
22849                   (   column_name   => 'ATTRIBUTE14'
22850                    ,  column_value  =>  l_column_value);
22851 
22852                   IF p_attribute15 = FND_API.G_MISS_CHAR THEN
22853 
22854                      l_column_value := null;
22855 
22856                   ELSE
22857 
22858                      l_column_value := p_attribute15;
22859 
22860                   END IF;
22861                   FND_FLEX_DESCVAL.Set_Column_Value
22862                   (   column_name   => 'ATTRIBUTE15'
22863                    ,  column_value  =>  l_column_value);
22864 
22865                   IF p_context = FND_API.G_MISS_CHAR THEN
22866 
22867                      l_column_value := null;
22868 
22869                   ELSE
22870 
22871                      l_column_value := p_context;
22872 
22873                   END IF;
22874                   FND_FLEX_DESCVAL.Set_Context_Value
22875                    ( context_value   => l_column_value);
22876 -- Suppressing the validation as payments flexfield is not registered
22877 /*
22878                    IF NOT OE_Validate.Desc_Flex('OE_PAYMENTS_ATTRIBUTES') THEN
22879                         OE_DEBUG_PUB.add('Error at validation of OE_PAYMENTS_ATTRIBUTES ',1);
22880                         RETURN FALSE;
22881                    END IF;
22882 */
22883     RETURN TRUE;
22884 
22885 EXCEPTION
22886 
22887    WHEN OTHERS THEN
22888 
22889 
22890      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22891      THEN
22892 
22893         OE_MSG_PUB.Add_Exc_Msg
22894         ( G_PKG_NAME
22895           , 'Payments_Desc_Flex');
22896      END IF;
22897 
22898 
22899     RETURN FALSE;
22900 
22901 END Payments_Desc_Flex;
22902 
22903 FUNCTION Payment_Level(p_payment_level_code IN VARCHAR2)
22904 RETURN BOOLEAN
22905 IS
22906 l_dummy                       VARCHAR2(10);
22907 BEGIN
22908 
22909     IF p_payment_level_code IS NULL OR
22910         p_payment_level_code = FND_API.G_MISS_CHAR
22911     THEN
22912 
22913         RETURN TRUE;
22914     END IF;
22915 
22916     --  SELECT  'VALID'
22917     --  INTO     l_dummy
22918     --  FROM     DB_TABLE
22919     --  WHERE    DB_COLUMN = p_payment_level_code;
22920 
22921 
22922     RETURN TRUE;
22923 
22924 EXCEPTION
22925 
22926     WHEN NO_DATA_FOUND THEN
22927 
22928         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22929         THEN
22930 
22931               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Payment_Level_Code');
22932 
22933             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22934             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22935                                 OE_Order_Util.Get_Attribute_Name('Payment_Level_Code'));
22936             OE_MSG_PUB.Add;
22937               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22938 
22939         END IF;
22940 
22941 
22942         RETURN FALSE;
22943 
22944     WHEN OTHERS THEN
22945 
22946         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22947         THEN
22948             OE_MSG_PUB.Add_Exc_Msg
22949             (   G_PKG_NAME
22950             ,   'Payment_Level'
22951             );
22952         END IF;
22953 
22954 
22955         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22956 
22957 END Payment_Level;
22958 
22959 FUNCTION commitment_applied_amount(p_commitment_applied_amount IN NUMBER)
22960 RETURN BOOLEAN
22961 IS
22962 l_dummy                       VARCHAR2(10);
22963 BEGIN
22964 
22965     IF p_commitment_applied_amount IS NULL OR
22966         p_commitment_applied_amount = FND_API.G_MISS_NUM
22967     THEN
22968 
22969         RETURN TRUE;
22970     END IF;
22971 
22972     --  SELECT  'VALID'
22973     --  INTO     l_dummy
22974     --  FROM     DB_TABLE
22975     --  WHERE    DB_COLUMN = p_commitment_applied_amount;
22976 
22977 
22978     RETURN TRUE;
22979 
22980 EXCEPTION
22981     WHEN NO_DATA_FOUND THEN
22982 
22983         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22984         THEN
22985 
22986             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_APPLIED_AMOUNT');
22987 
22988             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22989             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22990                                 OE_Order_Util.Get_Attribute_Name('commitment_applied_amount'));
22991             OE_MSG_PUB.Add;
22992               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22993 
22994         END IF;
22995 
22996 
22997         RETURN FALSE;
22998 
22999     WHEN OTHERS THEN
23000 
23001         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23002         THEN
23003             OE_MSG_PUB.Add_Exc_Msg
23004             (   G_PKG_NAME
23005             ,   'Commitment_Applied_Amount'
23006             );
23007         END IF;
23008 
23009         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23010 
23011 END Commitment_Applied_Amount;
23012 
23013 FUNCTION commitment_interfaced_amount(p_commitment_interfaced_amount IN NUMBER)
23014 RETURN BOOLEAN
23015 IS
23016 l_dummy                       VARCHAR2(10);
23017 BEGIN
23018 
23019     IF p_commitment_interfaced_amount IS NULL OR
23020         p_commitment_interfaced_amount = FND_API.G_MISS_NUM
23021     THEN
23022 
23023         RETURN TRUE;
23024     END IF;
23025 
23026     --  SELECT  'VALID'
23027     --  INTO     l_dummy
23028     --  FROM     DB_TABLE
23029     --  WHERE    DB_COLUMN = p_commitment_interfaced_amount;
23030 
23031 
23032     RETURN TRUE;
23033 
23034 EXCEPTION
23035     WHEN NO_DATA_FOUND THEN
23036 
23037         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23038         THEN
23039 
23040             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_INTERFACED_AMOUNT');
23041 
23042             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23043             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23044                                 OE_Order_Util.Get_Attribute_Name('commitment_interfaced_amount'));
23045             OE_MSG_PUB.Add;
23046               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23047 
23048         END IF;
23049 
23050 
23051         RETURN FALSE;
23052 
23053     WHEN OTHERS THEN
23054 
23055         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23056         THEN
23057             OE_MSG_PUB.Add_Exc_Msg
23058             (   G_PKG_NAME
23059             ,   'Commitment_Interfaced_Amount'
23060             );
23061         END IF;
23062 
23063         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23064 
23065 END Commitment_Interfaced_Amount;
23066 
23067 FUNCTION Payment_Collection_Event(p_payment_collection_event IN VARCHAR2)
23068 RETURN BOOLEAN
23069 IS
23070 l_dummy                       VARCHAR2(10);
23071 l_lookup_type      	      VARCHAR2(80) :='OE_PAYMENT_COLLECTION_TYPE';
23072 BEGIN
23073 
23074     IF p_payment_collection_event IS NULL OR
23075         p_payment_collection_event = FND_API.G_MISS_CHAR
23076     THEN
23077 
23078         RETURN TRUE;
23079     END IF;
23080 
23081       SELECT  'VALID'
23082       INTO     l_dummy
23083       FROM     OE_LOOKUPS
23084       WHERE    lookup_type = l_lookup_type
23085       AND      lookup_code = p_payment_collection_event;
23086 
23087 
23088     RETURN TRUE;
23089 
23090 EXCEPTION
23091     WHEN NO_DATA_FOUND THEN
23092 
23093         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23094         THEN
23095 
23096             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_COLLECTION_EVENT');
23097 
23098             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23099             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23100                                 OE_Order_Util.Get_Attribute_Name('payment_collection_event'));
23101             OE_MSG_PUB.Add;
23102               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23103 
23104         END IF;
23105 
23106 
23107         RETURN FALSE;
23108 
23109     WHEN OTHERS THEN
23110 
23111         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23112         THEN
23113             OE_MSG_PUB.Add_Exc_Msg
23114             (   G_PKG_NAME
23115             ,   'Payment_Collection_Event'
23116             );
23117         END IF;
23118 
23119         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23120 
23121 END Payment_Collection_Event;
23122 
23123 FUNCTION Payment_Trx(p_payment_trx_id IN NUMBER)
23124 RETURN BOOLEAN
23125 IS
23126 l_dummy                       VARCHAR2(10);
23127 BEGIN
23128 
23129     IF p_payment_trx_id IS NULL OR
23130         p_payment_trx_id = FND_API.G_MISS_NUM
23131     THEN
23132 
23133         RETURN TRUE;
23134     END IF;
23135 
23136     --  SELECT  'VALID'
23137     --  INTO     l_dummy
23138     --  FROM     DB_TABLE
23139     --  WHERE    DB_COLUMN = p_payment_trx_id;
23140 
23141 
23142     RETURN TRUE;
23143 
23144 EXCEPTION
23145     WHEN NO_DATA_FOUND THEN
23146 
23147         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23148         THEN
23149 
23150             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TRX_ID');
23151 
23152             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23153             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23154                                 OE_Order_Util.Get_Attribute_Name('payment_trx_id'));
23155             OE_MSG_PUB.Add;
23156               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23157 
23158         END IF;
23159 
23160 
23161         RETURN FALSE;
23162 
23163     WHEN OTHERS THEN
23164 
23165         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23166         THEN
23167             OE_MSG_PUB.Add_Exc_Msg
23168             (   G_PKG_NAME
23169             ,   'Payment_Trx'
23170             );
23171         END IF;
23172 
23173         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23174 
23175 END Payment_Trx;
23176 
23177 FUNCTION Payment_Set(p_payment_set_id IN NUMBER)
23178 RETURN BOOLEAN
23179 IS
23180 l_dummy                       VARCHAR2(10);
23181 BEGIN
23182 
23183     IF p_payment_set_id IS NULL OR
23184         p_payment_set_id = FND_API.G_MISS_NUM
23185     THEN
23186 
23187         RETURN TRUE;
23188     END IF;
23189 
23190     --  SELECT  'VALID'
23191     --  INTO     l_dummy
23192     --  FROM     DB_TABLE
23193     --  WHERE    DB_COLUMN = p_payment_set_id;
23194 
23195 
23196     RETURN TRUE;
23197 
23198 EXCEPTION
23199     WHEN NO_DATA_FOUND THEN
23200 
23201         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23202         THEN
23203 
23204             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_SET_ID');
23205 
23206             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23207             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23208                                 OE_Order_Util.Get_Attribute_Name('payment_set_id'));
23209             OE_MSG_PUB.Add;
23210               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23211 
23212         END IF;
23213 
23214 
23215         RETURN FALSE;
23216 
23217     WHEN OTHERS THEN
23218 
23219         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23220         THEN
23221             OE_MSG_PUB.Add_Exc_Msg
23222             (   G_PKG_NAME
23223             ,   'Payment_Set'
23224             );
23225         END IF;
23226 
23227         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23228 
23229 END Payment_Set;
23230 
23231 FUNCTION Prepaid_Amount(p_prepaid_amount IN NUMBER)
23232 RETURN BOOLEAN
23233 IS
23234 l_dummy                       VARCHAR2(10);
23235 BEGIN
23236 
23237     IF p_prepaid_amount IS NULL OR
23238         p_prepaid_amount = FND_API.G_MISS_NUM
23239     THEN
23240 
23241         RETURN TRUE;
23242     END IF;
23243 
23244     --  SELECT  'VALID'
23245     --  INTO     l_dummy
23246     --  FROM     DB_TABLE
23247     --  WHERE    DB_COLUMN = p_prepaid_amount;
23248 
23249 
23250     RETURN TRUE;
23251 
23252 EXCEPTION
23253     WHEN NO_DATA_FOUND THEN
23254 
23255         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23256         THEN
23257 
23258             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PREPAID_AMOUNT');
23259 
23260             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23261             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23262                                 OE_Order_Util.Get_Attribute_Name('prepaid_amoun'));
23263             OE_MSG_PUB.Add;
23264               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23265 
23266         END IF;
23267 
23268 
23269         RETURN FALSE;
23270 
23271     WHEN OTHERS THEN
23272 
23273         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23274         THEN
23275             OE_MSG_PUB.Add_Exc_Msg
23276             (   G_PKG_NAME
23277             ,   'Prepaid_Amount'
23278             );
23279         END IF;
23280 
23281         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23282 
23283 END Prepaid_Amount;
23284 
23285 FUNCTION Receipt_Method(p_receipt_method_id IN NUMBER)
23286 RETURN BOOLEAN
23287 IS
23288 l_dummy                       VARCHAR2(10);
23289 BEGIN
23290 
23291     IF p_receipt_method_id IS NULL OR
23292         p_receipt_method_id = FND_API.G_MISS_NUM
23293     THEN
23294 
23295         RETURN TRUE;
23296     END IF;
23297 
23298       SELECT  'VALID'
23299       INTO     l_dummy
23300       FROM    ar_receipt_methods rm,
23301               ar_receipt_classes rc
23302       Where   nvl(rc.bill_of_exchange_flag, 'N') = 'N'
23303       and     rc.receipt_class_id = rm.receipt_class_id
23304       and     rm.receipt_method_id = p_receipt_method_id;
23305 
23306 
23307     RETURN TRUE;
23308 
23309 EXCEPTION
23310     WHEN NO_DATA_FOUND THEN
23311 
23312         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23313         THEN
23314 
23315             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RECEIPT_METHOD');
23316 
23317             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23318             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23319                                 OE_Order_Util.Get_Attribute_Name('receipt_method_id'));
23320             OE_MSG_PUB.Add;
23321               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23322 
23323         END IF;
23324 
23325         RETURN FALSE;
23326 
23327     WHEN OTHERS THEN
23328 
23329         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23330         THEN
23331             OE_MSG_PUB.Add_Exc_Msg
23332             (   G_PKG_NAME
23333             ,   'Receipt_Method'
23334             );
23335         END IF;
23336 
23337         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23338 
23339 END Receipt_Method;
23340 
23341 FUNCTION Tangible(p_tangible_id IN VARCHAR2)
23342 RETURN BOOLEAN
23343 IS
23344 l_dummy                       VARCHAR2(10);
23345 BEGIN
23346 
23347     IF p_tangible_id IS NULL OR
23348         p_tangible_id = FND_API.G_MISS_CHAR
23349     THEN
23350 
23351         RETURN TRUE;
23352     END IF;
23353 
23354     --  SELECT  'VALID'
23355     --  INTO     l_dummy
23356     --  FROM     DB_TABLE
23357     --  WHERE    DB_COLUMN = p_tangible_id;
23358 
23359 
23360     RETURN TRUE;
23361 
23362 EXCEPTION
23363     WHEN NO_DATA_FOUND THEN
23364 
23365         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23366         THEN
23367 
23368             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TANGIBLE_ID');
23369 
23370             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23371             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23372                                 OE_Order_Util.Get_Attribute_Name('tangible_id'));
23373             OE_MSG_PUB.Add;
23374               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23375 
23376         END IF;
23377 
23378 
23379         RETURN FALSE;
23380 
23381     WHEN OTHERS THEN
23382 
23383         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23384         THEN
23385             OE_MSG_PUB.Add_Exc_Msg
23386             (   G_PKG_NAME
23387             ,   'Tangible'
23388             );
23389         END IF;
23390 
23391         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23392 
23393 END Tangible;
23394 
23395 
23396 FUNCTION Payment_Number(p_payment_number IN NUMBER)
23397 RETURN BOOLEAN
23398 IS
23399 l_dummy                       VARCHAR2(10);
23400 BEGIN
23401 
23402     IF p_payment_number IS NULL OR
23403         p_payment_number = FND_API.G_MISS_CHAR
23404     THEN
23405 
23406         RETURN TRUE;
23407     END IF;
23408 
23409     --  SELECT  'VALID'
23410     --  INTO     l_dummy
23411     --  FROM     DB_TABLE
23412     --  WHERE    DB_COLUMN = p_payment_number;
23413 
23414 
23415     RETURN TRUE;
23416 
23417 EXCEPTION
23418     WHEN NO_DATA_FOUND THEN
23419 
23420         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23421         THEN
23422 
23423             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_NUMBER');
23424 
23425             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23426             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23427                                 OE_Order_Util.Get_Attribute_Name('payment_number'));
23428             OE_MSG_PUB.Add;
23429               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23430 
23431         END IF;
23432 
23433 
23434         RETURN FALSE;
23435 
23436     WHEN OTHERS THEN
23437 
23438         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23439         THEN
23440             OE_MSG_PUB.Add_Exc_Msg
23441             (   G_PKG_NAME
23442             ,   'Payment_Number'
23443             );
23444         END IF;
23445 
23446         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23447 
23448 END Payment_Number;
23449 
23450 --recurring charges
23451 FUNCTION Charge_Periodicity
23452 (  p_charge_periodicity  IN VARCHAR2  )
23453 RETURN BOOLEAN
23454 IS
23455   l_uom_class   VARCHAR2(10);
23456   l_debug_level CONSTANT NUMBER := OE_DEBUG_PUB.G_DEBUG_LEVEL;
23457 BEGIN
23458 
23459   SELECT uom_class
23460   INTO   l_uom_class
23461   FROM   MTL_UNITS_OF_MEASURE_VL
23462   WHERE  uom_code = p_charge_periodicity
23463   AND    uom_class = FND_PROFILE.Value('ONT_UOM_CLASS_CHARGE_PERIODICITY');
23464 
23465   IF l_debug_level > 0 THEN
23466      OE_DEBUG_PUB.Add ('Entering OE_VALIDATE.Charge_Periodicity',1);
23467      OE_DEBUG_PUB.Add ('Charge Periodicity:'||p_charge_periodicity,3);
23468      OE_DEBUG_PUB.Add ('UOM Class:'||
23469                         FND_PROFILE.Value('ONT_UOM_CLASS_CHARGE_PERIODICITY'));
23470      OE_DEBUG_PUB.Add ('Uom class:'||l_uom_class||',returning TRUE',3);
23471      OE_DEBUG_PUB.Add ('Exiting OE_VALIDATE.Charge_Periodicity',1);
23472   END IF;
23473 
23474   RETURN TRUE;
23475 
23476 EXCEPTION
23477   WHEN NO_DATA_FOUND THEN
23478     IF l_debug_level > 0 THEN
23479        OE_DEBUG_PUB.Add ('Charge Periodicity: NO_DATA_FOUND!!',1);
23480     END IF;
23481     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR) THEN
23482        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_PERIODICITY');
23483        FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
23484        FND_MESSAGE.Set_Token('ATTRIBUTE',
23485                        OE_ORDER_UTIL.Get_Attribute_Name('Charge_Periodicity'));
23486        OE_MSG_PUB.Add;
23487        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => NULL);
23488     END IF;
23489     RETURN FALSE;
23490 
23491   WHEN OTHERS THEN
23492     IF l_debug_level > 0 THEN
23493        OE_DEBUG_PUB.Add ('Charge_Periodicity: OTHERS Exception',1);
23494     END IF;
23495     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
23496        OE_MSG_PUB.Add_Exc_Msg
23497        (  G_PKG_NAME
23498          ,'Charge_Periodicity');
23499     END IF;
23500     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23501 
23502 END Charge_Periodicity;
23503 
23504 --
23505 FUNCTION Shipped_Quantity2 ( p_shipped_quantity2 IN NUMBER )
23506 RETURN BOOLEAN
23507 IS
23508 l_dummy                       VARCHAR2(10);
23509 BEGIN
23510 
23511 
23512     IF p_shipped_quantity2 IS NULL OR
23513         p_shipped_quantity2 = FND_API.G_MISS_NUM
23514     THEN
23515 
23516         RETURN TRUE;
23517     END IF;
23518 
23519     --  SELECT  'VALID'
23520     --  INTO     l_dummy
23521     --  FROM     DB_TABLE
23522     --  WHERE    DB_COLUMN = p_shipped_quantity2;
23523 
23524 
23525     RETURN TRUE;
23526 
23527 EXCEPTION
23528 
23529     WHEN NO_DATA_FOUND THEN
23530 
23531         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23532         THEN
23533 
23534 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY2');
23535 
23536             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23537             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23538 				OE_Order_Util.Get_Attribute_Name('shipped_quantity2'));
23539             OE_MSG_PUB.Add;
23540 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23541 
23542         END IF;
23543 
23544 
23545         RETURN FALSE;
23546 
23547     WHEN OTHERS THEN
23548 
23549         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23550         THEN
23551             OE_MSG_PUB.Add_Exc_Msg
23552             (   G_PKG_NAME
23553             ,   'Shipped_Quantity2'
23554             );
23555         END IF;
23556 
23557 
23558         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23559 
23560 END Shipped_Quantity2;
23561 
23562 FUNCTION Fulfilled_Quantity2 ( p_fulfilled_quantity2 IN NUMBER )
23563 RETURN BOOLEAN
23564 IS
23565 l_dummy                       VARCHAR2(10);
23566 BEGIN
23567 
23568 
23569     IF p_fulfilled_quantity2 IS NULL OR
23570         p_fulfilled_quantity2 = FND_API.G_MISS_NUM
23571     THEN
23572 
23573         RETURN TRUE;
23574     END IF;
23575 
23576     --  SELECT  'VALID'
23577     --  INTO     l_dummy
23578     --  FROM     DB_TABLE
23579     --  WHERE    DB_COLUMN = p_fulfilled_quantity2;
23580 
23581 
23582     RETURN TRUE;
23583 
23584 EXCEPTION
23585 
23586     WHEN NO_DATA_FOUND THEN
23587 
23588         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23589         THEN
23590 
23591 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY2');
23592 
23593             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23594             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23595 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity2'));
23596             OE_MSG_PUB.Add;
23597 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23598 
23599         END IF;
23600 
23601 
23602         RETURN FALSE;
23603 
23604     WHEN OTHERS THEN
23605 
23606         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23607         THEN
23608             OE_MSG_PUB.Add_Exc_Msg
23609             (   G_PKG_NAME
23610             ,   'Fulfilled_Quantity2'
23611             );
23612         END IF;
23613 
23614 
23615         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23616 
23617 END Fulfilled_Quantity2;
23618 
23619 FUNCTION Shipping_Quantity2 ( p_shipping_quantity2 IN NUMBER )
23620 RETURN BOOLEAN
23621 IS
23622 l_dummy                       VARCHAR2(10);
23623 BEGIN
23624 
23625 
23626     IF p_shipping_quantity2 IS NULL OR
23627         p_shipping_quantity2 = FND_API.G_MISS_NUM
23628     THEN
23629 
23630         RETURN TRUE;
23631     END IF;
23632 
23633     --  SELECT  'VALID'
23634     --  INTO     l_dummy
23635     --  FROM     DB_TABLE
23636     --  WHERE    DB_COLUMN = p_shipping_quantity2;
23637 
23638 
23639     RETURN TRUE;
23640 
23641 EXCEPTION
23642 
23643     WHEN NO_DATA_FOUND THEN
23644 
23645         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23646         THEN
23647 
23648 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY2');
23649 
23650             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23651             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23652 				OE_Order_Util.Get_Attribute_Name('shipping_quantity2'));
23653             OE_MSG_PUB.Add;
23654 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23655 
23656         END IF;
23657 
23658 
23659         RETURN FALSE;
23660 
23661     WHEN OTHERS THEN
23662 
23663         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23664         THEN
23665             OE_MSG_PUB.Add_Exc_Msg
23666             (   G_PKG_NAME
23667             ,   'Shipping_Quantity2'
23668             );
23669         END IF;
23670 
23671 
23672         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23673 
23674 END Shipping_Quantity2;
23675 
23676 FUNCTION Shipping_Quantity_Uom2 ( p_shipping_quantity_uom2 IN VARCHAR2 )
23677 RETURN BOOLEAN
23678 IS
23679 l_dummy                       VARCHAR2(10);
23680 BEGIN
23681 
23682 
23683     IF p_shipping_quantity_uom2 IS NULL OR
23684         p_shipping_quantity_uom2 = FND_API.G_MISS_CHAR
23685     THEN
23686 
23687         RETURN TRUE;
23688     END IF;
23689 
23690     --  SELECT  'VALID'
23691     --  INTO     l_dummy
23692     --  FROM     DB_TABLE
23693     --  WHERE    DB_COLUMN = p_shipping_quantity_uom2;
23694 
23695 
23696     RETURN TRUE;
23697 
23698 EXCEPTION
23699 
23700     WHEN NO_DATA_FOUND THEN
23701 
23702         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23703         THEN
23704 
23705 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM2');
23706 
23707             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23708             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23709 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom2'));
23710             OE_MSG_PUB.Add;
23711 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23712 
23713         END IF;
23714 
23715 
23716         RETURN FALSE;
23717 
23718     WHEN OTHERS THEN
23719 
23720         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23721         THEN
23722             OE_MSG_PUB.Add_Exc_Msg
23723             (   G_PKG_NAME
23724             ,   'Shipping_Quantity_Uom2'
23725             );
23726         END IF;
23727 
23728 
23729         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23730 
23731 END Shipping_Quantity_Uom2;
23732 
23733 FUNCTION Payment_Trxn_Extension ( p_trxn_extension_id IN NUMBER ) --R12 Process order api changes
23734 RETURN BOOLEAN
23735 IS
23736 l_dummy                       VARCHAR2(10);
23737 BEGIN
23738 --need to make this code active (i.e. remove the comment) once the Oracle payments are
23739 --done with their case changes
23740     IF p_trxn_extension_id IS NULL OR
23741         p_trxn_extension_id = FND_API.G_MISS_NUM
23742     THEN
23743 
23744         RETURN TRUE;
23745     END IF;
23746 
23747    SELECT  'VALID'
23748     INTO    l_dummy
23749     FROM    IBY_FNDCPT_TX_EXTENSIONS
23750     Where trxn_extension_id = p_trxn_extension_id;
23751 
23752     --  Valid extension id
23753 
23754 
23755     RETURN TRUE;
23756 
23757 EXCEPTION
23758 
23759     WHEN NO_DATA_FOUND THEN
23760 
23761         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23762         THEN
23763 
23764 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRXN_EXTENSION_ID');
23765 
23766             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23767             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23768 				OE_Order_Util.Get_Attribute_Name('trxn_extension_id'));
23769             OE_MSG_PUB.Add;
23770 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23771 
23772         END IF;
23773 
23774 
23775         RETURN FALSE;
23776 
23777     WHEN OTHERS THEN
23778 
23779         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23780         THEN
23781             OE_MSG_PUB.Add_Exc_Msg
23782             (   G_PKG_NAME
23783             ,   'Payment_Trxn_Extension'
23784             );
23785         END IF;
23786 
23787 
23788         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23789 
23790 END Payment_Trxn_Extension; --R12 Process order api changes
23791 
23792 
23793 -- eBtax changes
23794 FUNCTION Tax_Rate_ID ( p_tax_rate_id IN NUMBER )
23795 RETURN BOOLEAN
23796 IS
23797 l_dummy                       VARCHAR2(10);
23798 BEGIN
23799 
23800 
23801     IF p_tax_rate_id IS NULL OR
23802         p_tax_rate_id = FND_API.G_MISS_NUM
23803     THEN
23804 
23805         RETURN TRUE;
23806     END IF;
23807 
23808     --  SELECT  'VALID'
23809     --  INTO     l_dummy
23810     --  FROM     DB_TABLE
23811     --  WHERE    DB_COLUMN = p_tax_rate_id;
23812 
23813 
23814     RETURN TRUE;
23815 
23816 EXCEPTION
23817 
23818     WHEN NO_DATA_FOUND THEN
23819 
23820         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23821         THEN
23822 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE_ID');
23823 
23824             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23825             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23826 				OE_Order_Util.Get_Attribute_Name('tax_rate_id'));
23827             OE_MSG_PUB.Add;
23828 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23829 
23830         END IF;
23831 
23832 
23833         RETURN FALSE;
23834 
23835     WHEN OTHERS THEN
23836 
23837         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23838         THEN
23839             OE_MSG_PUB.Add_Exc_Msg
23840             (   G_PKG_NAME
23841             ,   'Tax_Rate_ID'
23842             );
23843         END IF;
23844 
23845 
23846         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23847 
23848 END Tax_Rate_ID;
23849 
23850 --
23851 --
23852 --
23853 --
23854 
23855 END OE_Validate;