DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_VALIDATE

Source


1 PACKAGE BODY OE_Validate AS
2 /* $Header: OEXSVATB.pls 120.13.12020000.3 2013/01/07 07:26:21 sujithku 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 trunc(sysdate) between nvl(jrs.start_date_active,trunc(sysdate)) --12675100, added trunc on sysdate
6008                    and nvl(jrs.end_date_active,trunc(sysdate)); --12675100, added trunc on 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 12675100, debug messages
6023      if l_debug_level > 0 THEN
6024 	oe_debug_pub.add('OEXSVATB: p_salesrep_id- '||p_salesrep_id);
6025      end if;
6026 
6027       --added for bug 4200055
6028       l_salesrep_rec_type := OE_Order_Cache.Load_Salesrep_Rec(p_salesrep_id);
6029       IF (l_salesrep_rec_type.salesrep_id is not null
6030       AND l_salesrep_rec_type.salesrep_id = p_salesrep_id ) THEN
6031            if nvl(l_salesrep_rec_type.start_date_active,trunc(sysdate)) <= trunc(sysdate)  --12675100, added trunc on sysdate
6032             and nvl(l_salesrep_rec_type.end_date_active,trunc(sysdate)) >= trunc(sysdate)  --12675100, added trunc on sysdate
6033            then
6034                 l_is_salesrep_active := 'VALID' ;
6035                 -- start debug add 12675100
6036                 if l_debug_level > 0 THEN
6037                    oe_debug_pub.add('OEXSVATB: Salesrep Active');
6038                 end if;-- end debug add 12675100
6039            end if ;
6040       END IF ;
6041 
6042       /*OPEN c_salesrep(p_salesrep_id);
6043       FETCH c_salesrep into l_dummy;
6044       CLOSE c_salesrep;
6045       */
6046       --end bug 4200055
6047 
6048 
6049       -- bug 5022615
6050       IF l_is_salesrep_active = 'VALID' THEN
6051         --Now check for RTF salesrep table
6052         IF l_debug_level > 0 THEN
6053             oe_debug_pub.add(' Checking rtf 1');
6054         END IF;
6055         OPEN  c_jtf_salesrep(p_salesrep_id);
6056         FETCH c_jtf_salesrep into l_dummy;
6057         CLOSE c_jtf_salesrep;
6058 
6059 
6060         IF l_dummy = 'VALID' then
6061 
6062                 -- start debug add 12675100
6063                 if l_debug_level > 0 THEN
6064                    oe_debug_pub.add('OEXSVATB: Salesrep Valid');
6065                 end if;
6066 
6067           RETURN TRUE;
6068         ELSE
6069           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6070            THEN
6071 
6072 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6073 
6074               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6075               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6076 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6077               OE_MSG_PUB.Add;
6078 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6079 
6080            END IF;
6081            IF l_debug_level > 0 THEN
6082               oe_debug_pub.add(' rtf failed 1');
6083               oe_debug_pub.add('OEXSVATB: Salesrep Invalid');
6084            END IF;
6085            RETURN FALSE;
6086          END IF;
6087     ELSE  -- if salesrep is inactive
6088 
6089           -- 12675100 added debug
6090           IF l_debug_level > 0 THEN
6091               oe_debug_pub.add('Return False, Sales Rep Not Active');
6092           end if;
6093           ---start bug# 13657183
6094             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6095            THEN
6096 
6097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6098 
6099               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6100               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6101 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6102               OE_MSG_PUB.Add;
6103 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6104 
6105            END IF;
6106 
6107           ---End bug# 13657183
6108 
6109        RETURN FALSE;
6110      END IF;
6111 
6112   Exception
6113     When no_data_found then
6114       IF l_debug_level > 0 THEN
6115           oe_debug_pub.add('checking rtf 2');
6116       END IF;
6117       OPEN  c_jtf_salesrep(p_salesrep_id);
6118       FETCH c_jtf_salesrep into l_dummy;
6119       CLOSE c_jtf_salesrep;
6120 
6121         IF l_dummy = 'VALID' then
6122           RETURN TRUE;
6123         ELSE
6124           IF l_debug_level > 0 THEN
6125               oe_debug_pub.add(' rtf failed 2');
6126           END IF;
6127           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6128            THEN
6129 
6130 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6131 
6132               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6133               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6134 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6135               OE_MSG_PUB.Add;
6136 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6137 
6138            END IF;
6139          END IF;
6140 
6141        RETURN FALSE;
6142 
6143   End;
6144 EXCEPTION
6145 
6146     WHEN no_data_found Then
6147         OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALESREP_ID');
6148         fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6149         FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6150 				OE_Order_Util.Get_Attribute_Name('salesrep_id'));
6151         OE_MSG_PUB.Add;
6152         OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6153         Return FALSE;
6154     WHEN OTHERS THEN
6155 
6156         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6157         THEN
6158             OE_MSG_PUB.Add_Exc_Msg
6159             (   G_PKG_NAME
6160             ,   'Salesrep'
6161             );
6162         END IF;
6163 
6164 
6165         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6166 
6167 END Salesrep;
6168 
6169 FUNCTION Dw_Update_Advice ( p_dw_update_advice_flag IN VARCHAR2 )
6170 RETURN BOOLEAN
6171 IS
6172 l_dummy                       VARCHAR2(10);
6173 BEGIN
6174 
6175 
6176     IF p_dw_update_advice_flag IS NULL OR
6177         p_dw_update_advice_flag = FND_API.G_MISS_CHAR
6178     THEN
6179 
6180         RETURN TRUE;
6181     END IF;
6182 
6183     --  SELECT  'VALID'
6184     --  INTO     l_dummy
6185     --  FROM     DB_TABLE
6186     --  WHERE    DB_COLUMN = p_dw_update_advice_flag;
6187 
6188 
6189     RETURN TRUE;
6190 
6191 EXCEPTION
6192 
6193     WHEN NO_DATA_FOUND THEN
6194 
6195         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6196         THEN
6197 
6198 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DW_UPDATE_ADVICE_FLAG');
6199 
6200             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6201             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6202 				OE_Order_Util.Get_Attribute_Name('dw_update_advice_flag'));
6203             OE_MSG_PUB.Add;
6204 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6205 
6206         END IF;
6207 
6208 
6209         RETURN FALSE;
6210 
6211     WHEN OTHERS THEN
6212 
6213         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6214         THEN
6215             OE_MSG_PUB.Add_Exc_Msg
6216             (   G_PKG_NAME
6217             ,   'Dw_Update_Advice'
6218             );
6219         END IF;
6220 
6221 
6222         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6223 
6224 END Dw_Update_Advice;
6225 
6226 FUNCTION Wh_Update_Date ( p_wh_update_date IN DATE )
6227 RETURN BOOLEAN
6228 IS
6229 l_dummy                       VARCHAR2(10);
6230 BEGIN
6231 
6232 
6233     IF p_wh_update_date IS NULL OR
6234         p_wh_update_date = FND_API.G_MISS_DATE
6235     THEN
6236 
6237         RETURN TRUE;
6238     END IF;
6239 
6240     --  SELECT  'VALID'
6241     --  INTO     l_dummy
6242     --  FROM     DB_TABLE
6243     --  WHERE    DB_COLUMN = p_wh_update_date;
6244 
6245 
6246     RETURN TRUE;
6247 
6248 EXCEPTION
6249 
6250     WHEN NO_DATA_FOUND THEN
6251 
6252         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6253         THEN
6254 
6255 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'WH_UPDATE_DATE');
6256 
6257             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6258             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6259 				OE_Order_Util.Get_Attribute_Name('wh_update_date'));
6260             OE_MSG_PUB.Add;
6261 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6262 
6263         END IF;
6264 
6265 
6266         RETURN FALSE;
6267 
6268     WHEN OTHERS THEN
6269 
6270         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6271         THEN
6272             OE_MSG_PUB.Add_Exc_Msg
6273             (   G_PKG_NAME
6274             ,   'Wh_Update_Date'
6275             );
6276         END IF;
6277 
6278 
6279         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6280 
6281 END Wh_Update_Date;
6282 
6283 
6284 FUNCTION Line_Type ( p_line_type_id IN NUMBER )
6285 RETURN BOOLEAN
6286 IS
6287 l_dummy                       VARCHAR2(10);
6288 BEGIN
6289 
6290 
6291     IF p_line_type_id IS NULL OR
6292         p_line_type_id = FND_API.G_MISS_NUM
6293     THEN
6294 
6295         RETURN TRUE;
6296     END IF;
6297 
6298     --changes for bug 4200055
6299     IF (OE_Order_Cache.g_line_type_rec.line_type_id =  FND_API.G_MISS_NUM)
6300        OR (OE_Order_Cache.g_line_type_rec.line_type_id <> p_line_type_id) THEN
6301           OE_Order_Cache.Load_Line_type(p_line_type_id) ;
6302     END IF ;
6303 
6304     IF (OE_Order_Cache.g_line_type_rec.line_type_id <> FND_API.G_MISS_NUM)
6305           AND (OE_Order_Cache.g_line_type_rec.line_type_id IS NOT NULL )
6306           AND (OE_Order_Cache.g_line_type_rec.line_type_id = p_line_type_id) THEN
6307              if ( (nvl(OE_Order_Cache.g_line_type_rec.Start_Date_Active,trunc(sysdate)) <= trunc(sysdate))
6308                 and (nvl(OE_Order_Cache.g_line_type_rec.End_Date_Active,trunc(sysdate)) >= trunc(sysdate))
6309                 ) then
6310                        RETURN TRUE ;
6311             else
6312                        RAISE NO_DATA_FOUND ;
6313             end if ;
6314     ELSE
6315                        RAISE NO_DATA_FOUND ;
6316 
6317     END IF ;
6318 
6319     /* SELECT  'VALID'
6320     INTO    l_dummy
6321     FROM    OE_LINE_TYPES_V
6322     WHERE   LINE_TYPE_ID = p_line_type_id
6323     AND     SYSDATE BETWEEN NVL( START_DATE_ACTIVE, SYSDATE  )
6324                      AND     NVL( END_DATE_ACTIVE, SYSDATE );
6325 
6326     RETURN TRUE;
6327      */
6328     --end bug 4200055
6329 
6330 
6331 EXCEPTION
6332 
6333     WHEN NO_DATA_FOUND THEN
6334 
6335         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6336         THEN
6337 
6338 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_TYPE_ID');
6339 
6340             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6341             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6342 				OE_Order_Util.Get_Attribute_Name('line_type_id'));
6343             OE_MSG_PUB.Add;
6344 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6345 
6346         END IF;
6347 
6348 
6349         RETURN FALSE;
6350 
6351     WHEN OTHERS THEN
6352 
6353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6354         THEN
6355             OE_MSG_PUB.Add_Exc_Msg
6356             (   G_PKG_NAME
6357             ,   'Line_Type'
6358             );
6359         END IF;
6360 
6361 
6362         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6363 
6364 END Line_Type;
6365 
6366 FUNCTION Line_Number ( p_line_number IN NUMBER )
6367 RETURN BOOLEAN
6368 IS
6369 l_dummy                       VARCHAR2(10);
6370 BEGIN
6371 
6372 
6373     IF p_line_number IS NULL OR
6374         p_line_number = FND_API.G_MISS_NUM
6375     THEN
6376 
6377         RETURN TRUE;
6378     END IF;
6379 
6380     --  SELECT  'VALID'
6381     --  INTO     l_dummy
6382     --  FROM     DB_TABLE
6383     --  WHERE    DB_COLUMN = p_line_number;
6384 
6385 
6386     RETURN TRUE;
6387 
6388 EXCEPTION
6389 
6390     WHEN NO_DATA_FOUND THEN
6391 
6392         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6393         THEN
6394 
6395 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_NUMBER');
6396 
6397             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6398             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6399 				OE_Order_Util.Get_Attribute_Name('line_number'));
6400             OE_MSG_PUB.Add;
6401 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6402 
6403         END IF;
6404 
6405 
6406         RETURN FALSE;
6407 
6408     WHEN OTHERS THEN
6409 
6410         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6411         THEN
6412             OE_MSG_PUB.Add_Exc_Msg
6413             (   G_PKG_NAME
6414             ,   'Line_Number'
6415             );
6416         END IF;
6417 
6418         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6419 
6420 
6421 END Line_Number;
6422 
6423 FUNCTION Ordered_Item_id ( p_ordered_item_id IN NUMBER )
6424 RETURN BOOLEAN
6425 IS
6426 l_dummy                       VARCHAR2(10);
6427 BEGIN
6428 
6429 
6430     IF p_ordered_item_id IS NULL OR
6431         p_ordered_item_id = FND_API.G_MISS_NUM
6432     THEN
6433 
6434         RETURN TRUE;
6435     END IF;
6436 
6437     --  SELECT  'VALID'
6438     --  INTO     l_dummy
6439     --  FROM     DB_TABLE
6440     --  WHERE    DB_COLUMN = p_ordered_item_id;
6441 
6442 
6443     RETURN TRUE;
6444 
6445 EXCEPTION
6446 
6447     WHEN NO_DATA_FOUND THEN
6448 
6449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6450         THEN
6451 
6452 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM_ID');
6453 
6454             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6455             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6456 				OE_Order_Util.Get_Attribute_Name('ordered_item_id'));
6457             OE_MSG_PUB.Add;
6458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6459 
6460         END IF;
6461 
6462 
6463         RETURN FALSE;
6464 
6465     WHEN OTHERS THEN
6466 
6467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6468         THEN
6469             OE_MSG_PUB.Add_Exc_Msg
6470             (   G_PKG_NAME
6471             ,   'Ordered_Item_Id'
6472             );
6473         END IF;
6474 
6475 
6476         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6477 
6478 END Ordered_Item_Id;
6479 
6480 FUNCTION Item_Identifier_Type ( p_item_identifier_type IN VARCHAR2 )
6481 RETURN BOOLEAN
6482 IS
6483 l_dummy                       VARCHAR2(10);
6484 BEGIN
6485 
6486 
6487     IF p_item_identifier_type IS NULL OR
6488         p_item_identifier_type = FND_API.G_MISS_CHAR
6489     THEN
6490 
6491         RETURN TRUE;
6492     END IF;
6493 
6494     --  SELECT  'VALID'
6495     --  INTO     l_dummy
6496     --  FROM     DB_TABLE
6497     --  WHERE    DB_COLUMN = p_item_identifier_type;
6498 
6499 
6500     RETURN TRUE;
6501 
6502 EXCEPTION
6503 
6504     WHEN NO_DATA_FOUND THEN
6505 
6506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6507         THEN
6508 
6509 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_IDENTIFIER_TYPE');
6510 
6511             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6513 				OE_Order_Util.Get_Attribute_Name('item_identifier_type'));
6514             OE_MSG_PUB.Add;
6515 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6516 
6517         END IF;
6518 
6519 
6520         RETURN FALSE;
6521 
6522     WHEN OTHERS THEN
6523 
6524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6525         THEN
6526             OE_MSG_PUB.Add_Exc_Msg
6527             (   G_PKG_NAME
6528             ,   'Item_Identifier_Type'
6529             );
6530         END IF;
6531 
6532 
6533         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6534 
6535 END Item_Identifier_Type;
6536 
6537 FUNCTION Ordered_Item ( p_ordered_item IN VARCHAR2 )
6538 RETURN BOOLEAN
6539 IS
6540 l_dummy                       VARCHAR2(10);
6541 BEGIN
6542 
6543 
6544     IF p_ordered_item IS NULL OR
6545         p_ordered_item = FND_API.G_MISS_CHAR
6546     THEN
6547 
6548         RETURN TRUE;
6549     END IF;
6550 
6551     --  SELECT  'VALID'
6552     --  INTO     l_dummy
6553     --  FROM     DB_TABLE
6554     --  WHERE    DB_COLUMN = p_ordered_item;
6555 
6556 
6557     RETURN TRUE;
6558 
6559 EXCEPTION
6560 
6561     WHEN NO_DATA_FOUND THEN
6562 
6563         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6564         THEN
6565 
6566 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_ITEM');
6567 
6568             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6569             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6570 				OE_Order_Util.Get_Attribute_Name('ordered_item'));
6571             OE_MSG_PUB.Add;
6572 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6573 
6574         END IF;
6575 
6576 
6577         RETURN FALSE;
6578 
6579     WHEN OTHERS THEN
6580 
6581         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6582         THEN
6583             OE_MSG_PUB.Add_Exc_Msg
6584             (   G_PKG_NAME
6585             ,   'Ordered_Item'
6586             );
6587         END IF;
6588 
6589 
6590         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6591 
6592 END Ordered_Item;
6593 
6594 FUNCTION Date_And_Time_Requested ( p_date_and_time_requested IN DATE )
6595 RETURN BOOLEAN
6596 IS
6597 l_dummy                       VARCHAR2(10);
6598 BEGIN
6599 
6600 
6601     IF p_date_and_time_requested IS NULL OR
6602         p_date_and_time_requested = FND_API.G_MISS_DATE
6603     THEN
6604 
6605         RETURN TRUE;
6606     END IF;
6607 
6608     --  SELECT  'VALID'
6609     --  INTO     l_dummy
6610     --  FROM     DB_TABLE
6611     --  WHERE    DB_COLUMN = p_date_and_time_requested;
6612 
6613 
6614     RETURN TRUE;
6615 
6616 EXCEPTION
6617 
6618     WHEN NO_DATA_FOUND THEN
6619 
6620         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6621         THEN
6622 
6623 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_REQUESTED');
6624 
6625             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6626             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6627 				OE_Order_Util.Get_Attribute_Name('date_and_time_requested'));
6628             OE_MSG_PUB.Add;
6629 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6630 
6631         END IF;
6632 
6633 
6634         RETURN FALSE;
6635 
6636     WHEN OTHERS THEN
6637 
6638         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6639         THEN
6640             OE_MSG_PUB.Add_Exc_Msg
6641             (   G_PKG_NAME
6642             ,   'Date_And_Time_Requested'
6643             );
6644         END IF;
6645 
6646 
6647         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6648 
6649 END Date_And_Time_Requested;
6650 
6651 FUNCTION Date_And_Time_Promised ( p_date_and_time_promised IN DATE )
6652 RETURN BOOLEAN
6653 IS
6654 l_dummy                       VARCHAR2(10);
6655 BEGIN
6656 
6657 
6658     IF p_date_and_time_promised IS NULL OR
6659         p_date_and_time_promised = FND_API.G_MISS_DATE
6660     THEN
6661 
6662         RETURN TRUE;
6663     END IF;
6664 
6665     --  SELECT  'VALID'
6666     --  INTO     l_dummy
6667     --  FROM     DB_TABLE
6668     --  WHERE    DB_COLUMN = p_date_and_time_promised;
6669 
6670 
6671     RETURN TRUE;
6672 
6673 EXCEPTION
6674 
6675     WHEN NO_DATA_FOUND THEN
6676 
6677         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6678         THEN
6679 
6680 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_PROMISED');
6681 
6682             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6683             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6684 				OE_Order_Util.Get_Attribute_Name('date_and_time_promised'));
6685             OE_MSG_PUB.Add;
6686 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6687 
6688         END IF;
6689 
6690 
6691         RETURN FALSE;
6692 
6693     WHEN OTHERS THEN
6694 
6695         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6696         THEN
6697             OE_MSG_PUB.Add_Exc_Msg
6698             (   G_PKG_NAME
6699             ,   'Date_And_Time_Promised'
6700             );
6701         END IF;
6702 
6703 
6704         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6705 
6706 END Date_And_Time_Promised;
6707 
6708 FUNCTION Date_And_Time_Scheduled ( p_date_and_time_scheduled IN DATE )
6709 RETURN BOOLEAN
6710 IS
6711 l_dummy                       VARCHAR2(10);
6712 BEGIN
6713 
6714 
6715     IF p_date_and_time_scheduled IS NULL OR
6716         p_date_and_time_scheduled = FND_API.G_MISS_DATE
6717     THEN
6718 
6719         RETURN TRUE;
6720     END IF;
6721 
6722     --  SELECT  'VALID'
6723     --  INTO     l_dummy
6724     --  FROM     DB_TABLE
6725     --  WHERE    DB_COLUMN = p_date_and_time_scheduled;
6726 
6727 
6728     RETURN TRUE;
6729 
6730 EXCEPTION
6731 
6732     WHEN NO_DATA_FOUND THEN
6733 
6734         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6735         THEN
6736 
6737 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DATE_AND_TIME_SCHEDULED');
6738 
6739             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6740             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6741 				OE_Order_Util.Get_Attribute_Name('date_and_time_scheduled'));
6742             OE_MSG_PUB.Add;
6743 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6744 
6745         END IF;
6746 
6747 
6748         RETURN FALSE;
6749 
6750     WHEN OTHERS THEN
6751 
6752         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6753         THEN
6754             OE_MSG_PUB.Add_Exc_Msg
6755             (   G_PKG_NAME
6756             ,   'Date_And_Time_Scheduled'
6757             );
6758         END IF;
6759 
6760 
6761         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6762 
6763 END Date_And_Time_Scheduled;
6764 
6765 FUNCTION Order_Quantity_Uom ( p_order_quantity_uom IN VARCHAR2 )
6766 RETURN BOOLEAN
6767 IS
6768 l_dummy                       VARCHAR2(10);
6769 BEGIN
6770 
6771 
6772     IF p_order_quantity_uom IS NULL OR
6773         p_order_quantity_uom = FND_API.G_MISS_CHAR
6774     THEN
6775 
6776         RETURN TRUE;
6777     END IF;
6778 
6779     --  SELECT  'VALID'
6780     --  INTO     l_dummy
6781     --  FROM     DB_TABLE
6782     --  WHERE    DB_COLUMN = p_order_quantity_uom;
6783 
6784 
6785     RETURN TRUE;
6786 
6787 EXCEPTION
6788 
6789     WHEN NO_DATA_FOUND THEN
6790 
6791         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6792         THEN
6793 
6794 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_QUANTITY_UOM');
6795 
6796             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6797             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6798 				OE_Order_Util.Get_Attribute_Name('order_quantity_uom'));
6799             OE_MSG_PUB.Add;
6800 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6801 
6802         END IF;
6803 
6804 
6805         RETURN FALSE;
6806 
6807     WHEN OTHERS THEN
6808 
6809         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6810         THEN
6811             OE_MSG_PUB.Add_Exc_Msg
6812             (   G_PKG_NAME
6813             ,   'Order_Quantity_Uom'
6814             );
6815         END IF;
6816 
6817 
6818         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6819 
6820 END Order_Quantity_Uom;
6821 
6822 -- OPM 02/JUN/00 - add functions to support new process attributes
6823 -- ===============================================================
6824 FUNCTION Ordered_Quantity_Uom2 ( p_ordered_quantity_uom2 IN VARCHAR2 )
6825 RETURN BOOLEAN
6826 IS
6827 l_dummy                       VARCHAR2(10);
6828 BEGIN
6829 
6830 
6831     IF p_ordered_quantity_uom2 IS NULL OR
6832         p_ordered_quantity_uom2 = FND_API.G_MISS_CHAR
6833     THEN
6834 
6835         RETURN TRUE;
6836     END IF;
6837 
6838     RETURN TRUE;
6839 
6840 EXCEPTION
6841 
6842     WHEN NO_DATA_FOUND THEN
6843 
6844         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6845         THEN
6846 
6847 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY_UOM2');
6848 
6849             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6850             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6851 				OE_Order_Util.Get_Attribute_Name('ordered_quantity_uom2'));
6852             OE_MSG_PUB.Add;
6853 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6854 
6855         END IF;
6856 
6857 
6858         RETURN FALSE;
6859 
6860     WHEN OTHERS THEN
6861 
6862         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6863         THEN
6864             OE_MSG_PUB.Add_Exc_Msg
6865             (   G_PKG_NAME
6866             ,   'Ordered_Quantity_Uom2'
6867             );
6868         END IF;
6869 
6870 
6871         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6872 
6873 END Ordered_Quantity_Uom2;
6874 
6875 FUNCTION Preferred_Grade ( p_preferred_grade IN VARCHAR2 )
6876 RETURN BOOLEAN
6877 IS
6878 l_dummy                       VARCHAR2(10);
6879 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6880 BEGIN
6881 
6882     IF l_debug_level > 0 THEN
6883         oe_debug_pub.add('OPM preferred_grade val in OEXSVATB', 1);
6884     END IF;
6885     IF p_preferred_grade IS NULL OR
6886         p_preferred_grade = FND_API.G_MISS_CHAR
6887     THEN
6888 
6889         RETURN TRUE;
6890     END IF;
6891 
6892 -- INVCONV
6893 
6894     SELECT  'VALID'
6895     INTO    l_dummy
6896     FROM    MTL_GRADES_B
6897     WHERE   grade_code  = p_preferred_grade -- INVCONV
6898     AND     DISABLE_FLAG <> 'Y'; -- INVCONV
6899 
6900     RETURN TRUE;
6901 
6902 EXCEPTION
6903 
6904     WHEN NO_DATA_FOUND THEN
6905 
6906         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6907         THEN
6908 
6909 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PREFERRED_GRADE');
6910 
6911             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6912             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6913 				OE_Order_Util.Get_Attribute_Name('preferred_grade'));
6914             OE_MSG_PUB.Add;
6915 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6916 
6917         END IF;
6918 
6919 
6920         RETURN FALSE;
6921 
6922     WHEN OTHERS THEN
6923 
6924         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6925         THEN
6926             IF l_debug_level > 0 THEN
6927                 oe_debug_pub.add('OPM preferred_grade exception in VATB', 1);
6928             END IF;
6929             OE_MSG_PUB.Add_Exc_Msg
6930             (   G_PKG_NAME
6931             ,   'Preferred_Grade'
6932             );
6933         END IF;
6934 
6935 
6936         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6937 
6938 END Preferred_Grade;
6939 
6940 -- OPM 02/JUN/00 END
6941 -- =================
6942 
6943 -- PROMOTIONS SEP/01 BEGIN
6944 -- =======================
6945 FUNCTION Price_Request_Code (p_price_request_code IN VARCHAR2 )
6946 RETURN BOOLEAN
6947 IS
6948 l_dummy                       VARCHAR2(10);
6949 BEGIN
6950 
6951 
6952     IF p_price_request_code IS NULL OR
6953         p_price_request_code = FND_API.G_MISS_CHAR
6954     THEN
6955 
6956         RETURN TRUE;
6957     END IF;
6958 
6959     RETURN TRUE;
6960 
6961 EXCEPTION
6962 
6963     WHEN NO_DATA_FOUND THEN
6964 
6965         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
6966         THEN
6967 
6968 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICE_REQUEST_CODE');
6969 
6970             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
6971             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
6972 				OE_Order_Util.Get_Attribute_Name('price_request_code'));
6973             OE_MSG_PUB.Add;
6974 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
6975 
6976         END IF;
6977 
6978 
6979         RETURN FALSE;
6980 
6981     WHEN OTHERS THEN
6982 
6983         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6984         THEN
6985             OE_MSG_PUB.Add_Exc_Msg
6986             (   G_PKG_NAME
6987             ,   'Price_Request_Code'
6988             );
6989         END IF;
6990 
6991 
6992         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6993 
6994 END Price_Request_Code;
6995 
6996 -- PROMOTIONS SEP/01 END
6997 -- =====================
6998 FUNCTION Pricing_Quantity ( p_pricing_quantity IN NUMBER )
6999 RETURN BOOLEAN
7000 IS
7001 l_dummy                       VARCHAR2(10);
7002 BEGIN
7003 
7004 
7005     IF p_pricing_quantity IS NULL OR
7006         p_pricing_quantity = FND_API.G_MISS_NUM
7007     THEN
7008 
7009         RETURN TRUE;
7010     END IF;
7011 
7012     --  SELECT  'VALID'
7013     --  INTO     l_dummy
7014     --  FROM     DB_TABLE
7015     --  WHERE    DB_COLUMN = p_pricing_quantity;
7016 
7017 
7018     RETURN TRUE;
7019 
7020 EXCEPTION
7021 
7022     WHEN NO_DATA_FOUND THEN
7023 
7024         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7025         THEN
7026 
7027 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY');
7028 
7029             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7030             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7031 				OE_Order_Util.Get_Attribute_Name('pricing_quantity'));
7032             OE_MSG_PUB.Add;
7033 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7034 
7035         END IF;
7036 
7037 
7038         RETURN FALSE;
7039 
7040     WHEN OTHERS THEN
7041 
7042         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7043         THEN
7044             OE_MSG_PUB.Add_Exc_Msg
7045             (   G_PKG_NAME
7046             ,   'Pricing_Quantity'
7047             );
7048         END IF;
7049 
7050 
7051         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7052 
7053 END Pricing_Quantity;
7054 
7055 FUNCTION Pricing_Quantity_Uom ( p_pricing_quantity_uom IN VARCHAR2 )
7056 RETURN BOOLEAN
7057 IS
7058 l_dummy                       VARCHAR2(10);
7059 BEGIN
7060 
7061 
7062     IF p_pricing_quantity_uom IS NULL OR
7063         p_pricing_quantity_uom = FND_API.G_MISS_CHAR
7064     THEN
7065 
7066         RETURN TRUE;
7067     END IF;
7068 
7069     --  SELECT  'VALID'
7070     --  INTO     l_dummy
7071     --  FROM     DB_TABLE
7072     --  WHERE    DB_COLUMN = p_pricing_quantity_uom;
7073 
7074 
7075     RETURN TRUE;
7076 
7077 EXCEPTION
7078 
7079     WHEN NO_DATA_FOUND THEN
7080 
7081         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7082         THEN
7083 
7084 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_QUANTITY_UOM');
7085 
7086             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7087             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7088 				OE_Order_Util.Get_Attribute_Name('pricing_quantity_uom'));
7089             OE_MSG_PUB.Add;
7090 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7091 
7092         END IF;
7093 
7094 
7095         RETURN FALSE;
7096 
7097     WHEN OTHERS THEN
7098 
7099         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7100         THEN
7101             OE_MSG_PUB.Add_Exc_Msg
7102             (   G_PKG_NAME
7103             ,   'Pricing_Quantity_Uom'
7104             );
7105         END IF;
7106 
7107 
7108         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7109 
7110 END Pricing_Quantity_Uom;
7111 
7112 FUNCTION Quantity_Cancelled ( p_quantity_cancelled IN NUMBER )
7113 RETURN BOOLEAN
7114 IS
7115 l_dummy                       VARCHAR2(10);
7116 BEGIN
7117 
7118 
7119     IF p_quantity_cancelled IS NULL OR
7120         p_quantity_cancelled = FND_API.G_MISS_NUM
7121     THEN
7122 
7123         RETURN TRUE;
7124     END IF;
7125 
7126     --  SELECT  'VALID'
7127     --  INTO     l_dummy
7128     --  FROM     DB_TABLE
7129     --  WHERE    DB_COLUMN = p_quantity_cancelled;
7130 
7131 
7132     RETURN TRUE;
7133 
7134 EXCEPTION
7135 
7136     WHEN NO_DATA_FOUND THEN
7137 
7138         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7139         THEN
7140 
7141 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_CANCELLED');
7142 
7143             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7144             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7145 				OE_Order_Util.Get_Attribute_Name('quantity_cancelled'));
7146             OE_MSG_PUB.Add;
7147 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7148 
7149         END IF;
7150 
7151 
7152         RETURN FALSE;
7153 
7154     WHEN OTHERS THEN
7155 
7156         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7157         THEN
7158             OE_MSG_PUB.Add_Exc_Msg
7159             (   G_PKG_NAME
7160             ,   'Quantity_Cancelled'
7161             );
7162         END IF;
7163 
7164 
7165         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7166 
7167 END Quantity_Cancelled;
7168 
7169 FUNCTION Quantity_Shipped ( p_quantity_shipped IN NUMBER )
7170 RETURN BOOLEAN
7171 IS
7172 l_dummy                       VARCHAR2(10);
7173 BEGIN
7174 
7175 
7176     IF p_quantity_shipped IS NULL OR
7177         p_quantity_shipped = FND_API.G_MISS_NUM
7178     THEN
7179 
7180         RETURN TRUE;
7181     END IF;
7182 
7183     --  SELECT  'VALID'
7184     --  INTO     l_dummy
7185     --  FROM     DB_TABLE
7186     --  WHERE    DB_COLUMN = p_quantity_shipped;
7187 
7188 
7189     RETURN TRUE;
7190 
7191 EXCEPTION
7192 
7193     WHEN NO_DATA_FOUND THEN
7194 
7195         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7196         THEN
7197 
7198 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_SHIPPED');
7199 
7200             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7201             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7202 				OE_Order_Util.Get_Attribute_Name('quantity_shipped'));
7203             OE_MSG_PUB.Add;
7204 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7205 
7206         END IF;
7207 
7208 
7209         RETURN FALSE;
7210 
7211     WHEN OTHERS THEN
7212 
7213         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7214         THEN
7215             OE_MSG_PUB.Add_Exc_Msg
7216             (   G_PKG_NAME
7217             ,   'Quantity_Shipped'
7218             );
7219         END IF;
7220 
7221 
7222         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7223 
7224 END Quantity_Shipped;
7225 
7226 FUNCTION Quantity_Ordered ( p_quantity_ordered IN NUMBER )
7227 RETURN BOOLEAN
7228 IS
7229 l_dummy                       VARCHAR2(10);
7230 BEGIN
7231 
7232 
7233     IF p_quantity_ordered IS NULL OR
7234         p_quantity_ordered = FND_API.G_MISS_NUM
7235     THEN
7236 
7237         RETURN TRUE;
7238     END IF;
7239 
7240     --  SELECT  'VALID'
7241     --  INTO     l_dummy
7242     --  FROM     DB_TABLE
7243     --  WHERE    DB_COLUMN = p_quantity_ordered;
7244 
7245 
7246     RETURN TRUE;
7247 
7248 EXCEPTION
7249 
7250     WHEN NO_DATA_FOUND THEN
7251 
7252         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7253         THEN
7254 
7255 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_ORDERED');
7256 
7257             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7258             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7259 				OE_Order_Util.Get_Attribute_Name('quantity_ordered'));
7260             OE_MSG_PUB.Add;
7261 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7262 
7263         END IF;
7264 
7265 
7266         RETURN FALSE;
7267 
7268     WHEN OTHERS THEN
7269 
7270         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7271         THEN
7272             OE_MSG_PUB.Add_Exc_Msg
7273             (   G_PKG_NAME
7274             ,   'Quantity_Ordered'
7275             );
7276         END IF;
7277 
7278 
7279         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7280 
7281 END Quantity_Ordered;
7282 
7283 FUNCTION Quantity_Fulfilled ( p_quantity_fulfilled IN NUMBER )
7284 RETURN BOOLEAN
7285 IS
7286 l_dummy                       VARCHAR2(10);
7287 BEGIN
7288 
7289 
7290     IF p_quantity_fulfilled IS NULL OR
7291         p_quantity_fulfilled = FND_API.G_MISS_NUM
7292     THEN
7293 
7294         RETURN TRUE;
7295     END IF;
7296 
7297     --  SELECT  'VALID'
7298     --  INTO     l_dummy
7299     --  FROM     DB_TABLE
7300     --  WHERE    DB_COLUMN = p_quantity_fulfilled;
7301 
7302 
7303     RETURN TRUE;
7304 
7305 EXCEPTION
7306 
7307     WHEN NO_DATA_FOUND THEN
7308 
7309         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7310         THEN
7311 
7312 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY_FULFILLED');
7313 
7314             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7315             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7316 				OE_Order_Util.Get_Attribute_Name('quantity_fulfilled'));
7317             OE_MSG_PUB.Add;
7318 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7319 
7320         END IF;
7321 
7322 
7323         RETURN FALSE;
7324 
7325     WHEN OTHERS THEN
7326 
7327         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7328         THEN
7329             OE_MSG_PUB.Add_Exc_Msg
7330             (   G_PKG_NAME
7331             ,   'Quantity_Fulfilled'
7332             );
7333         END IF;
7334 
7335 
7336         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7337 
7338 END Quantity_Fulfilled;
7339 
7340 FUNCTION fulfilled ( p_fulfilled_flag IN VARCHAR2 )
7341 RETURN BOOLEAN
7342 IS
7343 l_dummy                       VARCHAR2(10);
7344 BEGIN
7345 
7346     IF p_fulfilled_flag IS NULL OR
7347         p_fulfilled_flag = FND_API.G_MISS_CHAR
7348     THEN
7349 
7350         RETURN TRUE;
7351     END IF;
7352 
7353     IF p_fulfilled_flag NOT IN ('Y','N') THEN
7354 		RAISE NO_DATA_FOUND;
7355     END IF;
7356 
7357     --  SELECT  'VALID'
7358     --  INTO     l_dummy
7359     --  FROM     DB_TABLE
7360     --  WHERE    DB_COLUMN = p_fulfilled_flag;
7361 
7362 
7363     RETURN TRUE;
7364 
7365 EXCEPTION
7366 
7367     WHEN NO_DATA_FOUND THEN
7368 
7369         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7370         THEN
7371 
7372 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_FLAG');
7373 
7374             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7375             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7376 				OE_Order_Util.Get_Attribute_Name('fulfilled_flag'));
7377             OE_MSG_PUB.Add;
7378 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7379 
7380         END IF;
7381 
7382 
7383         RETURN FALSE;
7384 
7385     WHEN OTHERS THEN
7386 
7387         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7388         THEN
7389             OE_MSG_PUB.Add_Exc_Msg
7390             (   G_PKG_NAME
7391             ,   'Fulfilled'
7392             );
7393         END IF;
7394 
7395 
7396         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7397 
7398 END Fulfilled;
7399 
7400 ----
7401 FUNCTION Calculate_Price_Flag ( p_calculate_price_flag IN VARCHAR2 )
7402 RETURN BOOLEAN
7403 IS
7404 l_dummy                       VARCHAR2(10);
7405 BEGIN
7406 
7407     IF p_calculate_price_flag IS NULL OR
7408         p_calculate_price_flag = FND_API.G_MISS_CHAR
7409     THEN
7410 
7411         RETURN TRUE;
7412     END IF;
7413 
7414     If p_calculate_price_flag not in ('P','Y','N') then
7415 
7416 	Raise no_data_found;
7417 
7418     End If;
7419     --  SELECT  'VALID'
7420     --  INTO     l_dummy
7421     --  FROM     DB_TABLE
7422     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
7423 
7424 
7425     RETURN TRUE;
7426 
7427 EXCEPTION
7428 
7429     WHEN NO_DATA_FOUND THEN
7430 
7431         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7432         THEN
7433 
7434 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CALCULATE_PRICE_FLAG');
7435 
7436             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7437             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7438 				OE_Order_Util.Get_Attribute_Name('calculate_price_flag'));
7439             OE_MSG_PUB.Add;
7440 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7441 
7442         END IF;
7443 
7444 
7445         RETURN FALSE;
7446 
7447     WHEN OTHERS THEN
7448 
7449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7450         THEN
7451             OE_MSG_PUB.Add_Exc_Msg
7452             (   G_PKG_NAME
7453             ,   'Calculate_Price_Flag'
7454             );
7455         END IF;
7456 
7457 
7458         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7459 
7460 END Calculate_Price_Flag;
7461 
7462 -----
7463 FUNCTION Fulfillment_Method ( p_fulfillment_method_code IN VARCHAR2 )
7464 RETURN BOOLEAN
7465 IS
7466 l_dummy                       VARCHAR2(10);
7467 BEGIN
7468 
7469     IF p_fulfillment_method_code IS NULL OR
7470         p_fulfillment_method_code = FND_API.G_MISS_CHAR
7471     THEN
7472 
7473         RETURN TRUE;
7474     END IF;
7475 
7476     --  SELECT  'VALID'
7477     --  INTO     l_dummy
7478     --  FROM     DB_TABLE
7479     --  WHERE    DB_COLUMN = p_fulfillment_method_code;
7480 
7481 
7482     RETURN TRUE;
7483 
7484 EXCEPTION
7485 
7486     WHEN NO_DATA_FOUND THEN
7487 
7488         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7489         THEN
7490 
7491 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_METHOD_CODE');
7492 
7493             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7494             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7495 				OE_Order_Util.Get_Attribute_Name('fulfillment_method_code'));
7496             OE_MSG_PUB.Add;
7497 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7498 
7499         END IF;
7500 
7501 
7502         RETURN FALSE;
7503 
7504     WHEN OTHERS THEN
7505 
7506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7507         THEN
7508             OE_MSG_PUB.Add_Exc_Msg
7509             (   G_PKG_NAME
7510             ,   'Fulfillment_Method'
7511             );
7512         END IF;
7513 
7514 
7515         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7516 
7517 END Fulfillment_Method;
7518 
7519 FUNCTION Fulfillment_Date ( p_fulfillment_date IN DATE )
7520 RETURN BOOLEAN
7521 IS
7522 l_dummy                       VARCHAR2(10);
7523 BEGIN
7524 
7525     IF p_fulfillment_date IS NULL OR
7526         p_fulfillment_date = FND_API.G_MISS_DATE
7527     THEN
7528 
7529         RETURN TRUE;
7530     END IF;
7531 
7532     --  SELECT  'VALID'
7533     --  INTO     l_dummy
7534     --  FROM     DB_TABLE
7535     --  WHERE    DB_COLUMN = p_fulfillment_date;
7536 
7537 
7538     RETURN TRUE;
7539 
7540 EXCEPTION
7541 
7542     WHEN NO_DATA_FOUND THEN
7543 
7544         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7545         THEN
7546 
7547 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLMENT_DATE');
7548 
7549             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7550             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7551 				OE_Order_Util.Get_Attribute_Name('fulfillment_date'));
7552             OE_MSG_PUB.Add;
7553 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7554 
7555         END IF;
7556 
7557 
7558         RETURN FALSE;
7559 
7560     WHEN OTHERS THEN
7561 
7562         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7563         THEN
7564             OE_MSG_PUB.Add_Exc_Msg
7565             (   G_PKG_NAME
7566             ,   'Fulfillment_Date'
7567             );
7568         END IF;
7569 
7570 
7571         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7572 
7573 END Fulfillment_Date;
7574 
7575 FUNCTION Shipping_Quantity ( p_shipping_quantity IN NUMBER )
7576 RETURN BOOLEAN
7577 IS
7578 l_dummy                       VARCHAR2(10);
7579 BEGIN
7580 
7581 
7582     IF p_shipping_quantity IS NULL OR
7583         p_shipping_quantity = FND_API.G_MISS_NUM
7584     THEN
7585 
7586         RETURN TRUE;
7587     END IF;
7588 
7589     --  SELECT  'VALID'
7590     --  INTO     l_dummy
7591     --  FROM     DB_TABLE
7592     --  WHERE    DB_COLUMN = p_shipping_quantity;
7593 
7594 
7595     RETURN TRUE;
7596 
7597 EXCEPTION
7598 
7599     WHEN NO_DATA_FOUND THEN
7600 
7601         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7602         THEN
7603 
7604 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY');
7605 
7606             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7607             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7608 				OE_Order_Util.Get_Attribute_Name('shipping_quantity'));
7609             OE_MSG_PUB.Add;
7610 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7611 
7612         END IF;
7613 
7614 
7615         RETURN FALSE;
7616 
7617     WHEN OTHERS THEN
7618 
7619         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7620         THEN
7621             OE_MSG_PUB.Add_Exc_Msg
7622             (   G_PKG_NAME
7623             ,   'Shipping_Quantity'
7624             );
7625         END IF;
7626 
7627 
7628         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7629 
7630 END Shipping_Quantity;
7631 
7632 FUNCTION Shipping_Quantity_Uom ( p_shipping_quantity_uom IN VARCHAR2 )
7633 RETURN BOOLEAN
7634 IS
7635 l_dummy                       VARCHAR2(10);
7636 BEGIN
7637 
7638 
7639     IF p_shipping_quantity_uom IS NULL OR
7640         p_shipping_quantity_uom = FND_API.G_MISS_CHAR
7641     THEN
7642 
7643         RETURN TRUE;
7644     END IF;
7645 
7646     --  SELECT  'VALID'
7647     --  INTO     l_dummy
7648     --  FROM     DB_TABLE
7649     --  WHERE    DB_COLUMN = p_shipping_quantity_uom;
7650 
7651 
7652     RETURN TRUE;
7653 
7654 EXCEPTION
7655 
7656     WHEN NO_DATA_FOUND THEN
7657 
7658         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7659         THEN
7660 
7661 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM');
7662 
7663             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7664             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7665 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom'));
7666             OE_MSG_PUB.Add;
7667 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7668 
7669         END IF;
7670 
7671 
7672         RETURN FALSE;
7673 
7674     WHEN OTHERS THEN
7675 
7676         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7677         THEN
7678             OE_MSG_PUB.Add_Exc_Msg
7679             (   G_PKG_NAME
7680             ,   'Shipping_Quantity_Uom'
7681             );
7682         END IF;
7683 
7684 
7685         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7686 
7687 END Shipping_Quantity_Uom;
7688 
7689 FUNCTION Delivery_Lead_Time ( p_delivery_lead_time IN NUMBER )
7690 RETURN BOOLEAN
7691 IS
7692 l_dummy                       VARCHAR2(10);
7693 BEGIN
7694 
7695 
7696     IF p_delivery_lead_time IS NULL OR
7697         p_delivery_lead_time = FND_API.G_MISS_NUM
7698     THEN
7699 
7700         RETURN TRUE;
7701     END IF;
7702 
7703     --  SELECT  'VALID'
7704     --  INTO     l_dummy
7705     --  FROM     DB_TABLE
7706     --  WHERE    DB_COLUMN = p_delivery_lead_time;
7707 
7708 
7709     RETURN TRUE;
7710 
7711 EXCEPTION
7712 
7713     WHEN NO_DATA_FOUND THEN
7714 
7715         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7716         THEN
7717 
7718 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DELIVERY_LEAD_TIME');
7719 
7720             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7721             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7722 				OE_Order_Util.Get_Attribute_Name('delivery_lead_time'));
7723             OE_MSG_PUB.Add;
7724 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7725 
7726         END IF;
7727 
7728 
7729         RETURN FALSE;
7730 
7731     WHEN OTHERS THEN
7732 
7733         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7734         THEN
7735             OE_MSG_PUB.Add_Exc_Msg
7736             (   G_PKG_NAME
7737             ,   'Delivery_Lead_Time'
7738             );
7739         END IF;
7740 
7741 
7742         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7743 
7744 END Delivery_Lead_Time;
7745 
7746 FUNCTION Demand_Bucket_Type ( p_demand_bucket_type IN VARCHAR2 )
7747 RETURN BOOLEAN
7748 IS
7749 l_dummy                       VARCHAR2(10);
7750 BEGIN
7751 
7752 
7753     IF p_demand_bucket_type IS NULL OR
7754         p_demand_bucket_type = FND_API.G_MISS_CHAR
7755     THEN
7756 
7757         RETURN TRUE;
7758     END IF;
7759 
7760     --  SELECT  'VALID'
7761     --  INTO     l_dummy
7762     --  FROM     DB_TABLE
7763     --  WHERE    DB_COLUMN = p_demand_bucket_type;
7764 
7765 
7766     RETURN TRUE;
7767 
7768 EXCEPTION
7769 
7770     WHEN NO_DATA_FOUND THEN
7771 
7772         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7773         THEN
7774 
7775 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_BUCKET_TYPE');
7776 
7777             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7778             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7779 				OE_Order_Util.Get_Attribute_Name('demand_bucket_type'));
7780             OE_MSG_PUB.Add;
7781 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7782 
7783         END IF;
7784 
7785 
7786         RETURN FALSE;
7787 
7788     WHEN OTHERS THEN
7789 
7790         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7791         THEN
7792             OE_MSG_PUB.Add_Exc_Msg
7793             (   G_PKG_NAME
7794             ,   'Demand_Bucket_Type'
7795             );
7796         END IF;
7797 
7798 
7799         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7800 
7801 END Demand_Bucket_Type;
7802 
7803 FUNCTION Schedule_Item_Detail ( p_schedule_item_detail_id IN NUMBER )
7804 RETURN BOOLEAN
7805 IS
7806 l_dummy                       VARCHAR2(10);
7807 BEGIN
7808 
7809 
7810     IF p_schedule_item_detail_id IS NULL OR
7811         p_schedule_item_detail_id = FND_API.G_MISS_NUM
7812     THEN
7813 
7814         RETURN TRUE;
7815     END IF;
7816 
7817     --  SELECT  'VALID'
7818     --  INTO     l_dummy
7819     --  FROM     DB_TABLE
7820     --  WHERE    DB_COLUMN = p_schedule_item_detail_id;
7821 
7822 
7823     RETURN TRUE;
7824 
7825 EXCEPTION
7826 
7827     WHEN NO_DATA_FOUND THEN
7828 
7829         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7830         THEN
7831 
7832 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ITEM_DETAIL_ID');
7833 
7834             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7835             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7836 				OE_Order_Util.Get_Attribute_Name('schedule_item_detail_id'));
7837             OE_MSG_PUB.Add;
7838 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7839 
7840         END IF;
7841 
7842 
7843         RETURN FALSE;
7844 
7845     WHEN OTHERS THEN
7846 
7847         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7848         THEN
7849             OE_MSG_PUB.Add_Exc_Msg
7850             (   G_PKG_NAME
7851             ,   'Schedule_Item_Detail'
7852             );
7853         END IF;
7854 
7855 
7856         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7857 
7858 END Schedule_Item_Detail;
7859 
7860 FUNCTION Demand_Stream ( p_demand_stream_id IN NUMBER )
7861 RETURN BOOLEAN
7862 IS
7863 l_dummy                       VARCHAR2(10);
7864 BEGIN
7865 
7866 
7867     IF p_demand_stream_id IS NULL OR
7868         p_demand_stream_id = FND_API.G_MISS_NUM
7869     THEN
7870 
7871         RETURN TRUE;
7872     END IF;
7873 
7874     --  SELECT  'VALID'
7875     --  INTO     l_dummy
7876     --  FROM     DB_TABLE
7877     --  WHERE    DB_COLUMN = p_demand_stream_id;
7878 
7879 
7880     RETURN TRUE;
7881 
7882 EXCEPTION
7883 
7884     WHEN NO_DATA_FOUND THEN
7885 
7886         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7887         THEN
7888 
7889 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEMAND_STREAM_ID');
7890 
7891             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7892             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7893 				OE_Order_Util.Get_Attribute_Name('demand_stream_id'));
7894             OE_MSG_PUB.Add;
7895 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7896 
7897         END IF;
7898 
7899 
7900         RETURN FALSE;
7901 
7902     WHEN OTHERS THEN
7903 
7904         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7905         THEN
7906             OE_MSG_PUB.Add_Exc_Msg
7907             (   G_PKG_NAME
7908             ,   'Demand_Stream'
7909             );
7910         END IF;
7911 
7912 
7913         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7914 
7915 END Demand_Stream;
7916 
7917 FUNCTION Cust_Dock ( p_cust_dock_code IN VARCHAR2 )
7918 RETURN BOOLEAN
7919 IS
7920 l_dummy                       VARCHAR2(10);
7921 BEGIN
7922 
7923 
7924     IF p_cust_dock_code IS NULL OR
7925         p_cust_dock_code = FND_API.G_MISS_CHAR
7926     THEN
7927 
7928         RETURN TRUE;
7929     END IF;
7930 
7931     --  SELECT  'VALID'
7932     --  INTO     l_dummy
7933     --  FROM     DB_TABLE
7934     --  WHERE    DB_COLUMN = p_cust_dock_code;
7935 
7936 
7937     RETURN TRUE;
7938 
7939 EXCEPTION
7940 
7941     WHEN NO_DATA_FOUND THEN
7942 
7943         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
7944         THEN
7945 
7946 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_DOCK_CODE');
7947 
7948             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
7949             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
7950 				OE_Order_Util.Get_Attribute_Name('cust_dock_code'));
7951             OE_MSG_PUB.Add;
7952 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
7953 
7954         END IF;
7955 
7956 
7957         RETURN FALSE;
7958 
7959     WHEN OTHERS THEN
7960 
7961         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7962         THEN
7963             OE_MSG_PUB.Add_Exc_Msg
7964             (   G_PKG_NAME
7965             ,   'Cust_Dock'
7966             );
7967         END IF;
7968 
7969 
7970         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7971 
7972 END Cust_Dock;
7973 
7974 FUNCTION Cust_Job ( p_cust_job IN VARCHAR2 )
7975 RETURN BOOLEAN
7976 IS
7977 l_dummy                       VARCHAR2(10);
7978 BEGIN
7979 
7980 
7981     IF p_cust_job IS NULL OR
7982         p_cust_job = FND_API.G_MISS_CHAR
7983     THEN
7984 
7985         RETURN TRUE;
7986     END IF;
7987 
7988     --  SELECT  'VALID'
7989     --  INTO     l_dummy
7990     --  FROM     DB_TABLE
7991     --  WHERE    DB_COLUMN = p_cust_job;
7992 
7993 
7994     RETURN TRUE;
7995 
7996 EXCEPTION
7997 
7998     WHEN NO_DATA_FOUND THEN
7999 
8000         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8001         THEN
8002 
8003 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_JOB');
8004 
8005             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8006             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8007 				OE_Order_Util.Get_Attribute_Name('cust_job'));
8008             OE_MSG_PUB.Add;
8009 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8010 
8011         END IF;
8012 
8013 
8014         RETURN FALSE;
8015 
8016     WHEN OTHERS THEN
8017 
8018         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8019         THEN
8020             OE_MSG_PUB.Add_Exc_Msg
8021             (   G_PKG_NAME
8022             ,   'Cust_Job'
8023             );
8024         END IF;
8025 
8026 
8027         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8028 
8029 END Cust_Job;
8030 
8031 FUNCTION Cust_Production_Line ( p_cust_production_line IN VARCHAR2 )
8032 RETURN BOOLEAN
8033 IS
8034 l_dummy                       VARCHAR2(10);
8035 BEGIN
8036 
8037 
8038     IF p_cust_production_line IS NULL OR
8039         p_cust_production_line = FND_API.G_MISS_CHAR
8040     THEN
8041 
8042         RETURN TRUE;
8043     END IF;
8044 
8045     --  SELECT  'VALID'
8046     --  INTO     l_dummy
8047     --  FROM     DB_TABLE
8048     --  WHERE    DB_COLUMN = p_cust_production_line;
8049 
8050 
8051     RETURN TRUE;
8052 
8053 EXCEPTION
8054 
8055     WHEN NO_DATA_FOUND THEN
8056 
8057         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8058         THEN
8059 
8060 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_LINE');
8061 
8062             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8063             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8064 				OE_Order_Util.Get_Attribute_Name('cust_production_line'));
8065             OE_MSG_PUB.Add;
8066 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8067 
8068         END IF;
8069 
8070 
8071         RETURN FALSE;
8072 
8073     WHEN OTHERS THEN
8074 
8075         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8076         THEN
8077             OE_MSG_PUB.Add_Exc_Msg
8078             (   G_PKG_NAME
8079             ,   'Cust_Production_Line'
8080             );
8081         END IF;
8082 
8083 
8084         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8085 
8086 END Cust_Production_Line;
8087 
8088 FUNCTION Cust_Model_Serial_Number ( p_cust_model_serial_number IN VARCHAR2 )
8089 RETURN BOOLEAN
8090 IS
8091 l_dummy                       VARCHAR2(10);
8092 BEGIN
8093 
8094 
8095     IF p_cust_model_serial_number IS NULL OR
8096         p_cust_model_serial_number = FND_API.G_MISS_CHAR
8097     THEN
8098 
8099         RETURN TRUE;
8100     END IF;
8101 
8102     --  SELECT  'VALID'
8103     --  INTO     l_dummy
8104     --  FROM     DB_TABLE
8105     --  WHERE    DB_COLUMN = p_cust_model_serial_number;
8106 
8107 
8108     RETURN TRUE;
8109 
8110 EXCEPTION
8111 
8112     WHEN NO_DATA_FOUND THEN
8113 
8114         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8115         THEN
8116 
8117 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_MODEL_SERIAL_NUMBER');
8118 
8119             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8120             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8121 				OE_Order_Util.Get_Attribute_Name('cust_model_serial_number'));
8122             OE_MSG_PUB.Add;
8123 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8124 
8125         END IF;
8126 
8127 
8128         RETURN FALSE;
8129 
8130     WHEN OTHERS THEN
8131 
8132         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8133         THEN
8134             OE_MSG_PUB.Add_Exc_Msg
8135             (   G_PKG_NAME
8136             ,   'Cust_Model_Serial_Number'
8137             );
8138         END IF;
8139 
8140 
8141         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8142 
8143 END Cust_Model_Serial_Number;
8144 
8145 FUNCTION Planning_Prod_Seq_No ( p_planning_prod_seq_no IN NUMBER )
8146 RETURN BOOLEAN
8147 IS
8148 l_dummy                       VARCHAR2(10);
8149 BEGIN
8150 
8151 
8152     IF p_planning_prod_seq_no IS NULL OR
8153         p_planning_prod_seq_no = FND_API.G_MISS_NUM
8154     THEN
8155         RETURN TRUE;
8156     END IF;
8157 
8158     --  SELECT  'VALID'
8159     --  INTO     l_dummy
8160     --  FROM     DB_TABLE
8161     --  WHERE    DB_COLUMN = p_planning_prod_seq_no;
8162 
8163 
8164    RETURN TRUE;
8165 
8166 EXCEPTION
8167 
8168     WHEN NO_DATA_FOUND THEN
8169 
8170         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8171         THEN
8172 
8173 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PLANNING_PROD_SEQ_NO');
8174 
8175             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8176             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8177 				OE_Order_Util.Get_Attribute_Name('planning_prod_seq_no'));
8178             OE_MSG_PUB.Add;
8179 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8180 
8181         END IF;
8182 
8183 
8184        RETURN FALSE;
8185 
8186     WHEN OTHERS THEN
8187 
8188         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8189         THEN
8190             OE_MSG_PUB.Add_Exc_Msg
8191             (   G_PKG_NAME
8192             ,   'Planning_Prod_Seq_No'
8193             );
8194         END IF;
8195 
8196 
8197       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8198 
8199 END Planning_Prod_Seq_No;
8200 
8201 FUNCTION Project ( p_project_id IN NUMBER )
8202 RETURN BOOLEAN
8203 IS
8204 l_project         VARCHAR2(30) := NULL;
8205 BEGIN
8206 
8207     IF p_project_id IS NULL OR
8208         p_project_id = FND_API.G_MISS_NUM
8209     THEN
8210         RETURN TRUE;
8211     END IF;
8212 /*
8213       SELECT  'VALID'
8214       INTO     l_dummy
8215       FROM     pjm_projects_org_v
8216       WHERE    project_id = p_project_id
8217 	 AND      rownum = 1;
8218 */
8219 
8220     l_project := pjm_project.val_proj_idtonum(p_project_id);
8221 
8222     IF l_project IS NOT NULL THEN
8223 
8224        RETURN TRUE;
8225 
8226     ELSE
8227 
8228 	  RAISE NO_DATA_FOUND;
8229 
8230     END IF;
8231 
8232 EXCEPTION
8233 
8234     WHEN NO_DATA_FOUND THEN
8235 
8236         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8237         THEN
8238 
8239 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROJECT_ID');
8240 
8241             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8242             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8243 				OE_Order_Util.Get_Attribute_Name('project_id'));
8244             OE_MSG_PUB.Add;
8245 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8246 
8247         END IF;
8248 
8249 
8250         RETURN FALSE;
8251 
8252     WHEN OTHERS THEN
8253 
8254         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8255         THEN
8256             OE_MSG_PUB.Add_Exc_Msg
8257             (   G_PKG_NAME
8258             ,   'Project'
8259             );
8260         END IF;
8261 
8262 
8263         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8264 
8265 END Project;
8266 
8267 FUNCTION Task ( p_task_id IN NUMBER )
8268 RETURN BOOLEAN
8269 IS
8270 l_task          VARCHAR2(30);
8271 BEGIN
8272 
8273 -- Validation will be done at Entity level.
8274 
8275     IF p_task_id IS NULL OR
8276         p_task_id = FND_API.G_MISS_NUM
8277     THEN
8278 
8279         RETURN TRUE;
8280     END IF;
8281 
8282 --      SELECT  'VALID'
8283 --      INTO     l_dummy
8284 --      FROM     mtl_task_v
8285 --      WHERE    task_id = p_task_id;
8286 
8287 
8288     RETURN TRUE;
8289 
8290 EXCEPTION
8291 
8292     WHEN NO_DATA_FOUND THEN
8293 
8294         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8295         THEN
8296 
8297 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TASK_ID');
8298 
8299             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8300             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8301 				OE_Order_Util.Get_Attribute_Name('task_id'));
8302             OE_MSG_PUB.Add;
8303 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8304 
8305         END IF;
8306 
8307 
8308         RETURN FALSE;
8309 
8310     WHEN OTHERS THEN
8311 
8312         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8313         THEN
8314             OE_MSG_PUB.Add_Exc_Msg
8315             (   G_PKG_NAME
8316             ,   'Task'
8317             );
8318         END IF;
8319 
8320 
8321         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8322 
8323 END Task;
8324 
8325 FUNCTION Inventory_Item ( p_inventory_item_id IN NUMBER )
8326 RETURN BOOLEAN
8327 IS
8328 l_dummy                       VARCHAR2(10);
8329 BEGIN
8330 
8331 
8332     IF p_inventory_item_id IS NULL OR
8333         p_inventory_item_id = FND_API.G_MISS_NUM
8334     THEN
8335 
8336         RETURN TRUE;
8337     END IF;
8338 
8339     --  SELECT  'VALID'
8340     --  INTO     l_dummy
8341     --  FROM     DB_TABLE
8342     --  WHERE    DB_COLUMN = p_inventory_item_id;
8343 
8344 
8345     RETURN TRUE;
8346 
8347 EXCEPTION
8348 
8349     WHEN NO_DATA_FOUND THEN
8350 
8351         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8352         THEN
8353 
8354 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVENTORY_ITEM_ID');
8355 
8356             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8357             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8358 				OE_Order_Util.Get_Attribute_Name('inventory_item_id'));
8359             OE_MSG_PUB.Add;
8360 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8361 
8362         END IF;
8363 
8364 
8365         RETURN FALSE;
8366 
8367     WHEN OTHERS THEN
8368 
8369         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8370         THEN
8371             OE_MSG_PUB.Add_Exc_Msg
8372             (   G_PKG_NAME
8373             ,   'Inventory_Item'
8374             );
8375         END IF;
8376 
8377 
8378         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8379 
8380 END Inventory_Item;
8381 
8382 
8383 FUNCTION Tax_Date ( p_tax_date IN DATE )
8384 RETURN BOOLEAN
8385 IS
8386 l_dummy                       VARCHAR2(10);
8387 BEGIN
8388 
8389 
8390     IF p_tax_date IS NULL OR
8391         p_tax_date = FND_API.G_MISS_DATE
8392     THEN
8393 
8394         RETURN TRUE;
8395     END IF;
8396 
8397     --  SELECT  'VALID'
8398     --  INTO     l_dummy
8399     --  FROM     DB_TABLE
8400     --  WHERE    DB_COLUMN = p_tax_date;
8401 
8402 
8403     RETURN TRUE;
8404 
8405 EXCEPTION
8406 
8407     WHEN NO_DATA_FOUND THEN
8408 
8409         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8410         THEN
8411 
8412 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_DATE');
8413 
8414             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8415             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8416 				OE_Order_Util.Get_Attribute_Name('tax_date'));
8417             OE_MSG_PUB.Add;
8418 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8419 
8420         END IF;
8421 
8422 
8423         RETURN FALSE;
8424 
8425     WHEN OTHERS THEN
8426 
8427         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8428         THEN
8429             OE_MSG_PUB.Add_Exc_Msg
8430             (   G_PKG_NAME
8431             ,   'Tax_Date'
8432             );
8433         END IF;
8434 
8435 
8436         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8437 
8438 END Tax_Date;
8439 
8440 
8441 FUNCTION Pricing_Date ( p_pricing_date IN DATE )
8442 RETURN BOOLEAN
8443 IS
8444 l_dummy                       VARCHAR2(10);
8445 BEGIN
8446 
8447 
8448     IF p_pricing_date IS NULL OR
8449         p_pricing_date = FND_API.G_MISS_DATE
8450     THEN
8451 
8452         RETURN TRUE;
8453     END IF;
8454 
8455     --  SELECT  'VALID'
8456     --  INTO     l_dummy
8457     --  FROM     DB_TABLE
8458     --  WHERE    DB_COLUMN = p_pricing_date;
8459 
8460 
8461     RETURN TRUE;
8462 
8463 EXCEPTION
8464 
8465     WHEN NO_DATA_FOUND THEN
8466 
8467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8468         THEN
8469 
8470 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_DATE');
8471 
8472             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8473             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8474 				OE_Order_Util.Get_Attribute_Name('pricing_date'));
8475             OE_MSG_PUB.Add;
8476 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8477 
8478         END IF;
8479 
8480 
8481         RETURN FALSE;
8482 
8483     WHEN OTHERS THEN
8484 
8485         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8486         THEN
8487             OE_MSG_PUB.Add_Exc_Msg
8488             (   G_PKG_NAME
8489             ,   'Pricing_Date'
8490             );
8491         END IF;
8492 
8493 
8494         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8495 
8496 END Pricing_Date;
8497 
8498 FUNCTION Shipment_Number ( p_shipment_number IN NUMBER )
8499 RETURN BOOLEAN
8500 IS
8501 l_dummy                       VARCHAR2(10);
8502 BEGIN
8503 
8504 
8505     IF p_shipment_number IS NULL OR
8506         p_shipment_number = FND_API.G_MISS_NUM
8507     THEN
8508 
8509         RETURN TRUE;
8510     END IF;
8511 
8512     --  SELECT  'VALID'
8513     --  INTO     l_dummy
8514     --  FROM     DB_TABLE
8515     --  WHERE    DB_COLUMN = p_shipment_number;
8516 
8517 
8518     RETURN TRUE;
8519 
8520 EXCEPTION
8521 
8522     WHEN NO_DATA_FOUND THEN
8523 
8524         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8525         THEN
8526 
8527 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPMENT_NUMBER');
8528 
8529             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8530             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8531 				OE_Order_Util.Get_Attribute_Name('shipment_number'));
8532             OE_MSG_PUB.Add;
8533 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8534 
8535         END IF;
8536 
8537 
8538         RETURN FALSE;
8539 
8540     WHEN OTHERS THEN
8541 
8542         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8543         THEN
8544             OE_MSG_PUB.Add_Exc_Msg
8545             (   G_PKG_NAME
8546             ,   'Shipment_Number'
8547             );
8548         END IF;
8549 
8550 
8551         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8552 
8553 END Shipment_Number;
8554 
8555 FUNCTION Orig_Sys_Line_Ref ( p_orig_sys_line_ref IN VARCHAR2 )
8556 RETURN BOOLEAN
8557 IS
8558 l_dummy                       VARCHAR2(10);
8559 BEGIN
8560 
8561 
8562     IF p_orig_sys_line_ref IS NULL OR
8563         p_orig_sys_line_ref = FND_API.G_MISS_CHAR
8564     THEN
8565 
8566         RETURN TRUE;
8567     END IF;
8568 
8569     --  SELECT  'VALID'
8570     --  INTO     l_dummy
8571     --  FROM     DB_TABLE
8572     --  WHERE    DB_COLUMN = p_orig_sys_line_ref;
8573 
8574 
8575     RETURN TRUE;
8576 
8577 EXCEPTION
8578 
8579     WHEN NO_DATA_FOUND THEN
8580 
8581         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8582         THEN
8583 
8584 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORIG_SYS_LINE_REF');
8585 
8586             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8587             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8588 				OE_Order_Util.Get_Attribute_Name('orig_sys_line_ref'));
8589             OE_MSG_PUB.Add;
8590 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8591 
8592         END IF;
8593 
8594 
8595         RETURN FALSE;
8596 
8597     WHEN OTHERS THEN
8598 
8599         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8600         THEN
8601             OE_MSG_PUB.Add_Exc_Msg
8602             (   G_PKG_NAME
8603             ,   'Orig_Sys_Line_ref'
8604             );
8605         END IF;
8606 
8607 
8608         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8609 
8610 END Orig_Sys_Line_Ref;
8611 
8612 FUNCTION Source_Document_Line ( p_source_document_line_id IN NUMBER )
8613 RETURN BOOLEAN
8614 IS
8615 l_dummy                       VARCHAR2(10);
8616 BEGIN
8617 
8618 
8619     IF p_source_document_line_id IS NULL OR
8620         p_source_document_line_id = FND_API.G_MISS_NUM
8621     THEN
8622 
8623         RETURN TRUE;
8624     END IF;
8625 
8626     --  SELECT  'VALID'
8627     --  INTO     l_dummy
8628     --  FROM     DB_TABLE
8629     --  WHERE    DB_COLUMN = p_source_document_line_id;
8630 
8631 
8632     RETURN TRUE;
8633 
8634 EXCEPTION
8635 
8636     WHEN NO_DATA_FOUND THEN
8637 
8638         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8639         THEN
8640 
8641 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOURCE_DOCUMENT_LINE_ID');
8642 
8643             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8644             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8645 				OE_Order_Util.Get_Attribute_Name('source_document_line_id'));
8646             OE_MSG_PUB.Add;
8647 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8648 
8649         END IF;
8650 
8651 
8652         RETURN FALSE;
8653 
8654     WHEN OTHERS THEN
8655 
8656         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8657         THEN
8658             OE_MSG_PUB.Add_Exc_Msg
8659             (   G_PKG_NAME
8660             ,   'Source_Document_Line'
8661             );
8662         END IF;
8663 
8664 
8665         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8666 
8667 END Source_Document_Line;
8668 
8669 FUNCTION Reference_Line ( p_reference_line_id IN NUMBER )
8670 RETURN BOOLEAN
8671 IS
8672 l_dummy                       VARCHAR2(10);
8673 BEGIN
8674 
8675 
8676     IF p_reference_line_id IS NULL OR
8677         p_reference_line_id = FND_API.G_MISS_NUM
8678     THEN
8679 
8680         RETURN TRUE;
8681     END IF;
8682 
8683     --  SELECT  'VALID'
8684     --  INTO     l_dummy
8685     --  FROM     DB_TABLE
8686     --  WHERE    DB_COLUMN = p_reference_line_id;
8687 
8688 
8689     RETURN TRUE;
8690 
8691 EXCEPTION
8692 
8693     WHEN NO_DATA_FOUND THEN
8694 
8695         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8696         THEN
8697 
8698 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_LINE_ID');
8699 
8700             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8701             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8702 				OE_Order_Util.Get_Attribute_Name('reference_line_id'));
8703             OE_MSG_PUB.Add;
8704 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8705 
8706         END IF;
8707 
8708 
8709         RETURN FALSE;
8710 
8711     WHEN OTHERS THEN
8712 
8713         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8714         THEN
8715             OE_MSG_PUB.Add_Exc_Msg
8716             (   G_PKG_NAME
8717             ,   'Reference_Line'
8718             );
8719         END IF;
8720 
8721 
8722         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8723 
8724 END Reference_Line;
8725 
8726 FUNCTION Reference_Type ( p_reference_type IN VARCHAR2 )
8727 RETURN BOOLEAN
8728 IS
8729 l_dummy                       VARCHAR2(10);
8730 BEGIN
8731 
8732 
8733 
8734     IF p_reference_type IS NULL OR
8735         p_reference_type = FND_API.G_MISS_CHAR
8736     THEN
8737 
8738         RETURN TRUE;
8739     END IF;
8740 
8741     --  SELECT  'VALID'
8742     --  INTO     l_dummy
8743     --  FROM     DB_TABLE
8744     --  WHERE    DB_COLUMN = p_reference_type;
8745 
8746 
8747     RETURN TRUE;
8748 
8749 EXCEPTION
8750 
8751     WHEN NO_DATA_FOUND THEN
8752 
8753         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8754         THEN
8755 
8756 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_TYPE');
8757 
8758             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8759             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8760 				OE_Order_Util.Get_Attribute_Name('reference_type'));
8761             OE_MSG_PUB.Add;
8762 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8763 
8764         END IF;
8765 
8766 
8767         RETURN FALSE;
8768 
8769     WHEN OTHERS THEN
8770 
8771         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8772         THEN
8773             OE_MSG_PUB.Add_Exc_Msg
8774             (   G_PKG_NAME
8775             ,   'Reference_Type'
8776             );
8777         END IF;
8778 
8779 
8780         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8781 
8782 END Reference_Type;
8783 
8784 FUNCTION Reference_Header ( p_reference_header_id IN NUMBER )
8785 RETURN BOOLEAN
8786 IS
8787 l_dummy                       VARCHAR2(10);
8788 BEGIN
8789 
8790 
8791     IF p_reference_header_id IS NULL OR
8792         p_reference_header_id = FND_API.G_MISS_NUM
8793     THEN
8794 
8795         RETURN TRUE;
8796     END IF;
8797 
8798     --  SELECT  'VALID'
8799     --  INTO     l_dummy
8800     --  FROM     DB_TABLE
8801     --  WHERE    DB_COLUMN = p_reference_header_id;
8802 
8803 
8804     RETURN TRUE;
8805 
8806 EXCEPTION
8807 
8808     WHEN NO_DATA_FOUND THEN
8809 
8810         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8811         THEN
8812 
8813 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REFERENCE_HEADER_ID');
8814 
8815             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8816             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8817 				OE_Order_Util.Get_Attribute_Name('reference_header_id'));
8818             OE_MSG_PUB.Add;
8819 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8820 
8821         END IF;
8822 
8823 
8824         RETURN FALSE;
8825 
8826     WHEN OTHERS THEN
8827 
8828         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8829         THEN
8830             OE_MSG_PUB.Add_Exc_Msg
8831             (   G_PKG_NAME
8832             ,   'Reference_Header'
8833             );
8834         END IF;
8835 
8836 
8837         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8838 
8839 END Reference_Header;
8840 
8841 
8842 
8843 FUNCTION Revision ( p_revision IN VARCHAR2 )
8844 RETURN BOOLEAN
8845 IS
8846 l_dummy                       VARCHAR2(10);
8847 BEGIN
8848 
8849 
8850     IF p_revision IS NULL OR
8851         p_revision = FND_API.G_MISS_CHAR
8852     THEN
8853 
8854         RETURN TRUE;
8855     END IF;
8856 
8857     --  SELECT  'VALID'
8858     --  INTO     l_dummy
8859     --  FROM     DB_TABLE
8860     --  WHERE    DB_COLUMN = p_revision;
8861 
8862 
8863     RETURN TRUE;
8864 
8865 EXCEPTION
8866 
8867     WHEN NO_DATA_FOUND THEN
8868 
8869         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8870         THEN
8871 
8872 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REVISION');
8873 
8874             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8875             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8876 				OE_Order_Util.Get_Attribute_Name('revision'));
8877             OE_MSG_PUB.Add;
8878 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8879 
8880         END IF;
8881 
8882 
8883         RETURN FALSE;
8884 
8885     WHEN OTHERS THEN
8886 
8887         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8888         THEN
8889             OE_MSG_PUB.Add_Exc_Msg
8890             (   G_PKG_NAME
8891             ,   'Revision'
8892             );
8893         END IF;
8894 
8895 
8896         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8897 
8898 END Revision;
8899 
8900 FUNCTION Unit_Selling_Price ( p_unit_selling_price IN NUMBER )
8901 RETURN BOOLEAN
8902 IS
8903 l_dummy                       VARCHAR2(10);
8904 BEGIN
8905 
8906 
8907     IF p_unit_selling_price IS NULL OR
8908         p_unit_selling_price = FND_API.G_MISS_NUM
8909     THEN
8910 
8911         RETURN TRUE;
8912     END IF;
8913 
8914     --  SELECT  'VALID'
8915     --  INTO     l_dummy
8916     --  FROM     DB_TABLE
8917     --  WHERE    DB_COLUMN = p_unit_selling_price;
8918 
8919 
8920     RETURN TRUE;
8921 
8922 EXCEPTION
8923 
8924     WHEN NO_DATA_FOUND THEN
8925 
8926         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8927         THEN
8928 
8929 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_SELLING_PRICE');
8930 
8931             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8932             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8933 				OE_Order_Util.Get_Attribute_Name('unit_selling_price'));
8934             OE_MSG_PUB.Add;
8935 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8936 
8937         END IF;
8938 
8939 
8940         RETURN FALSE;
8941 
8942     WHEN OTHERS THEN
8943 
8944         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8945         THEN
8946             OE_MSG_PUB.Add_Exc_Msg
8947             (   G_PKG_NAME
8948             ,   'Unit_Selling_Price'
8949             );
8950         END IF;
8951 
8952 
8953         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8954 
8955 END Unit_Selling_Price;
8956 
8957 
8958 FUNCTION Unit_Selling_Price_Per_Pqty ( p_unit_selling_price_per_pqty IN NUMBER )
8959 RETURN BOOLEAN
8960 IS
8961 l_dummy                       VARCHAR2(10);
8962 BEGIN
8963 
8964 
8965     IF p_unit_selling_price_per_pqty IS NULL OR
8966         p_unit_selling_price_per_pqty = FND_API.G_MISS_NUM
8967     THEN
8968 
8969         RETURN TRUE;
8970     END IF;
8971 
8972     --  SELECT  'VALID'
8973     --  INTO     l_dummy
8974     --  FROM     DB_TABLE
8975     --  WHERE    DB_COLUMN = p_unit_selling_price_per_pqty;
8976 
8977 
8978     RETURN TRUE;
8979 
8980 EXCEPTION
8981 
8982     WHEN NO_DATA_FOUND THEN
8983 
8984         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
8985         THEN
8986 
8987 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_SELLING_PRICE_PER_PQTY');
8988 
8989             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
8990             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
8991 				OE_Order_Util.Get_Attribute_Name('unit_selling_price_per_pqty'));
8992             OE_MSG_PUB.Add;
8993 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
8994 
8995         END IF;
8996 
8997 
8998         RETURN FALSE;
8999 
9000     WHEN OTHERS THEN
9001 
9002         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9003         THEN
9004             OE_MSG_PUB.Add_Exc_Msg
9005             (   G_PKG_NAME
9006             ,   'Unit_Selling_Price_Per_Pqty'
9007             );
9008         END IF;
9009 
9010 
9011         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9012 
9013 END Unit_Selling_Price_Per_Pqty;
9014 
9015 
9016 FUNCTION Unit_List_Price ( p_unit_list_price IN NUMBER )
9017 RETURN BOOLEAN
9018 IS
9019 l_dummy                       VARCHAR2(10);
9020 BEGIN
9021 
9022 
9023     IF p_unit_list_price IS NULL OR
9024         p_unit_list_price = FND_API.G_MISS_NUM
9025     THEN
9026 
9027         RETURN TRUE;
9028     END IF;
9029 
9030     --  SELECT  'VALID'
9031     --  INTO     l_dummy
9032     --  FROM     DB_TABLE
9033     --  WHERE    DB_COLUMN = p_unit_list_price;
9034 
9035 
9036     RETURN TRUE;
9037 
9038 EXCEPTION
9039 
9040     WHEN NO_DATA_FOUND THEN
9041 
9042         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9043         THEN
9044 
9045 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_LIST_PRICE');
9046 
9047             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9048             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9049 				OE_Order_Util.Get_Attribute_Name('unit_list_price'));
9050             OE_MSG_PUB.Add;
9051 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9052 
9053         END IF;
9054 
9055 
9056         RETURN FALSE;
9057 
9058     WHEN OTHERS THEN
9059 
9060         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9061         THEN
9062             OE_MSG_PUB.Add_Exc_Msg
9063             (   G_PKG_NAME
9064             ,   'Unit_List_Price'
9065             );
9066         END IF;
9067 
9068 
9069         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9070 
9071 END Unit_List_Price;
9072 
9073 FUNCTION Unit_List_Price_Per_Pqty ( p_unit_list_price_per_pqty IN NUMBER )
9074 RETURN BOOLEAN
9075 IS
9076 l_dummy                       VARCHAR2(10);
9077 BEGIN
9078 
9079 
9080     IF p_unit_list_price_per_pqty IS NULL OR
9081         p_unit_list_price_per_pqty = FND_API.G_MISS_NUM
9082     THEN
9083 
9084         RETURN TRUE;
9085     END IF;
9086 
9087     --  SELECT  'VALID'
9088     --  INTO     l_dummy
9089     --  FROM     DB_TABLE
9090     --  WHERE    DB_COLUMN = p_unit_list_price_per_pqty;
9091 
9092 
9093     RETURN TRUE;
9094 
9095 EXCEPTION
9096 
9097     WHEN NO_DATA_FOUND THEN
9098 
9099         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9100         THEN
9101 
9102 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'UNIT_LIST_PRICE_PER_PQTY');
9103 
9104             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9105             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9106 				OE_Order_Util.Get_Attribute_Name('unit_list_price_per_pqty'));
9107             OE_MSG_PUB.Add;
9108 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9109 
9110         END IF;
9111 
9112 
9113         RETURN FALSE;
9114 
9115     WHEN OTHERS THEN
9116 
9117         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9118         THEN
9119             OE_MSG_PUB.Add_Exc_Msg
9120             (   G_PKG_NAME
9121             ,   'Unit_List_Price_Per_Pqty'
9122             );
9123         END IF;
9124 
9125 
9126         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9127 
9128 END Unit_List_Price_Per_Pqty;
9129 
9130 FUNCTION Tax_Value ( p_tax_value IN NUMBER )
9131 RETURN BOOLEAN
9132 IS
9133 l_dummy                       VARCHAR2(10);
9134 BEGIN
9135 
9136 
9137     IF p_tax_value IS NULL OR
9138         p_tax_value = FND_API.G_MISS_NUM
9139     THEN
9140 
9141         RETURN TRUE;
9142     END IF;
9143 
9144     --  SELECT  'VALID'
9145     --  INTO     l_dummy
9146     --  FROM     DB_TABLE
9147     --  WHERE    DB_COLUMN = p_tax_value;
9148 
9149 
9150     RETURN TRUE;
9151 
9152 EXCEPTION
9153 
9154     WHEN NO_DATA_FOUND THEN
9155 
9156         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9157         THEN
9158 
9159 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_VALUE');
9160 
9161             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9162             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9163 				OE_Order_Util.Get_Attribute_Name('tax_value'));
9164             OE_MSG_PUB.Add;
9165 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9166 
9167         END IF;
9168 
9169 
9170         RETURN FALSE;
9171 
9172     WHEN OTHERS THEN
9173 
9174         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9175         THEN
9176             OE_MSG_PUB.Add_Exc_Msg
9177             (   G_PKG_NAME
9178             ,   'Tax_Value'
9179             );
9180         END IF;
9181 
9182 
9183         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9184 
9185 END Tax_Value;
9186 
9187 
9188 
9189 
9190 FUNCTION Order_Number_Source ( p_order_number_source_id IN NUMBER )
9191 RETURN BOOLEAN
9192 IS
9193 l_dummy                       VARCHAR2(10);
9194 BEGIN
9195 
9196 
9197     IF p_order_number_source_id IS NULL OR
9198         p_order_number_source_id = FND_API.G_MISS_NUM
9199     THEN
9200 
9201         RETURN TRUE;
9202     END IF;
9203 
9204     --  SELECT  'VALID'
9205     --  INTO     l_dummy
9206     --  FROM     DB_TABLE
9207     --  WHERE    DB_COLUMN = p_order_number_source_id;
9208 
9209 
9210     RETURN TRUE;
9211 
9212 EXCEPTION
9213 
9214     WHEN NO_DATA_FOUND THEN
9215 
9216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9217         THEN
9218 
9219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_NUMBER_SOURCE_ID');
9220 
9221             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9222             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9223 				OE_Order_Util.Get_Attribute_Name('order_number_source_id'));
9224             OE_MSG_PUB.Add;
9225 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9226 
9227         END IF;
9228 
9229 
9230         RETURN FALSE;
9231 
9232     WHEN OTHERS THEN
9233 
9234         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9235         THEN
9236             OE_MSG_PUB.Add_Exc_Msg
9237             (   G_PKG_NAME
9238             ,   'Order_Number_Source'
9239             );
9240         END IF;
9241 
9242 
9243         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9244 
9245 END Order_Number_Source;
9246 
9247 FUNCTION Name ( p_name IN VARCHAR2 )
9248 RETURN BOOLEAN
9249 IS
9250 l_dummy                       VARCHAR2(10);
9251 BEGIN
9252 
9253 
9254     IF p_name IS NULL OR
9255         p_name = FND_API.G_MISS_CHAR
9256     THEN
9257 
9258         RETURN TRUE;
9259     END IF;
9260 
9261     --  SELECT  'VALID'
9262     --  INTO     l_dummy
9263     --  FROM     DB_TABLE
9264     --  WHERE    DB_COLUMN = p_name;
9265 
9266 
9267     RETURN TRUE;
9268 
9269 EXCEPTION
9270 
9271     WHEN NO_DATA_FOUND THEN
9272 
9273         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9274         THEN
9275 
9276 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'NAME');
9277 
9278             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9279             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9280 				OE_Order_Util.Get_Attribute_Name('name'));
9281             OE_MSG_PUB.Add;
9282 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9283 
9284         END IF;
9285 
9286 
9287         RETURN FALSE;
9288 
9289     WHEN OTHERS THEN
9290 
9291         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9292         THEN
9293             OE_MSG_PUB.Add_Exc_Msg
9294             (   G_PKG_NAME
9295             ,   'Name'
9296             );
9297         END IF;
9298 
9299 
9300         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9301 
9302 END Name;
9303 
9304 FUNCTION Sequence_Starting_Point ( p_sequence_starting_point IN NUMBER )
9305 RETURN BOOLEAN
9306 IS
9307 l_dummy                       VARCHAR2(10);
9308 BEGIN
9309 
9310 
9311     IF p_sequence_starting_point IS NULL OR
9312         p_sequence_starting_point = FND_API.G_MISS_NUM
9313     THEN
9314 
9315         RETURN TRUE;
9316     END IF;
9317 
9318     --  SELECT  'VALID'
9319     --  INTO     l_dummy
9320     --  FROM     DB_TABLE
9321     --  WHERE    DB_COLUMN = p_sequence_starting_point;
9322 
9323 
9324     RETURN TRUE;
9325 
9326 EXCEPTION
9327 
9328     WHEN NO_DATA_FOUND THEN
9329 
9330         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9331         THEN
9332 
9333 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SEQUENCE_STARTING_POINT');
9334 
9335             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9336             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9337 				OE_Order_Util.Get_Attribute_Name('sequence_starting_point'));
9338             OE_MSG_PUB.Add;
9339 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9340 
9341         END IF;
9342 
9343 
9344         RETURN FALSE;
9345 
9346     WHEN OTHERS THEN
9347 
9348         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9349         THEN
9350             OE_MSG_PUB.Add_Exc_Msg
9351             (   G_PKG_NAME
9352             ,   'Sequence_Starting_Point'
9353             );
9354         END IF;
9355 
9356 
9357         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9358 
9359 END Sequence_Starting_Point;
9360 
9361 FUNCTION Description ( p_description IN VARCHAR2 )
9362 RETURN BOOLEAN
9363 IS
9364 l_dummy                       VARCHAR2(10);
9365 BEGIN
9366 
9367 
9368     IF p_description IS NULL OR
9369         p_description = FND_API.G_MISS_CHAR
9370     THEN
9371 
9372         RETURN TRUE;
9373     END IF;
9374 
9375     --  SELECT  'VALID'
9376     --  INTO     l_dummy
9377     --  FROM     DB_TABLE
9378     --  WHERE    DB_COLUMN = p_description;
9379 
9380 
9381 
9382     RETURN TRUE;
9383 
9384 EXCEPTION
9385 
9386     WHEN NO_DATA_FOUND THEN
9387 
9388         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9389         THEN
9390 
9391 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DESCRIPTION');
9392 
9393 
9394             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9395             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9396 				OE_Order_Util.Get_Attribute_Name('description'));
9397             OE_MSG_PUB.Add;
9398 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9399 
9400         END IF;
9401 
9402 
9403         RETURN FALSE;
9404 
9405     WHEN OTHERS THEN
9406 
9407         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9408         THEN
9409             OE_MSG_PUB.Add_Exc_Msg
9410             (   G_PKG_NAME
9411             ,   'Description'
9412             );
9413         END IF;
9414 
9415 
9416         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9417 
9418 END Description;
9419 
9420 /* FUNCTION Start_Date_Active ( p_start_date_active IN DATE )
9421 RETURN BOOLEAN
9422 IS
9423 l_dummy                       VARCHAR2(10);
9424 BEGIN
9425 
9426 
9427     IF p_start_date_active IS NULL OR
9428         p_start_date_active = FND_API.G_MISS_DATE
9429     THEN
9430 
9431         RETURN TRUE;
9432     END IF;
9433 
9434     --  SELECT  'VALID'
9435     --  INTO     l_dummy
9436     --  FROM     DB_TABLE
9437     --  WHERE    DB_COLUMN = p_start_date_active;
9438 
9439 
9440     RETURN TRUE;
9441 
9442 EXCEPTION
9443 
9444     WHEN NO_DATA_FOUND THEN
9445 
9446         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9447         THEN
9448 
9449 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'START_DATE_ACTIVE');
9450 
9451             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9452             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9453 				OE_Order_Util.Get_Attribute_Name('start_date_active'));
9454             OE_MSG_PUB.Add;
9455 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9456 
9457         END IF;
9458 
9459 
9460         RETURN FALSE;
9461 
9462     WHEN OTHERS THEN
9463 
9464         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9465         THEN
9466             OE_MSG_PUB.Add_Exc_Msg
9467             (   G_PKG_NAME
9468             ,   'Start_Date_Active'
9469             );
9470         END IF;
9471 
9472 
9473         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9474 
9475 END Start_Date_Active; */
9476 
9477 FUNCTION End_Date_Active ( p_end_date_active IN DATE )
9478 RETURN BOOLEAN
9479 IS
9480 l_dummy                       VARCHAR2(10);
9481 BEGIN
9482 
9483 
9484     IF p_end_date_active IS NULL OR
9485         p_end_date_active = FND_API.G_MISS_DATE
9486     THEN
9487 
9488         RETURN TRUE;
9489     END IF;
9490 
9491     --  SELECT  'VALID'
9492     --  INTO     l_dummy
9493     --  FROM     DB_TABLE
9494     --  WHERE    DB_COLUMN = p_end_date_active;
9495 
9496 
9497     RETURN TRUE;
9498 
9499 EXCEPTION
9500 
9501     WHEN NO_DATA_FOUND THEN
9502 
9503         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9504         THEN
9505 
9506 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_DATE_ACTIVE');
9507 
9508             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9509             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9510 				OE_Order_Util.Get_Attribute_Name('end_date_active'));
9511             OE_MSG_PUB.Add;
9512 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9513 
9514         END IF;
9515 
9516 
9517         RETURN FALSE;
9518 
9519     WHEN OTHERS THEN
9520 
9521         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9522         THEN
9523             OE_MSG_PUB.Add_Exc_Msg
9524             (   G_PKG_NAME
9525             ,   'End_Date_Active'
9526             );
9527         END IF;
9528 
9529 
9530         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9531 
9532 END End_Date_Active;
9533 
9534 Function SALES_CREDIT_PERCENT( p_percent IN Number) Return Boolean
9535 IS
9536 BEGIN
9537 
9538 
9539   OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PERCENT');
9540 
9541 
9542   IF p_percent = FND_API.G_MISS_NUM THEN
9543 
9544      RETURN TRUE;
9545   END IF;
9546 
9547   IF P_Percent < 0 OR P_Percent > 100 THEN
9548        fnd_message.set_name('ONT','OE_INVALID_CREDIT_PERCENT');
9549        OE_MSG_PUB.Add;
9550 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9551 
9552        RETURN FALSE;
9553   ELSE
9554 
9555      RETURN TRUE;
9556   END IF;
9557 
9558 
9559 END SALES_CREDIT_PERCENT;
9560 
9561 FUNCTION Configuration ( p_configuration_id IN NUMBER )
9562 RETURN BOOLEAN
9563 IS
9564 l_dummy                       VARCHAR2(10);
9565 BEGIN
9566 
9567 
9568     IF p_configuration_id IS NULL OR
9569         p_configuration_id = FND_API.G_MISS_NUM
9570     THEN
9571 
9572         RETURN TRUE;
9573     END IF;
9574 
9575     --  SELECT  'VALID'
9576     --  INTO     l_dummy
9577     --  FROM     DB_TABLE
9578     --  WHERE    DB_COLUMN = p_configuration_id;
9579 
9580 
9581     RETURN TRUE;
9582 
9583 EXCEPTION
9584 
9585     WHEN NO_DATA_FOUND THEN
9586 
9587         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9588         THEN
9589 
9590 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIGURATION_ID');
9591 
9592             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9593             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9594 				OE_Order_Util.Get_Attribute_Name('configuration_id'));
9595             OE_MSG_PUB.Add;
9596 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9597 
9598         END IF;
9599 
9600 
9601         RETURN FALSE;
9602 
9603     WHEN OTHERS THEN
9604 
9605         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9606         THEN
9607             OE_MSG_PUB.Add_Exc_Msg
9608             (   G_PKG_NAME
9609             ,   'Configuration'
9610             );
9611         END IF;
9612 
9613 
9614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9615 
9616 END Configuration;
9617 
9618 FUNCTION Top_Model_Line ( p_top_model_line_id IN NUMBER )
9619 RETURN BOOLEAN
9620 IS
9621 l_dummy                       VARCHAR2(10);
9622 BEGIN
9623 
9624 
9625     IF p_top_model_line_id IS NULL OR
9626         p_top_model_line_id = FND_API.G_MISS_NUM
9627     THEN
9628 
9629         RETURN TRUE;
9630     END IF;
9631 
9632     --  SELECT  'VALID'
9633     --  INTO     l_dummy
9634     --  FROM     DB_TABLE
9635     --  WHERE    DB_COLUMN = p_top_model_line_id;
9636 
9637 
9638     RETURN TRUE;
9639 
9640 EXCEPTION
9641 
9642     WHEN NO_DATA_FOUND THEN
9643 
9644         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9645         THEN
9646 
9647 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TOP_MODEL_LINE_ID');
9648 
9649             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9650             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9651 				OE_Order_Util.Get_Attribute_Name('top_model_line_id'));
9652             OE_MSG_PUB.Add;
9653 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9654 
9655         END IF;
9656 
9657 
9658         RETURN FALSE;
9659 
9660     WHEN OTHERS THEN
9661 
9662         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9663         THEN
9664             OE_MSG_PUB.Add_Exc_Msg
9665             (   G_PKG_NAME
9666             ,   'Top_Model_Line'
9667             );
9668         END IF;
9669 
9670 
9671         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9672 
9673 END Top_Model_Line;
9674 
9675 FUNCTION Link_To_Line ( p_link_to_line_id IN NUMBER )
9676 RETURN BOOLEAN
9677 IS
9678 l_dummy                       VARCHAR2(10);
9679 BEGIN
9680 
9681 
9682     IF p_link_to_line_id IS NULL OR
9683         p_link_to_line_id = FND_API.G_MISS_NUM
9684     THEN
9685 
9686         RETURN TRUE;
9687     END IF;
9688 
9689     --  SELECT  'VALID'
9690     --  INTO     l_dummy
9691     --  FROM     DB_TABLE
9692     --  WHERE    DB_COLUMN = p_link_to_line_id;
9693 
9694 
9695    RETURN TRUE;
9696 
9697 EXCEPTION
9698 
9699     WHEN NO_DATA_FOUND THEN
9700 
9701         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9702         THEN
9703 
9704 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINK_TO_LINE_ID');
9705 
9706             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9707             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9708 				OE_Order_Util.Get_Attribute_Name('LINK_TO_LINE_ID'));
9709             OE_MSG_PUB.Add;
9710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9711 
9712         END IF;
9713 
9714 
9715         RETURN FALSE;
9716 
9717     WHEN OTHERS THEN
9718 
9719         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9720         THEN
9721             OE_MSG_PUB.Add_Exc_Msg
9722             (   G_PKG_NAME
9723             ,   'Link_To_Line'
9724             );
9725         END IF;
9726 
9727 
9728         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9729 
9730 END Link_To_Line;
9731 
9732 FUNCTION Component_Sequence ( p_component_sequence_id IN NUMBER )
9733 RETURN BOOLEAN
9734 IS
9735 l_dummy                       VARCHAR2(10);
9736 BEGIN
9737 
9738 
9739     IF p_component_sequence_id IS NULL OR
9740         p_component_sequence_id = FND_API.G_MISS_NUM
9741     THEN
9742 
9743         RETURN TRUE;
9744     END IF;
9745 
9746     --  SELECT  'VALID'
9747     --  INTO     l_dummy
9748     --  FROM     DB_TABLE
9749     --  WHERE    DB_COLUMN = p_component_sequence_id;
9750 
9751 
9752     RETURN TRUE;
9753 
9754 EXCEPTION
9755 
9756     WHEN NO_DATA_FOUND THEN
9757 
9758         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9759         THEN
9760 
9761 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_SEQUENCE_ID');
9762 
9763             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9764             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9765 				OE_Order_Util.Get_Attribute_Name('COMPONENT_SEQUENCE_ID'));
9766             OE_MSG_PUB.Add;
9767 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9768 
9769         END IF;
9770 
9771 
9772         RETURN FALSE;
9773 
9774     WHEN OTHERS THEN
9775 
9776         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9777         THEN
9778             OE_MSG_PUB.Add_Exc_Msg
9779             (   G_PKG_NAME
9780             ,   'Component_Sequence'
9781             );
9782         END IF;
9783 
9784 
9785         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9786 
9787 END Component_Sequence;
9788 
9789 FUNCTION Config_Header ( p_config_header_id IN NUMBER )
9790 RETURN BOOLEAN
9791 IS
9792 l_dummy                       VARCHAR2(10);
9793 BEGIN
9794 
9795 
9796     IF p_config_header_id IS NULL OR
9797         p_config_header_id = FND_API.G_MISS_NUM
9798     THEN
9799 
9800         RETURN TRUE;
9801     END IF;
9802 
9803     --  SELECT  'VALID'
9804     --  INTO     l_dummy
9805     --  FROM     DB_TABLE
9806     --  WHERE    DB_COLUMN = p_config_header_id;
9807 
9808 
9809     RETURN TRUE;
9810 
9811 EXCEPTION
9812 
9813     WHEN NO_DATA_FOUND THEN
9814 
9815         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9816         THEN
9817 
9818 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_HEADER');
9819 
9820            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9821            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9822 				OE_Order_Util.Get_Attribute_Name('CONFIG_HEADER_ID'));
9823            OE_MSG_PUB.Add;
9824 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9825 
9826         END IF;
9827 
9828 
9829         RETURN FALSE;
9830 
9831     WHEN OTHERS THEN
9832 
9833         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9834         THEN
9835             OE_MSG_PUB.Add_Exc_Msg
9836             (   G_PKG_NAME
9837             ,   'Config_Header'
9838             );
9839         END IF;
9840 
9841 
9842         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9843 
9844 END Config_Header;
9845 
9846 FUNCTION Config_Rev_Nbr ( p_config_rev_nbr IN NUMBER )
9847 RETURN BOOLEAN
9848 IS
9849 l_dummy                       VARCHAR2(10);
9850 BEGIN
9851 
9852 
9853     IF p_config_rev_nbr IS NULL OR
9854         p_config_rev_nbr = FND_API.G_MISS_NUM
9855     THEN
9856 
9857         RETURN TRUE;
9858     END IF;
9859 
9860     --  SELECT  'VALID'
9861     --  INTO     l_dummy
9862     --  FROM     DB_TABLE
9863     --  WHERE    DB_COLUMN = p_config_rev_nbr;
9864 
9865 
9866     RETURN TRUE;
9867 
9868 EXCEPTION
9869 
9870     WHEN NO_DATA_FOUND THEN
9871 
9872         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9873         THEN
9874 
9875 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_REV_NBR');
9876 
9877            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9878            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9879 				OE_Order_Util.Get_Attribute_Name('CONFIG_REV_NBR'));
9880            OE_MSG_PUB.Add;
9881 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9882 
9883         END IF;
9884 
9885 
9886         RETURN FALSE;
9887 
9888     WHEN OTHERS THEN
9889 
9890         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9891         THEN
9892             OE_MSG_PUB.Add_Exc_Msg
9893             (   G_PKG_NAME
9894             ,   'Config_Rev_Nbr'
9895             );
9896         END IF;
9897 
9898 
9899         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9900 
9901 END Config_Rev_Nbr;
9902 
9903 FUNCTION Component ( p_component_code IN VARCHAR2 )
9904 RETURN BOOLEAN
9905 IS
9906 l_dummy                       VARCHAR2(10);
9907 BEGIN
9908 
9909 
9910     IF p_component_code IS NULL OR
9911         p_component_code = FND_API.G_MISS_CHAR
9912     THEN
9913 
9914         RETURN TRUE;
9915     END IF;
9916 
9917     --  SELECT  'VALID'
9918     --  INTO     l_dummy
9919     --  FROM     DB_TABLE
9920     --  WHERE    DB_COLUMN = p_component_code;
9921 
9922 
9923     RETURN TRUE;
9924 
9925 EXCEPTION
9926 
9927     WHEN NO_DATA_FOUND THEN
9928 
9929         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9930         THEN
9931 
9932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_CODE');
9933 
9934             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9935             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9936 				OE_Order_Util.Get_Attribute_Name('Component_Code'));
9937             OE_MSG_PUB.Add;
9938 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9939 
9940         END IF;
9941 
9942 
9943         RETURN FALSE;
9944 
9945     WHEN OTHERS THEN
9946 
9947         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9948         THEN
9949             OE_MSG_PUB.Add_Exc_Msg
9950             (   G_PKG_NAME
9951             ,   'Component'
9952             );
9953         END IF;
9954 
9955 
9956         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9957 
9958 END Component;
9959 
9960 FUNCTION Config_Display_Sequence ( p_config_display_sequence IN NUMBER )
9961 RETURN BOOLEAN
9962 IS
9963 l_dummy                       VARCHAR2(10);
9964 BEGIN
9965 
9966 
9967     IF p_config_display_sequence IS NULL OR
9968         p_config_display_sequence = FND_API.G_MISS_NUM
9969     THEN
9970 
9971         RETURN TRUE;
9972     END IF;
9973 
9974     --  SELECT  'VALID'
9975     --  INTO     l_dummy
9976     --  FROM     DB_TABLE
9977     --  WHERE    DB_COLUMN = p_config_display_sequence;
9978 
9979 
9980     RETURN TRUE;
9981 
9982 EXCEPTION
9983 
9984     WHEN NO_DATA_FOUND THEN
9985 
9986         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
9987         THEN
9988 
9989 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONFIG_DISPLAY_SEQUENCE');
9990 
9991             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
9992             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
9993 				OE_Order_Util.Get_Attribute_Name('CONFIG_DISPLAY_SEQUENCE'));
9994             OE_MSG_PUB.Add;
9995 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
9996 
9997         END IF;
9998 
9999 
10000         RETURN FALSE;
10001 
10002     WHEN OTHERS THEN
10003 
10004         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10005         THEN
10006             OE_MSG_PUB.Add_Exc_Msg
10007             (   G_PKG_NAME
10008             ,   'Config_Display_Sequence'
10009             );
10010         END IF;
10011 
10012 
10013         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10014 
10015 END Config_Display_Sequence;
10016 
10017 FUNCTION Sort_Order ( p_sort_order IN VARCHAR2 )
10018 RETURN BOOLEAN
10019 IS
10020 l_dummy                       VARCHAR2(10);
10021 BEGIN
10022 
10023 
10024     IF p_sort_order IS NULL OR
10025         p_sort_order = FND_API.G_MISS_CHAR
10026     THEN
10027 
10028         RETURN TRUE;
10029     END IF;
10030 
10031     --  SELECT  'VALID'
10032     --  INTO     l_dummy
10033     --  FROM     DB_TABLE
10034     --  WHERE    DB_COLUMN = p_sort_order;
10035 
10036 
10037     RETURN TRUE;
10038 
10039 EXCEPTION
10040 
10041     WHEN NO_DATA_FOUND THEN
10042 
10043         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10044         THEN
10045 
10046 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SORT_ORDER');
10047 
10048             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10049             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10050 				OE_Order_Util.Get_Attribute_Name('Sort_Order'));
10051             OE_MSG_PUB.Add;
10052 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10053 
10054         END IF;
10055 
10056 
10057         RETURN FALSE;
10058 
10059     WHEN OTHERS THEN
10060 
10061         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10062         THEN
10063             OE_MSG_PUB.Add_Exc_Msg
10064             (   G_PKG_NAME
10065             ,   'Sort_Order'
10066             );
10067         END IF;
10068 
10069 
10070         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10071 
10072 END Sort_Order;
10073 
10074 FUNCTION Oe_Item_Type ( p_oe_item_type IN VARCHAR2 )
10075 RETURN BOOLEAN
10076 IS
10077 l_dummy                       VARCHAR2(10);
10078 BEGIN
10079 
10080 
10081     IF p_oe_item_type IS NULL OR
10082         p_oe_item_type = FND_API.G_MISS_CHAR
10083     THEN
10084 
10085         RETURN TRUE;
10086     END IF;
10087 
10088     --  SELECT  'VALID'
10089     --  INTO     l_dummy
10090     --  FROM     DB_TABLE
10091     --  WHERE    DB_COLUMN = p_oe_item_type;
10092 
10093 
10094     RETURN TRUE;
10095 
10096 EXCEPTION
10097 
10098     WHEN NO_DATA_FOUND THEN
10099 
10100         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10101         THEN
10102 
10103 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OE_ITEM_TYPE');
10104             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10105             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10106 				OE_Order_Util.Get_Attribute_Name('Oe_Item_Type'));
10107             OE_MSG_PUB.Add;
10108 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10109 
10110         END IF;
10111 
10112 
10113         RETURN FALSE;
10114 
10115     WHEN OTHERS THEN
10116 
10117         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10118         THEN
10119             OE_MSG_PUB.Add_Exc_Msg
10120             (   G_PKG_NAME
10121             ,   'Item_Type'
10122             );
10123         END IF;
10124 
10125 
10126         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10127 
10128 END Oe_Item_Type;
10129 
10130 FUNCTION Option_Number ( p_option_number IN NUMBER )
10131 RETURN BOOLEAN
10132 IS
10133 l_dummy                       VARCHAR2(10);
10134 BEGIN
10135 
10136 
10137 
10138     IF p_option_number IS NULL OR
10139         p_option_number = FND_API.G_MISS_NUM
10140     THEN
10141 
10142         RETURN TRUE;
10143     END IF;
10144 
10145     --  SELECT  'VALID'
10146     --  INTO     l_dummy
10147     --  FROM     DB_TABLE
10148     --  WHERE    DB_COLUMN = p_option_number;
10149 
10150 
10151     RETURN TRUE;
10152 
10153 EXCEPTION
10154 
10155     WHEN NO_DATA_FOUND THEN
10156 
10157         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10158         THEN
10159 
10160 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_NUMBER');
10161 
10162             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10163             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10164 				OE_Order_Util.Get_Attribute_Name('Option_Number'));
10165             OE_MSG_PUB.Add;
10166 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10167 
10168         END IF;
10169 
10170 
10171         RETURN FALSE;
10172 
10173     WHEN OTHERS THEN
10174 
10175         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10176         THEN
10177             OE_MSG_PUB.Add_Exc_Msg
10178             (   G_PKG_NAME
10179             ,   'Option_Number'
10180             );
10181         END IF;
10182 
10183 
10184         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10185 
10186 END Option_Number;
10187 
10188 FUNCTION Component_Number ( p_component_number IN NUMBER )
10189 RETURN BOOLEAN
10190 IS
10191 l_dummy                       VARCHAR2(10);
10192 BEGIN
10193 
10194 
10195     IF p_component_number IS NULL OR
10196         p_component_number = FND_API.G_MISS_NUM
10197     THEN
10198 
10199         RETURN TRUE;
10200     END IF;
10201 
10202     --  SELECT  'VALID'
10203     --  INTO     l_dummy
10204     --  FROM     DB_TABLE
10205     --  WHERE    DB_COLUMN = p_component_number;
10206 
10207 
10208     RETURN TRUE;
10209 
10210 EXCEPTION
10211 
10212     WHEN NO_DATA_FOUND THEN
10213 
10214         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10215         THEN
10216 
10217 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMPONENT_NUMBER');
10218 
10219             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10220             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10221 				OE_Order_Util.Get_Attribute_Name('Component_Number'));
10222             OE_MSG_PUB.Add;
10223 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10224 
10225 
10226         END IF;
10227 
10228 
10229         RETURN FALSE;
10230 
10231     WHEN OTHERS THEN
10232 
10233         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10234         THEN
10235             OE_MSG_PUB.Add_Exc_Msg
10236             (   G_PKG_NAME
10237             ,   'Component_Number'
10238             );
10239         END IF;
10240 
10241 
10242         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10243 
10244 END Component_Number;
10245 
10246 
10247 FUNCTION Explosion_Date ( p_explosion_date IN DATE )
10248 RETURN BOOLEAN
10249 IS
10250 l_dummy                       VARCHAR2(10);
10251 BEGIN
10252 
10253     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
10254 
10255     IF p_explosion_date IS NULL OR
10256         p_explosion_date = FND_API.G_MISS_DATE
10257     THEN
10258 
10259         RETURN TRUE;
10260     END IF;
10261 
10262     --  SELECT  'VALID'
10263     --  INTO     l_dummy
10264     --  FROM     DB_TABLE
10265     --  WHERE    DB_COLUMN = p_explosion_date;
10266 
10267 
10268     RETURN TRUE;
10269 
10270 EXCEPTION
10271 
10272     WHEN NO_DATA_FOUND THEN
10273 
10274         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10275         THEN
10276 
10277 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EXPLOSION_DATE');
10278 
10279             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10280             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10281 				OE_Order_Util.Get_Attribute_Name('explosion_date'));
10282             OE_MSG_PUB.Add;
10283 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10284 
10285         END IF;
10286 
10287 
10288         RETURN FALSE;
10289 
10290     WHEN OTHERS THEN
10291 
10292         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10293         THEN
10294             OE_MSG_PUB.Add_Exc_Msg
10295             (   G_PKG_NAME
10296             ,   'Explosion_Date'
10297             );
10298         END IF;
10299 
10300 
10301         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10302 
10303 END Explosion_Date;
10304 
10305 
10306 FUNCTION Line_Category_Code(line_category_code IN VARCHAR2)
10307 RETURN BOOLEAN
10308 IS
10309 BEGIN
10310     RETURN TRUE;
10311 END Line_Category_Code;
10312 
10313 FUNCTION Reference_Cust_Trx_Line_Id(reference_cust_trx_line_id IN NUMBER)
10314 RETURN BOOLEAN
10315 IS
10316 BEGIN
10317     RETURN TRUE;
10318 END Reference_Cust_Trx_Line_Id;
10319 
10320 FUNCTION RMA_CONTEXT(rma_context IN VARCHAR2)
10321 RETURN BOOLEAN
10322 IS
10323 BEGIN
10324     RETURN TRUE;
10325 END RMA_CONTEXT;
10326 
10327 FUNCTION RMA_ATTRIBUTE1(rma_attribute1 IN VARCHAR2)
10328 RETURN BOOLEAN
10329 IS
10330 BEGIN
10331     RETURN TRUE;
10332 END RMA_ATTRIBUTE1;
10333 
10334 FUNCTION RMA_ATTRIBUTE2(rma_attribute2 IN VARCHAR2)
10335 RETURN BOOLEAN
10336 IS
10337 BEGIN
10338     RETURN TRUE;
10339 END RMA_ATTRIBUTE2;
10340 
10341 FUNCTION RMA_ATTRIBUTE3(rma_attribute3 IN VARCHAR2)
10342 RETURN BOOLEAN
10343 IS
10344 BEGIN
10345     RETURN TRUE;
10346 END RMA_ATTRIBUTE3;
10347 
10348 FUNCTION RMA_ATTRIBUTE4(rma_attribute4 IN VARCHAR2)
10349 RETURN BOOLEAN
10350 IS
10351 BEGIN
10352     RETURN TRUE;
10353 END RMA_ATTRIBUTE4;
10354 
10355 FUNCTION RMA_ATTRIBUTE5(rma_attribute5 IN VARCHAR2)
10356 RETURN BOOLEAN
10357 IS
10358 BEGIN
10359     RETURN TRUE;
10360 END RMA_ATTRIBUTE5;
10361 
10362 FUNCTION RMA_ATTRIBUTE6(rma_attribute6 IN VARCHAR2)
10363 RETURN BOOLEAN
10364 IS
10365 BEGIN
10366     RETURN TRUE;
10367 END RMA_ATTRIBUTE6;
10368 
10369 FUNCTION RMA_ATTRIBUTE7(rma_attribute7 IN VARCHAR2)
10370 RETURN BOOLEAN
10371 IS
10372 BEGIN
10373     RETURN TRUE;
10374 END RMA_ATTRIBUTE7;
10375 
10376 FUNCTION RMA_ATTRIBUTE8(rma_attribute8 IN VARCHAR2)
10377 RETURN BOOLEAN
10378 IS
10379 BEGIN
10380     RETURN TRUE;
10381 END RMA_ATTRIBUTE8;
10382 
10383 FUNCTION RMA_ATTRIBUTE9(rma_attribute9 IN VARCHAR2)
10384 RETURN BOOLEAN
10385 IS
10386 BEGIN
10387     RETURN TRUE;
10388 END RMA_ATTRIBUTE9;
10389 
10390 FUNCTION RMA_ATTRIBUTE10(rma_attribute10 IN VARCHAR2)
10391 RETURN BOOLEAN
10392 IS
10393 BEGIN
10394     RETURN TRUE;
10395 END RMA_ATTRIBUTE10;
10396 
10397 --sol_ord_er #16014165
10398 FUNCTION SERVICE_BILL_OPTION(p_service_bill_option_code IN VARCHAR2 )
10399 RETURN BOOLEAN
10400 IS
10401   l_exists VARCHAR2(1);
10402 BEGIN
10403 
10404    IF p_service_bill_option_code IS NULL OR p_service_bill_option_code = FND_API.G_MISS_CHAR
10405    THEN
10406 	RETURN TRUE;
10407    END IF;
10408    SELECT 'Y'
10409      into l_exists
10410      FROM OE_LOOKUPS
10411     WHERE lookup_type='OM_BILLING_OPTION_FOR_SERVICES'
10412       AND enabled_flag='Y'
10413      AND  LOOKUP_CODE =p_service_bill_option_code;
10414    RETURN TRUE;
10415 EXCEPTION
10416     WHEN NO_DATA_FOUND THEN
10417         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10418         THEN
10419 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_BILL_OPTION_CODE');
10420             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10421             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10422 				OE_Order_Util.Get_Attribute_Name('SERVICE_BILL_OPTION_CODE'));
10423             OE_MSG_PUB.Add;
10424 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10425         END IF;
10426         RETURN FALSE;
10427     WHEN OTHERS THEN
10428         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10429         THEN
10430             OE_MSG_PUB.Add_Exc_Msg
10431             (   G_PKG_NAME
10432             ,   'SERVICE_BILL_OPTION'
10433             );
10434         END IF;
10435         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10436 END SERVICE_BILL_OPTION;
10437 
10438 FUNCTION SERVICE_SUBS_TEMPLATE_ID(p_service_subs_template_id IN NUMBER)
10439 RETURN BOOLEAN
10440 IS
10441    l_exists VARCHAR2(1);
10442 BEGIN
10443     IF   p_service_subs_template_id IS NULL OR p_service_subs_template_id= FND_API.G_MISS_NUM
10444     THEN
10445           RETURN TRUE;
10446     END IF;
10447     select 'Y'
10448       INTO l_exists
10449       from oks_coverage_templts_v
10450      where item_type = 'SUBSCRIPTION'
10451        AND id =    p_service_subs_template_id
10452        and (sysdate between nvl(start_date, sysdate)
10453        and nvl(end_date, sysdate));
10454      RETURN TRUE;
10455 EXCEPTION
10456     WHEN NO_DATA_FOUND THEN
10457         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10458         THEN
10459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_SUBS_TEMPLATE_ID');
10460             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10461             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10462 				OE_Order_Util.Get_Attribute_Name('SERVICE_SUBS_TEMPLATE_ID'));
10463             OE_MSG_PUB.Add;
10464 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10465         END IF;
10466         RETURN FALSE;
10467     WHEN OTHERS THEN
10468         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10469         THEN
10470             OE_MSG_PUB.Add_Exc_Msg
10471             (   G_PKG_NAME
10472             ,   'SERVICE_SUBS_TEMPLATE_ID'
10473             );
10474         END IF;
10475         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10476 END SERVICE_SUBS_TEMPLATE_ID;
10477 
10478 FUNCTION SERVICE_BILLING_PROFILE(p_service_bill_profile_id IN NUMBER)
10479 RETURN BOOLEAN
10480 IS
10481   l_billing_profile VARCHAR2(2000);
10482 BEGIN
10483     IF p_service_bill_profile_id IS NULL OR
10484         p_service_bill_profile_id = FND_API.G_MISS_NUM
10485     THEN
10486         RETURN TRUE;
10487     END IF;
10488    SELECT Profile_number
10489      INTO l_billing_profile
10490      from oks_billing_profiles_v
10491     where Id = p_service_bill_profile_id;
10492     RETURN TRUE;
10493 EXCEPTION
10494     WHEN NO_DATA_FOUND THEN
10495         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10496         THEN
10497 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_BILL_PROFILE_ID');
10498             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10499             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10500 				OE_Order_Util.Get_Attribute_Name('SERVICE_BILL_PROFILE_ID'));
10501             OE_MSG_PUB.Add;
10502 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10503         END IF;
10504         RETURN FALSE;
10505     WHEN OTHERS THEN
10506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10507         THEN
10508             OE_MSG_PUB.Add_Exc_Msg
10509             (   G_PKG_NAME
10510             ,   'SERVICE_BILLING_PROFILE'
10511             );
10512         END IF;
10513         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10514 END;
10515 
10516 FUNCTION SERVICE_COV_TEMPLATE_ID(p_service_cov_template_id IN NUMBER)
10517 RETURN BOOLEAN
10518 IS
10519    l_exists VARCHAR2(1);
10520 BEGIN
10521 	IF p_service_cov_template_id IS NULL OR
10522         p_service_cov_template_id = FND_API.G_MISS_NUM
10523     THEN
10524         RETURN TRUE;
10525     END IF;
10526     select 'Y'
10527       INTO l_exists
10528       from oks_coverage_templts_v
10529      where item_type = 'SERVICE'  AND id =p_service_cov_template_id
10530        and (sysdate between nvl(start_date, sysdate) and nvl(end_date, sysdate));
10531     RETURN TRUE;
10532 EXCEPTION
10533     WHEN NO_DATA_FOUND THEN
10534         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10535         THEN
10536 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_COV_TEMPLATE_ID');
10537             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10538             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10539 				OE_Order_Util.Get_Attribute_Name('SERVICE_COV_TEMPLATE_ID'));
10540             OE_MSG_PUB.Add;
10541 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10542         END IF;
10543         RETURN FALSE;
10544     WHEN OTHERS THEN
10545         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10546         THEN
10547             OE_MSG_PUB.Add_Exc_Msg
10548             (   G_PKG_NAME
10549             ,   'SERVICE_COV_TEMPLATE_ID'
10550             );
10551         END IF;
10552         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10553 END SERVICE_COV_TEMPLATE_ID;
10554 --sol_ord_er #16014165 End
10555 
10556 FUNCTION Accounting_Rule ( p_accounting_rule_id IN NUMBER )
10557 RETURN BOOLEAN
10558 IS
10559 l_dummy                       VARCHAR2(10);
10560 BEGIN
10561 
10562 
10563     IF p_accounting_rule_id IS NULL OR
10564         p_accounting_rule_id = FND_API.G_MISS_NUM
10565     THEN
10566 
10567         RETURN TRUE;
10568     END IF;
10569 
10570     --  SELECT  'VALID'
10571     --  INTO     l_dummy
10572     --  FROM     DB_TABLE
10573     --  WHERE    DB_COLUMN = p_accounting_rule_id;
10574     --PP Revenue Recognition
10575     --bug 4893057
10576     --The query has been modified to include the accounting
10577     --rules for the partial revenue recognition
10578     SELECT 'VALID'
10579     INTO l_dummy
10580     FROM    OE_RA_RULES_V
10581     WHERE   RULE_ID = p_accounting_rule_id
10582     AND     STATUS = 'A'
10583     AND     TYPE IN ('A', 'ACC_DUR','PP_DR_ALL','PP_DR_PP');
10584 
10585     RETURN TRUE;
10586 
10587 EXCEPTION
10588 
10589     WHEN NO_DATA_FOUND THEN
10590 
10591         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10592         THEN
10593 
10594 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACCOUNTING_RULE_ID');
10595 
10596             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10597             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10598 				OE_Order_Util.Get_Attribute_Name('accounting_rule_id'));
10599             OE_MSG_PUB.Add;
10600 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10601 
10602         END IF;
10603 
10604 
10605         RETURN FALSE;
10606 
10607     WHEN OTHERS THEN
10608 
10609         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10610         THEN
10611             OE_MSG_PUB.Add_Exc_Msg
10612             (   G_PKG_NAME
10613             ,   'Accounting_Rule'
10614             );
10615         END IF;
10616 
10617 
10618         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10619 
10620 END Accounting_Rule;
10621 
10622 
10623 FUNCTION Accounting_Rule_Duration ( p_accounting_rule_duration IN NUMBER )
10624 RETURN BOOLEAN
10625 IS
10626 l_dummy                       VARCHAR2(10);
10627 BEGIN
10628 
10629 
10630     IF p_accounting_rule_duration IS NULL OR
10631         p_accounting_rule_duration = FND_API.G_MISS_NUM
10632     THEN
10633 
10634         RETURN TRUE;
10635     END IF;
10636 
10637     --  SELECT  'VALID'
10638     --  INTO     l_dummy
10639     --  FROM     DB_TABLE
10640     --  WHERE    DB_COLUMN = p_accounting_rule_duration;
10641 
10642 
10643     RETURN TRUE;
10644 
10645 EXCEPTION
10646 
10647     WHEN NO_DATA_FOUND THEN
10648 
10649         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10650         THEN
10651 
10652 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACCOUNTING_RULE_DURATION');
10653 
10654             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10655             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10656 				OE_Order_Util.Get_Attribute_Name('accounting_rule_duration'));
10657             OE_MSG_PUB.Add;
10658 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10659 
10660         END IF;
10661 
10662 
10663         RETURN FALSE;
10664 
10665     WHEN OTHERS THEN
10666 
10667         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10668         THEN
10669             OE_MSG_PUB.Add_Exc_Msg
10670             (   G_PKG_NAME
10671             ,   'Accounting_Rule_Duration'
10672             );
10673         END IF;
10674 
10675 
10676         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10677 
10678 END Accounting_Rule_Duration;
10679 
10680 
10681 FUNCTION Created_By ( p_created_by IN NUMBER )
10682 RETURN BOOLEAN
10683 IS
10684 l_dummy                       VARCHAR2(10);
10685 BEGIN
10686 
10687 
10688     IF p_created_by IS NULL OR
10689         p_created_by = FND_API.G_MISS_NUM
10690     THEN
10691 
10692         RETURN TRUE;
10693     END IF;
10694 
10695     --  SELECT  'VALID'
10696     --  INTO     l_dummy
10697     --  FROM     DB_TABLE
10698     --  WHERE    DB_COLUMN = p_created_by;
10699 
10700 
10701     RETURN TRUE;
10702 
10703 EXCEPTION
10704 
10705     WHEN NO_DATA_FOUND THEN
10706 
10707         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10708         THEN
10709 
10710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATED_BY');
10711 
10712             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10713             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10714 				OE_Order_Util.Get_Attribute_Name('created_by'));
10715             OE_MSG_PUB.Add;
10716 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10717 
10718         END IF;
10719 
10720 
10721         RETURN FALSE;
10722 
10723     WHEN OTHERS THEN
10724 
10725         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10726         THEN
10727             OE_MSG_PUB.Add_Exc_Msg
10728             (   G_PKG_NAME
10729             ,   'Created_By'
10730             );
10731         END IF;
10732 
10733 
10734         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10735 
10736 END Created_By;
10737 
10738 FUNCTION Creation_Date ( p_creation_date IN DATE )
10739 RETURN BOOLEAN
10740 IS
10741 l_dummy                       VARCHAR2(10);
10742 BEGIN
10743 
10744 
10745     IF p_creation_date IS NULL OR
10746         p_creation_date = FND_API.G_MISS_DATE
10747     THEN
10748 
10749         RETURN TRUE;
10750     END IF;
10751 
10752     --  SELECT  'VALID'
10753     --  INTO     l_dummy
10754     --  FROM     DB_TABLE
10755     --  WHERE    DB_COLUMN = p_creation_date;
10756 
10757 
10758     RETURN TRUE;
10759 
10760 EXCEPTION
10761 
10762     WHEN NO_DATA_FOUND THEN
10763 
10764         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10765         THEN
10766 
10767 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREATION_DATE');
10768 
10769             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10770             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10771 				OE_Order_Util.Get_Attribute_Name('creation_date'));
10772             OE_MSG_PUB.Add;
10773 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10774 
10775         END IF;
10776 
10777 
10778         RETURN FALSE;
10779 
10780     WHEN OTHERS THEN
10781 
10782         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10783         THEN
10784             OE_MSG_PUB.Add_Exc_Msg
10785             (   G_PKG_NAME
10786             ,   'Creation_Date'
10787             );
10788         END IF;
10789 
10790 
10791         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10792 
10793 END Creation_Date;
10794 
10795 
10796 FUNCTION Ordered_Date ( p_ordered_date IN DATE )
10797 RETURN BOOLEAN
10798 IS
10799 l_dummy                       VARCHAR2(10);
10800 BEGIN
10801 
10802 
10803     IF p_ordered_date IS NULL OR
10804         p_ordered_date = FND_API.G_MISS_DATE
10805     THEN
10806 
10807         RETURN TRUE;
10808     END IF;
10809 
10810     --  SELECT  'VALID'
10811     --  INTO     l_dummy
10812     --  FROM     DB_TABLE
10813     --  WHERE    DB_COLUMN = p_ordered_date;
10814 
10815 
10816     RETURN TRUE;
10817 
10818 EXCEPTION
10819 
10820     WHEN NO_DATA_FOUND THEN
10821 
10822         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10823         THEN
10824 
10825 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_DATE');
10826 
10827             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10828             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10829 				OE_Order_Util.Get_Attribute_Name('ordered_date'));
10830             OE_MSG_PUB.Add;
10831 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10832 
10833         END IF;
10834 
10835 
10836         RETURN FALSE;
10837 
10838     WHEN OTHERS THEN
10839 
10840         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10841         THEN
10842             OE_MSG_PUB.Add_Exc_Msg
10843             (   G_PKG_NAME
10844             ,   'Ordered_Date'
10845             );
10846         END IF;
10847 
10848 
10849         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10850 
10851 END Ordered_Date;
10852 
10853 FUNCTION Order_Date_Type_Code ( p_order_date_type_code IN VARCHAR2 )
10854 RETURN BOOLEAN
10855 IS
10856 l_dummy                       VARCHAR2(10);
10857 l_lookup_type      	      VARCHAR2(80) :='REQUEST_DATE_TYPE';
10858 BEGIN
10859 
10860 
10861     IF p_order_date_type_code IS NULL OR
10862         p_order_date_type_code = FND_API.G_MISS_CHAR
10863     THEN
10864 
10865         RETURN TRUE;
10866     END IF;
10867 
10868     SELECT  'VALID'
10869     INTO    l_dummy
10870     FROM    OE_LOOKUPS
10871     WHERE   LOOKUP_CODE = p_order_date_type_code
10872     AND     LOOKUP_TYPE = l_lookup_type
10873     AND     ENABLED_FLAG = 'Y'
10874     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
10875                         AND NVL(END_DATE_ACTIVE, SYSDATE);
10876 
10877 
10878     RETURN TRUE;
10879 
10880 EXCEPTION
10881 
10882     WHEN NO_DATA_FOUND THEN
10883 
10884         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10885         THEN
10886 
10887 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDER_DATE_TYPE_CODE');
10888 
10889             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10890             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10891 				OE_Order_Util.Get_Attribute_Name('order_date_type_code'));
10892             OE_MSG_PUB.Add;
10893 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10894 
10895 
10896         END IF;
10897 
10898 
10899         RETURN FALSE;
10900 
10901     WHEN OTHERS THEN
10902 
10903         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10904         THEN
10905             OE_MSG_PUB.Add_Exc_Msg
10906             (   G_PKG_NAME
10907             ,   'Order_Date_Type_Code'
10908             );
10909         END IF;
10910 
10911 
10912         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10913 
10914 END Order_Date_Type_Code;
10915 
10916 
10917 
10918 FUNCTION Request_Date ( p_request_date IN DATE )
10919 RETURN BOOLEAN
10920 IS
10921 l_dummy                       VARCHAR2(10);
10922 BEGIN
10923 
10924 
10925     IF p_request_date IS NULL OR
10926         p_request_date = FND_API.G_MISS_DATE
10927     THEN
10928 
10929         RETURN TRUE;
10930     END IF;
10931 
10932     --  SELECT  'VALID'
10933     --  INTO     l_dummy
10934     --  FROM     DB_TABLE
10935     --  WHERE    DB_COLUMN = p_request_date;
10936 
10937 
10938     RETURN TRUE;
10939 
10940 EXCEPTION
10941 
10942     WHEN NO_DATA_FOUND THEN
10943 
10944         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
10945         THEN
10946 
10947 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'REQUEST_DATE');
10948 
10949             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
10950             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
10951 				OE_Order_Util.Get_Attribute_Name('request_date'));
10952             OE_MSG_PUB.Add;
10953 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
10954 
10955         END IF;
10956 
10957 
10958         RETURN FALSE;
10959 
10960     WHEN OTHERS THEN
10961 
10962         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10963         THEN
10964             OE_MSG_PUB.Add_Exc_Msg
10965             (   G_PKG_NAME
10966             ,   'Request_Date'
10967             );
10968         END IF;
10969 
10970 
10971         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10972 
10973 END Request_Date;
10974 
10975 FUNCTION Reserved_Quantity ( p_reserved_quantity IN NUMBER )
10976 RETURN BOOLEAN
10977 IS
10978 l_dummy                       VARCHAR2(10);
10979 BEGIN
10980 
10981 
10982     IF p_reserved_quantity IS NULL OR
10983         p_reserved_quantity = FND_API.G_MISS_NUM
10984     THEN
10985 
10986         RETURN TRUE;
10987     END IF;
10988 
10989     --  SELECT  'VALID'
10990     --  INTO     l_dummy
10991     --  FROM     DB_TABLE
10992     --  WHERE    DB_COLUMN = p_ato_line_id;
10993 
10994 
10995     RETURN TRUE;
10996 
10997 EXCEPTION
10998 
10999     WHEN NO_DATA_FOUND THEN
11000 
11001         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11002         THEN
11003 
11004 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RESERVED_QUANTITY');
11005 
11006             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11007             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11008 				OE_Order_Util.Get_Attribute_Name('reserved_quantity'));
11009             OE_MSG_PUB.Add;
11010 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11011 
11012         END IF;
11013 
11014 
11015         RETURN FALSE;
11016 
11017     WHEN OTHERS THEN
11018 
11019         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11020         THEN
11021             OE_MSG_PUB.Add_Exc_Msg
11022             (   G_PKG_NAME
11023             ,   'Reserved_Quantity'
11024             );
11025         END IF;
11026 
11027 
11028         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11029 
11030 END Reserved_Quantity;
11031 
11032 FUNCTION Actual_Arrival_Date ( p_actual_arrival_date IN DATE )
11033 RETURN BOOLEAN
11034 IS
11035 l_dummy                       VARCHAR2(10);
11036 BEGIN
11037 
11038 
11039     IF p_actual_arrival_date IS NULL OR
11040         p_actual_arrival_date = FND_API.G_MISS_DATE
11041     THEN
11042 
11043         RETURN TRUE;
11044     END IF;
11045 
11046     --  SELECT  'VALID'
11047     --  INTO     l_dummy
11048     --  FROM     DB_TABLE
11049     --  WHERE    DB_COLUMN = p_actual_arrival_date;
11050 
11051 
11052     RETURN TRUE;
11053 
11054 EXCEPTION
11055 
11056     WHEN NO_DATA_FOUND THEN
11057 
11058         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11059         THEN
11060 
11061 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_ARRIVAL_DATE');
11062 
11063             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11064             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11065 				OE_Order_Util.Get_Attribute_Name('actual_arrival_date'));
11066             OE_MSG_PUB.Add;
11067 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11068 
11069         END IF;
11070 
11071 
11072         RETURN FALSE;
11073 
11074     WHEN OTHERS THEN
11075 
11076         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11077         THEN
11078             OE_MSG_PUB.Add_Exc_Msg
11079             (   G_PKG_NAME
11080             ,   'Actual_Arrival_Date'
11081             );
11082         END IF;
11083 
11084 
11085         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11086 
11087 END Actual_Arrival_Date;
11088 
11089 
11090 FUNCTION Actual_Shipment_Date ( p_actual_shipment_date IN DATE )
11091 RETURN BOOLEAN
11092 IS
11093 l_dummy                       VARCHAR2(10);
11094 BEGIN
11095 
11096 
11097     IF p_actual_shipment_date IS NULL OR
11098         p_actual_shipment_date = FND_API.G_MISS_DATE
11099     THEN
11100 
11101         RETURN TRUE;
11102     END IF;
11103 
11104     --  SELECT  'VALID'
11105     --  INTO     l_dummy
11106     --  FROM     DB_TABLE
11107     --  WHERE    DB_COLUMN = p_actual_shipment_date;
11108 
11109 
11110     RETURN TRUE;
11111 
11112 EXCEPTION
11113 
11114     WHEN NO_DATA_FOUND THEN
11115 
11116         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11117         THEN
11118 
11119 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ACTUAL_SHIPMENT_DATE');
11120 
11121             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11122             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11123 				OE_Order_Util.Get_Attribute_Name('actual_shipment_date'));
11124             OE_MSG_PUB.Add;
11125 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11126 
11127         END IF;
11128 
11129 
11130         RETURN FALSE;
11131 
11132     WHEN OTHERS THEN
11133 
11134         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11135         THEN
11136             OE_MSG_PUB.Add_Exc_Msg
11137             (   G_PKG_NAME
11138             ,   'Actual_Shipment_Date'
11139             );
11140         END IF;
11141 
11142 
11143         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11144 
11145 END Actual_Shipment_Date;
11146 
11147 
11148 FUNCTION Ato_Line ( p_ato_line_id IN NUMBER )
11149 RETURN BOOLEAN
11150 IS
11151 l_dummy                       VARCHAR2(10);
11152 BEGIN
11153 
11154 
11155     IF p_ato_line_id IS NULL OR
11156         p_ato_line_id = FND_API.G_MISS_NUM
11157     THEN
11158 
11159         RETURN TRUE;
11160     END IF;
11161 
11162     --  SELECT  'VALID'
11163     --  INTO     l_dummy
11164     --  FROM     DB_TABLE
11165     --  WHERE    DB_COLUMN = p_ato_line_id;
11166 
11167 
11168     RETURN TRUE;
11169 
11170 EXCEPTION
11171 
11172     WHEN NO_DATA_FOUND THEN
11173 
11174         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11175         THEN
11176 
11177 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ATO_LINE_ID');
11178 
11179             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11180             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11181 				OE_Order_Util.Get_Attribute_Name('ato_line_id'));
11182             OE_MSG_PUB.Add;
11183 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11184 
11185         END IF;
11186 
11187 
11188         RETURN FALSE;
11189 
11190     WHEN OTHERS THEN
11191 
11192         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11193         THEN
11194             OE_MSG_PUB.Add_Exc_Msg
11195             (   G_PKG_NAME
11196             ,   'Ato_Line_Id'
11197             );
11198         END IF;
11199 
11200 
11201         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11202 
11203 END Ato_Line;
11204 
11205 
11206 FUNCTION Auto_Selected_Quantity ( p_auto_selected_quantity IN NUMBER )
11207 RETURN BOOLEAN
11208 IS
11209 l_dummy                       VARCHAR2(10);
11210 BEGIN
11211 
11212 
11213     IF p_auto_selected_quantity IS NULL OR
11214         p_auto_selected_quantity = FND_API.G_MISS_NUM
11215     THEN
11216 
11217         RETURN TRUE;
11218     END IF;
11219 
11220     --  SELECT  'VALID'
11221     --  INTO     l_dummy
11222     --  FROM     DB_TABLE
11223     --  WHERE    DB_COLUMN = p_auto_selected_quantity;
11224 
11225 
11226     RETURN TRUE;
11227 
11228 EXCEPTION
11229 
11230     WHEN NO_DATA_FOUND THEN
11231 
11232         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11233         THEN
11234 
11235 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTO_SELECTED_QUANTITY');
11236 
11237             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11238             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11239 				OE_Order_Util.Get_Attribute_Name('auto_selected_quantity'));
11240             OE_MSG_PUB.Add;
11241 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11242 
11243         END IF;
11244 
11245 
11246         RETURN FALSE;
11247 
11248     WHEN OTHERS THEN
11249 
11250         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11251         THEN
11252             OE_MSG_PUB.Add_Exc_Msg
11253             (   G_PKG_NAME
11254             ,   'Auto_Selected_Quantity'
11255             );
11256         END IF;
11257 
11258 
11259         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11260 
11261 END Auto_Selected_Quantity;
11262 
11263 FUNCTION Blanket_Number( p_blanket_number IN NUMBER)
11264 RETURN BOOLEAN
11265 IS
11266 l_dummy                       VARCHAR2(10);
11267 BEGIN
11268 
11269     IF p_blanket_number IS NULL OR
11270         p_blanket_number = FND_API.G_MISS_NUM
11271     THEN
11272         RETURN TRUE;
11273     END IF;
11274 
11275 /*
11276    Blanket Number validation is done in procedure Entity for
11277    oe_validate_header/oe_validate_line.
11278    On Hold and Expired blankets are allowed for return/mixed
11279    orders.
11280     SELECT  'VALID'
11281     INTO    l_dummy
11282     FROM    OE_BLANKET_HEADERS BH,OE_BLANKET_HEADERS_EXT BHE
11283     WHERE   BH.ORDER_NUMBER = p_blanket_number
11284     AND     TRUNC(SYSDATE) BETWEEN TRUNC(BHE.START_DATE_ACTIVE )
11285                     AND     TRUNC(NVL( BHE.END_DATE_ACTIVE, SYSDATE )) AND
11286             BHE.ON_HOLD_FLAG = 'N'
11287     AND     BH.ORDER_NUMBER = BHE.ORDER_NUMBER
11288     AND     BH.SALES_DOCUMENT_TYPE_CODE = 'B';
11289 */
11290 
11291     RETURN TRUE;
11292 EXCEPTION
11293 
11294     WHEN NO_DATA_FOUND THEN
11295 
11296         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11297         THEN
11298 
11299             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'BLANKET_NUMBER');
11300 
11301             FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
11302             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11303                          'BLANKET NUMBER');
11304             OE_MSG_PUB.Add;
11305 
11306                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11307 
11308         END IF;
11309 
11310         RETURN FALSE;
11311 
11312     WHEN OTHERS THEN
11313         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11314         THEN
11315             OE_MSG_PUB.Add_Exc_Msg
11316             (   G_PKG_NAME
11317             ,   'Blanket_Number'
11318             );
11319         END IF;
11320 
11321         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11322 
11323 END Blanket_Number;
11324 
11325 
11326 FUNCTION Booked ( p_booked_flag IN VARCHAR2 )
11327 RETURN BOOLEAN
11328 IS
11329 l_dummy                       VARCHAR2(10);
11330 BEGIN
11331 
11332 
11333     IF p_booked_flag IS NULL OR
11334         p_booked_flag = FND_API.G_MISS_CHAR
11335     THEN
11336 
11337         RETURN TRUE;
11338     END IF;
11339 
11340     IF p_booked_flag NOT IN ('Y','N') THEN
11341 		RAISE NO_DATA_FOUND;
11342     END IF;
11343 
11344 
11345     RETURN TRUE;
11346 
11347 EXCEPTION
11348 
11349     WHEN NO_DATA_FOUND THEN
11350 
11351         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11352         THEN
11353 
11354 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'BOOKED_FLAG');
11355 
11356             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11357             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11358 				OE_Order_Util.Get_Attribute_Name('booked_flag'));
11359             OE_MSG_PUB.Add;
11360 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11361 
11362         END IF;
11363 
11364 
11365         RETURN FALSE;
11366 
11367     WHEN OTHERS THEN
11368 
11369         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11370         THEN
11371             OE_MSG_PUB.Add_Exc_Msg
11372             (   G_PKG_NAME
11373             ,   'Booked'
11374             );
11375         END IF;
11376 
11377 
11378         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11379 
11380 END Booked;
11381 
11382 
11383 FUNCTION Cancelled( p_cancelled_flag IN VARCHAR2 )
11384 RETURN BOOLEAN
11385 IS
11386 l_dummy                       VARCHAR2(10);
11387 BEGIN
11388 
11389 
11390     IF p_cancelled_flag IS NULL OR
11391         p_cancelled_flag = FND_API.G_MISS_CHAR
11392     THEN
11393 
11394         RETURN TRUE;
11395     END IF;
11396 
11397     IF p_cancelled_flag NOT IN ('Y','N') THEN
11398 		RAISE NO_DATA_FOUND;
11399     END IF;
11400 
11401 
11402     RETURN TRUE;
11403 
11404 EXCEPTION
11405 
11406     WHEN NO_DATA_FOUND THEN
11407 
11408         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11409         THEN
11410 
11411 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_FLAG');
11412 
11413             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11414             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11415 				OE_Order_Util.Get_Attribute_Name('cancelled_flag'));
11416             OE_MSG_PUB.Add;
11417 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11418 
11419         END IF;
11420 
11421 
11422         RETURN FALSE;
11423 
11424     WHEN OTHERS THEN
11425 
11426         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11427         THEN
11428             OE_MSG_PUB.Add_Exc_Msg
11429             (   G_PKG_NAME
11430             ,   'Cancelled'
11431             );
11432         END IF;
11433 
11434 
11435         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11436 
11437 END Cancelled;
11438 
11439 
11440 FUNCTION Cancelled_Quantity ( p_cancelled_quantity IN NUMBER )
11441 RETURN BOOLEAN
11442 IS
11443 l_dummy                       VARCHAR2(10);
11444 BEGIN
11445 
11446 
11447     IF p_cancelled_quantity IS NULL OR
11448         p_cancelled_quantity = FND_API.G_MISS_NUM
11449     THEN
11450 
11451         RETURN TRUE;
11452     END IF;
11453 
11454     --  SELECT  'VALID'
11455     --  INTO     l_dummy
11456     --  FROM     DB_TABLE
11457     --  WHERE    DB_COLUMN = p_cancelled_quantity;
11458 
11459 
11460     RETURN TRUE;
11461 
11462 EXCEPTION
11463 
11464     WHEN NO_DATA_FOUND THEN
11465 
11466         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11467         THEN
11468 
11469 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CANCELLED_QUANTITY');
11470 
11471             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11472             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11473 				OE_Order_Util.Get_Attribute_Name('cancelled_quantity'));
11474             OE_MSG_PUB.Add;
11475 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11476 
11477         END IF;
11478 
11479 
11480         RETURN FALSE;
11481 
11482     WHEN OTHERS THEN
11483 
11484         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11485         THEN
11486             OE_MSG_PUB.Add_Exc_Msg
11487             (   G_PKG_NAME
11488             ,   'Cancelled_Quantity'
11489             );
11490         END IF;
11491 
11492 
11493         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11494 
11495 END Cancelled_Quantity;
11496 
11497 
11498 
11499 FUNCTION Credit_Invoice_Line ( p_credit_invoice_line_id IN NUMBER )
11500 RETURN BOOLEAN
11501 IS
11502 l_dummy                       VARCHAR2(10);
11503 BEGIN
11504 
11505 
11506     IF p_credit_invoice_line_id IS NULL OR
11507         p_credit_invoice_line_id = FND_API.G_MISS_NUM
11508     THEN
11509 
11510         RETURN TRUE;
11511     END IF;
11512 
11513     --  SELECT  'VALID'
11514     --  INTO     l_dummy
11515     --  FROM     DB_TABLE
11516     --  WHERE    DB_COLUMN = p_credit_invoice_line_id;
11517 
11518 
11519     RETURN TRUE;
11520 
11521 EXCEPTION
11522 
11523     WHEN NO_DATA_FOUND THEN
11524 
11525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11526         THEN
11527 
11528 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_INVOICE_LINE_ID');
11529 
11530             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11531             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11532 				OE_Order_Util.Get_Attribute_Name('credit_invoice_line'));
11533             OE_MSG_PUB.Add;
11534 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11535 
11536         END IF;
11537 
11538 
11539         RETURN FALSE;
11540 
11541     WHEN OTHERS THEN
11542 
11543         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11544         THEN
11545             OE_MSG_PUB.Add_Exc_Msg
11546             (   G_PKG_NAME
11547             ,   'Credit_Invoice_Line'
11548             );
11549         END IF;
11550 
11551 
11552         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11553 
11554 END Credit_Invoice_Line;
11555 
11556 
11557 FUNCTION Customer_Dock ( p_customer_dock_code IN VARCHAR2 )
11558 RETURN BOOLEAN
11559 IS
11560 l_dummy                       VARCHAR2(10);
11561 BEGIN
11562 
11563 
11564     IF p_customer_dock_code IS NULL OR
11565         p_customer_dock_code = FND_API.G_MISS_CHAR
11566     THEN
11567 
11568         RETURN TRUE;
11569     END IF;
11570 
11571     --  SELECT  'VALID'
11572     --  INTO     l_dummy
11573     --  FROM     DB_TABLE
11574     --  WHERE    DB_COLUMN = p_customer_dock_code;
11575 
11576 
11577     RETURN TRUE;
11578 
11579 EXCEPTION
11580 
11581     WHEN NO_DATA_FOUND THEN
11582 
11583         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11584         THEN
11585 
11586 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_DOCK_CODE');
11587 
11588             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11589             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11590 				OE_Order_Util.Get_Attribute_Name('customer_dock_code'));
11591             OE_MSG_PUB.Add;
11592 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11593 
11594 
11595         END IF;
11596 
11597 
11598         RETURN FALSE;
11599 
11600     WHEN OTHERS THEN
11601 
11602         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11603         THEN
11604             OE_MSG_PUB.Add_Exc_Msg
11605             (   G_PKG_NAME
11606             ,   'Customer_Dock'
11607             );
11608         END IF;
11609 
11610 
11611         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11612 
11613 END Customer_Dock;
11614 
11615 
11616 
11617 FUNCTION Customer_Job ( p_customer_job IN VARCHAR2 )
11618 RETURN BOOLEAN
11619 IS
11620 l_dummy                       VARCHAR2(10);
11621 BEGIN
11622 
11623 
11624     IF p_customer_job IS NULL OR
11625         p_customer_job = FND_API.G_MISS_CHAR
11626     THEN
11627 
11628         RETURN TRUE;
11629     END IF;
11630 
11631     --  SELECT  'VALID'
11632     --  INTO     l_dummy
11633     --  FROM     DB_TABLE
11634     --  WHERE    DB_COLUMN = p_customer_job;
11635 
11636 
11637     RETURN TRUE;
11638 
11639 EXCEPTION
11640 
11641     WHEN NO_DATA_FOUND THEN
11642 
11643         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11644         THEN
11645 
11646 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_JOB');
11647 
11648             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11649             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11650 				OE_Order_Util.Get_Attribute_Name('customer_job'));
11651             OE_MSG_PUB.Add;
11652 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11653 
11654         END IF;
11655 
11656         RETURN FALSE;
11657 
11658 
11659     WHEN OTHERS THEN
11660 
11661         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11662         THEN
11663             OE_MSG_PUB.Add_Exc_Msg
11664             (   G_PKG_NAME
11665             ,   'Customer_Job'
11666             );
11667         END IF;
11668 
11669 
11670         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11671 
11672 END Customer_Job;
11673 
11674 FUNCTION Customer_Production_Line ( p_customer_production_line IN VARCHAR2 )
11675 RETURN BOOLEAN
11676 IS
11677 l_dummy                       VARCHAR2(10);
11678 BEGIN
11679 
11680 
11681     IF p_customer_production_line IS NULL OR
11682         p_customer_production_line = FND_API.G_MISS_CHAR
11683     THEN
11684 
11685         RETURN TRUE;
11686     END IF;
11687 
11688     --  SELECT  'VALID'
11689     --  INTO     l_dummy
11690     --  FROM     DB_TABLE
11691     --  WHERE    DB_COLUMN = p_customer_production_line;
11692 
11693 
11694     RETURN TRUE;
11695 
11696 EXCEPTION
11697 
11698     WHEN NO_DATA_FOUND THEN
11699 
11700         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11701         THEN
11702 
11703 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_PRODUCTION_LINE');
11704 
11705             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11706             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11707 				OE_Order_Util.Get_Attribute_Name('customer_production_line'));
11708             OE_MSG_PUB.Add;
11709 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11710 
11711         END IF;
11712 
11713 
11714         RETURN FALSE;
11715 
11716     WHEN OTHERS THEN
11717 
11718         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11719         THEN
11720             OE_MSG_PUB.Add_Exc_Msg
11721             (   G_PKG_NAME
11722             ,   'Customer_Production_Line'
11723             );
11724         END IF;
11725 
11726 
11727         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11728 
11729 END Customer_Production_Line;
11730 
11731 FUNCTION Customer_Trx_Line ( p_customer_trx_line_id IN NUMBER )
11732 RETURN BOOLEAN
11733 IS
11734 l_dummy                       VARCHAR2(10);
11735 BEGIN
11736 
11737 
11738     IF p_customer_trx_line_id IS NULL OR
11739         p_customer_trx_line_id = FND_API.G_MISS_NUM
11740     THEN
11741 
11742         RETURN TRUE;
11743     END IF;
11744 
11745     --  SELECT  'VALID'
11746     --  INTO     l_dummy
11747     --  FROM     DB_TABLE
11748     --  WHERE    DB_COLUMN = p_customer_trx_line_id;
11749 
11750 
11751     RETURN TRUE;
11752 
11753 EXCEPTION
11754 
11755     WHEN NO_DATA_FOUND THEN
11756 
11757         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11758         THEN
11759 
11760 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_TRX_LINE_ID');
11761 
11762             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11763             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11764 				OE_Order_Util.Get_Attribute_Name('customer_trx_line_id'));
11765             OE_MSG_PUB.Add;
11766 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11767 
11768         END IF;
11769 
11770 
11771         RETURN FALSE;
11772 
11773     WHEN OTHERS THEN
11774 
11775         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11776         THEN
11777             OE_MSG_PUB.Add_Exc_Msg
11778             (   G_PKG_NAME
11779             ,   'Customer_Trx_Line'
11780             );
11781         END IF;
11782 
11783 
11784         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11785 
11786 END Customer_Trx_Line;
11787 
11788 
11789 
11790 FUNCTION Dep_Plan_Required ( p_dep_plan_required_flag IN VARCHAR2 )
11791 RETURN BOOLEAN
11792 IS
11793 l_dummy                       VARCHAR2(10);
11794 BEGIN
11795 
11796 
11797     IF p_dep_plan_required_flag IS NULL OR
11798         p_dep_plan_required_flag = FND_API.G_MISS_CHAR
11799     THEN
11800 
11801         RETURN TRUE;
11802     END IF;
11803 
11804     --  SELECT  'VALID'
11805     --  INTO     l_dummy
11806     --  FROM     DB_TABLE
11807     --  WHERE    DB_COLUMN = p_dep_plan_required_flag;
11808 
11809 
11810     RETURN TRUE;
11811 
11812 EXCEPTION
11813 
11814     WHEN NO_DATA_FOUND THEN
11815 
11816         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11817         THEN
11818 
11819 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEP_PLAN_REQUIRED_FLAG');
11820 
11821             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11822             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11823 				OE_Order_Util.Get_Attribute_Name('dep_plan_required_flag'));
11824             OE_MSG_PUB.Add;
11825 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11826 
11827         END IF;
11828 
11829 
11830         RETURN FALSE;
11831 
11832     WHEN OTHERS THEN
11833 
11834         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11835         THEN
11836             OE_MSG_PUB.Add_Exc_Msg
11837             (   G_PKG_NAME
11838             ,   'Dep_Plan_Required'
11839             );
11840         END IF;
11841 
11842 
11843         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11844 
11845 END Dep_Plan_Required;
11846 
11847 
11848 FUNCTION Fulfilled_Quantity ( p_fulfilled_quantity IN NUMBER )
11849 RETURN BOOLEAN
11850 IS
11851 l_dummy                       VARCHAR2(10);
11852 BEGIN
11853 
11854 
11855     IF p_fulfilled_quantity IS NULL OR
11856         p_fulfilled_quantity = FND_API.G_MISS_NUM
11857     THEN
11858 
11859         RETURN TRUE;
11860     END IF;
11861 
11862     --  SELECT  'VALID'
11863     --  INTO     l_dummy
11864     --  FROM     DB_TABLE
11865     --  WHERE    DB_COLUMN = p_fulfilled_quantity;
11866 
11867 
11868     RETURN TRUE;
11869 
11870 EXCEPTION
11871 
11872     WHEN NO_DATA_FOUND THEN
11873 
11874         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11875         THEN
11876 
11877 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY');
11878 
11879             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11880             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11881 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity'));
11882             OE_MSG_PUB.Add;
11883 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11884 
11885         END IF;
11886 
11887 
11888         RETURN FALSE;
11889 
11890     WHEN OTHERS THEN
11891 
11892         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11893         THEN
11894             OE_MSG_PUB.Add_Exc_Msg
11895             (   G_PKG_NAME
11896             ,   'Fulfilled_Quantity'
11897             );
11898         END IF;
11899 
11900 
11901         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11902 
11903 END Fulfilled_Quantity;
11904 
11905 
11906 FUNCTION Invoice_Interface_Status ( p_invoice_interface_status IN VARCHAR2 )
11907 RETURN BOOLEAN
11908 IS
11909 l_dummy                       VARCHAR2(10);
11910 BEGIN
11911 
11912 
11913     IF p_invoice_interface_status IS NULL OR
11914         p_invoice_interface_status = FND_API.G_MISS_CHAR
11915     THEN
11916 
11917         RETURN TRUE;
11918     END IF;
11919 
11920     --  SELECT  'VALID'
11921     --  INTO     l_dummy
11922     --  FROM     DB_TABLE
11923     --  WHERE    DB_COLUMN = p_invoice_interface_status;
11924 
11925 
11926     RETURN TRUE;
11927 
11928 EXCEPTION
11929 
11930     WHEN NO_DATA_FOUND THEN
11931 
11932         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11933         THEN
11934 
11935 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICE_INTERFACE_STATUS_CODE');
11936 
11937             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11938             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11939 				OE_Order_Util.Get_Attribute_Name('invoice_interface_status_code'));
11940             OE_MSG_PUB.Add;
11941 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
11942 
11943         END IF;
11944 
11945 
11946         RETURN FALSE;
11947 
11948     WHEN OTHERS THEN
11949 
11950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11951         THEN
11952             OE_MSG_PUB.Add_Exc_Msg
11953             (   G_PKG_NAME
11954             ,   'Invoice_Interface_Status'
11955             );
11956         END IF;
11957 
11958 
11959         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11960 
11961 END Invoice_Interface_Status;
11962 
11963 
11964 
11965 FUNCTION Item_Revision ( p_item_revision IN VARCHAR2 )
11966 RETURN BOOLEAN
11967 IS
11968 l_dummy                       VARCHAR2(10);
11969 BEGIN
11970 
11971 
11972     IF p_item_revision IS NULL OR
11973         p_item_revision = FND_API.G_MISS_CHAR
11974     THEN
11975 
11976         RETURN TRUE;
11977     END IF;
11978 
11979     --  SELECT  'VALID'
11980     --  INTO     l_dummy
11981     --  FROM     DB_TABLE
11982     --  WHERE    DB_COLUMN = p_item_revision;
11983 
11984 
11985     RETURN TRUE;
11986 
11987 EXCEPTION
11988 
11989     WHEN NO_DATA_FOUND THEN
11990 
11991         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
11992         THEN
11993 
11994 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_REVISION');
11995 
11996             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
11997             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
11998 				OE_Order_Util.Get_Attribute_Name('item_revision'));
11999             OE_MSG_PUB.Add;
12000 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12001 
12002         END IF;
12003 
12004 
12005         RETURN FALSE;
12006 
12007     WHEN OTHERS THEN
12008 
12009         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12010         THEN
12011             OE_MSG_PUB.Add_Exc_Msg
12012             (   G_PKG_NAME
12013             ,   'Item_Revision'
12014             );
12015         END IF;
12016 
12017 
12018         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12019 
12020 END Item_Revision;
12021 
12022 FUNCTION Item_Type ( p_item_type_code IN VARCHAR2 )
12023 RETURN BOOLEAN
12024 IS
12025 l_dummy                       VARCHAR2(10);
12026 BEGIN
12027 
12028 
12029     IF p_item_type_code IS NULL OR
12030         p_item_type_code = FND_API.G_MISS_CHAR
12031     THEN
12032 
12033         RETURN TRUE;
12034     END IF;
12035 
12036     --  SELECT  'VALID'
12037     --  INTO     l_dummy
12038     --  FROM     DB_TABLE
12039     --  WHERE    DB_COLUMN = p_item_type_code;
12040 
12041 
12042     RETURN TRUE;
12043 
12044 EXCEPTION
12045 
12046     WHEN NO_DATA_FOUND THEN
12047 
12048         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12049         THEN
12050 
12051 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_TYPE_CODE');
12052 
12053             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12054             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12055 				OE_Order_Util.Get_Attribute_Name('item_type_code'));
12056             OE_MSG_PUB.Add;
12057 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12058 
12059         END IF;
12060 
12061 
12062         RETURN FALSE;
12063 
12064     WHEN OTHERS THEN
12065 
12066         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12067         THEN
12068             OE_MSG_PUB.Add_Exc_Msg
12069             (   G_PKG_NAME
12070             ,   'Item_Type'
12071             );
12072         END IF;
12073 
12074 
12075         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12076 
12077 END Item_Type;
12078 
12079 FUNCTION Line_Category ( p_line_category_code IN VARCHAR2 )
12080 RETURN BOOLEAN
12081 IS
12082 l_dummy                       VARCHAR2(10);
12083 BEGIN
12084 
12085 
12086     IF p_line_category_code IS NULL OR
12087         p_line_category_code = FND_API.G_MISS_CHAR
12088     THEN
12089 
12090         RETURN TRUE;
12091     END IF;
12092 
12093     --  SELECT  'VALID'
12094     --  INTO     l_dummy
12095     --  FROM     DB_TABLE
12096     --  WHERE    DB_COLUMN = p_line_category_code;
12097 
12098 
12099     RETURN TRUE;
12100 
12101 EXCEPTION
12102 
12103     WHEN NO_DATA_FOUND THEN
12104 
12105         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12106         THEN
12107 
12108 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LINE_CATEGORY_CODE');
12109 
12110             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12111             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12112 				OE_Order_Util.Get_Attribute_Name('line_category_code'));
12113             OE_MSG_PUB.Add;
12114 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12115 
12116         END IF;
12117 
12118 
12119         RETURN FALSE;
12120 
12121     WHEN OTHERS THEN
12122 
12123         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12124         THEN
12125             OE_MSG_PUB.Add_Exc_Msg
12126             (   G_PKG_NAME
12127             ,   'Line_Category'
12128             );
12129         END IF;
12130 
12131 
12132         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12133 
12134 END Line_Category;
12135 
12136 
12137 FUNCTION Open(p_open_flag IN VARCHAR2)
12138 RETURN BOOLEAN
12139 IS
12140 l_dummy                       VARCHAR2(10);
12141 BEGIN
12142 
12143 
12144     IF p_open_flag IS NULL OR
12145         p_open_flag = FND_API.G_MISS_CHAR
12146     THEN
12147 
12148         RETURN TRUE;
12149     END IF;
12150 
12151     IF p_open_flag NOT IN ('Y','N') THEN
12152 		RAISE NO_DATA_FOUND;
12153     END IF;
12154 
12155 
12156     RETURN TRUE;
12157 
12158 EXCEPTION
12159 
12160     WHEN NO_DATA_FOUND THEN
12161 
12162         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12163         THEN
12164 
12165 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPEN_FLAG');
12166 
12167             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12168             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12169 				OE_Order_Util.Get_Attribute_Name('open_flag'));
12170             OE_MSG_PUB.Add;
12171 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12172 
12173         END IF;
12174 
12175 
12176         RETURN FALSE;
12177 
12178     WHEN OTHERS THEN
12179 
12180         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12181         THEN
12182             OE_MSG_PUB.Add_Exc_Msg
12183             (   G_PKG_NAME
12184             ,   'Open'
12185             );
12186         END IF;
12187 
12188 
12189         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12190 
12191 END Open;
12192 
12193 
12194 FUNCTION Option_Flag ( p_option_flag IN VARCHAR2 )
12195 RETURN BOOLEAN
12196 IS
12197 l_dummy                       VARCHAR2(10);
12198 BEGIN
12199 
12200 
12201     IF p_option_flag IS NULL OR
12202         p_option_flag = FND_API.G_MISS_CHAR
12203     THEN
12204 
12205         RETURN TRUE;
12206     END IF;
12207 
12208     --  SELECT  'VALID'
12209     --  INTO     l_dummy
12210     --  FROM     DB_TABLE
12211     --  WHERE    DB_COLUMN = p_option_flag;
12212 
12213 
12214     RETURN TRUE;
12215 
12216 EXCEPTION
12217 
12218     WHEN NO_DATA_FOUND THEN
12219 
12220         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12221         THEN
12222 
12223 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OPTION_FLAG');
12224 
12225             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12226             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12227 				OE_Order_Util.Get_Attribute_Name('option_flag'));
12228             OE_MSG_PUB.Add;
12229 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12230 
12231         END IF;
12232 
12233 
12234         RETURN FALSE;
12235 
12236     WHEN OTHERS THEN
12237 
12238         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12239         THEN
12240             OE_MSG_PUB.Add_Exc_Msg
12241             (   G_PKG_NAME
12242             ,   'Option_Flag'
12243             );
12244         END IF;
12245 
12246 
12247         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12248 
12249 END Option_Flag;
12250 
12251 
12252 FUNCTION Ordered_Quantity ( p_ordered_quantity IN NUMBER )
12253 RETURN BOOLEAN
12254 IS
12255 l_dummy                       VARCHAR2(10);
12256 BEGIN
12257 
12258 
12259     IF p_ordered_quantity IS NULL OR
12260         p_ordered_quantity = FND_API.G_MISS_NUM
12261     THEN
12262 
12263         RETURN TRUE;
12264     END IF;
12265 
12266     --  SELECT  'VALID'
12267     --  INTO     l_dummy
12268     --  FROM     DB_TABLE
12269     --  WHERE    DB_COLUMN = p_ordered_quantity;
12270     IF p_ordered_quantity < 0 THEN
12271 	RAISE NO_DATA_FOUND;
12272     END IF;
12273 
12274 
12275 
12276     RETURN TRUE;
12277 
12278 EXCEPTION
12279 
12280     WHEN NO_DATA_FOUND THEN
12281 
12282         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12283         THEN
12284 
12285 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ORDERED_QUANTITY');
12286 
12287             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12288             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12289 				OE_Order_Util.Get_Attribute_Name('ordered_quantity'));
12290             OE_MSG_PUB.Add;
12291 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12292 
12293         END IF;
12294 
12295 
12296         RETURN FALSE;
12297 
12298     WHEN OTHERS THEN
12299 
12300         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12301         THEN
12302             OE_MSG_PUB.Add_Exc_Msg
12303             (   G_PKG_NAME
12304             ,   'Ordered_Quantity'
12305             );
12306         END IF;
12307 
12308 
12309         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12310 
12311 END Ordered_Quantity;
12312 
12313 -- OPM 02/JUN/00 - add function to support new process attribute
12314 -- =============================================================
12315 
12316 FUNCTION Ordered_Quantity2 ( p_ordered_quantity2 IN NUMBER )
12317 RETURN BOOLEAN
12318 IS
12319 l_dummy                       VARCHAR2(10);
12320 BEGIN
12321 
12322 
12323     IF p_ordered_quantity2 IS NULL OR
12324         p_ordered_quantity2 = FND_API.G_MISS_NUM
12325     THEN
12326 
12327         RETURN TRUE;
12328     END IF;
12329 
12330     RETURN TRUE;
12331 
12332 EXCEPTION
12333 
12334     WHEN NO_DATA_FOUND THEN
12335 
12336         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12337         THEN
12338 
12339 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>'ORDERED_QUANTITY2');
12340           fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12341           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12342 				OE_Order_Util.Get_Attribute_Name('ordered_quantity2'));
12343             OE_MSG_PUB.Add;
12344 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12345 
12346         END IF;
12347 
12348 
12349         RETURN FALSE;
12350 
12351     WHEN OTHERS THEN
12352 
12353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12354         THEN
12355             OE_MSG_PUB.Add_Exc_Msg
12356             (   G_PKG_NAME
12357             ,   'Ordered_Quantity2'
12358             );
12359         END IF;
12360 
12361 
12362         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12363 
12364 END Ordered_Quantity2;
12365 
12366 -- OPM 02/JUN/00 END
12367 -- =================
12368 
12369 
12370 FUNCTION Promise_Date ( p_promise_date IN DATE )
12371 RETURN BOOLEAN
12372 IS
12373 l_dummy                       VARCHAR2(10);
12374 BEGIN
12375 
12376 
12377     IF p_promise_date IS NULL OR
12378         p_promise_date = FND_API.G_MISS_DATE
12379     THEN
12380 
12381         RETURN TRUE;
12382     END IF;
12383 
12384     --  SELECT  'VALID'
12385     --  INTO     l_dummy
12386     --  FROM     DB_TABLE
12387     --  WHERE    DB_COLUMN = p_promise_date;
12388 
12389 
12390     RETURN TRUE;
12391 
12392 EXCEPTION
12393 
12394     WHEN NO_DATA_FOUND THEN
12395 
12396         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12397         THEN
12398 
12399 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PROMISE_DATE');
12400 
12401             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12402             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12403 				OE_Order_Util.Get_Attribute_Name('promise_date'));
12404             OE_MSG_PUB.Add;
12405 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12406 
12407         END IF;
12408 
12409 
12410         RETURN FALSE;
12411 
12412     WHEN OTHERS THEN
12413 
12414         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12415         THEN
12416             OE_MSG_PUB.Add_Exc_Msg
12417             (   G_PKG_NAME
12418             ,   'Promise_Date'
12419             );
12420         END IF;
12421 
12422 
12423         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12424 
12425 END Promise_Date;
12426 
12427 
12428 
12429 FUNCTION Re_Source ( p_re_source_flag IN VARCHAR2 )
12430 RETURN BOOLEAN
12431 IS
12432 l_dummy                       VARCHAR2(10);
12433 BEGIN
12434 
12435 
12436     IF p_re_source_flag IS NULL OR
12437         p_re_source_flag = FND_API.G_MISS_CHAR
12438     THEN
12439 
12440         RETURN TRUE;
12441     END IF;
12442 
12443     --  SELECT  'VALID'
12444     --  INTO     l_dummy
12445     --  FROM     DB_TABLE
12446     --  WHERE    DB_COLUMN = p_re_source_flag;
12447 
12448 
12449     RETURN TRUE;
12450 
12451 EXCEPTION
12452 
12453     WHEN NO_DATA_FOUND THEN
12454 
12455         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12456         THEN
12457 
12458 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RE_SOURCE_FLAG');
12459 
12460             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12461             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12462 				OE_Order_Util.Get_Attribute_Name('re_source_flag'));
12463             OE_MSG_PUB.Add;
12464             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12465 
12466         END IF;
12467 
12468 
12469         RETURN FALSE;
12470 
12471     WHEN OTHERS THEN
12472 
12473         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12474         THEN
12475             OE_MSG_PUB.Add_Exc_Msg
12476             (   G_PKG_NAME
12477             ,   'Re_Source_Flag'
12478             );
12479         END IF;
12480 
12481 
12482         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12483 
12484 END Re_Source;
12485 
12486 
12487 FUNCTION Rla_Schedule_Type ( p_rla_schedule_type_code IN VARCHAR2 )
12488 RETURN BOOLEAN
12489 IS
12490 l_dummy                       VARCHAR2(10);
12491 BEGIN
12492 
12493 
12494     IF p_rla_schedule_type_code IS NULL OR
12495         p_rla_schedule_type_code = FND_API.G_MISS_CHAR
12496     THEN
12497 
12498         RETURN TRUE;
12499     END IF;
12500 
12501     --  SELECT  'VALID'
12502     --  INTO     l_dummy
12503     --  FROM     DB_TABLE
12504     --  WHERE    DB_COLUMN = p_rla_schedule_type_code;
12505 
12506 
12507     RETURN TRUE;
12508 
12509 EXCEPTION
12510 
12511     WHEN NO_DATA_FOUND THEN
12512 
12513         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12514         THEN
12515 
12516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RLA_SCHEDULE_TYPE_CODE');
12517 
12518             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12519             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12520 				OE_Order_Util.Get_Attribute_Name('rla_schedule_type_code'));
12521             OE_MSG_PUB.Add;
12522 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12523 
12524         END IF;
12525 
12526 
12527         RETURN FALSE;
12528 
12529     WHEN OTHERS THEN
12530 
12531         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12532         THEN
12533             OE_MSG_PUB.Add_Exc_Msg
12534             (   G_PKG_NAME
12535             ,   'Rla_Schedule_Type'
12536             );
12537         END IF;
12538 
12539 
12540         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12541 
12542 END Rla_Schedule_Type;
12543 
12544 FUNCTION Schedule_Ship_Date ( p_schedule_ship_date IN DATE )
12545 RETURN BOOLEAN
12546 IS
12547 l_dummy                       VARCHAR2(10);
12548 BEGIN
12549 
12550 
12551     IF p_schedule_ship_date IS NULL OR
12552         p_schedule_ship_date = FND_API.G_MISS_DATE
12553     THEN
12554 
12555         RETURN TRUE;
12556     END IF;
12557 
12558     --  SELECT  'VALID'
12559     --  INTO     l_dummy
12560     --  FROM     DB_TABLE
12561     --  WHERE    DB_COLUMN = p_Schedule_Ship_Date;
12562 
12563 
12564     RETURN TRUE;
12565 
12566 EXCEPTION
12567 
12568     WHEN NO_DATA_FOUND THEN
12569 
12570         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12571         THEN
12572 
12573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_SHIP_DATE');
12574 
12575             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12576             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12577 				OE_Order_Util.Get_Attribute_Name('schedule_ship_date'));
12578             OE_MSG_PUB.Add;
12579 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12580 
12581         END IF;
12582 
12583 
12584         RETURN FALSE;
12585 
12586     WHEN OTHERS THEN
12587 
12588         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12589         THEN
12590             OE_MSG_PUB.Add_Exc_Msg
12591             (   G_PKG_NAME
12592             ,   'schedule_ship_date'
12593             );
12594         END IF;
12595 
12596 
12597         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12598 
12599 END Schedule_Ship_Date;
12600 
12601 
12602 
12603 FUNCTION Late_Demand_Penalty_Factor( p_late_demand_penalty_factor IN NUMBER)
12604 RETURN BOOLEAN
12605 IS
12606 l_dummy                       VARCHAR2(10);
12607 BEGIN
12608 
12609 
12610     IF p_late_demand_penalty_factor IS NULL OR
12611         p_late_demand_penalty_factor = FND_API.G_MISS_NUM
12612     THEN
12613 
12614         RETURN TRUE;
12615 
12616     END IF;
12617 
12618     --  SELECT  'VALID'
12619     --  INTO     l_dummy
12620     --  FROM     DB_TABLE
12621     --  WHERE    DB_COLUMN = p_late_demand_penalty_factor;
12622 
12623 
12624     RETURN TRUE;
12625 
12626 EXCEPTION
12627 
12628     WHEN NO_DATA_FOUND THEN
12629 
12630         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12631         THEN
12632 
12633               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATE_DEMAND_PENALTY_FACTOR');
12634 
12635             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12636             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12637                                 OE_Order_Util.Get_Attribute_Name('late_demand_penalty_factor'));
12638             OE_MSG_PUB.Add;
12639               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12640 
12641         END IF;
12642 
12643 
12644         RETURN FALSE;
12645 
12646     WHEN OTHERS THEN
12647 
12648         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12649         THEN
12650             OE_MSG_PUB.Add_Exc_Msg
12651             (   G_PKG_NAME
12652             ,   'late_demand_penalty_factor'
12653             );
12654         END IF;
12655 
12656 
12657         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12658 
12659 END Late_Demand_Penalty_Factor;
12660 
12661 FUNCTION Schedule_Status ( p_schedule_status_code IN VARCHAR2 )
12662 RETURN BOOLEAN
12663 IS
12664 l_dummy                       VARCHAR2(10);
12665 BEGIN
12666 
12667 
12668     IF p_schedule_status_code IS NULL OR
12669         p_schedule_status_code = FND_API.G_MISS_CHAR
12670     THEN
12671 
12672         RETURN TRUE;
12673     END IF;
12674 
12675     --  SELECT  'VALID'
12676     --  INTO     l_dummy
12677     --  FROM     DB_TABLE
12678     --  WHERE    DB_COLUMN = p_schedule_ship_date;
12679 
12680 
12681     RETURN TRUE;
12682 
12683 EXCEPTION
12684 
12685     WHEN NO_DATA_FOUND THEN
12686 
12687         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12688         THEN
12689 
12690 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_STATUS_CODE');
12691 
12692             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12693             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12694 				OE_Order_Util.Get_Attribute_Name('schedule_status_code'));
12695             OE_MSG_PUB.Add;
12696 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12697 
12698         END IF;
12699 
12700 
12701         RETURN FALSE;
12702 
12703     WHEN OTHERS THEN
12704 
12705         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12706         THEN
12707             OE_MSG_PUB.Add_Exc_Msg
12708             (   G_PKG_NAME
12709             ,   'Schedule_Status'
12710             );
12711         END IF;
12712 
12713 
12714         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12715 
12716 END Schedule_Status;
12717 
12718 
12719 FUNCTION Tax ( p_tax_code IN VARCHAR2 )
12720 RETURN BOOLEAN
12721 IS
12722 l_dummy                       VARCHAR2(10);
12723 BEGIN
12724 
12725 
12726     IF p_tax_code IS NULL OR
12727         p_tax_code = FND_API.G_MISS_CHAR
12728     THEN
12729 
12730         RETURN TRUE;
12731     END IF;
12732    /*
12733    ** Since Tax_Code depands on tax_date, the validation should be done at
12734    ** Entity Level.
12735    */
12736 --    SELECT 'VALID'
12737 --    INTO   l_dummy
12738 --    FROM   AR_VAT_TAX V,
12739 --		 AR_SYSTEM_PARAMETERS P
12740 --    WHERE  V.TAX_CODE = p_tax_code
12741 --    AND V.SET_OF_BOOKS_ID = P.SET_OF_BOOKS_ID
12742 --    AND NVL(V.ENABLED_FLAG,'Y')='Y'
12743 --    AND NVL(V.TAX_CLASS,'O')='O'
12744 --    AND NVL(V.DISPLAYED_FLAG,'Y')='Y'
12745 --    AND TRUNC(SYSDATE) BETWEEN TRUNC(V.START_DATE) AND
12746 --	   TRUNC(NVL(V.END_DATE, SYSDATE))
12747 --    AND ROWNUM = 1;
12748 
12749 
12750     RETURN TRUE;
12751 
12752 EXCEPTION
12753 
12754     WHEN NO_DATA_FOUND THEN
12755 
12756         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12757         THEN
12758 
12759 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_CODE');
12760 
12761             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12762             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12763 				OE_Order_Util.Get_Attribute_Name('tax_code'));
12764             OE_MSG_PUB.Add;
12765 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12766 
12767         END IF;
12768 
12769 
12770         RETURN FALSE;
12771 
12772     WHEN OTHERS THEN
12773 
12774         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12775         THEN
12776             OE_MSG_PUB.Add_Exc_Msg
12777             (   G_PKG_NAME
12778             ,   'Tax'
12779             );
12780         END IF;
12781 
12782 
12783         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12784 
12785 END Tax;
12786 
12787 
12788 FUNCTION Tax_Rate ( p_tax_rate IN NUMBER )
12789 RETURN BOOLEAN
12790 IS
12791 l_dummy                       VARCHAR2(10);
12792 BEGIN
12793 
12794 
12795     IF p_tax_rate IS NULL OR
12796         p_tax_rate = FND_API.G_MISS_NUM
12797     THEN
12798 
12799         RETURN TRUE;
12800     END IF;
12801 
12802     --  SELECT  'VALID'
12803     --  INTO     l_dummy
12804     --  FROM     DB_TABLE
12805     --  WHERE    DB_COLUMN = p_tax_rate;
12806 
12807 
12808     RETURN TRUE;
12809 
12810 EXCEPTION
12811 
12812     WHEN NO_DATA_FOUND THEN
12813 
12814         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12815         THEN
12816 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE');
12817 
12818             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12819             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12820 				OE_Order_Util.Get_Attribute_Name('tax_rate'));
12821             OE_MSG_PUB.Add;
12822 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12823 
12824         END IF;
12825 
12826 
12827         RETURN FALSE;
12828 
12829     WHEN OTHERS THEN
12830 
12831         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12832         THEN
12833             OE_MSG_PUB.Add_Exc_Msg
12834             (   G_PKG_NAME
12835             ,   'Tax_Rate'
12836             );
12837         END IF;
12838 
12839 
12840         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12841 
12842 END Tax_Rate;
12843 
12844 
12845 
12846 
12847 FUNCTION Visible_Demand ( p_visible_demand_flag IN VARCHAR2 )
12848 RETURN BOOLEAN
12849 IS
12850 l_dummy                       VARCHAR2(10);
12851 BEGIN
12852 
12853 
12854     IF p_visible_demand_flag IS NULL OR
12855         p_visible_demand_flag = FND_API.G_MISS_CHAR
12856     THEN
12857 
12858         RETURN TRUE;
12859     END IF;
12860 
12861     --  SELECT  'VALID'
12862     --  INTO     l_dummy
12863     --  FROM     DB_TABLE
12864     --  WHERE    DB_COLUMN = p_visible_demand_flag;
12865 
12866 
12867     RETURN TRUE;
12868 
12869 EXCEPTION
12870 
12871     WHEN NO_DATA_FOUND THEN
12872 
12873         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12874         THEN
12875 
12876 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VISIBLE_DEMAND_FLAG');
12877 
12878             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12879             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12880 				OE_Order_Util.Get_Attribute_Name('visible_demand_flag'));
12881             OE_MSG_PUB.Add;
12882 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12883 
12884         END IF;
12885 
12886 
12887         RETURN FALSE;
12888 
12889     WHEN OTHERS THEN
12890 
12891         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12892         THEN
12893             OE_MSG_PUB.Add_Exc_Msg
12894             (   G_PKG_NAME
12895             ,   'Visible_Demand'
12896             );
12897         END IF;
12898 
12899 
12900         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12901 
12902 END Visible_Demand;
12903 
12904 
12905 
12906 FUNCTION Shipped_Quantity ( p_shipped_quantity IN NUMBER )
12907 RETURN BOOLEAN
12908 IS
12909 l_dummy                       VARCHAR2(10);
12910 BEGIN
12911 
12912 
12913     IF p_shipped_quantity IS NULL OR
12914         p_shipped_quantity = FND_API.G_MISS_NUM
12915     THEN
12916 
12917         RETURN TRUE;
12918     END IF;
12919 
12920     --  SELECT  'VALID'
12921     --  INTO     l_dummy
12922     --  FROM     DB_TABLE
12923     --  WHERE    DB_COLUMN = p_shipped_quantity;
12924 
12925 
12926     RETURN TRUE;
12927 
12928 EXCEPTION
12929 
12930     WHEN NO_DATA_FOUND THEN
12931 
12932         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12933         THEN
12934 
12935 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY');
12936 
12937             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12938             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12939 				OE_Order_Util.Get_Attribute_Name('shipped_quantity'));
12940             OE_MSG_PUB.Add;
12941 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12942 
12943         END IF;
12944 
12945 
12946         RETURN FALSE;
12947 
12948     WHEN OTHERS THEN
12949 
12950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
12951         THEN
12952             OE_MSG_PUB.Add_Exc_Msg
12953             (   G_PKG_NAME
12954             ,   'Shipped_Quantity'
12955             );
12956         END IF;
12957 
12958 
12959         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
12960 
12961 END Shipped_Quantity;
12962 
12963 FUNCTION Earliest_Acceptable_Date ( p_earliest_acceptable_date IN DATE )
12964 RETURN BOOLEAN
12965 IS
12966 l_dummy                       VARCHAR2(10);
12967 BEGIN
12968 
12969 
12970     IF p_earliest_acceptable_date IS NULL OR
12971         p_earliest_acceptable_date = FND_API.G_MISS_DATE
12972     THEN
12973 
12974         RETURN TRUE;
12975     END IF;
12976 
12977     --  SELECT  'VALID'
12978     --  INTO     l_dummy
12979     --  FROM     DB_TABLE
12980     --  WHERE    DB_COLUMN = p_earliest_acceptable_date;
12981 
12982 
12983     RETURN TRUE;
12984 
12985 EXCEPTION
12986 
12987     WHEN NO_DATA_FOUND THEN
12988 
12989         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
12990         THEN
12991 
12992 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_ACCEPTABLE_DATE');
12993 
12994             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
12995             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
12996 				OE_Order_Util.Get_Attribute_Name('earliest_acceptable_date'));
12997             OE_MSG_PUB.Add;
12998 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
12999 
13000         END IF;
13001 
13002 
13003         RETURN FALSE;
13004 
13005     WHEN OTHERS THEN
13006 
13007         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13008         THEN
13009             OE_MSG_PUB.Add_Exc_Msg
13010             (   G_PKG_NAME
13011             ,   'Earliest_Acceptable_Date'
13012             );
13013         END IF;
13014 
13015 
13016         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13017 
13018 END Earliest_Acceptable_Date;
13019 
13020 FUNCTION Earliest_Schedule_limit ( p_earliest_schedule_limit IN NUMBER )
13021 RETURN BOOLEAN
13022 IS
13023 l_dummy                       VARCHAR2(10);
13024 BEGIN
13025 
13026 
13027     IF p_earliest_schedule_limit IS NULL OR
13028         p_earliest_schedule_limit = FND_API.G_MISS_NUM
13029     THEN
13030 
13031         RETURN TRUE;
13032     END IF;
13033 
13034     --  SELECT  'VALID'
13035     --  INTO     l_dummy
13036     --  FROM     DB_TABLE
13037     --  WHERE    DB_COLUMN = p_earliest_schedule_limit;
13038 
13039 
13040     RETURN TRUE;
13041 
13042 EXCEPTION
13043 
13044     WHEN NO_DATA_FOUND THEN
13045 
13046         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13047         THEN
13048 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'EARLIEST_SCHEDULE_LIMIT');
13049 
13050             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13051             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13052 				OE_Order_Util.Get_Attribute_Name('earliest_schedule_limit'));
13053             OE_MSG_PUB.Add;
13054 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13055 
13056         END IF;
13057 
13058 
13059         RETURN FALSE;
13060 
13061     WHEN OTHERS THEN
13062 
13063         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13064         THEN
13065             OE_MSG_PUB.Add_Exc_Msg
13066             (   G_PKG_NAME
13067             ,   'Earliest_Schedule_Limit'
13068             );
13069         END IF;
13070 
13071 
13072         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13073 
13074 END Earliest_Schedule_Limit;
13075 
13076 
13077 FUNCTION Latest_Acceptable_Date ( p_latest_acceptable_date IN DATE )
13078 RETURN BOOLEAN
13079 IS
13080 l_dummy                       VARCHAR2(10);
13081 BEGIN
13082 
13083 
13084     IF p_latest_acceptable_date IS NULL OR
13085         p_latest_acceptable_date = FND_API.G_MISS_DATE
13086     THEN
13087 
13088         RETURN TRUE;
13089     END IF;
13090 
13091     --  SELECT  'VALID'
13092     --  INTO     l_dummy
13093     --  FROM     DB_TABLE
13094     --  WHERE    DB_COLUMN = p_latest_acceptable_date;
13095 
13096 
13097     RETURN TRUE;
13098 
13099 EXCEPTION
13100 
13101     WHEN NO_DATA_FOUND THEN
13102 
13103         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13104         THEN
13105 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_ACCEPTABLE_DATE');
13106 
13107 
13108             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13109             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13110 				OE_Order_Util.Get_Attribute_Name('latest_acceptable_date'));
13111             OE_MSG_PUB.Add;
13112 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13113 
13114         END IF;
13115 
13116 
13117         RETURN FALSE;
13118 
13119     WHEN OTHERS THEN
13120 
13121         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13122         THEN
13123             OE_MSG_PUB.Add_Exc_Msg
13124             (   G_PKG_NAME
13125             ,   'Latest_Acceptable_Date'
13126             );
13127         END IF;
13128 
13129 
13130         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13131 
13132 END Latest_Acceptable_Date;
13133 
13134 FUNCTION Latest_Schedule_limit (p_latest_schedule_limit IN NUMBER)
13135 RETURN BOOLEAN
13136 IS
13137 l_dummy                       VARCHAR2(10);
13138 BEGIN
13139 
13140 
13141     IF p_latest_schedule_limit IS NULL OR
13142         p_latest_schedule_limit = FND_API.G_MISS_NUM
13143     THEN
13144 
13145         RETURN TRUE;
13146     END IF;
13147 
13148     --  SELECT  'VALID'
13149     --  INTO     l_dummy
13150     --  FROM     DB_TABLE
13151     --  WHERE    DB_COLUMN = p_latest_schedule_limit;
13152 
13153 
13154     RETURN TRUE;
13155 
13156 EXCEPTION
13157 
13158     WHEN NO_DATA_FOUND THEN
13159 
13160         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13161         THEN
13162 
13163 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LATEST_SCHEDULE_LIMIT');
13164 
13165             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13166             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13167 				OE_Order_Util.Get_Attribute_Name('latest_schedule_limit'));
13168             OE_MSG_PUB.Add;
13169 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13170 
13171         END IF;
13172 
13173 
13174         RETURN FALSE;
13175 
13176     WHEN OTHERS THEN
13177 
13178         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13179         THEN
13180             OE_MSG_PUB.Add_Exc_Msg
13181             (   G_PKG_NAME
13182             ,   'Latest_Schedule_Limit'
13183             );
13184         END IF;
13185 
13186 
13187         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13188 
13189 END Latest_Schedule_Limit;
13190 
13191 FUNCTION Model_Group_Number ( p_model_group_number IN NUMBER )
13192 RETURN BOOLEAN
13193 IS
13194 l_dummy                       VARCHAR2(10);
13195 BEGIN
13196 
13197 
13198     IF p_model_group_number IS NULL OR
13199         p_model_group_number = FND_API.G_MISS_NUM
13200     THEN
13201 
13202         RETURN TRUE;
13203     END IF;
13204 
13205     --  SELECT  'VALID'
13206     --  INTO     l_dummy
13207     --  FROM     DB_TABLE
13208     --  WHERE    DB_COLUMN = p_model_group_number;
13209 
13210 
13211     RETURN TRUE;
13212 
13213 EXCEPTION
13214 
13215     WHEN NO_DATA_FOUND THEN
13216 
13217         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13218         THEN
13219 
13220 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MODEL_GROUP_NUMBER');
13221 
13222             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13223             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13224 				OE_Order_Util.Get_Attribute_Name('model_group_number'));
13225             OE_MSG_PUB.Add;
13226 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13227 
13228         END IF;
13229 
13230 
13231         RETURN FALSE;
13232 
13233     WHEN OTHERS THEN
13234 
13235         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13236         THEN
13237             OE_MSG_PUB.Add_Exc_Msg
13238             (   G_PKG_NAME
13239             ,   'Model_Group_Number'
13240             );
13241         END IF;
13242 
13243 
13244         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13245 
13246 END Model_Group_Number;
13247 
13248 
13249 FUNCTION Mfg_Component_Sequence ( p_mfg_component_sequence_id IN NUMBER )
13250 RETURN BOOLEAN
13251 IS
13252 l_dummy                       VARCHAR2(10);
13253 BEGIN
13254 
13255 
13256     IF p_mfg_component_sequence_id IS NULL OR
13257         p_mfg_component_sequence_id = FND_API.G_MISS_NUM
13258     THEN
13259 
13260         RETURN TRUE;
13261     END IF;
13262 
13263     --  SELECT  'VALID'
13264     --  INTO     l_dummy
13265     --  FROM     DB_TABLE
13266     --  WHERE    DB_COLUMN = p_mfg_component_sequence_id;
13267 
13268 
13269     RETURN TRUE;
13270 
13271 EXCEPTION
13272 
13273     WHEN NO_DATA_FOUND THEN
13274 
13275         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13276         THEN
13277 
13278 	      OE_MSG_PUB.Update_Msg_Context
13279 			    (p_attribute_code => 'MFG_COMPONENT_SEQUENCE_ID');
13280 
13281             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13282             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13283 				OE_Order_Util.Get_Attribute_Name
13284 						('mfg_component_sequence_id'));
13285             OE_MSG_PUB.Add;
13286 	       OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13287 
13288         END IF;
13289 
13290 
13291         RETURN FALSE;
13292 
13293     WHEN OTHERS THEN
13294 
13295         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13296         THEN
13297             OE_MSG_PUB.Add_Exc_Msg
13298             (   G_PKG_NAME
13299             ,   'Mfg_Component_Sequence_Id'
13300             );
13301         END IF;
13302 
13303 
13304         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13305 
13306 END Mfg_Component_Sequence;
13307 
13308 FUNCTION Schedule_Arrival_Date ( p_schedule_arrival_date IN DATE )
13309 RETURN BOOLEAN
13310 IS
13311 l_dummy                       VARCHAR2(10);
13312 BEGIN
13313 
13314 
13315     IF p_schedule_arrival_date IS NULL OR
13316         p_schedule_arrival_date = FND_API.G_MISS_DATE
13317     THEN
13318 
13319         RETURN TRUE;
13320     END IF;
13321 
13322     --  SELECT  'VALID'
13323     --  INTO     l_dummy
13324     --  FROM     DB_TABLE
13325     --  WHERE    DB_COLUMN = p_schedule_arrival_date;
13326 
13327 
13328     RETURN TRUE;
13329 
13330 EXCEPTION
13331 
13332     WHEN NO_DATA_FOUND THEN
13333 
13334         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13335         THEN
13336 
13337 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SCHEDULE_ARRIVAL_DATE');
13338 
13339             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13340             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13341 				OE_Order_Util.Get_Attribute_Name('schedule_arrival_date'));
13342             OE_MSG_PUB.Add;
13343 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13344 
13345         END IF;
13346 
13347 
13348         RETURN FALSE;
13349 
13350     WHEN OTHERS THEN
13351 
13352         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13353         THEN
13354             OE_MSG_PUB.Add_Exc_Msg
13355             (   G_PKG_NAME
13356             ,   'Schedule_Arrival_Date'
13357             );
13358         END IF;
13359 
13360 
13361         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13362 
13363 END Schedule_Arrival_Date;
13364 
13365 
13366 
13367 FUNCTION Ship_Model_Complete ( p_ship_model_complete_flag IN VARCHAR2 )
13368 RETURN BOOLEAN
13369 IS
13370 l_dummy                       VARCHAR2(10);
13371 BEGIN
13372 
13373 
13374     IF p_ship_model_complete_flag IS NULL OR
13375         p_ship_model_complete_flag = FND_API.G_MISS_CHAR
13376     THEN
13377 
13378         RETURN TRUE;
13379     END IF;
13380 
13381     --  SELECT  'VALID'
13382     --  INTO     l_dummy
13383     --  FROM     DB_TABLE
13384     --  WHERE    DB_COLUMN = p_visible_demand_flag;
13385 
13386 
13387     RETURN TRUE;
13388 
13389 EXCEPTION
13390 
13391     WHEN NO_DATA_FOUND THEN
13392 
13393         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13394         THEN
13395 
13396 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIP_MODEL_COMPLETE_FLAG');
13397 
13398             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13399             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13400 				OE_Order_Util.Get_Attribute_Name('ship_model_complete_flag'));
13401             OE_MSG_PUB.Add;
13402 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13403 
13404         END IF;
13405 
13406 
13407         RETURN FALSE;
13408 
13409     WHEN OTHERS THEN
13410 
13411         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13412         THEN
13413             OE_MSG_PUB.Add_Exc_Msg
13414             (   G_PKG_NAME
13415             ,   'Ship_Model_Complete_Flag'
13416             );
13417         END IF;
13418 
13419 
13420         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13421 
13422 END Ship_Model_Complete;
13423 
13424 FUNCTION From_Serial_Number ( p_from_serial_number IN VARCHAR2 )
13425 RETURN BOOLEAN
13426 IS
13427 l_dummy                       VARCHAR2(10);
13428 BEGIN
13429 
13430 
13431     IF p_from_serial_number IS NULL OR
13432         p_from_serial_number = FND_API.G_MISS_CHAR
13433     THEN
13434 
13435         RETURN TRUE;
13436     END IF;
13437 
13438     --  SELECT  'VALID'
13439     --  INTO     l_dummy
13440     --  FROM     DB_TABLE
13441     --  WHERE    DB_COLUMN = p_from_serial_number;
13442 
13443 
13444     RETURN TRUE;
13445 
13446 EXCEPTION
13447 
13448     WHEN NO_DATA_FOUND THEN
13449 
13450         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13451         THEN
13452 
13453 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FROM_SERIAL_NUMBER');
13454 
13455             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13456             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13457 				OE_Order_Util.Get_Attribute_Name('from_serial_number'));
13458             OE_MSG_PUB.Add;
13459 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13460 
13461         END IF;
13462 
13463 
13464         RETURN FALSE;
13465 
13466     WHEN OTHERS THEN
13467 
13468         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13469         THEN
13470             OE_MSG_PUB.Add_Exc_Msg
13471             (   G_PKG_NAME
13472             ,   'From_Serial_Number'
13473             );
13474         END IF;
13475 
13476 
13477         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13478 
13479 END From_Serial_Number;
13480 
13481 FUNCTION Lot_Number ( p_lot_number IN VARCHAR2 )
13482 RETURN BOOLEAN
13483 IS
13484 l_dummy                       VARCHAR2(10);
13485 BEGIN
13486 
13487 
13488     IF p_lot_number IS NULL OR
13489         p_lot_number = FND_API.G_MISS_CHAR
13490     THEN
13491 
13492         RETURN TRUE;
13493     END IF;
13494 
13495     --  SELECT  'VALID'
13496     --  INTO     l_dummy
13497     --  FROM     DB_TABLE
13498     --  WHERE    DB_COLUMN = p_lot_number;
13499 
13500 
13501     RETURN TRUE;
13502 
13503 EXCEPTION
13504 
13505     WHEN NO_DATA_FOUND THEN
13506 
13507         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13508         THEN
13509 
13510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_NUMBER');
13511 
13512             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13513             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13514 				OE_Order_Util.Get_Attribute_Name('lot_number'));
13515             OE_MSG_PUB.Add;
13516 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13517 
13518         END IF;
13519 
13520 
13521         RETURN FALSE;
13522 
13523     WHEN OTHERS THEN
13524 
13525         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13526         THEN
13527             OE_MSG_PUB.Add_Exc_Msg
13528             (   G_PKG_NAME
13529             ,   'Lot_Number'
13530             );
13531         END IF;
13532 
13533 
13534         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13535 
13536 END Lot_Number;
13537 
13538 /* FUNCTION Sublot_Number ( p_sublot_number IN VARCHAR2 ) --OPM 2380194  -- remove for INVCONV
13539 RETURN BOOLEAN
13540 IS
13541 l_dummy                       VARCHAR2(10);
13542 BEGIN
13543 
13544 
13545     IF p_sublot_number IS NULL OR
13546         p_sublot_number = FND_API.G_MISS_CHAR
13547     THEN
13548 
13549         RETURN TRUE;
13550     END IF;
13551 
13552     --  SELECT  'VALID'
13553     --  INTO     l_dummy
13554     --  FROM     DB_TABLE
13555     --  WHERE    DB_COLUMN = p_sublot_number;
13556 
13557 
13558     RETURN TRUE;
13559 
13560 EXCEPTION
13561 
13562     WHEN NO_DATA_FOUND THEN
13563 
13564         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13565         THEN
13566 
13567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUBLOT_NUMBER');
13568 
13569             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13570             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13571 				OE_Order_Util.Get_Attribute_Name('sublot_number'));
13572             OE_MSG_PUB.Add;
13573 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13574 
13575         END IF;
13576 
13577 
13578         RETURN FALSE;
13579 
13580     WHEN OTHERS THEN
13581 
13582         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13583         THEN
13584             OE_MSG_PUB.Add_Exc_Msg
13585             (   G_PKG_NAME
13586             ,   'Sublot_Number'
13587             );
13588         END IF;
13589 
13590 
13591         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13592 
13593 END Sublot_Number;    */
13594 
13595 FUNCTION Lot_Serial ( p_lot_serial_id IN NUMBER )
13596 RETURN BOOLEAN
13597 IS
13598 l_dummy                       VARCHAR2(10);
13599 BEGIN
13600 
13601 
13602     IF p_lot_serial_id IS NULL OR
13603         p_lot_serial_id = FND_API.G_MISS_NUM
13604     THEN
13605 
13606         RETURN TRUE;
13607     END IF;
13608 
13609     --  SELECT  'VALID'
13610     --  INTO     l_dummy
13611     --  FROM     DB_TABLE
13612     --  WHERE    DB_COLUMN = p_lot_serial_id;
13613 
13614 
13615     RETURN TRUE;
13616 
13617 EXCEPTION
13618 
13619     WHEN NO_DATA_FOUND THEN
13620 
13621         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13622         THEN
13623 
13624 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LOT_SERIAL_ID');
13625 
13626             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13627             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13628 				OE_Order_Util.Get_Attribute_Name('lot_serial_id'));
13629             OE_MSG_PUB.Add;
13630 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13631 
13632         END IF;
13633 
13634 
13635         RETURN FALSE;
13636 
13637     WHEN OTHERS THEN
13638 
13639         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13640         THEN
13641             OE_MSG_PUB.Add_Exc_Msg
13642             (   G_PKG_NAME
13643             ,   'Lot_Serial'
13644             );
13645         END IF;
13646 
13647 
13648         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13649 
13650 END Lot_Serial;
13651 
13652 FUNCTION Quantity ( p_quantity IN NUMBER )
13653 RETURN BOOLEAN
13654 IS
13655 l_dummy                       VARCHAR2(10);
13656 BEGIN
13657 
13658 
13659     IF p_quantity IS NULL OR
13660         p_quantity = FND_API.G_MISS_NUM
13661     THEN
13662 
13663         RETURN TRUE;
13664     END IF;
13665 
13666     --  SELECT  'VALID'
13667     --  INTO     l_dummy
13668     --  FROM     DB_TABLE
13669     --  WHERE    DB_COLUMN = p_quantity;
13670 
13671 
13672     RETURN TRUE;
13673 
13674 EXCEPTION
13675 
13676     WHEN NO_DATA_FOUND THEN
13677 
13678         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13679         THEN
13680 
13681 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY');
13682 
13683             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13684             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13685 				OE_Order_Util.Get_Attribute_Name('quantity'));
13686             OE_MSG_PUB.Add;
13687 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13688 
13689         END IF;
13690 
13691 
13692         RETURN FALSE;
13693 
13694     WHEN OTHERS THEN
13695 
13696         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13697         THEN
13698             OE_MSG_PUB.Add_Exc_Msg
13699             (   G_PKG_NAME
13700             ,   'Quantity'
13701             );
13702         END IF;
13703 
13704 
13705         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13706 
13707 END Quantity;
13708 
13709 FUNCTION Quantity2 ( p_quantity2 IN NUMBER ) --OPM 2380194
13710 RETURN BOOLEAN
13711 IS
13712 l_dummy                       VARCHAR2(10);
13713 BEGIN
13714 
13715 
13716     IF p_quantity2 IS NULL OR
13717         p_quantity2 = FND_API.G_MISS_NUM
13718     THEN
13719 
13720         RETURN TRUE;
13721     END IF;
13722 
13723     --  SELECT  'VALID'
13724     --  INTO     l_dummy
13725     --  FROM     DB_TABLE
13726     --  WHERE    DB_COLUMN = p_quantity2;
13727 
13728 
13729     RETURN TRUE;
13730 
13731 EXCEPTION
13732 
13733     WHEN NO_DATA_FOUND THEN
13734 
13735         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13736         THEN
13737 
13738 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'QUANTITY2');
13739 
13740             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13741             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13742 				OE_Order_Util.Get_Attribute_Name('quantity2'));
13743             OE_MSG_PUB.Add;
13744 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13745 
13746         END IF;
13747 
13748 
13749         RETURN FALSE;
13750 
13751     WHEN OTHERS THEN
13752 
13753         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13754         THEN
13755             OE_MSG_PUB.Add_Exc_Msg
13756             (   G_PKG_NAME
13757             ,   'Quantity2'
13758             );
13759         END IF;
13760 
13761 
13762         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13763 
13764 END Quantity2;
13765 
13766 FUNCTION To_Serial_Number ( p_to_serial_number IN VARCHAR2 )
13767 RETURN BOOLEAN
13768 IS
13769 l_dummy                       VARCHAR2(10);
13770 BEGIN
13771 
13772 
13773     IF p_to_serial_number IS NULL OR
13774         p_to_serial_number = FND_API.G_MISS_CHAR
13775     THEN
13776 
13777         RETURN TRUE;
13778     END IF;
13779 
13780     --  SELECT  'VALID'
13781     --  INTO     l_dummy
13782     --  FROM     DB_TABLE
13783     --  WHERE    DB_COLUMN = p_to_serial_number;
13784 
13785 
13786     RETURN TRUE;
13787 
13788 EXCEPTION
13789 
13790     WHEN NO_DATA_FOUND THEN
13791 
13792         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13793         THEN
13794 
13795 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TO_SERIAL_NUMBER');
13796 
13797             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13798             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13799 				OE_Order_Util.Get_Attribute_Name('to_serial_number'));
13800             OE_MSG_PUB.Add;
13801 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13802 
13803         END IF;
13804 
13805 
13806         RETURN FALSE;
13807 
13808     WHEN OTHERS THEN
13809 
13810         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13811         THEN
13812             OE_MSG_PUB.Add_Exc_Msg
13813             (   G_PKG_NAME
13814             ,   'To_Serial_Number'
13815             );
13816         END IF;
13817 
13818 
13819         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13820 
13821 END To_Serial_Number;
13822 
13823 FUNCTION Line_Set ( p_line_set_id IN NUMBER)
13824 RETURN BOOLEAN
13825 IS
13826 l_dummy                       VARCHAR2(10);
13827 BEGIN
13828 
13829 
13830     IF p_line_set_id IS NULL OR
13831         p_line_set_id = FND_API.G_MISS_NUM
13832     THEN
13833 
13834         RETURN TRUE;
13835     END IF;
13836 
13837     --  SELECT  'VALID'
13838     --  INTO     l_dummy
13839     --  FROM     DB_TABLE
13840     --  WHERE    DB_COLUMN = p_line_set_id;
13841 
13842 
13843     RETURN TRUE;
13844 
13845 EXCEPTION
13846 
13847     WHEN NO_DATA_FOUND THEN
13848 
13849         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13850         THEN
13851 
13852 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_ID');
13853 
13854             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13855             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13856 				OE_Order_Util.Get_Attribute_Name('Line_Set_ID'));
13857             OE_MSG_PUB.Add;
13858 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13859 
13860         END IF;
13861 
13862 
13863         RETURN FALSE;
13864 
13865     WHEN OTHERS THEN
13866 
13867         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13868         THEN
13869             OE_MSG_PUB.Add_Exc_Msg
13870             (   G_PKG_NAME
13871             ,   'Line_Set'
13872             );
13873         END IF;
13874 
13875 
13876         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13877 
13878 END Line_Set;
13879 
13880 FUNCTION Amount ( p_amount IN NUMBER )
13881 RETURN BOOLEAN
13882 IS
13883 l_dummy                       VARCHAR2(10);
13884 BEGIN
13885 
13886 
13887     IF p_amount IS NULL OR
13888         p_amount = FND_API.G_MISS_NUM
13889     THEN
13890 
13891         RETURN TRUE;
13892     END IF;
13893 
13894     --  SELECT  'VALID'
13895     --  INTO     l_dummy
13896     --  FROM     DB_TABLE
13897     --  WHERE    DB_COLUMN = p_amount;
13898 
13899 
13900     RETURN TRUE;
13901 
13902 EXCEPTION
13903 
13904     WHEN NO_DATA_FOUND THEN
13905 
13906         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13907         THEN
13908 
13909 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AMOUNT');
13910 
13911             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13912             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13913 				OE_Order_Util.Get_Attribute_Name('amount'));
13914             OE_MSG_PUB.Add;
13915 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13916 
13917         END IF;
13918 
13919 
13920         RETURN FALSE;
13921 
13922     WHEN OTHERS THEN
13923 
13924         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13925         THEN
13926             OE_MSG_PUB.Add_Exc_Msg
13927             (   G_PKG_NAME
13928             ,   'Amount'
13929             );
13930         END IF;
13931 
13932 
13933         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13934 
13935 END Amount;
13936 
13937 FUNCTION Appear_On_Ack ( p_appear_on_ack_flag IN VARCHAR2 )
13938 RETURN BOOLEAN
13939 IS
13940 l_dummy                       VARCHAR2(10);
13941 BEGIN
13942 
13943 
13944     IF p_appear_on_ack_flag IS NULL OR
13945         p_appear_on_ack_flag = FND_API.G_MISS_CHAR
13946     THEN
13947 
13948         RETURN TRUE;
13949     END IF;
13950 
13951     --  SELECT  'VALID'
13952     --  INTO     l_dummy
13953     --  FROM     DB_TABLE
13954     --  WHERE    DB_COLUMN = p_appear_on_ack_flag;
13955 
13956 
13957     RETURN TRUE;
13958 
13959 EXCEPTION
13960 
13961     WHEN NO_DATA_FOUND THEN
13962 
13963         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
13964         THEN
13965 
13966 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_ACK_FLAG');
13967 
13968             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
13969             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
13970 				OE_Order_Util.Get_Attribute_Name('appear_on_ack_flag'));
13971             OE_MSG_PUB.Add;
13972 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
13973 
13974         END IF;
13975 
13976 
13977        RETURN FALSE;
13978 
13979     WHEN OTHERS THEN
13980 
13981         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
13982         THEN
13983             OE_MSG_PUB.Add_Exc_Msg
13984             (   G_PKG_NAME
13985             ,   'Appear_On_Ack'
13986             );
13987         END IF;
13988 
13989 
13990         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
13991 
13992 END Appear_On_Ack;
13993 
13994 FUNCTION Appear_On_Invoice ( p_appear_on_invoice_flag IN VARCHAR2 )
13995 RETURN BOOLEAN
13996 IS
13997 l_dummy                       VARCHAR2(10);
13998 BEGIN
13999 
14000 
14001     IF p_appear_on_invoice_flag IS NULL OR
14002         p_appear_on_invoice_flag = FND_API.G_MISS_CHAR
14003     THEN
14004 
14005         RETURN TRUE;
14006     END IF;
14007 
14008     --  SELECT  'VALID'
14009     --  INTO     l_dummy
14010     --  FROM     DB_TABLE
14011     --  WHERE    DB_COLUMN = p_appear_on_invoice_flag;
14012 
14013 
14014     RETURN TRUE;
14015 
14016 EXCEPTION
14017 
14018     WHEN NO_DATA_FOUND THEN
14019 
14020         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14021         THEN
14022 
14023 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'APPEAR_ON_INVOICE_FLAG');
14024 
14025             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14026             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14027 				OE_Order_Util.Get_Attribute_Name('appear_on_invoice_flag'));
14028             OE_MSG_PUB.Add;
14029 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14030 
14031         END IF;
14032 
14033 
14034         RETURN FALSE;
14035 
14036     WHEN OTHERS THEN
14037 
14038         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14039         THEN
14040             OE_MSG_PUB.Add_Exc_Msg
14041             (   G_PKG_NAME
14042             ,   'Appear_On_Invoice'
14043             );
14044         END IF;
14045 
14046 
14047         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14048 
14049 END Appear_On_Invoice;
14050 
14051 FUNCTION Charge ( p_charge_id IN NUMBER )
14052 RETURN BOOLEAN
14053 IS
14054 l_dummy                       VARCHAR2(10);
14055 BEGIN
14056 
14057 
14058     IF p_charge_id IS NULL OR
14059         p_charge_id = FND_API.G_MISS_NUM
14060     THEN
14061 
14062         RETURN TRUE;
14063     END IF;
14064 
14065     --  SELECT  'VALID'
14066     --  INTO     l_dummy
14067     --  FROM     DB_TABLE
14068     --  WHERE    DB_COLUMN = p_charge_id;
14069 
14070 
14071     RETURN TRUE;
14072 
14073 EXCEPTION
14074 
14075     WHEN NO_DATA_FOUND THEN
14076 
14077         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14078         THEN
14079 
14080 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_ID');
14081 
14082             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14083             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14084 				OE_Order_Util.Get_Attribute_Name('charge_id'));
14085             OE_MSG_PUB.Add;
14086 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14087 
14088 
14089         END IF;
14090 
14091         RETURN FALSE;
14092 
14093     WHEN OTHERS THEN
14094 
14095         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14096         THEN
14097             OE_MSG_PUB.Add_Exc_Msg
14098             (   G_PKG_NAME
14099             ,   'Charge'
14100             );
14101         END IF;
14102 
14103 
14104         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14105 
14106 END Charge;
14107 
14108 FUNCTION Charge_Type ( p_charge_type_id IN NUMBER )
14109 RETURN BOOLEAN
14110 IS
14111 l_dummy                       VARCHAR2(10);
14112 BEGIN
14113 
14114 
14115     IF p_charge_type_id IS NULL OR
14116         p_charge_type_id = FND_API.G_MISS_NUM
14117     THEN
14118 
14119         RETURN TRUE;
14120     END IF;
14121 
14122     --  SELECT  'VALID'
14123     --  INTO     l_dummy
14124     --  FROM     DB_TABLE
14125     --  WHERE    DB_COLUMN = p_charge_type_id;
14126 
14127 
14128    RETURN TRUE;
14129 
14130 EXCEPTION
14131 
14132     WHEN NO_DATA_FOUND THEN
14133 
14134         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14135         THEN
14136 
14137 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_ID');
14138 
14139             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14140             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14141 				OE_Order_Util.Get_Attribute_Name('charge_type_id'));
14142             OE_MSG_PUB.Add;
14143 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14144 
14145         END IF;
14146 
14147 
14148         RETURN FALSE;
14149 
14150     WHEN OTHERS THEN
14151 
14152         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14153         THEN
14154             OE_MSG_PUB.Add_Exc_Msg
14155             (   G_PKG_NAME
14156             ,   'Charge_Type'
14157             );
14158         END IF;
14159 
14160 
14161         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14162 
14163 END Charge_Type;
14164 
14165 FUNCTION Conversion_Date ( p_conversion_date IN DATE )
14166 RETURN BOOLEAN
14167 IS
14168 l_dummy                       VARCHAR2(10);
14169 BEGIN
14170 
14171 
14172     IF p_conversion_date IS NULL OR
14173         p_conversion_date = FND_API.G_MISS_DATE
14174     THEN
14175 
14176         RETURN TRUE;
14177     END IF;
14178 
14179     --  SELECT  'VALID'
14180     --  INTO     l_dummy
14181     --  FROM     DB_TABLE
14182     --  WHERE    DB_COLUMN = p_conversion_date;
14183 
14184 
14185     RETURN TRUE;
14186 
14187 EXCEPTION
14188 
14189     WHEN NO_DATA_FOUND THEN
14190 
14191         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14192         THEN
14193 
14194 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONVERSION_DATE');
14195 
14196             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14197             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14198 				OE_Order_Util.Get_Attribute_Name('conversion_date'));
14199 
14200 	      OE_MSG_PUB.Add;
14201 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14202 
14203 
14204         END IF;
14205 
14206 
14207         RETURN FALSE;
14208 
14209     WHEN OTHERS THEN
14210 
14211         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14212         THEN
14213             OE_MSG_PUB.Add_Exc_Msg
14214             (   G_PKG_NAME
14215             ,   'Conversion_Date'
14216             );
14217         END IF;
14218 
14219 
14220         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14221 
14222 END Conversion_Date;
14223 
14224 FUNCTION Cost_Or_Charge ( p_cost_or_charge_flag IN VARCHAR2 )
14225 RETURN BOOLEAN
14226 IS
14227 l_dummy                       VARCHAR2(10);
14228 BEGIN
14229 
14230 
14231     IF p_cost_or_charge_flag IS NULL OR
14232         p_cost_or_charge_flag = FND_API.G_MISS_CHAR
14233     THEN
14234 
14235         RETURN TRUE;
14236     END IF;
14237 
14238     --  SELECT  'VALID'
14239     --  INTO     l_dummy
14240     --  FROM     DB_TABLE
14241     --  WHERE    DB_COLUMN = p_cost_or_charge_flag;
14242 
14243 
14244     RETURN TRUE;
14245 
14246 EXCEPTION
14247 
14248     WHEN NO_DATA_FOUND THEN
14249 
14250         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14251         THEN
14252 
14253 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_OR_CHARGE_FLAG');
14254 
14255             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14256             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14257 				OE_Order_Util.Get_Attribute_Name('cost_or_charge_flag'));
14258             OE_MSG_PUB.Add;
14259 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14260 
14261         END IF;
14262 
14263 
14264         RETURN FALSE;
14265 
14266     WHEN OTHERS THEN
14267 
14268         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14269         THEN
14270             OE_MSG_PUB.Add_Exc_Msg
14271             (   G_PKG_NAME
14272             ,   'Cost_Or_Charge'
14273             );
14274         END IF;
14275 
14276 
14277         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14278 
14279 END Cost_Or_Charge;
14280 
14281 FUNCTION Currency ( p_currency_code IN VARCHAR2 )
14282 RETURN BOOLEAN
14283 IS
14284 l_dummy                       VARCHAR2(10);
14285 BEGIN
14286 
14287 
14288     IF p_currency_code IS NULL OR
14289         p_currency_code = FND_API.G_MISS_CHAR
14290     THEN
14291 
14292         RETURN TRUE;
14293     END IF;
14294 
14295     --  SELECT  'VALID'
14296     --  INTO     l_dummy
14297     --  FROM     DB_TABLE
14298     --  WHERE    DB_COLUMN = p_currency_code;
14299 
14300 
14301     RETURN TRUE;
14302 
14303 EXCEPTION
14304 
14305     WHEN NO_DATA_FOUND THEN
14306 
14307         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14308         THEN
14309 
14310 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CURRENCY_CODE');
14311 
14312             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14313             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14314 				OE_Order_Util.Get_Attribute_Name('currency_code'));
14315             OE_MSG_PUB.Add;
14316 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14317 
14318         END IF;
14319 
14320 
14321         RETURN FALSE;
14322 
14323     WHEN OTHERS THEN
14324 
14325         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14326         THEN
14327             OE_MSG_PUB.Add_Exc_Msg
14328             (   G_PKG_NAME
14329             ,   'Currency'
14330             );
14331         END IF;
14332 
14333 
14334         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14335 
14336 END Currency;
14337 
14338 FUNCTION Departure ( p_departure_id IN NUMBER )
14339 RETURN BOOLEAN
14340 IS
14341 l_dummy                       VARCHAR2(10);
14342 BEGIN
14343 
14344 
14345     IF p_departure_id IS NULL OR
14346         p_departure_id = FND_API.G_MISS_NUM
14347     THEN
14348 
14349         RETURN TRUE;
14350     END IF;
14351 
14352     --  SELECT  'VALID'
14353     --  INTO     l_dummy
14354     --  FROM     DB_TABLE
14355     --  WHERE    DB_COLUMN = p_departure_id;
14356 
14357 
14358     RETURN TRUE;
14359 
14360 EXCEPTION
14361 
14362     WHEN NO_DATA_FOUND THEN
14363 
14364         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14365         THEN
14366 
14367 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'DEPARTURE_ID');
14368 
14369             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14370             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14371 				OE_Order_Util.Get_Attribute_Name('departure_id'));
14372             OE_MSG_PUB.Add;
14373 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14374 
14375         END IF;
14376 
14377 
14378         RETURN FALSE;
14379 
14380     WHEN OTHERS THEN
14381 
14382         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14383         THEN
14384             OE_MSG_PUB.Add_Exc_Msg
14385             (   G_PKG_NAME
14386             ,   'Departure'
14387             );
14388         END IF;
14389 
14390 
14391         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14392 
14393 END Departure;
14394 
14395 FUNCTION Estimated ( p_estimated_flag IN VARCHAR2 )
14396 RETURN BOOLEAN
14397 IS
14398 l_dummy                       VARCHAR2(10);
14399 BEGIN
14400 
14401 
14402     IF p_estimated_flag IS NULL OR
14403         p_estimated_flag = FND_API.G_MISS_CHAR
14404     THEN
14405 
14406         RETURN TRUE;
14407     END IF;
14408 
14409     --  SELECT  'VALID'
14410     --  INTO     l_dummy
14411     --  FROM     DB_TABLE
14412     --  WHERE    DB_COLUMN = p_estimated_flag;
14413 
14414 
14415     RETURN TRUE;
14416 
14417 EXCEPTION
14418 
14419     WHEN NO_DATA_FOUND THEN
14420 
14421         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14422         THEN
14423 
14424 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ESTIMATED_FLAG');
14425 
14426             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14427             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14428 				OE_Order_Util.Get_Attribute_Name('estimated_flag'));
14429             OE_MSG_PUB.Add;
14430 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14431 
14432         END IF;
14433 
14434 
14435         RETURN FALSE;
14436 
14437     WHEN OTHERS THEN
14438 
14439         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14440         THEN
14441             OE_MSG_PUB.Add_Exc_Msg
14442             (   G_PKG_NAME
14443             ,   'Estimated'
14444             );
14445         END IF;
14446 
14447 
14448         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14449 
14450 END Estimated;
14451 
14452 FUNCTION Inc_In_Sales_Performance ( p_inc_in_sales_performance IN VARCHAR2 )
14453 RETURN BOOLEAN
14454 IS
14455 l_dummy                       VARCHAR2(10);
14456 BEGIN
14457 
14458 
14459     IF p_inc_in_sales_performance IS NULL OR
14460         p_inc_in_sales_performance = FND_API.G_MISS_CHAR
14461     THEN
14462 
14463         RETURN TRUE;
14464     END IF;
14465 
14466     --  SELECT  'VALID'
14467     --  INTO     l_dummy
14468     --  FROM     DB_TABLE
14469     --  WHERE    DB_COLUMN = p_inc_in_sales_performance;
14470 
14471 
14472     RETURN TRUE;
14473 
14474 EXCEPTION
14475 
14476     WHEN NO_DATA_FOUND THEN
14477 
14478         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14479         THEN
14480 
14481 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INC_IN_SALES_PERFORMANCE');
14482 
14483             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14484             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14485 				OE_Order_Util.Get_Attribute_Name('inc_in_sales_performance'));
14486             OE_MSG_PUB.Add;
14487 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14488 
14489 
14490         END IF;
14491 
14492 
14493         RETURN FALSE;
14494 
14495     WHEN OTHERS THEN
14496 
14497         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14498         THEN
14499             OE_MSG_PUB.Add_Exc_Msg
14500             (   G_PKG_NAME
14501             ,   'Inc_In_Sales_Performance'
14502             );
14503         END IF;
14504 
14505 
14506         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14507 
14508 END Inc_In_Sales_Performance;
14509 
14510 FUNCTION Invoiced ( p_invoiced_flag IN VARCHAR2 )
14511 RETURN BOOLEAN
14512 IS
14513 l_dummy                       VARCHAR2(10);
14514 BEGIN
14515 
14516 
14517     IF p_invoiced_flag IS NULL OR
14518         p_invoiced_flag = FND_API.G_MISS_CHAR
14519     THEN
14520 
14521         RETURN TRUE;
14522     END IF;
14523 
14524     --  SELECT  'VALID'
14525     --  INTO     l_dummy
14526     --  FROM     DB_TABLE
14527     --  WHERE    DB_COLUMN = p_invoiced_flag;
14528 
14529 
14530     RETURN TRUE;
14531 
14532 EXCEPTION
14533 
14534     WHEN NO_DATA_FOUND THEN
14535 
14536         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14537         THEN
14538 
14539 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_FLAG');
14540 
14541             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14542             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14543 				OE_Order_Util.Get_Attribute_Name('invoiced_flag'));
14544             OE_MSG_PUB.Add;
14545 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14546 
14547         END IF;
14548 
14549 
14550         RETURN FALSE;
14551 
14552     WHEN OTHERS THEN
14553 
14554         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14555         THEN
14556             OE_MSG_PUB.Add_Exc_Msg
14557             (   G_PKG_NAME
14558             ,   'Invoiced'
14559             );
14560         END IF;
14561 
14562 
14563         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14564 
14565 END Invoiced;
14566 
14567 FUNCTION Lpn ( p_lpn IN NUMBER )
14568 RETURN BOOLEAN
14569 IS
14570 l_dummy                       VARCHAR2(10);
14571 BEGIN
14572 
14573 
14574     IF p_lpn IS NULL OR
14575         p_lpn = FND_API.G_MISS_NUM
14576     THEN
14577 
14578         RETURN TRUE;
14579     END IF;
14580 
14581     --  SELECT  'VALID'
14582     --  INTO     l_dummy
14583     --  FROM     DB_TABLE
14584     --  WHERE    DB_COLUMN = p_lpn;
14585 
14586 
14587     RETURN TRUE;
14588 
14589 EXCEPTION
14590 
14591     WHEN NO_DATA_FOUND THEN
14592 
14593         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14594         THEN
14595 
14596 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LPN');
14597 
14598             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14599             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14600 				OE_Order_Util.Get_Attribute_Name('lpn'));
14601             OE_MSG_PUB.Add;
14602 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14603 
14604         END IF;
14605 
14606 
14607         RETURN FALSE;
14608 
14609     WHEN OTHERS THEN
14610 
14611         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14612         THEN
14613             OE_MSG_PUB.Add_Exc_Msg
14614             (   G_PKG_NAME
14615             ,   'Lpn'
14616             );
14617         END IF;
14618 
14619 
14620         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14621 
14622 END Lpn;
14623 
14624 FUNCTION Parent_Charge ( p_parent_charge_id IN NUMBER )
14625 RETURN BOOLEAN
14626 IS
14627 l_dummy                       VARCHAR2(10);
14628 BEGIN
14629 
14630 
14631     IF p_parent_charge_id IS NULL OR
14632         p_parent_charge_id = FND_API.G_MISS_NUM
14633     THEN
14634 
14635         RETURN TRUE;
14636     END IF;
14637 
14638     --  SELECT  'VALID'
14639     --  INTO     l_dummy
14640     --  FROM     DB_TABLE
14641     --  WHERE    DB_COLUMN = p_parent_charge_id;
14642 
14643 
14644     RETURN TRUE;
14645 
14646 EXCEPTION
14647 
14648     WHEN NO_DATA_FOUND THEN
14649 
14650         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14651         THEN
14652 
14653 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PARENT_CHARGE_ID');
14654 
14655             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14656             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14657 				OE_Order_Util.Get_Attribute_Name('parent_charge_id'));
14658             OE_MSG_PUB.Add;
14659 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14660 
14661         END IF;
14662 
14663 
14664         RETURN FALSE;
14665 
14666     WHEN OTHERS THEN
14667 
14668         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14669         THEN
14670             OE_MSG_PUB.Add_Exc_Msg
14671             (   G_PKG_NAME
14672             ,   'Parent_Charge'
14673             );
14674         END IF;
14675 
14676 
14677         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14678 
14679 END Parent_Charge;
14680 
14681 FUNCTION Returnable ( p_returnable_flag IN VARCHAR2 )
14682 RETURN BOOLEAN
14683 IS
14684 l_dummy                       VARCHAR2(10);
14685 BEGIN
14686 
14687 
14688     IF p_returnable_flag IS NULL OR
14689         p_returnable_flag = FND_API.G_MISS_CHAR
14690     THEN
14691 
14692         RETURN TRUE;
14693     END IF;
14694 
14695     --  SELECT  'VALID'
14696     --  INTO     l_dummy
14697     --  FROM     DB_TABLE
14698     --  WHERE    DB_COLUMN = p_returnable_flag;
14699 
14700 
14701     RETURN TRUE;
14702 
14703 EXCEPTION
14704 
14705     WHEN NO_DATA_FOUND THEN
14706 
14707         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14708         THEN
14709 
14710 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURNABLE_FLAG');
14711 
14712             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14713             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14714 				OE_Order_Util.Get_Attribute_Name('returnable_flag'));
14715             OE_MSG_PUB.Add;
14716 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14717 
14718         END IF;
14719 
14720 
14721         RETURN FALSE;
14722 
14723     WHEN OTHERS THEN
14724 
14725         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14726         THEN
14727             OE_MSG_PUB.Add_Exc_Msg
14728             (   G_PKG_NAME
14729             ,   'Returnable'
14730             );
14731         END IF;
14732 
14733 
14734         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14735 
14736 END Returnable;
14737 
14738 FUNCTION Tax_Group ( p_tax_group_code IN VARCHAR2 )
14739 RETURN BOOLEAN
14740 IS
14741 l_dummy                       VARCHAR2(10);
14742 BEGIN
14743 
14744 
14745     IF p_tax_group_code IS NULL OR
14746         p_tax_group_code = FND_API.G_MISS_CHAR
14747     THEN
14748 
14749         RETURN TRUE;
14750     END IF;
14751 
14752     --  SELECT  'VALID'
14753     --  INTO     l_dummy
14754     --  FROM     DB_TABLE
14755     --  WHERE    DB_COLUMN = p_tax_group_code;
14756 
14757 
14758     RETURN TRUE;
14759 
14760 EXCEPTION
14761 
14762     WHEN NO_DATA_FOUND THEN
14763 
14764         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
14765         THEN
14766 
14767 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_GROUP_CODE');
14768 
14769             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
14770             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
14771 				OE_Order_Util.Get_Attribute_Name('tax_group_code'));
14772             OE_MSG_PUB.Add;
14773 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
14774 
14775         END IF;
14776 
14777 
14778         RETURN FALSE;
14779 
14780     WHEN OTHERS THEN
14781 
14782         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
14783         THEN
14784             OE_MSG_PUB.Add_Exc_Msg
14785             (   G_PKG_NAME
14786             ,   'Tax_Group'
14787             );
14788         END IF;
14789 
14790 
14791         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
14792 
14793 END Tax_Group;
14794 
14795 --  END GEN validate
14796 
14797 --- function header_desc_flex
14798 -- if all attrs. are missing, then return valid.
14799 -- if some are missing, set_column_value for these missing attrs., pass null
14800 -- and  for others pass the actual value
14801 -- call validate.desccols
14802 -- return valid/invalid
14803 
14804 FUNCTION Header_Desc_Flex (p_context IN VARCHAR2,
14805  			   p_attribute1 IN VARCHAR2,
14806                            p_attribute2 IN VARCHAR2,
14807                            p_attribute3 IN VARCHAR2,
14808                            p_attribute4 IN VARCHAR2,
14809                            p_attribute5 IN VARCHAR2,
14810                            p_attribute6 IN VARCHAR2,
14811                            p_attribute7 IN VARCHAR2,
14812                            p_attribute8 IN VARCHAR2,
14813                            p_attribute9 IN VARCHAR2,
14814                            p_attribute10 IN VARCHAR2,
14815                            p_attribute11 IN VARCHAR2,
14816                            p_attribute12 IN VARCHAR2,
14817                            p_attribute13 IN VARCHAR2,
14818                            p_attribute14 IN VARCHAR2,
14819                            p_attribute15 IN VARCHAR2,
14820                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
14821                            p_attribute17 IN VARCHAR2,
14822                            p_attribute18 IN VARCHAR2,
14823                            p_attribute19 IN VARCHAR2,
14824                            p_attribute20 IN VARCHAR2,
14825                            p_document_type IN VARCHAR2 := 'ORDER')
14826 
14827 RETURN BOOLEAN
14828 IS
14829 l_column_value VARCHAR2(240) := null;
14830 BEGIN
14831 
14832    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
14833    --  Assiging the segment names so as to map the values after the FND call.
14834                 g_context_name := 'CONTEXT';
14835 		g_attribute1_name := 'ATTRIBUTE1';
14836 		g_attribute2_name := 'ATTRIBUTE2';
14837 		g_attribute3_name := 'ATTRIBUTE3';
14838 		g_attribute4_name := 'ATTRIBUTE4';
14839 		g_attribute5_name := 'ATTRIBUTE5';
14840 		g_attribute6_name := 'ATTRIBUTE6';
14841 		g_attribute7_name := 'ATTRIBUTE7';
14842 		g_attribute8_name := 'ATTRIBUTE8';
14843 		g_attribute9_name := 'ATTRIBUTE9';
14844 		g_attribute10_name := 'ATTRIBUTE10';
14845 		g_attribute11_name := 'ATTRIBUTE11';
14846 		g_attribute12_name := 'ATTRIBUTE12';
14847 		g_attribute13_name := 'ATTRIBUTE13';
14848 		g_attribute14_name := 'ATTRIBUTE14';
14849 		g_attribute15_name := 'ATTRIBUTE15';
14850 		g_attribute16_name := 'ATTRIBUTE16';  -- for bug 2184255
14851 		g_attribute17_name := 'ATTRIBUTE17';
14852 		g_attribute18_name := 'ATTRIBUTE18';
14853 		g_attribute19_name := 'ATTRIBUTE19';
14854 		g_attribute20_name := 'ATTRIBUTE20';
14855 
14856                 /* commented out for 2056666
14857 
14858 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
14859                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
14860 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
14861                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
14862                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
14863                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
14864                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
14865                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
14866                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
14867                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
14868                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
14869                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
14870                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
14871                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
14872                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
14873                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
14874 
14875 
14876 		     RETURN TRUE;
14877 
14878                 ELSE
14879 
14880                 2056666 */
14881 
14882 
14883 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
14884 
14885 		     l_column_value := null;
14886 
14887 	          ELSE
14888 
14889 		     l_column_value := p_attribute1;
14890 
14891                   END IF;
14892 
14893                   FND_FLEX_DESCVAL.Set_Column_Value
14894                   (   column_name   => 'ATTRIBUTE1'
14895                    ,  column_value  => l_column_value);
14896 
14897 
14898 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
14899 
14900 		     l_column_value := null;
14901 
14902 	          ELSE
14903 
14904 		     l_column_value := p_attribute2;
14905 
14906                   END IF;
14907                   FND_FLEX_DESCVAL.Set_Column_Value
14908                   (   column_name   => 'ATTRIBUTE2'
14909                    ,  column_value  =>  l_column_value);
14910 
14911 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
14912 
14913 		     l_column_value := null;
14914 
14915 	          ELSE
14916 
14917 		     l_column_value := p_attribute3;
14918 
14919                   END IF;
14920                   FND_FLEX_DESCVAL.Set_Column_Value
14921                   (   column_name   => 'ATTRIBUTE3'
14922                    ,  column_value  =>  l_column_value);
14923 
14924 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
14925 
14926 		     l_column_value := null;
14927 
14928 	          ELSE
14929 
14930 		     l_column_value := p_attribute4;
14931 
14932                   END IF;
14933                   FND_FLEX_DESCVAL.Set_Column_Value
14934                   (   column_name   => 'ATTRIBUTE4'
14935                    ,  column_value  =>  l_column_value);
14936 
14937 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
14938 
14939 		     l_column_value := null;
14940 
14941 	          ELSE
14942 
14943 		     l_column_value := p_attribute5;
14944 
14945                   END IF;
14946                   FND_FLEX_DESCVAL.Set_Column_Value
14947                   (   column_name   => 'ATTRIBUTE5'
14948                    ,  column_value  =>  l_column_value);
14949 
14950 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
14951 
14952 		     l_column_value := null;
14953 
14954 	          ELSE
14955 
14956 		     l_column_value := p_attribute6;
14957 
14958                   END IF;
14959                   FND_FLEX_DESCVAL.Set_Column_Value
14960                   (   column_name   => 'ATTRIBUTE6'
14961                    ,  column_value  =>  l_column_value);
14962 
14963 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
14964 
14965 		     l_column_value := null;
14966 
14967 	          ELSE
14968 
14969 		     l_column_value := p_attribute7;
14970 
14971                   END IF;
14972                   FND_FLEX_DESCVAL.Set_Column_Value
14973                   (   column_name   => 'ATTRIBUTE7'
14974                    ,  column_value  =>  l_column_value);
14975 
14976 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
14977 
14978 		     l_column_value := null;
14979 
14980 	          ELSE
14981 
14982 		     l_column_value := p_attribute8;
14983 
14984                   END IF;
14985                   FND_FLEX_DESCVAL.Set_Column_Value
14986                   (   column_name   => 'ATTRIBUTE8'
14987                    ,  column_value  =>  l_column_value);
14988 
14989 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
14990 
14991 		     l_column_value := null;
14992 
14993 	          ELSE
14994 
14995 		     l_column_value := p_attribute9;
14996 
14997                   END IF;
14998                   FND_FLEX_DESCVAL.Set_Column_Value
14999                   (   column_name   => 'ATTRIBUTE9'
15000                    ,  column_value  =>  l_column_value);
15001 
15002 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15003 
15004 		     l_column_value := null;
15005 
15006 	          ELSE
15007 
15008 		     l_column_value := p_attribute10;
15009 
15010                   END IF;
15011                   FND_FLEX_DESCVAL.Set_Column_Value
15012                   (   column_name   => 'ATTRIBUTE10'
15013                    ,  column_value  =>  l_column_value);
15014 
15015 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15016 
15017 		     l_column_value := null;
15018 
15019 	          ELSE
15020 
15021 		     l_column_value := p_attribute11;
15022 
15023                   END IF;
15024                   FND_FLEX_DESCVAL.Set_Column_Value
15025                   (   column_name   => 'ATTRIBUTE11'
15026                    ,  column_value  =>  l_column_value);
15027 
15028 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15029 
15030 		     l_column_value := null;
15031 
15032 	          ELSE
15033 
15034 		     l_column_value := p_attribute12;
15035 
15036                   END IF;
15037                   FND_FLEX_DESCVAL.Set_Column_Value
15038                   (   column_name   => 'ATTRIBUTE12'
15039                    ,  column_value  =>  l_column_value);
15040 
15041 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15042 
15043 		     l_column_value := null;
15044 
15045 	          ELSE
15046 
15047 		     l_column_value := p_attribute13;
15048 
15049                   END IF;
15050                   FND_FLEX_DESCVAL.Set_Column_Value
15051                   (   column_name   => 'ATTRIBUTE13'
15052                    ,  column_value  =>  l_column_value);
15053 
15054 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15055 
15056 		     l_column_value := null;
15057 
15058 	          ELSE
15059 
15060 		     l_column_value := p_attribute14;
15061 
15062                   END IF;
15063                   FND_FLEX_DESCVAL.Set_Column_Value
15064                   (   column_name   => 'ATTRIBUTE14'
15065                    ,  column_value  =>  l_column_value);
15066 
15067 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15068 
15069 		     l_column_value := null;
15070 
15071 	          ELSE
15072 
15073 		     l_column_value := p_attribute15;
15074 
15075                   END IF;
15076                   FND_FLEX_DESCVAL.Set_Column_Value
15077                   (   column_name   => 'ATTRIBUTE15'
15078                    ,  column_value  =>  l_column_value);
15079 
15080 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN  -- For bug 2184255
15081 
15082 		     l_column_value := null;
15083 
15084 	          ELSE
15085 
15086 		     l_column_value := p_attribute16;
15087 
15088                   END IF;
15089                   FND_FLEX_DESCVAL.Set_Column_Value
15090                   (   column_name   => 'ATTRIBUTE16'
15091                    ,  column_value  =>  l_column_value);
15092 
15093 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15094 
15095 		     l_column_value := null;
15096 
15097 	          ELSE
15098 
15099 		     l_column_value := p_attribute17;
15100 
15101                   END IF;
15102                   FND_FLEX_DESCVAL.Set_Column_Value
15103                   (   column_name   => 'ATTRIBUTE17'
15104                    ,  column_value  =>  l_column_value);
15105 
15106 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15107 
15108 		     l_column_value := null;
15109 
15110 	          ELSE
15111 
15112 		     l_column_value := p_attribute18;
15113 
15114                   END IF;
15115                   FND_FLEX_DESCVAL.Set_Column_Value
15116                   (   column_name   => 'ATTRIBUTE18'
15117                    ,  column_value  =>  l_column_value);
15118 
15119 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15120 
15121 		     l_column_value := null;
15122 
15123 	          ELSE
15124 
15125 		     l_column_value := p_attribute19;
15126 
15127                   END IF;
15128                   FND_FLEX_DESCVAL.Set_Column_Value
15129                   (   column_name   => 'ATTRIBUTE19'
15130                    ,  column_value  =>  l_column_value);
15131 
15132 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15133 
15134 		     l_column_value := null;
15135 
15136 	          ELSE
15137 
15138 		     l_column_value := p_attribute20;
15139 
15140                   END IF;
15141                   FND_FLEX_DESCVAL.Set_Column_Value
15142                   (   column_name   => 'ATTRIBUTE20'
15143                    ,  column_value  =>  l_column_value);  -- End bug 2184255
15144 
15145 		  IF p_context = FND_API.G_MISS_CHAR THEN
15146 
15147 		     l_column_value := null;
15148 
15149 	          ELSE
15150 
15151 		     l_column_value := p_context;
15152 
15153                   END IF;
15154 		  FND_FLEX_DESCVAL.Set_Context_Value
15155 		   ( context_value   => l_column_value);
15156 
15157                   IF p_document_type = 'ORDER' THEN
15158                    IF NOT OE_Validate.Desc_Flex('OE_HEADER_ATTRIBUTES') THEN
15159 			RETURN FALSE;
15160                    END IF;
15161                   ELSIF p_document_type = 'BLANKET' THEN
15162                    IF NOT OE_Validate.Desc_Flex('OE_BLKT_HEADER_ATTRIBUTES') THEN
15163 			RETURN FALSE;
15164                    END IF;
15165                   END IF;
15166 
15167                 /* commented out for 2056666
15168                 END IF;
15169                 */
15170 
15171     RETURN TRUE;
15172 
15173 EXCEPTION
15174 
15175    WHEN OTHERS THEN
15176 
15177 
15178      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15179      THEN
15180 
15181         OE_MSG_PUB.Add_Exc_Msg
15182 	( G_PKG_NAME
15183           , 'Header_Desc_Flex');
15184      END IF;
15185 
15186 
15187      RETURN FALSE;
15188 
15189 END Header_Desc_Flex;
15190 
15191 
15192 FUNCTION G_Header_Desc_Flex (p_context IN VARCHAR2,
15193 			   p_attribute1 IN VARCHAR2,
15194                            p_attribute2 IN VARCHAR2,
15195                            p_attribute3 IN VARCHAR2,
15196                            p_attribute4 IN VARCHAR2,
15197                            p_attribute5 IN VARCHAR2,
15198                            p_attribute6 IN VARCHAR2,
15199                            p_attribute7 IN VARCHAR2,
15200                            p_attribute8 IN VARCHAR2,
15201                            p_attribute9 IN VARCHAR2,
15202                            p_attribute10 IN VARCHAR2,
15203                            p_attribute11 IN VARCHAR2,
15204                            p_attribute12 IN VARCHAR2,
15205                            p_attribute13 IN VARCHAR2,
15206                            p_attribute14 IN VARCHAR2,
15207                            p_attribute15 IN VARCHAR2,
15208                            p_attribute16 IN VARCHAR2,
15209                            p_attribute17 IN VARCHAR2,
15210                            p_attribute18 IN VARCHAR2,
15211                            p_attribute19 IN VARCHAR2,
15212                            p_attribute20 IN VARCHAR2)
15213 RETURN BOOLEAN
15214 IS
15215 l_column_value VARCHAR2(240) := null;
15216 BEGIN
15217 
15218 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15219 
15220                 g_context_name := 'GLOBAL_ATTRIBUTE_CATEGORY';
15221 		g_attribute1_name := 'GLOBAL_ATTRIBUTE1';
15222 		g_attribute2_name := 'GLOBAL_ATTRIBUTE2';
15223 		g_attribute3_name := 'GLOBAL_ATTRIBUTE3';
15224 		g_attribute4_name := 'GLOBAL_ATTRIBUTE4';
15225 		g_attribute5_name := 'GLOBAL_ATTRIBUTE5';
15226 		g_attribute6_name := 'GLOBAL_ATTRIBUTE6';
15227 		g_attribute7_name := 'GLOBAL_ATTRIBUTE7';
15228 		g_attribute8_name := 'GLOBAL_ATTRIBUTE8';
15229 		g_attribute9_name := 'GLOBAL_ATTRIBUTE9';
15230 		g_attribute10_name := 'GLOBAL_ATTRIBUTE10';
15231 		g_attribute11_name := 'GLOBAL_ATTRIBUTE11';
15232 		g_attribute12_name := 'GLOBAL_ATTRIBUTE12';
15233 		g_attribute13_name := 'GLOBAL_ATTRIBUTE13';
15234 		g_attribute14_name := 'GLOBAL_ATTRIBUTE14';
15235 		g_attribute15_name := 'GLOBAL_ATTRIBUTE15';
15236 		g_attribute16_name := 'GLOBAL_ATTRIBUTE16';
15237 		g_attribute17_name := 'GLOBAL_ATTRIBUTE17';
15238 		g_attribute18_name := 'GLOBAL_ATTRIBUTE18';
15239 		g_attribute19_name := 'GLOBAL_ATTRIBUTE19';
15240 		g_attribute20_name := 'GLOBAL_ATTRIBUTE20';
15241 
15242 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15243                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15244 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15245                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15246                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15247                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15248                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15249                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15250                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15251                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15252                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15253                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15254                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15255                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15256                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15257                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
15258                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
15259                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
15260                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
15261                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
15262                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15263 
15264 
15265 		     RETURN TRUE;
15266 
15267                 ELSE */
15268 
15269 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15270 
15271 		     l_column_value := null;
15272 
15273 	          ELSE
15274 
15275 		     l_column_value := p_attribute1;
15276 
15277                   END IF;
15278 
15279                   FND_FLEX_DESCVAL.Set_Column_Value
15280                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
15281                    ,  column_value  => l_column_value);
15282 
15283 
15284 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15285 
15286 		     l_column_value := null;
15287 
15288 	          ELSE
15289 
15290 		     l_column_value := p_attribute2;
15291 
15292                   END IF;
15293                   FND_FLEX_DESCVAL.Set_Column_Value
15294                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
15295                    ,  column_value  =>  l_column_value);
15296 
15297 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15298 
15299 		     l_column_value := null;
15300 
15301 	          ELSE
15302 
15303 		     l_column_value := p_attribute3;
15304 
15305                   END IF;
15306                   FND_FLEX_DESCVAL.Set_Column_Value
15307                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
15308                    ,  column_value  =>  l_column_value);
15309 
15310 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15311 
15312 		     l_column_value := null;
15313 
15314 	          ELSE
15315 
15316 		     l_column_value := p_attribute4;
15317 
15318                   END IF;
15319                   FND_FLEX_DESCVAL.Set_Column_Value
15320                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
15321                    ,  column_value  =>  l_column_value);
15322 
15323 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15324 
15325 		     l_column_value := null;
15326 
15327 	          ELSE
15328 
15329 		     l_column_value := p_attribute5;
15330 
15331                   END IF;
15332                   FND_FLEX_DESCVAL.Set_Column_Value
15333                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
15334                    ,  column_value  =>  l_column_value);
15335 
15336 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15337 
15338 		     l_column_value := null;
15339 
15340 	          ELSE
15341 
15342 		     l_column_value := p_attribute6;
15343 
15344                   END IF;
15345                   FND_FLEX_DESCVAL.Set_Column_Value
15346                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
15347                    ,  column_value  =>  l_column_value);
15348 
15349 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15350 
15351 		     l_column_value := null;
15352 
15353 	          ELSE
15354 
15355 		     l_column_value := p_attribute7;
15356 
15357                   END IF;
15358                   FND_FLEX_DESCVAL.Set_Column_Value
15359                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
15360                    ,  column_value  =>  l_column_value);
15361 
15362 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15363 
15364 		     l_column_value := null;
15365 
15366 	          ELSE
15367 
15368 		     l_column_value := p_attribute8;
15369 
15370                   END IF;
15371                   FND_FLEX_DESCVAL.Set_Column_Value
15372                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
15373                    ,  column_value  =>  l_column_value);
15374 
15375 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15376 
15377 		     l_column_value := null;
15378 
15379 	          ELSE
15380 
15381 		     l_column_value := p_attribute9;
15382 
15383                   END IF;
15384                   FND_FLEX_DESCVAL.Set_Column_Value
15385                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
15386                    ,  column_value  =>  l_column_value);
15387 
15388 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15389 
15390 		     l_column_value := null;
15391 
15392 	          ELSE
15393 
15394 		     l_column_value := p_attribute10;
15395 
15396                   END IF;
15397                   FND_FLEX_DESCVAL.Set_Column_Value
15398                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
15399                    ,  column_value  =>  l_column_value);
15400 
15401 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15402 
15403 		     l_column_value := null;
15404 
15405 	          ELSE
15406 
15407 		     l_column_value := p_attribute11;
15408 
15409                   END IF;
15410                   FND_FLEX_DESCVAL.Set_Column_Value
15411                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
15412                    ,  column_value  =>  l_column_value);
15413 
15414 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15415 
15416 		     l_column_value := null;
15417 
15418 	          ELSE
15419 
15420 		     l_column_value := p_attribute12;
15421 
15422                   END IF;
15423                   FND_FLEX_DESCVAL.Set_Column_Value
15424                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
15425                    ,  column_value  =>  l_column_value);
15426 
15427 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15428 
15429 		     l_column_value := null;
15430 
15431 	          ELSE
15432 
15433 		     l_column_value := p_attribute13;
15434 
15435                   END IF;
15436                   FND_FLEX_DESCVAL.Set_Column_Value
15437                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
15438                    ,  column_value  =>  l_column_value);
15439 
15440 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15441 
15442 		     l_column_value := null;
15443 
15444 	          ELSE
15445 
15446 		     l_column_value := p_attribute14;
15447 
15448                   END IF;
15449                   FND_FLEX_DESCVAL.Set_Column_Value
15450                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
15451                    ,  column_value  =>  l_column_value);
15452 
15453 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15454 
15455 		     l_column_value := null;
15456 
15457 	          ELSE
15458 
15459 		     l_column_value := p_attribute15;
15460 
15461                   END IF;
15462                   FND_FLEX_DESCVAL.Set_Column_Value
15463                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
15464                    ,  column_value  =>  l_column_value);
15465 
15466 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
15467 
15468 		     l_column_value := null;
15469 
15470 	          ELSE
15471 
15472 		     l_column_value := p_attribute16;
15473 
15474                   END IF;
15475 
15476                   FND_FLEX_DESCVAL.Set_Column_Value
15477                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
15478                    ,  column_value  =>  l_column_value);
15479 
15480 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
15481 
15482 		     l_column_value := null;
15483 
15484 	          ELSE
15485 
15486 		     l_column_value := p_attribute17;
15487 
15488                   END IF;
15489                   FND_FLEX_DESCVAL.Set_Column_Value
15490                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
15491                    ,  column_value  =>  l_column_value);
15492 
15493 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
15494 
15495 		     l_column_value := null;
15496 
15497 	          ELSE
15498 
15499 		     l_column_value := p_attribute18;
15500 
15501                   END IF;
15502                   FND_FLEX_DESCVAL.Set_Column_Value
15503                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
15504                    ,  column_value  =>  l_column_value);
15505 
15506 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
15507 
15508 		     l_column_value := null;
15509 
15510 	          ELSE
15511 
15512 		     l_column_value := p_attribute19;
15513 
15514                   END IF;
15515                   FND_FLEX_DESCVAL.Set_Column_Value
15516                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
15517                    ,  column_value  =>  l_column_value);
15518 
15519 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
15520 
15521 		     l_column_value := null;
15522 
15523 	          ELSE
15524 
15525 		     l_column_value := p_attribute20;
15526 
15527                   END IF;
15528                   FND_FLEX_DESCVAL.Set_Column_Value
15529                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
15530                    ,  column_value  =>  l_column_value);
15531 
15532 		  IF p_context = FND_API.G_MISS_CHAR THEN
15533 
15534 		     l_column_value := null;
15535 
15536 	          ELSE
15537 
15538 		     l_column_value := p_context;
15539 
15540                   END IF;
15541 		  FND_FLEX_DESCVAL.Set_Context_Value
15542 		   ( context_value   => l_column_value);
15543 
15544                    IF NOT OE_Validate.Desc_Flex('OE_HEADER_GLOBAL_ATTRIBUTE') THEN
15545 			RETURN FALSE;
15546                    END IF;
15547 
15548                 --END IF;
15549 
15550     RETURN TRUE;
15551 
15552 EXCEPTION
15553 
15554    WHEN OTHERS THEN
15555 
15556 
15557      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15558      THEN
15559 
15560         OE_MSG_PUB.Add_Exc_Msg
15561 	( G_PKG_NAME
15562           , 'G_Header_Desc_Flex');
15563      END IF;
15564 
15565      RETURN FALSE;
15566 END G_Header_Desc_Flex;
15567 
15568 FUNCTION TP_Header_Desc_Flex (p_context IN VARCHAR2,
15569 			   p_attribute1 IN VARCHAR2,
15570                            p_attribute2 IN VARCHAR2,
15571                            p_attribute3 IN VARCHAR2,
15572                            p_attribute4 IN VARCHAR2,
15573                            p_attribute5 IN VARCHAR2,
15574                            p_attribute6 IN VARCHAR2,
15575                            p_attribute7 IN VARCHAR2,
15576                            p_attribute8 IN VARCHAR2,
15577                            p_attribute9 IN VARCHAR2,
15578                            p_attribute10 IN VARCHAR2,
15579                            p_attribute11 IN VARCHAR2,
15580                            p_attribute12 IN VARCHAR2,
15581                            p_attribute13 IN VARCHAR2,
15582                            p_attribute14 IN VARCHAR2,
15583                            p_attribute15 IN VARCHAR2)
15584 RETURN BOOLEAN
15585 IS
15586 l_column_value VARCHAR2(240) := null;
15587 BEGIN
15588 
15589    --OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
15590 
15591                 g_context_name := 'TP_CONTEXT';
15592 		g_attribute1_name := 'TP_ATTRIBUTE1';
15593 		g_attribute2_name := 'TP_ATTRIBUTE2';
15594 		g_attribute3_name := 'TP_ATTRIBUTE3';
15595 		g_attribute4_name := 'TP_ATTRIBUTE4';
15596 		g_attribute5_name := 'TP_ATTRIBUTE5';
15597 		g_attribute6_name := 'TP_ATTRIBUTE6';
15598 		g_attribute7_name := 'TP_ATTRIBUTE7';
15599 		g_attribute8_name := 'TP_ATTRIBUTE8';
15600 		g_attribute9_name := 'TP_ATTRIBUTE9';
15601 		g_attribute10_name := 'TP_ATTRIBUTE10';
15602 		g_attribute11_name := 'TP_ATTRIBUTE11';
15603 		g_attribute12_name := 'TP_ATTRIBUTE12';
15604 		g_attribute13_name := 'TP_ATTRIBUTE13';
15605 		g_attribute14_name := 'TP_ATTRIBUTE14';
15606 		g_attribute15_name := 'TP_ATTRIBUTE15';
15607 
15608 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15609                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15610 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15611                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15612                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15613                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15614                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15615                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15616                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15617                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15618                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15619                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15620                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15621                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15622                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15623                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15624 
15625 
15626 		     RETURN TRUE;
15627 
15628                 ELSE */
15629 
15630 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15631 
15632 		     l_column_value := null;
15633 
15634 	          ELSE
15635 
15636 		     l_column_value := p_attribute1;
15637 
15638                   END IF;
15639 
15640                   FND_FLEX_DESCVAL.Set_Column_Value
15641                   (   column_name   => 'TP_ATTRIBUTE1'
15642                    ,  column_value  => l_column_value);
15643 
15644 
15645 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15646 
15647 		     l_column_value := null;
15648 
15649 	          ELSE
15650 
15651 		     l_column_value := p_attribute2;
15652 
15653                   END IF;
15654                   FND_FLEX_DESCVAL.Set_Column_Value
15655                   (   column_name   => 'TP_ATTRIBUTE2'
15656                    ,  column_value  =>  l_column_value);
15657 
15658 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15659 
15660 		     l_column_value := null;
15661 
15662 	          ELSE
15663 
15664 		     l_column_value := p_attribute3;
15665 
15666                   END IF;
15667                   FND_FLEX_DESCVAL.Set_Column_Value
15668                   (   column_name   => 'TP_ATTRIBUTE3'
15669                    ,  column_value  =>  l_column_value);
15670 
15671 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15672 
15673 		     l_column_value := null;
15674 
15675 	          ELSE
15676 
15677 		     l_column_value := p_attribute4;
15678 
15679                   END IF;
15680                   FND_FLEX_DESCVAL.Set_Column_Value
15681                   (   column_name   => 'TP_ATTRIBUTE4'
15682                    ,  column_value  =>  l_column_value);
15683 
15684 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15685 
15686 		     l_column_value := null;
15687 
15688 	          ELSE
15689 
15690 		     l_column_value := p_attribute5;
15691 
15692                   END IF;
15693                   FND_FLEX_DESCVAL.Set_Column_Value
15694                   (   column_name   => 'TP_ATTRIBUTE5'
15695                    ,  column_value  =>  l_column_value);
15696 
15697 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
15698 
15699 		     l_column_value := null;
15700 
15701 	          ELSE
15702 
15703 		     l_column_value := p_attribute6;
15704 
15705                   END IF;
15706                   FND_FLEX_DESCVAL.Set_Column_Value
15707                   (   column_name   => 'TP_ATTRIBUTE6'
15708                    ,  column_value  =>  l_column_value);
15709 
15710 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
15711 
15712 		     l_column_value := null;
15713 
15714 	          ELSE
15715 
15716 		     l_column_value := p_attribute7;
15717 
15718                   END IF;
15719                   FND_FLEX_DESCVAL.Set_Column_Value
15720                   (   column_name   => 'TP_ATTRIBUTE7'
15721                    ,  column_value  =>  l_column_value);
15722 
15723 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
15724 
15725 		     l_column_value := null;
15726 
15727 	          ELSE
15728 
15729 		     l_column_value := p_attribute8;
15730 
15731                   END IF;
15732                   FND_FLEX_DESCVAL.Set_Column_Value
15733                   (   column_name   => 'TP_ATTRIBUTE8'
15734                    ,  column_value  =>  l_column_value);
15735 
15736 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
15737 
15738 		     l_column_value := null;
15739 
15740 	          ELSE
15741 
15742 		     l_column_value := p_attribute9;
15743 
15744                   END IF;
15745                   FND_FLEX_DESCVAL.Set_Column_Value
15746                   (   column_name   => 'TP_ATTRIBUTE9'
15747                    ,  column_value  =>  l_column_value);
15748 
15749 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
15750 
15751 		     l_column_value := null;
15752 
15753 	          ELSE
15754 
15755 		     l_column_value := p_attribute10;
15756 
15757                   END IF;
15758                   FND_FLEX_DESCVAL.Set_Column_Value
15759                   (   column_name   => 'TP_ATTRIBUTE10'
15760                    ,  column_value  =>  l_column_value);
15761 
15762 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
15763 
15764 		     l_column_value := null;
15765 
15766 	          ELSE
15767 
15768 		     l_column_value := p_attribute11;
15769 
15770                   END IF;
15771                   FND_FLEX_DESCVAL.Set_Column_Value
15772                   (   column_name   => 'TP_ATTRIBUTE11'
15773                    ,  column_value  =>  l_column_value);
15774 
15775 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
15776 
15777 		     l_column_value := null;
15778 
15779 	          ELSE
15780 
15781 		     l_column_value := p_attribute12;
15782 
15783                   END IF;
15784                   FND_FLEX_DESCVAL.Set_Column_Value
15785                   (   column_name   => 'TP_ATTRIBUTE12'
15786                    ,  column_value  =>  l_column_value);
15787 
15788 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
15789 
15790 		     l_column_value := null;
15791 
15792 	          ELSE
15793 
15794 		     l_column_value := p_attribute13;
15795 
15796                   END IF;
15797                   FND_FLEX_DESCVAL.Set_Column_Value
15798                   (   column_name   => 'TP_ATTRIBUTE13'
15799                    ,  column_value  =>  l_column_value);
15800 
15801 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
15802 
15803 		     l_column_value := null;
15804 
15805 	          ELSE
15806 
15807 		     l_column_value := p_attribute14;
15808 
15809                   END IF;
15810                   FND_FLEX_DESCVAL.Set_Column_Value
15811                   (   column_name   => 'TP_ATTRIBUTE14'
15812                    ,  column_value  =>  l_column_value);
15813 
15814 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
15815 
15816 		     l_column_value := null;
15817 
15818 	          ELSE
15819 
15820 		     l_column_value := p_attribute15;
15821 
15822                   END IF;
15823                   FND_FLEX_DESCVAL.Set_Column_Value
15824                   (   column_name   => 'TP_ATTRIBUTE15'
15825                    ,  column_value  =>  l_column_value);
15826 
15827 
15828 		  IF p_context = FND_API.G_MISS_CHAR THEN
15829 
15830 		     l_column_value := null;
15831 
15832 	       ELSE
15833 
15834 		     l_column_value := p_context;
15835 
15836             END IF;
15837 		  FND_FLEX_DESCVAL.Set_Context_Value
15838 		   ( context_value   => l_column_value);
15839 
15840              IF NOT OE_Validate.Desc_Flex('OE_HEADER_TP_ATTRIBUTES') THEN
15841 			RETURN FALSE;
15842              END IF;
15843 
15844           --END IF;
15845 
15846     RETURN TRUE;
15847 
15848 EXCEPTION
15849 
15850    WHEN OTHERS THEN
15851 
15852 
15853      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
15854      THEN
15855 
15856         OE_MSG_PUB.Add_Exc_Msg
15857 	( G_PKG_NAME
15858           , 'TP_Header_Desc_Flex');
15859      END IF;
15860 
15861      RETURN FALSE;
15862 END TP_Header_Desc_Flex;
15863 
15864 
15865 
15866 FUNCTION Line_Desc_Flex (p_context IN VARCHAR2,
15867 			         p_attribute1 IN VARCHAR2,
15868                            p_attribute2 IN VARCHAR2,
15869                            p_attribute3 IN VARCHAR2,
15870                            p_attribute4 IN VARCHAR2,
15871                            p_attribute5 IN VARCHAR2,
15872                            p_attribute6 IN VARCHAR2,
15873                            p_attribute7 IN VARCHAR2,
15874                            p_attribute8 IN VARCHAR2,
15875                            p_attribute9 IN VARCHAR2,
15876                            p_attribute10 IN VARCHAR2,
15877                            p_attribute11 IN VARCHAR2,
15878                            p_attribute12 IN VARCHAR2,
15879                            p_attribute13 IN VARCHAR2,
15880                            p_attribute14 IN VARCHAR2,
15881                            p_attribute15 IN VARCHAR2,
15882                            p_attribute16 IN VARCHAR2,  -- for bug 2184255
15883                            p_attribute17 IN VARCHAR2,
15884                            p_attribute18 IN VARCHAR2,
15885                            p_attribute19 IN VARCHAR2,
15886                            p_attribute20 IN VARCHAR2,
15887                            p_document_type IN VARCHAR2 := 'ORDER')
15888 
15889 RETURN BOOLEAN
15890 IS
15891 l_column_value VARCHAR2(240) := null;
15892 BEGIN
15893 
15894 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
15895                 g_context_name := 'CONTEXT';
15896 		g_attribute1_name := 'ATTRIBUTE1';
15897 		g_attribute2_name := 'ATTRIBUTE2';
15898 		g_attribute3_name := 'ATTRIBUTE3';
15899 		g_attribute4_name := 'ATTRIBUTE4';
15900 		g_attribute5_name := 'ATTRIBUTE5';
15901 		g_attribute6_name := 'ATTRIBUTE6';
15902 		g_attribute7_name := 'ATTRIBUTE7';
15903 		g_attribute8_name := 'ATTRIBUTE8';
15904 		g_attribute9_name := 'ATTRIBUTE9';
15905 		g_attribute10_name := 'ATTRIBUTE10';
15906 		g_attribute11_name := 'ATTRIBUTE11';
15907 		g_attribute12_name := 'ATTRIBUTE12';
15908 		g_attribute13_name := 'ATTRIBUTE13';
15909 		g_attribute14_name := 'ATTRIBUTE14';
15910 		g_attribute15_name := 'ATTRIBUTE15';
15911 		g_attribute16_name := 'ATTRIBUTE16';  -- for bug 2184255
15912 		g_attribute17_name := 'ATTRIBUTE17';
15913 		g_attribute18_name := 'ATTRIBUTE18';
15914 		g_attribute19_name := 'ATTRIBUTE19';
15915 		g_attribute20_name := 'ATTRIBUTE20';
15916 
15917                 /* commented out for 2056666
15918 
15919 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
15920                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
15921 		     AND  (p_attribute3 = FND_API.G_MISS_CHAR)
15922                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
15923                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
15924                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
15925                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
15926                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
15927                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
15928                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
15929                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
15930                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
15931                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
15932                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
15933                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
15934                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
15935 
15936 
15937 		     RETURN TRUE;
15938 
15939                 ELSE
15940 
15941                 2056666 */
15942 
15943 
15944 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
15945 
15946 		     l_column_value := null;
15947 
15948 	          ELSE
15949 
15950 		     l_column_value := p_attribute1;
15951 
15952                   END IF;
15953 
15954                   FND_FLEX_DESCVAL.Set_Column_Value
15955                   (   column_name   => 'ATTRIBUTE1'
15956                    ,  column_value  => l_column_value);
15957 
15958 
15959 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
15960 
15961 		     l_column_value := null;
15962 
15963 	          ELSE
15964 
15965 		     l_column_value := p_attribute2;
15966 
15967                   END IF;
15968                   FND_FLEX_DESCVAL.Set_Column_Value
15969                   (   column_name   => 'ATTRIBUTE2'
15970                    ,  column_value  =>  l_column_value);
15971 
15972 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
15973 
15974 		     l_column_value := null;
15975 
15976 	          ELSE
15977 
15978 		     l_column_value := p_attribute3;
15979 
15980                   END IF;
15981                   FND_FLEX_DESCVAL.Set_Column_Value
15982                   (   column_name   => 'ATTRIBUTE3'
15983                    ,  column_value  =>  l_column_value);
15984 
15985 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
15986 
15987 		     l_column_value := null;
15988 
15989 	          ELSE
15990 
15991 		     l_column_value := p_attribute4;
15992 
15993                   END IF;
15994                   FND_FLEX_DESCVAL.Set_Column_Value
15995                   (   column_name   => 'ATTRIBUTE4'
15996                    ,  column_value  =>  l_column_value);
15997 
15998 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
15999 
16000 		     l_column_value := null;
16001 
16002 	          ELSE
16003 
16004 		     l_column_value := p_attribute5;
16005 
16006                   END IF;
16007                   FND_FLEX_DESCVAL.Set_Column_Value
16008                   (   column_name   => 'ATTRIBUTE5'
16009                    ,  column_value  =>  l_column_value);
16010 
16011 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16012 
16013 		     l_column_value := null;
16014 
16015 	          ELSE
16016 
16017 		     l_column_value := p_attribute6;
16018 
16019                   END IF;
16020                   FND_FLEX_DESCVAL.Set_Column_Value
16021                   (   column_name   => 'ATTRIBUTE6'
16022                    ,  column_value  =>  l_column_value);
16023 
16024 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16025 
16026 		     l_column_value := null;
16027 
16028 	          ELSE
16029 
16030 		     l_column_value := p_attribute7;
16031 
16032                   END IF;
16033                   FND_FLEX_DESCVAL.Set_Column_Value
16034                   (   column_name   => 'ATTRIBUTE7'
16035                    ,  column_value  =>  l_column_value);
16036 
16037 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16038 
16039 		     l_column_value := null;
16040 
16041 	          ELSE
16042 
16043 		     l_column_value := p_attribute8;
16044 
16045                   END IF;
16046                   FND_FLEX_DESCVAL.Set_Column_Value
16047                   (   column_name   => 'ATTRIBUTE8'
16048                    ,  column_value  =>  l_column_value);
16049 
16050 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16051 
16052 		     l_column_value := null;
16053 
16054 	          ELSE
16055 
16056 		     l_column_value := p_attribute9;
16057 
16058                   END IF;
16059                   FND_FLEX_DESCVAL.Set_Column_Value
16060                   (   column_name   => 'ATTRIBUTE9'
16061                    ,  column_value  =>  l_column_value);
16062 
16063 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16064 
16065 		     l_column_value := null;
16066 
16067 	          ELSE
16068 
16069 		     l_column_value := p_attribute10;
16070 
16071                   END IF;
16072                   FND_FLEX_DESCVAL.Set_Column_Value
16073                   (   column_name   => 'ATTRIBUTE10'
16074                    ,  column_value  =>  l_column_value);
16075 
16076 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16077 
16078 		     l_column_value := null;
16079 
16080 	          ELSE
16081 
16082 		     l_column_value := p_attribute11;
16083 
16084                   END IF;
16085                   FND_FLEX_DESCVAL.Set_Column_Value
16086                   (   column_name   => 'ATTRIBUTE11'
16087                    ,  column_value  =>  l_column_value);
16088 
16089 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16090 
16091 		     l_column_value := null;
16092 
16093 	          ELSE
16094 
16095 		     l_column_value := p_attribute12;
16096 
16097                   END IF;
16098                   FND_FLEX_DESCVAL.Set_Column_Value
16099                   (   column_name   => 'ATTRIBUTE12'
16100                    ,  column_value  =>  l_column_value);
16101 
16102 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16103 
16104 		     l_column_value := null;
16105 
16106 	          ELSE
16107 
16108 		     l_column_value := p_attribute13;
16109 
16110                   END IF;
16111                   FND_FLEX_DESCVAL.Set_Column_Value
16112                   (   column_name   => 'ATTRIBUTE13'
16113                    ,  column_value  =>  l_column_value);
16114 
16115 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16116 
16117 		     l_column_value := null;
16118 
16119 	          ELSE
16120 
16121 		     l_column_value := p_attribute14;
16122 
16123                   END IF;
16124                   FND_FLEX_DESCVAL.Set_Column_Value
16125                   (   column_name   => 'ATTRIBUTE14'
16126                    ,  column_value  =>  l_column_value);
16127 
16128 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16129 
16130 		     l_column_value := null;
16131 
16132 	          ELSE
16133 
16134 		     l_column_value := p_attribute15;
16135 
16136                   END IF;
16137                   FND_FLEX_DESCVAL.Set_Column_Value
16138                   (   column_name   => 'ATTRIBUTE15'
16139                    ,  column_value  =>  l_column_value);
16140 
16141 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN -- For bug 2184255
16142 
16143 		     l_column_value := null;
16144 
16145 	          ELSE
16146 
16147 		     l_column_value := p_attribute16;
16148 
16149                   END IF;
16150                   FND_FLEX_DESCVAL.Set_Column_Value
16151                   (   column_name   => 'ATTRIBUTE16'
16152                    ,  column_value  =>  l_column_value);
16153 
16154 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
16155 
16156 		     l_column_value := null;
16157 
16158 	          ELSE
16159 
16160 		     l_column_value := p_attribute17;
16161 
16162                   END IF;
16163                   FND_FLEX_DESCVAL.Set_Column_Value
16164                   (   column_name   => 'ATTRIBUTE17'
16165                    ,  column_value  =>  l_column_value);
16166 
16167 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
16168 
16169 		     l_column_value := null;
16170 
16171 	          ELSE
16172 
16173 		     l_column_value := p_attribute18;
16174 
16175                   END IF;
16176                   FND_FLEX_DESCVAL.Set_Column_Value
16177                   (   column_name   => 'ATTRIBUTE18'
16178                    ,  column_value  =>  l_column_value);
16179 
16180 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
16181 
16182 		     l_column_value := null;
16183 
16184 	          ELSE
16185 
16186 		     l_column_value := p_attribute19;
16187 
16188                   END IF;
16189                   FND_FLEX_DESCVAL.Set_Column_Value
16190                   (   column_name   => 'ATTRIBUTE19'
16191                    ,  column_value  =>  l_column_value);
16192 
16193 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16194 
16195 		     l_column_value := null;
16196 
16197 	          ELSE
16198 
16199 		     l_column_value := p_attribute20;
16200 
16201                   END IF;
16202                   FND_FLEX_DESCVAL.Set_Column_Value
16203                   (   column_name   => 'ATTRIBUTE20'
16204                    ,  column_value  =>  l_column_value);  --End bug 2184255
16205 
16206 
16207 		  IF p_context = FND_API.G_MISS_CHAR THEN
16208 
16209 		     l_column_value := null;
16210 
16211 	          ELSE
16212 
16213 		     l_column_value := p_context;
16214 
16215                   END IF;
16216 		  FND_FLEX_DESCVAL.Set_Context_Value
16217 		   ( context_value   => l_column_value);
16218 
16219                   IF p_document_type = 'ORDER' THEN
16220                    IF NOT OE_Validate.Desc_Flex('OE_LINE_ATTRIBUTES') THEN
16221 			RETURN FALSE;
16222                    END IF;
16223                   ELSIF p_document_type = 'BLANKET' THEN
16224                    IF NOT OE_Validate.Desc_Flex('OE_BLKT_LINE_ATTRIBUTES') THEN
16225 			RETURN FALSE;
16226                    END IF;
16227                   END IF;
16228 
16229                 /* commented out for 2056666
16230                 END IF;
16231                 */
16232 
16233     RETURN TRUE;
16234 
16235 EXCEPTION
16236 
16237    WHEN OTHERS THEN
16238 
16239 
16240      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16241      THEN
16242 
16243         OE_MSG_PUB.Add_Exc_Msg
16244 	( G_PKG_NAME
16245           , 'Line_Desc_Flex');
16246      END IF;
16247 
16248 
16249      RETURN FALSE;
16250 
16251 END Line_Desc_Flex;
16252 
16253 FUNCTION G_Line_Desc_Flex (p_context IN VARCHAR2,
16254 			   p_attribute1 IN VARCHAR2,
16255                            p_attribute2 IN VARCHAR2,
16256                            p_attribute3 IN VARCHAR2,
16257                            p_attribute4 IN VARCHAR2,
16258                            p_attribute5 IN VARCHAR2,
16259                            p_attribute6 IN VARCHAR2,
16260                            p_attribute7 IN VARCHAR2,
16261                            p_attribute8 IN VARCHAR2,
16262                            p_attribute9 IN VARCHAR2,
16263                            p_attribute10 IN VARCHAR2,
16264                            p_attribute11 IN VARCHAR2,
16265                            p_attribute12 IN VARCHAR2,
16266                            p_attribute13 IN VARCHAR2,
16267                            p_attribute14 IN VARCHAR2,
16268                            p_attribute15 IN VARCHAR2,
16269                            p_attribute16 IN VARCHAR2,
16270                            p_attribute17 IN VARCHAR2,
16271                            p_attribute18 IN VARCHAR2,
16272                            p_attribute19 IN VARCHAR2,
16273                            p_attribute20 IN VARCHAR2)
16274 RETURN BOOLEAN
16275 IS
16276 l_column_value VARCHAR2(240) := null;
16277 BEGIN
16278 
16279 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'GLOBAL_ATTRIBUTE_CATEGORY');
16280 
16281 
16282                 g_context_name := 'GLOBAL_ATTRIBUTE_CATEGORY';
16283 		g_attribute1_name := 'GLOBAL_ATTRIBUTE1';
16284 		g_attribute2_name := 'GLOBAL_ATTRIBUTE2';
16285 		g_attribute3_name := 'GLOBAL_ATTRIBUTE3';
16286 		g_attribute4_name := 'GLOBAL_ATTRIBUTE4';
16287 		g_attribute5_name := 'GLOBAL_ATTRIBUTE5';
16288 		g_attribute6_name := 'GLOBAL_ATTRIBUTE6';
16289 		g_attribute7_name := 'GLOBAL_ATTRIBUTE7';
16290 		g_attribute8_name := 'GLOBAL_ATTRIBUTE8';
16291 		g_attribute9_name := 'GLOBAL_ATTRIBUTE9';
16292 		g_attribute10_name := 'GLOBAL_ATTRIBUTE10';
16293 		g_attribute11_name := 'GLOBAL_ATTRIBUTE11';
16294 		g_attribute12_name := 'GLOBAL_ATTRIBUTE12';
16295 		g_attribute13_name := 'GLOBAL_ATTRIBUTE13';
16296 		g_attribute14_name := 'GLOBAL_ATTRIBUTE14';
16297 		g_attribute15_name := 'GLOBAL_ATTRIBUTE15';
16298 		g_attribute16_name := 'GLOBAL_ATTRIBUTE16';
16299 		g_attribute17_name := 'GLOBAL_ATTRIBUTE17';
16300 		g_attribute18_name := 'GLOBAL_ATTRIBUTE18';
16301 		g_attribute19_name := 'GLOBAL_ATTRIBUTE19';
16302 		g_attribute20_name := 'GLOBAL_ATTRIBUTE20';
16303 
16304 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16305                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16306 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16307                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16308                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16309                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16310                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16311                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16312                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16313                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16314                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16315                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16316                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16317                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16318                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16319                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16320                 AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16321                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16322                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16323                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16324                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16325 
16326 
16327 		     RETURN TRUE;
16328 
16329                 ELSE */
16330 
16331 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16332 
16333 		     l_column_value := null;
16334 
16335 	          ELSE
16336 
16337 		     l_column_value := p_attribute1;
16338 
16339                   END IF;
16340 
16341                   FND_FLEX_DESCVAL.Set_Column_Value
16342                   (   column_name   => 'GLOBAL_ATTRIBUTE1'
16343                    ,  column_value  => l_column_value);
16344 
16345 
16346 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16347 
16348 		     l_column_value := null;
16349 
16350 	          ELSE
16351 
16352 		     l_column_value := p_attribute2;
16353 
16354                   END IF;
16355                   FND_FLEX_DESCVAL.Set_Column_Value
16356                   (   column_name   => 'GLOBAL_ATTRIBUTE2'
16357                    ,  column_value  =>  l_column_value);
16358 
16359 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16360 
16361 		     l_column_value := null;
16362 
16363 	          ELSE
16364 
16365 		     l_column_value := p_attribute3;
16366 
16367                   END IF;
16368                   FND_FLEX_DESCVAL.Set_Column_Value
16369                   (   column_name   => 'GLOBAL_ATTRIBUTE3'
16370                    ,  column_value  =>  l_column_value);
16371 
16372 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16373 
16374 		     l_column_value := null;
16375 
16376 	          ELSE
16377 
16378 		     l_column_value := p_attribute4;
16379 
16380                   END IF;
16381                   FND_FLEX_DESCVAL.Set_Column_Value
16382                   (   column_name   => 'GLOBAL_ATTRIBUTE4'
16383                    ,  column_value  =>  l_column_value);
16384 
16385 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16386 
16387 		     l_column_value := null;
16388 
16389 	          ELSE
16390 
16391 		     l_column_value := p_attribute5;
16392 
16393                   END IF;
16394                   FND_FLEX_DESCVAL.Set_Column_Value
16395                   (   column_name   => 'GLOBAL_ATTRIBUTE5'
16396                    ,  column_value  =>  l_column_value);
16397 
16398 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16399 
16400 		     l_column_value := null;
16401 
16402 	          ELSE
16403 
16404 		     l_column_value := p_attribute6;
16405 
16406                   END IF;
16407                   FND_FLEX_DESCVAL.Set_Column_Value
16408                   (   column_name   => 'GLOBAL_ATTRIBUTE6'
16409                    ,  column_value  =>  l_column_value);
16410 
16411 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16412 
16413 		     l_column_value := null;
16414 
16415 	          ELSE
16416 
16417 		     l_column_value := p_attribute7;
16418 
16419                   END IF;
16420                   FND_FLEX_DESCVAL.Set_Column_Value
16421                   (   column_name   => 'GLOBAL_ATTRIBUTE7'
16422                    ,  column_value  =>  l_column_value);
16423 
16424 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16425 
16426 		     l_column_value := null;
16427 
16428 	          ELSE
16429 
16430 		     l_column_value := p_attribute8;
16431 
16432                   END IF;
16433                   FND_FLEX_DESCVAL.Set_Column_Value
16434                   (   column_name   => 'GLOBAL_ATTRIBUTE8'
16435                    ,  column_value  =>  l_column_value);
16436 
16437 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16438 
16439 		     l_column_value := null;
16440 
16441 	          ELSE
16442 
16443 		     l_column_value := p_attribute9;
16444 
16445                   END IF;
16446                   FND_FLEX_DESCVAL.Set_Column_Value
16447                   (   column_name   => 'GLOBAL_ATTRIBUTE9'
16448                    ,  column_value  =>  l_column_value);
16449 
16450 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16451 
16452 		     l_column_value := null;
16453 
16454 	          ELSE
16455 
16456 		     l_column_value := p_attribute10;
16457 
16458                   END IF;
16459                   FND_FLEX_DESCVAL.Set_Column_Value
16460                   (   column_name   => 'GLOBAL_ATTRIBUTE10'
16461                    ,  column_value  =>  l_column_value);
16462 
16463 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
16464 
16465 		     l_column_value := null;
16466 
16467 	          ELSE
16468 
16469 		     l_column_value := p_attribute11;
16470 
16471                   END IF;
16472                   FND_FLEX_DESCVAL.Set_Column_Value
16473                   (   column_name   => 'GLOBAL_ATTRIBUTE11'
16474                    ,  column_value  =>  l_column_value);
16475 
16476 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
16477 
16478 		     l_column_value := null;
16479 
16480 	          ELSE
16481 
16482 		     l_column_value := p_attribute12;
16483 
16484                   END IF;
16485                   FND_FLEX_DESCVAL.Set_Column_Value
16486                   (   column_name   => 'GLOBAL_ATTRIBUTE12'
16487                    ,  column_value  =>  l_column_value);
16488 
16489 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
16490 
16491 		     l_column_value := null;
16492 
16493 	          ELSE
16494 
16495 		     l_column_value := p_attribute13;
16496 
16497                   END IF;
16498                   FND_FLEX_DESCVAL.Set_Column_Value
16499                   (   column_name   => 'GLOBAL_ATTRIBUTE13'
16500                    ,  column_value  =>  l_column_value);
16501 
16502 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
16503 
16504 		     l_column_value := null;
16505 
16506 	          ELSE
16507 
16508 		     l_column_value := p_attribute14;
16509 
16510                   END IF;
16511                   FND_FLEX_DESCVAL.Set_Column_Value
16512                   (   column_name   => 'GLOBAL_ATTRIBUTE14'
16513                    ,  column_value  =>  l_column_value);
16514 
16515 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
16516 
16517 		     l_column_value := null;
16518 
16519 	          ELSE
16520 
16521 		     l_column_value := p_attribute15;
16522 
16523                   END IF;
16524                   FND_FLEX_DESCVAL.Set_Column_Value
16525                   (   column_name   => 'GLOBAL_ATTRIBUTE15'
16526                    ,  column_value  =>  l_column_value);
16527 
16528 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
16529 
16530 		     l_column_value := null;
16531 
16532 	          ELSE
16533 
16534 		     l_column_value := p_attribute16;
16535 
16536                   END IF;
16537 
16538                   FND_FLEX_DESCVAL.Set_Column_Value
16539                   (   column_name   => 'GLOBAL_ATTRIBUTE16'
16540                    ,  column_value  =>  l_column_value);
16541 
16542 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
16543 
16544 		     l_column_value := null;
16545 
16546 	          ELSE
16547 
16548 		     l_column_value := p_attribute17;
16549 
16550                   END IF;
16551                   FND_FLEX_DESCVAL.Set_Column_Value
16552                   (   column_name   => 'GLOBAL_ATTRIBUTE17'
16553                    ,  column_value  =>  l_column_value);
16554 
16555 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
16556 
16557 		     l_column_value := null;
16558 
16559 	          ELSE
16560 
16561 		     l_column_value := p_attribute18;
16562 
16563                   END IF;
16564                   FND_FLEX_DESCVAL.Set_Column_Value
16565                   (   column_name   => 'GLOBAL_ATTRIBUTE18'
16566                    ,  column_value  =>  l_column_value);
16567 
16568 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
16569 
16570 		     l_column_value := null;
16571 
16572 	          ELSE
16573 
16574 		     l_column_value := p_attribute19;
16575 
16576                   END IF;
16577                   FND_FLEX_DESCVAL.Set_Column_Value
16578                   (   column_name   => 'GLOBAL_ATTRIBUTE19'
16579                    ,  column_value  =>  l_column_value);
16580 
16581 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
16582 
16583 		     l_column_value := null;
16584 
16585 	          ELSE
16586 
16587 		     l_column_value := p_attribute20;
16588 
16589                   END IF;
16590                   FND_FLEX_DESCVAL.Set_Column_Value
16591                   (   column_name   => 'GLOBAL_ATTRIBUTE20'
16592                    ,  column_value  =>  l_column_value);
16593 
16594 		  IF p_context = FND_API.G_MISS_CHAR THEN
16595 
16596 		     l_column_value := null;
16597 
16598 	          ELSE
16599 
16600 		     l_column_value := p_context;
16601 
16602                   END IF;
16603 		  FND_FLEX_DESCVAL.Set_Context_Value
16604 		   ( context_value   => l_column_value);
16605 /*commenting this code due to bug# 993103
16606                    IF NOT OE_Validate.Desc_Flex('OE_LINE_GLOBAL_ATTRIBUTE') THEN
16607 
16608 			RETURN FALSE;
16609                    END IF;  */
16610 
16611                 --END IF;
16612 
16613     RETURN TRUE;
16614 
16615 EXCEPTION
16616 
16617    WHEN OTHERS THEN
16618 
16619 
16620      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16621      THEN
16622 
16623         OE_MSG_PUB.Add_Exc_Msg
16624 	( G_PKG_NAME
16625           , 'G_Line_Desc_Flex');
16626      END IF;
16627 
16628      RETURN FALSE;
16629 END G_Line_Desc_Flex;
16630 
16631 FUNCTION P_Line_Desc_Flex (p_context IN VARCHAR2,
16632 			   p_attribute1 IN VARCHAR2,
16633                            p_attribute2 IN VARCHAR2,
16634                            p_attribute3 IN VARCHAR2,
16635                            p_attribute4 IN VARCHAR2,
16636                            p_attribute5 IN VARCHAR2,
16637                            p_attribute6 IN VARCHAR2,
16638                            p_attribute7 IN VARCHAR2,
16639                            p_attribute8 IN VARCHAR2,
16640                            p_attribute9 IN VARCHAR2,
16641                            p_attribute10 IN VARCHAR2)
16642 
16643 RETURN BOOLEAN
16644 IS
16645 l_column_value VARCHAR2(240) := null;
16646 BEGIN
16647 
16648    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PRICING_CONTEXT');
16649 
16650                 g_context_name := 'PRICING_CONTEXT';
16651 		g_attribute1_name := 'PRICING_ATTRIBUTE1';
16652 		g_attribute2_name := 'PRICING_ATTRIBUTE2';
16653 		g_attribute3_name := 'PRICING_ATTRIBUTE3';
16654 		g_attribute4_name := 'PRICING_ATTRIBUTE4';
16655 		g_attribute5_name := 'PRICING_ATTRIBUTE5';
16656 		g_attribute6_name := 'PRICING_ATTRIBUTE6';
16657 		g_attribute7_name := 'PRICING_ATTRIBUTE7';
16658 		g_attribute8_name := 'PRICING_ATTRIBUTE8';
16659 		g_attribute9_name := 'PRICING_ATTRIBUTE9';
16660 		g_attribute10_name := 'PRICING_ATTRIBUTE10';
16661 
16662 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
16663                  AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16664 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16665                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16666                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16667                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16668                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16669                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16670                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16671                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16672                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16673 
16674 
16675 		     RETURN TRUE;
16676 
16677                 ELSE*/
16678 
16679 
16680 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16681 
16682 		     l_column_value := null;
16683 
16684 	          ELSE
16685 
16686 		     l_column_value := p_attribute1;
16687 
16688                   END IF;
16689 
16690                   FND_FLEX_DESCVAL.Set_Column_Value
16691                   (   column_name   => 'PRICING_ATTRIBUTE1'
16692                    ,  column_value  => l_column_value);
16693 
16694 
16695 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
16696 
16697 		     l_column_value := null;
16698 
16699 	          ELSE
16700 
16701 		     l_column_value := p_attribute2;
16702 
16703                   END IF;
16704                   FND_FLEX_DESCVAL.Set_Column_Value
16705                   (   column_name   => 'PRICING_ATTRIBUTE2'
16706                    ,  column_value  =>  l_column_value);
16707 
16708 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
16709 
16710 		     l_column_value := null;
16711 
16712 	          ELSE
16713 
16714 		     l_column_value := p_attribute3;
16715 
16716                   END IF;
16717                   FND_FLEX_DESCVAL.Set_Column_Value
16718                   (   column_name   => 'PRICING_ATTRIBUTE3'
16719                    ,  column_value  =>  l_column_value);
16720 
16721 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
16722 
16723 		     l_column_value := null;
16724 
16725 	          ELSE
16726 
16727 		     l_column_value := p_attribute4;
16728 
16729                   END IF;
16730                   FND_FLEX_DESCVAL.Set_Column_Value
16731                   (   column_name   => 'PRICING_ATTRIBUTE4'
16732                    ,  column_value  =>  l_column_value);
16733 
16734 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
16735 
16736 		     l_column_value := null;
16737 
16738 	          ELSE
16739 
16740 		     l_column_value := p_attribute5;
16741 
16742                   END IF;
16743                   FND_FLEX_DESCVAL.Set_Column_Value
16744                   (   column_name   => 'PRICING_ATTRIBUTE5'
16745                    ,  column_value  =>  l_column_value);
16746 
16747 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
16748 
16749 		     l_column_value := null;
16750 
16751 	          ELSE
16752 
16753 		     l_column_value := p_attribute6;
16754 
16755                   END IF;
16756                   FND_FLEX_DESCVAL.Set_Column_Value
16757                   (   column_name   => 'PRICING_ATTRIBUTE6'
16758                    ,  column_value  =>  l_column_value);
16759 
16760 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
16761 
16762 		     l_column_value := null;
16763 
16764 	          ELSE
16765 
16766 		     l_column_value := p_attribute7;
16767 
16768                   END IF;
16769                   FND_FLEX_DESCVAL.Set_Column_Value
16770                   (   column_name   => 'PRICING_ATTRIBUTE7'
16771                    ,  column_value  =>  l_column_value);
16772 
16773 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
16774 
16775 		     l_column_value := null;
16776 
16777 	          ELSE
16778 
16779 		     l_column_value := p_attribute8;
16780 
16781                   END IF;
16782                   FND_FLEX_DESCVAL.Set_Column_Value
16783                   (   column_name   => 'PRICING_ATTRIBUTE8'
16784                    ,  column_value  =>  l_column_value);
16785 
16786 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
16787 
16788 		     l_column_value := null;
16789 
16790 	          ELSE
16791 
16792 		     l_column_value := p_attribute9;
16793 
16794                   END IF;
16795                   FND_FLEX_DESCVAL.Set_Column_Value
16796                   (   column_name   => 'PRICING_ATTRIBUTE9'
16797                    ,  column_value  =>  l_column_value);
16798 
16799 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
16800 
16801 		     l_column_value := null;
16802 
16803 	          ELSE
16804 
16805 		     l_column_value := p_attribute10;
16806 
16807                   END IF;
16808                   FND_FLEX_DESCVAL.Set_Column_Value
16809                   (   column_name   => 'PRICING_ATTRIBUTE10'
16810                    ,  column_value  =>  l_column_value);
16811 
16812 
16813 		  IF p_context = FND_API.G_MISS_CHAR THEN
16814 
16815 		     l_column_value := null;
16816 
16817 	          ELSE
16818 
16819 		     l_column_value := p_context;
16820 
16821                   END IF;
16822 		  FND_FLEX_DESCVAL.Set_Context_Value
16823 		   ( context_value   => l_column_value);
16824 
16825                    IF NOT OE_Validate.Desc_Flex('OE_LINE_PRICING_ATTRIBUTE') THEN
16826 			RETURN FALSE;
16827                    END IF;
16828 
16829 
16830                -- END IF;
16831 
16832     RETURN TRUE;
16833 
16834 EXCEPTION
16835 
16836    WHEN OTHERS THEN
16837 
16838 
16839      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16840      THEN
16841 
16842         OE_MSG_PUB.Add_Exc_Msg
16843 	( G_PKG_NAME
16844           , 'P_Line_Desc_Flex');
16845      END IF;
16846 
16847 
16848      RETURN FALSE;
16849 
16850 END P_Line_Desc_Flex;
16851 
16852 
16853 FUNCTION I_Line_Desc_Flex (p_context IN VARCHAR2,
16854 			         p_attribute1 IN VARCHAR2,
16855                            p_attribute2 IN VARCHAR2,
16856                            p_attribute3 IN VARCHAR2,
16857                            p_attribute4 IN VARCHAR2,
16858                            p_attribute5 IN VARCHAR2,
16859                            p_attribute6 IN VARCHAR2,
16860                            p_attribute7 IN VARCHAR2,
16861                            p_attribute8 IN VARCHAR2,
16862                            p_attribute9 IN VARCHAR2,
16863                            p_attribute10 IN VARCHAR2,
16864                            p_attribute11 IN VARCHAR2,
16865                            p_attribute12 IN VARCHAR2,
16866                            p_attribute13 IN VARCHAR2,
16867                            p_attribute14 IN VARCHAR2,
16868                            p_attribute15 IN VARCHAR2,
16869 			         p_attribute16 IN VARCHAR2,
16870                            p_attribute17 IN VARCHAR2,
16871                            p_attribute18 IN VARCHAR2,
16872                            p_attribute19 IN VARCHAR2,
16873                            p_attribute20 IN VARCHAR2,
16874                            p_attribute21 IN VARCHAR2,
16875                            p_attribute22 IN VARCHAR2,
16876                            p_attribute23 IN VARCHAR2,
16877                            p_attribute24 IN VARCHAR2,
16878                            p_attribute25 IN VARCHAR2,
16879                            p_attribute26 IN VARCHAR2,
16880                            p_attribute27 IN VARCHAR2,
16881                            p_attribute28 IN VARCHAR2,
16882                            p_attribute29 IN VARCHAR2,
16883                            p_attribute30 IN VARCHAR2)
16884 
16885 
16886 RETURN BOOLEAN
16887 IS
16888 l_column_value VARCHAR2(240) := null;
16889 
16890  l_status    VARCHAR2(1) := NULL;
16891  l_industry  VARCHAR2(30) := NULL;
16892  l_rlm_product_id NUMBER := 662;
16893 
16894 BEGIN
16895 
16896 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INDUSTRY_CONTEXT');
16897 
16898    /*** commented out for bug 1701377
16899    -- Check if RLM is installed
16900    if (FND_INSTALLATION.Get(l_rlm_product_id,l_rlm_product_id,
16901                                                 l_status, l_industry )) then
16902 
16903         if (l_status = 'I') then
16904            G_RLM_INSTALLED_FLAG := 'Y';
16905         else
16906            G_RLM_INSTALLED_FLAG := 'N';
16907         end if;
16908 
16909    else
16910         G_RLM_INSTALLED_FLAG := 'N';
16911    end if;
16912    OE_DEBUG_PUB.ADD('OEXSVATB:G_RLM_INSTALLED_FLAG:' || G_RLM_INSTALLED_FLAG);
16913      ***/
16914 
16915                 g_context_name := 'INDUSTRY_CONTEXT';
16916 		g_attribute1_name := 'INDUSTRY_ATTRIBUTE1';
16917 		g_attribute2_name := 'INDUSTRY_ATTRIBUTE2';
16918 		g_attribute3_name := 'INDUSTRY_ATTRIBUTE3';
16919 		g_attribute4_name := 'INDUSTRY_ATTRIBUTE4';
16920 		g_attribute5_name := 'INDUSTRY_ATTRIBUTE5';
16921 		g_attribute6_name := 'INDUSTRY_ATTRIBUTE6';
16922 		g_attribute7_name := 'INDUSTRY_ATTRIBUTE7';
16923 		g_attribute8_name := 'INDUSTRY_ATTRIBUTE8';
16924 		g_attribute9_name := 'INDUSTRY_ATTRIBUTE9';
16925 		g_attribute10_name := 'INDUSTRY_ATTRIBUTE10';
16926 		g_attribute11_name := 'INDUSTRY_ATTRIBUTE11';
16927 		g_attribute12_name := 'INDUSTRY_ATTRIBUTE12';
16928 		g_attribute13_name := 'INDUSTRY_ATTRIBUTE13';
16929 		g_attribute14_name := 'INDUSTRY_ATTRIBUTE14';
16930 		g_attribute15_name := 'INDUSTRY_ATTRIBUTE15';
16931 		g_attribute16_name := 'INDUSTRY_ATTRIBUTE16';
16932 		g_attribute17_name := 'INDUSTRY_ATTRIBUTE17';
16933 		g_attribute18_name := 'INDUSTRY_ATTRIBUTE18';
16934 		g_attribute19_name := 'INDUSTRY_ATTRIBUTE19';
16935 		g_attribute20_name := 'INDUSTRY_ATTRIBUTE20';
16936 		g_attribute21_name := 'INDUSTRY_ATTRIBUTE21';
16937 		g_attribute22_name := 'INDUSTRY_ATTRIBUTE22';
16938 		g_attribute23_name := 'INDUSTRY_ATTRIBUTE23';
16939 		g_attribute24_name := 'INDUSTRY_ATTRIBUTE24';
16940 		g_attribute25_name := 'INDUSTRY_ATTRIBUTE25';
16941 		g_attribute26_name := 'INDUSTRY_ATTRIBUTE26';
16942 		g_attribute27_name := 'INDUSTRY_ATTRIBUTE27';
16943 		g_attribute28_name := 'INDUSTRY_ATTRIBUTE28';
16944 		g_attribute29_name := 'INDUSTRY_ATTRIBUTE29';
16945 		g_attribute30_name := 'INDUSTRY_ATTRIBUTE30';
16946 
16947 		/*IF  (p_attribute1 = FND_API.G_MISS_CHAR)
16948                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
16949 		    AND  (p_attribute3 = FND_API.G_MISS_CHAR)
16950                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
16951                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
16952                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
16953                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
16954                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
16955                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
16956                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
16957                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
16958                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
16959                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
16960                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
16961                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
16962                 AND  (p_attribute16 = FND_API.G_MISS_CHAR)
16963 		    AND  (p_attribute17 = FND_API.G_MISS_CHAR)
16964                 AND  (p_attribute18 = FND_API.G_MISS_CHAR)
16965                 AND  (p_attribute19 = FND_API.G_MISS_CHAR)
16966                 AND  (p_attribute20 = FND_API.G_MISS_CHAR)
16967                 AND  (p_attribute21 = FND_API.G_MISS_CHAR)
16968                 AND  (p_attribute22 = FND_API.G_MISS_CHAR)
16969                 AND  (p_attribute23 = FND_API.G_MISS_CHAR)
16970                 AND  (p_attribute24 = FND_API.G_MISS_CHAR)
16971                 AND  (p_attribute25 = FND_API.G_MISS_CHAR)
16972                 AND  (p_attribute26 = FND_API.G_MISS_CHAR)
16973                 AND  (p_attribute27 = FND_API.G_MISS_CHAR)
16974                 AND  (p_attribute28 = FND_API.G_MISS_CHAR)
16975                 AND  (p_attribute29 = FND_API.G_MISS_CHAR)
16976                 AND  (p_attribute30 = FND_API.G_MISS_CHAR)
16977                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
16978 
16979 
16980 		     RETURN TRUE;
16981 
16982                 ELSE */
16983 
16984 
16985 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
16986 
16987 		     l_column_value := null;
16988 
16989 	          ELSE
16990 
16991 		     l_column_value := p_attribute1;
16992 
16993                   END IF;
16994 
16995                   FND_FLEX_DESCVAL.Set_Column_Value
16996                   (   column_name   => 'INDUSTRY_ATTRIBUTE1'
16997                    ,  column_value  => l_column_value);
16998 
16999 
17000 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17001 
17002 		     l_column_value := null;
17003 
17004 	          ELSE
17005 
17006 		     l_column_value := p_attribute2;
17007 
17008                   END IF;
17009                   FND_FLEX_DESCVAL.Set_Column_Value
17010                   (   column_name   => 'INDUSTRY_ATTRIBUTE2'
17011                    ,  column_value  =>  l_column_value);
17012 
17013 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17014 
17015 		     l_column_value := null;
17016 
17017 	          ELSE
17018 
17019 		     l_column_value := p_attribute3;
17020 
17021                   END IF;
17022                   FND_FLEX_DESCVAL.Set_Column_Value
17023                   (   column_name   => 'INDUSTRY_ATTRIBUTE3'
17024                    ,  column_value  =>  l_column_value);
17025 
17026 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17027 
17028 		     l_column_value := null;
17029 
17030 	          ELSE
17031 
17032 		     l_column_value := p_attribute4;
17033 
17034                   END IF;
17035                   FND_FLEX_DESCVAL.Set_Column_Value
17036                   (   column_name   => 'INDUSTRY_ATTRIBUTE4'
17037                    ,  column_value  =>  l_column_value);
17038 
17039 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17040 
17041 		     l_column_value := null;
17042 
17043 	          ELSE
17044 
17045 		     l_column_value := p_attribute5;
17046 
17047                   END IF;
17048                   FND_FLEX_DESCVAL.Set_Column_Value
17049                   (   column_name   => 'INDUSTRY_ATTRIBUTE5'
17050                    ,  column_value  =>  l_column_value);
17051 
17052 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17053 
17054 		     l_column_value := null;
17055 
17056 	          ELSE
17057 
17058 		     l_column_value := p_attribute6;
17059 
17060                   END IF;
17061                   FND_FLEX_DESCVAL.Set_Column_Value
17062                   (   column_name   => 'INDUSTRY_ATTRIBUTE6'
17063                    ,  column_value  =>  l_column_value);
17064 
17065 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17066 
17067 		     l_column_value := null;
17068 
17069 	          ELSE
17070 
17071 		     l_column_value := p_attribute7;
17072 
17073                   END IF;
17074                   FND_FLEX_DESCVAL.Set_Column_Value
17075                   (   column_name   => 'INDUSTRY_ATTRIBUTE7'
17076                    ,  column_value  =>  l_column_value);
17077 
17078 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17079 
17080 		     l_column_value := null;
17081 
17082 	          ELSE
17083 
17084 		     l_column_value := p_attribute8;
17085 
17086                   END IF;
17087                   FND_FLEX_DESCVAL.Set_Column_Value
17088                   (   column_name   => 'INDUSTRY_ATTRIBUTE8'
17089                    ,  column_value  =>  l_column_value);
17090 
17091 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17092 
17093 		     l_column_value := null;
17094 
17095 	          ELSE
17096 
17097 		     l_column_value := p_attribute9;
17098 
17099                   END IF;
17100                   FND_FLEX_DESCVAL.Set_Column_Value
17101                   (   column_name   => 'INDUSTRY_ATTRIBUTE9'
17102                    ,  column_value  =>  l_column_value);
17103 
17104 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17105 
17106 		     l_column_value := null;
17107 
17108 	          ELSE
17109 
17110 		     l_column_value := p_attribute10;
17111 
17112                   END IF;
17113                   FND_FLEX_DESCVAL.Set_Column_Value
17114                   (   column_name   => 'INDUSTRY_ATTRIBUTE10'
17115                    ,  column_value  =>  l_column_value);
17116 
17117 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17118 
17119 		     l_column_value := null;
17120 
17121 	          ELSE
17122 
17123 		     l_column_value := p_attribute11;
17124 
17125                   END IF;
17126                   FND_FLEX_DESCVAL.Set_Column_Value
17127                   (   column_name   => 'INDUSTRY_ATTRIBUTE11'
17128                    ,  column_value  =>  l_column_value);
17129 
17130 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17131 
17132 		     l_column_value := null;
17133 
17134 	          ELSE
17135 
17136 		     l_column_value := p_attribute12;
17137 
17138                   END IF;
17139                   FND_FLEX_DESCVAL.Set_Column_Value
17140                   (   column_name   => 'INDUSTRY_ATTRIBUTE12'
17141                    ,  column_value  =>  l_column_value);
17142 
17143 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17144 
17145 		     l_column_value := null;
17146 
17147 	          ELSE
17148 
17149 		     l_column_value := p_attribute13;
17150 
17151                   END IF;
17152                   FND_FLEX_DESCVAL.Set_Column_Value
17153                   (   column_name   => 'INDUSTRY_ATTRIBUTE13'
17154                    ,  column_value  =>  l_column_value);
17155 
17156 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17157 
17158 		     l_column_value := null;
17159 
17160 	          ELSE
17161 
17162 		     l_column_value := p_attribute14;
17163 
17164                   END IF;
17165                   FND_FLEX_DESCVAL.Set_Column_Value
17166                   (   column_name   => 'INDUSTRY_ATTRIBUTE14'
17167                    ,  column_value  =>  l_column_value);
17168 
17169 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17170 
17171 		     l_column_value := null;
17172 
17173 	          ELSE
17174 
17175 		     l_column_value := p_attribute15;
17176 
17177                   END IF;
17178                   FND_FLEX_DESCVAL.Set_Column_Value
17179                   (   column_name   => 'INDUSTRY_ATTRIBUTE15'
17180                    ,  column_value  =>  l_column_value);
17181 
17182 		  IF p_attribute16 = FND_API.G_MISS_CHAR THEN
17183 
17184 		     l_column_value := null;
17185 
17186 	          ELSE
17187 
17188 		     l_column_value := p_attribute16;
17189 
17190                   END IF;
17191                   FND_FLEX_DESCVAL.Set_Column_Value
17192                   (   column_name   => 'INDUSTRY_ATTRIBUTE16'
17193                    ,  column_value  =>  l_column_value);
17194 
17195 		  IF p_attribute17 = FND_API.G_MISS_CHAR THEN
17196 
17197 		     l_column_value := null;
17198 
17199 	          ELSE
17200 
17201 		     l_column_value := p_attribute17;
17202 
17203                   END IF;
17204                   FND_FLEX_DESCVAL.Set_Column_Value
17205                   (   column_name   => 'INDUSTRY_ATTRIBUTE17'
17206                    ,  column_value  =>  l_column_value);
17207 
17208 		  IF p_attribute18 = FND_API.G_MISS_CHAR THEN
17209 
17210 		     l_column_value := null;
17211 
17212 	          ELSE
17213 
17214 		     l_column_value := p_attribute18;
17215 
17216                   END IF;
17217                   FND_FLEX_DESCVAL.Set_Column_Value
17218                   (   column_name   => 'INDUSTRY_ATTRIBUTE18'
17219                    ,  column_value  =>  l_column_value);
17220 
17221 		  IF p_attribute19 = FND_API.G_MISS_CHAR THEN
17222 
17223 		     l_column_value := null;
17224 
17225 	          ELSE
17226 
17227 		     l_column_value := p_attribute19;
17228 
17229                   END IF;
17230                   FND_FLEX_DESCVAL.Set_Column_Value
17231                   (   column_name   => 'INDUSTRY_ATTRIBUTE19'
17232                    ,  column_value  =>  l_column_value);
17233 
17234 		  IF p_attribute20 = FND_API.G_MISS_CHAR THEN
17235 
17236 		     l_column_value := null;
17237 
17238 	          ELSE
17239 
17240 		     l_column_value := p_attribute20;
17241 
17242                   END IF;
17243                   FND_FLEX_DESCVAL.Set_Column_Value
17244                   (   column_name   => 'INDUSTRY_ATTRIBUTE20'
17245                    ,  column_value  =>  l_column_value);
17246 
17247 		  IF p_attribute21 = FND_API.G_MISS_CHAR THEN
17248 
17249 		     l_column_value := null;
17250 
17251 	          ELSE
17252 
17253 		     l_column_value := p_attribute21;
17254 
17255                   END IF;
17256                   FND_FLEX_DESCVAL.Set_Column_Value
17257                   (   column_name   => 'INDUSTRY_ATTRIBUTE21'
17258                    ,  column_value  =>  l_column_value);
17259 
17260 		  IF p_attribute22 = FND_API.G_MISS_CHAR THEN
17261 
17262 		     l_column_value := null;
17263 
17264 	          ELSE
17265 
17266 		     l_column_value := p_attribute22;
17267 
17268                   END IF;
17269                   FND_FLEX_DESCVAL.Set_Column_Value
17270                   (   column_name   => 'INDUSTRY_ATTRIBUTE22'
17271                    ,  column_value  =>  l_column_value);
17272 
17273 		  IF p_attribute23 = FND_API.G_MISS_CHAR THEN
17274 
17275 		     l_column_value := null;
17276 
17277 	          ELSE
17278 
17279 		     l_column_value := p_attribute23;
17280 
17281                   END IF;
17282                   FND_FLEX_DESCVAL.Set_Column_Value
17283                   (   column_name   => 'INDUSTRY_ATTRIBUTE23'
17284                    ,  column_value  =>  l_column_value);
17285 
17286 		  IF p_attribute24 = FND_API.G_MISS_CHAR THEN
17287 
17288 		     l_column_value := null;
17289 
17290 	          ELSE
17291 
17292 		     l_column_value := p_attribute24;
17293 
17294                   END IF;
17295                   FND_FLEX_DESCVAL.Set_Column_Value
17296                   (   column_name   => 'INDUSTRY_ATTRIBUTE24'
17297                    ,  column_value  =>  l_column_value);
17298 
17299 		  IF p_attribute25 = FND_API.G_MISS_CHAR THEN
17300 
17301 		     l_column_value := null;
17302 
17303 	          ELSE
17304 
17305 		     l_column_value := p_attribute25;
17306 
17307                   END IF;
17308                   FND_FLEX_DESCVAL.Set_Column_Value
17309                   (   column_name   => 'INDUSTRY_ATTRIBUTE25'
17310                    ,  column_value  =>  l_column_value);
17311 
17312 		  IF p_attribute26 = FND_API.G_MISS_CHAR THEN
17313 
17314 		     l_column_value := null;
17315 
17316 	          ELSE
17317 
17318 		     l_column_value := p_attribute26;
17319 
17320                   END IF;
17321                   FND_FLEX_DESCVAL.Set_Column_Value
17322                   (   column_name   => 'INDUSTRY_ATTRIBUTE26'
17323                    ,  column_value  =>  l_column_value);
17324 
17325 		  IF p_attribute27 = FND_API.G_MISS_CHAR THEN
17326 
17327 		     l_column_value := null;
17328 
17329 	          ELSE
17330 
17331 		     l_column_value := p_attribute27;
17332 
17333                   END IF;
17334                   FND_FLEX_DESCVAL.Set_Column_Value
17335                   (   column_name   => 'INDUSTRY_ATTRIBUTE27'
17336                    ,  column_value  =>  l_column_value);
17337 
17338 		  IF p_attribute28 = FND_API.G_MISS_CHAR THEN
17339 
17340 		     l_column_value := null;
17341 
17342 	          ELSE
17343 
17344 		     l_column_value := p_attribute28;
17345 
17346                   END IF;
17347                   FND_FLEX_DESCVAL.Set_Column_Value
17348                   (   column_name   => 'INDUSTRY_ATTRIBUTE28'
17349                    ,  column_value  =>  l_column_value);
17350 
17351 		  IF p_attribute29 = FND_API.G_MISS_CHAR THEN
17352 
17353 		     l_column_value := null;
17354 
17355 	          ELSE
17356 
17357 		     l_column_value := p_attribute29;
17358 
17359                   END IF;
17360                   FND_FLEX_DESCVAL.Set_Column_Value
17361                   (   column_name   => 'INDUSTRY_ATTRIBUTE29'
17362                    ,  column_value  =>  l_column_value);
17363 
17364 		  IF p_attribute30 = FND_API.G_MISS_CHAR THEN
17365 
17366 		     l_column_value := null;
17367 
17368 	          ELSE
17369 
17370 		     l_column_value := p_attribute30;
17371 
17372                   END IF;
17373                   FND_FLEX_DESCVAL.Set_Column_Value
17374                   (   column_name   => 'INDUSTRY_ATTRIBUTE30'
17375                    ,  column_value  =>  l_column_value);
17376 
17377 
17378 
17379 		  IF p_context = FND_API.G_MISS_CHAR THEN
17380 
17381 		     l_column_value := null;
17382 
17383 	          ELSE
17384 
17385 		     l_column_value := p_context;
17386 
17387                   END IF;
17388 		  FND_FLEX_DESCVAL.Set_Context_Value
17389 		   ( context_value   => l_column_value);
17390 
17391            -- bug 1701377
17392 		 -- check if RLM is installed
17393 	      IF OE_GLOBALS.G_RLM_INSTALLED IS NULL THEN
17394 		   OE_GLOBALS.G_RLM_INSTALLED := OE_GLOBALS.CHECK_PRODUCT_INSTALLED(662);
17395            END IF;
17396 		 -- end of 1701377
17397 
17398 	      IF OE_GLOBALS.G_RLM_INSTALLED = 'Y' THEN
17399 
17400            -- IF (G_RLM_INSTALLED_FLAG = 'Y') THEN
17401               IF NOT OE_Validate.Desc_Flex('RLM_SCHEDULE_LINES') THEN
17402 			RETURN FALSE;
17403               END IF;
17404            ELSE
17405               IF NOT OE_Validate.Desc_Flex('OE_LINE_INDUSTRY_ATTRIBUTE') THEN
17406 			RETURN FALSE;
17407               END IF;
17408            END IF;
17409 
17410                 --END IF;
17411 
17412     RETURN TRUE;
17413 
17414 EXCEPTION
17415 
17416    WHEN OTHERS THEN
17417 
17418 
17419      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17420      THEN
17421 
17422         OE_MSG_PUB.Add_Exc_Msg
17423 	( G_PKG_NAME
17424           , 'I_Line_Desc_Flex');
17425      END IF;
17426 
17427 
17428      RETURN FALSE;
17429 
17430 END I_Line_Desc_Flex;
17431 
17432 
17433 FUNCTION TP_Line_Desc_Flex (p_context IN VARCHAR2,
17434 			         p_attribute1 IN VARCHAR2,
17435                            p_attribute2 IN VARCHAR2,
17436                            p_attribute3 IN VARCHAR2,
17437                            p_attribute4 IN VARCHAR2,
17438                            p_attribute5 IN VARCHAR2,
17439                            p_attribute6 IN VARCHAR2,
17440                            p_attribute7 IN VARCHAR2,
17441                            p_attribute8 IN VARCHAR2,
17442                            p_attribute9 IN VARCHAR2,
17443                            p_attribute10 IN VARCHAR2,
17444                            p_attribute11 IN VARCHAR2,
17445                            p_attribute12 IN VARCHAR2,
17446                            p_attribute13 IN VARCHAR2,
17447                            p_attribute14 IN VARCHAR2,
17448                            p_attribute15 IN VARCHAR2)
17449 
17450 
17451 RETURN BOOLEAN
17452 IS
17453 l_column_value VARCHAR2(240) := null;
17454 BEGIN
17455 
17456 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TP_CONTEXT');
17457 
17458                 g_context_name := 'TP_CONTEXT';
17459 		g_attribute1_name := 'TP_ATTRIBUTE1';
17460 		g_attribute2_name := 'TP_ATTRIBUTE2';
17461 		g_attribute3_name := 'TP_ATTRIBUTE3';
17462 		g_attribute4_name := 'TP_ATTRIBUTE4';
17463 		g_attribute5_name := 'TP_ATTRIBUTE5';
17464 		g_attribute6_name := 'TP_ATTRIBUTE6';
17465 		g_attribute7_name := 'TP_ATTRIBUTE7';
17466 		g_attribute8_name := 'TP_ATTRIBUTE8';
17467 		g_attribute9_name := 'TP_ATTRIBUTE9';
17468 		g_attribute10_name := 'TP_ATTRIBUTE10';
17469 		g_attribute11_name := 'TP_ATTRIBUTE11';
17470 		g_attribute12_name := 'TP_ATTRIBUTE12';
17471 		g_attribute13_name := 'TP_ATTRIBUTE13';
17472 		g_attribute14_name := 'TP_ATTRIBUTE14';
17473 		g_attribute15_name := 'TP_ATTRIBUTE15';
17474 
17475 		/*IF  (p_attribute1 = FND_API.G_MISS_CHAR)
17476                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17477 		      AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17478                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17479                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17480                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17481                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17482                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17483                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17484                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17485                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17486                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17487                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17488                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17489                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17490                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17491 
17492 
17493 		     RETURN TRUE;
17494 
17495                 ELSE */
17496 
17497 
17498 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17499 
17500 		     l_column_value := null;
17501 
17502 	          ELSE
17503 
17504 		     l_column_value := p_attribute1;
17505 
17506                   END IF;
17507 
17508                   FND_FLEX_DESCVAL.Set_Column_Value
17509                   (   column_name   => 'TP_ATTRIBUTE1'
17510                    ,  column_value  => l_column_value);
17511 
17512 
17513 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17514 
17515 		     l_column_value := null;
17516 
17517 	          ELSE
17518 
17519 		     l_column_value := p_attribute2;
17520 
17521                   END IF;
17522                   FND_FLEX_DESCVAL.Set_Column_Value
17523                   (   column_name   => 'TP_ATTRIBUTE2'
17524                    ,  column_value  =>  l_column_value);
17525 
17526 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17527 
17528 		     l_column_value := null;
17529 
17530 	          ELSE
17531 
17532 		     l_column_value := p_attribute3;
17533 
17534                   END IF;
17535                   FND_FLEX_DESCVAL.Set_Column_Value
17536                   (   column_name   => 'TP_ATTRIBUTE3'
17537                    ,  column_value  =>  l_column_value);
17538 
17539 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17540 
17541 		     l_column_value := null;
17542 
17543 	          ELSE
17544 
17545 		     l_column_value := p_attribute4;
17546 
17547                   END IF;
17548                   FND_FLEX_DESCVAL.Set_Column_Value
17549                   (   column_name   => 'TP_ATTRIBUTE4'
17550                    ,  column_value  =>  l_column_value);
17551 
17552 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17553 
17554 		     l_column_value := null;
17555 
17556 	          ELSE
17557 
17558 		     l_column_value := p_attribute5;
17559 
17560                   END IF;
17561                   FND_FLEX_DESCVAL.Set_Column_Value
17562                   (   column_name   => 'TP_ATTRIBUTE5'
17563                    ,  column_value  =>  l_column_value);
17564 
17565 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17566 
17567 		     l_column_value := null;
17568 
17569 	          ELSE
17570 
17571 		     l_column_value := p_attribute6;
17572 
17573                   END IF;
17574                   FND_FLEX_DESCVAL.Set_Column_Value
17575                   (   column_name   => 'TP_ATTRIBUTE6'
17576                    ,  column_value  =>  l_column_value);
17577 
17578 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17579 
17580 		     l_column_value := null;
17581 
17582 	          ELSE
17583 
17584 		     l_column_value := p_attribute7;
17585 
17586                   END IF;
17587                   FND_FLEX_DESCVAL.Set_Column_Value
17588                   (   column_name   => 'TP_ATTRIBUTE7'
17589                    ,  column_value  =>  l_column_value);
17590 
17591 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17592 
17593 		     l_column_value := null;
17594 
17595 	          ELSE
17596 
17597 		     l_column_value := p_attribute8;
17598 
17599                   END IF;
17600                   FND_FLEX_DESCVAL.Set_Column_Value
17601                   (   column_name   => 'TP_ATTRIBUTE8'
17602                    ,  column_value  =>  l_column_value);
17603 
17604 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17605 
17606 		     l_column_value := null;
17607 
17608 	          ELSE
17609 
17610 		     l_column_value := p_attribute9;
17611 
17612                   END IF;
17613                   FND_FLEX_DESCVAL.Set_Column_Value
17614                   (   column_name   => 'TP_ATTRIBUTE9'
17615                    ,  column_value  =>  l_column_value);
17616 
17617 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17618 
17619 		     l_column_value := null;
17620 
17621 	          ELSE
17622 
17623 		     l_column_value := p_attribute10;
17624 
17625                   END IF;
17626                   FND_FLEX_DESCVAL.Set_Column_Value
17627                   (   column_name   => 'TP_ATTRIBUTE10'
17628                    ,  column_value  =>  l_column_value);
17629 
17630 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17631 
17632 		     l_column_value := null;
17633 
17634 	          ELSE
17635 
17636 		     l_column_value := p_attribute11;
17637 
17638                   END IF;
17639                   FND_FLEX_DESCVAL.Set_Column_Value
17640                   (   column_name   => 'TP_ATTRIBUTE11'
17641                    ,  column_value  =>  l_column_value);
17642 
17643 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17644 
17645 		     l_column_value := null;
17646 
17647 	          ELSE
17648 
17649 		     l_column_value := p_attribute12;
17650 
17651                   END IF;
17652                   FND_FLEX_DESCVAL.Set_Column_Value
17653                   (   column_name   => 'TP_ATTRIBUTE12'
17654                    ,  column_value  =>  l_column_value);
17655 
17656 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17657 
17658 		     l_column_value := null;
17659 
17660 	          ELSE
17661 
17662 		     l_column_value := p_attribute13;
17663 
17664                   END IF;
17665                   FND_FLEX_DESCVAL.Set_Column_Value
17666                   (   column_name   => 'TP_ATTRIBUTE13'
17667                    ,  column_value  =>  l_column_value);
17668 
17669 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17670 
17671 		     l_column_value := null;
17672 
17673 	          ELSE
17674 
17675 		     l_column_value := p_attribute14;
17676 
17677                   END IF;
17678                   FND_FLEX_DESCVAL.Set_Column_Value
17679                   (   column_name   => 'TP_ATTRIBUTE14'
17680                    ,  column_value  =>  l_column_value);
17681 
17682 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
17683 
17684 		     l_column_value := null;
17685 
17686 	          ELSE
17687 
17688 		     l_column_value := p_attribute15;
17689 
17690                   END IF;
17691                   FND_FLEX_DESCVAL.Set_Column_Value
17692                   (   column_name   => 'TP_ATTRIBUTE15'
17693                    ,  column_value  =>  l_column_value);
17694 
17695 
17696 
17697 		  IF p_context = FND_API.G_MISS_CHAR THEN
17698 
17699 		     l_column_value := null;
17700 
17701 	          ELSE
17702 
17703 		     l_column_value := p_context;
17704 
17705                   END IF;
17706 		  FND_FLEX_DESCVAL.Set_Context_Value
17707 		   ( context_value   => l_column_value);
17708 
17709                    IF NOT OE_Validate.Desc_Flex('OE_LINE_TP_ATTRIBUTES') THEN
17710 			RETURN FALSE;
17711                    END IF;
17712 
17713 
17714                 --END IF;
17715 
17716     RETURN TRUE;
17717 
17718 EXCEPTION
17719 
17720    WHEN OTHERS THEN
17721 
17722 
17723      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
17724      THEN
17725 
17726         OE_MSG_PUB.Add_Exc_Msg
17727 	( G_PKG_NAME
17728           , 'TP_Line_Desc_Flex');
17729      END IF;
17730 
17731 
17732      RETURN FALSE;
17733 
17734 END TP_Line_Desc_Flex;
17735 
17736 
17737 FUNCTION R_Line_Desc_Flex (p_context IN VARCHAR2,
17738 			   p_attribute1 IN VARCHAR2,
17739                            p_attribute2 IN VARCHAR2,
17740                            p_attribute3 IN VARCHAR2,
17741                            p_attribute4 IN VARCHAR2,
17742                            p_attribute5 IN VARCHAR2,
17743                            p_attribute6 IN VARCHAR2,
17744                            p_attribute7 IN VARCHAR2,
17745                            p_attribute8 IN VARCHAR2,
17746                            p_attribute9 IN VARCHAR2,
17747                            p_attribute10 IN VARCHAR2,
17748                            p_attribute11 IN VARCHAR2,
17749                            p_attribute12 IN VARCHAR2,
17750                            p_attribute13 IN VARCHAR2,
17751                            p_attribute14 IN VARCHAR2,
17752                            p_attribute15 IN VARCHAR2)
17753 
17754 RETURN BOOLEAN
17755 IS
17756 l_column_value VARCHAR2(240) := null;
17757 BEGIN
17758 
17759    --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_CONTEXT');
17760 
17761    /* Following assignments have been added for bug 2755607, since the call
17762       to oe_validate.desc_flex is commented for Return Flex field, the global
17763       variables holding the flex values  need to be assigned with NULL, this
17764       can commented when call to oe_validate.desc_flex is uncommented below */
17765 
17766     		g_context     := NULL;
17767     		g_attribute1  := NULL;
17768     		g_attribute2  := NULL;
17769     		g_attribute3  := NULL;
17770     		g_attribute4  := NULL;
17771     		g_attribute5  := NULL;
17772     		g_attribute6  := NULL;
17773     		g_attribute7  := NULL;
17774     		g_attribute8  := NULL;
17775     		g_attribute9  := NULL;
17776     		g_attribute10 := NULL;
17777     		g_attribute11 := NULL;
17778     		g_attribute12 := NULL;
17779     		g_attribute13 := NULL;
17780     		g_attribute14 := NULL;
17781     		g_attribute15 := NULL;
17782 
17783                 g_context_name := 'RETURN_CONTEXT';
17784 		g_attribute1_name := 'RETURN_ATTRIBUTE1';
17785 		g_attribute2_name := 'RETURN_ATTRIBUTE2';
17786 		g_attribute3_name := 'RETURN_ATTRIBUTE3';
17787 		g_attribute4_name := 'RETURN_ATTRIBUTE4';
17788 		g_attribute5_name := 'RETURN_ATTRIBUTE5';
17789 		g_attribute6_name := 'RETURN_ATTRIBUTE6';
17790 		g_attribute7_name := 'RETURN_ATTRIBUTE7';
17791 		g_attribute8_name := 'RETURN_ATTRIBUTE8';
17792 		g_attribute9_name := 'RETURN_ATTRIBUTE9';
17793 		g_attribute10_name := 'RETURN_ATTRIBUTE10';
17794 		g_attribute11_name := 'RETURN_ATTRIBUTE11';
17795 		g_attribute12_name := 'RETURN_ATTRIBUTE12';
17796 		g_attribute13_name := 'RETURN_ATTRIBUTE13';
17797 		g_attribute14_name := 'RETURN_ATTRIBUTE14';
17798 		g_attribute15_name := 'RETURN_ATTRIBUTE15';
17799 
17800 		/*IF   (p_attribute1 = FND_API.G_MISS_CHAR)
17801                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
17802 		AND  (p_attribute3 = FND_API.G_MISS_CHAR)
17803                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
17804                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
17805                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
17806                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
17807                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
17808                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
17809                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
17810                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
17811                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
17812                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
17813                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
17814                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
17815                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
17816 
17817 
17818 		     RETURN TRUE;
17819 
17820                 ELSE */
17821 
17822 
17823 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
17824 
17825 		     l_column_value := null;
17826 
17827 	          ELSE
17828 
17829 		     l_column_value := p_attribute1;
17830 
17831                   END IF;
17832 
17833                   FND_FLEX_DESCVAL.Set_Column_Value
17834                   (   column_name   => 'RETURN_ATTRIBUTE1'
17835                    ,  column_value  => l_column_value);
17836 
17837 
17838 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
17839 
17840 		     l_column_value := null;
17841 
17842 	          ELSE
17843 
17844 		     l_column_value := p_attribute2;
17845 
17846                   END IF;
17847                   FND_FLEX_DESCVAL.Set_Column_Value
17848                   (   column_name   => 'RETURN_ATTRIBUTE2'
17849                    ,  column_value  =>  l_column_value);
17850 
17851 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
17852 
17853 		     l_column_value := null;
17854 
17855 	          ELSE
17856 
17857 		     l_column_value := p_attribute3;
17858 
17859                   END IF;
17860                   FND_FLEX_DESCVAL.Set_Column_Value
17861                   (   column_name   => 'RETURN_ATTRIBUTE3'
17862                    ,  column_value  =>  l_column_value);
17863 
17864 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
17865 
17866 		     l_column_value := null;
17867 
17868 	          ELSE
17869 
17870 		     l_column_value := p_attribute4;
17871 
17872                   END IF;
17873                   FND_FLEX_DESCVAL.Set_Column_Value
17874                   (   column_name   => 'RETURN_ATTRIBUTE4'
17875                    ,  column_value  =>  l_column_value);
17876 
17877 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
17878 
17879 		     l_column_value := null;
17880 
17881 	          ELSE
17882 
17883 		     l_column_value := p_attribute5;
17884 
17885                   END IF;
17886                   FND_FLEX_DESCVAL.Set_Column_Value
17887                   (   column_name   => 'RETURN_ATTRIBUTE5'
17888                    ,  column_value  =>  l_column_value);
17889 
17890 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
17891 
17892 		     l_column_value := null;
17893 
17894 	          ELSE
17895 
17896 		     l_column_value := p_attribute6;
17897 
17898                   END IF;
17899                   FND_FLEX_DESCVAL.Set_Column_Value
17900                   (   column_name   => 'RETURN_ATTRIBUTE6'
17901                    ,  column_value  =>  l_column_value);
17902 
17903 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
17904 
17905 		     l_column_value := null;
17906 
17907 	          ELSE
17908 
17909 		     l_column_value := p_attribute7;
17910 
17911                   END IF;
17912                   FND_FLEX_DESCVAL.Set_Column_Value
17913                   (   column_name   => 'RETURN_ATTRIBUTE7'
17914                    ,  column_value  =>  l_column_value);
17915 
17916 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
17917 
17918 		     l_column_value := null;
17919 
17920 	          ELSE
17921 
17922 		     l_column_value := p_attribute8;
17923 
17924                   END IF;
17925                   FND_FLEX_DESCVAL.Set_Column_Value
17926                   (   column_name   => 'RETURN_ATTRIBUTE8'
17927                    ,  column_value  =>  l_column_value);
17928 
17929 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
17930 
17931 		     l_column_value := null;
17932 
17933 	          ELSE
17934 
17935 		     l_column_value := p_attribute9;
17936 
17937                   END IF;
17938                   FND_FLEX_DESCVAL.Set_Column_Value
17939                   (   column_name   => 'RETURN_ATTRIBUTE9'
17940                    ,  column_value  =>  l_column_value);
17941 
17942 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
17943 
17944 		     l_column_value := null;
17945 
17946 	          ELSE
17947 
17948 		     l_column_value := p_attribute10;
17949 
17950                   END IF;
17951                   FND_FLEX_DESCVAL.Set_Column_Value
17952                   (   column_name   => 'RETURN_ATTRIBUTE10'
17953                    ,  column_value  =>  l_column_value);
17954 
17955 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
17956 
17957 		     l_column_value := null;
17958 
17959 	          ELSE
17960 
17961 		     l_column_value := p_attribute11;
17962 
17963                   END IF;
17964                   FND_FLEX_DESCVAL.Set_Column_Value
17965                   (   column_name   => 'RETURN_ATTRIBUTE11'
17966                    ,  column_value  =>  l_column_value);
17967 
17968 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
17969 
17970 		     l_column_value := null;
17971 
17972 	          ELSE
17973 
17974 		     l_column_value := p_attribute12;
17975 
17976                   END IF;
17977                   FND_FLEX_DESCVAL.Set_Column_Value
17978                   (   column_name   => 'RETURN_ATTRIBUTE12'
17979                    ,  column_value  =>  l_column_value);
17980 
17981 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
17982 
17983 		     l_column_value := null;
17984 
17985 	          ELSE
17986 
17987 		     l_column_value := p_attribute13;
17988 
17989                   END IF;
17990                   FND_FLEX_DESCVAL.Set_Column_Value
17991                   (   column_name   => 'RETURN_ATTRIBUTE13'
17992                    ,  column_value  =>  l_column_value);
17993 
17994 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
17995 
17996 		     l_column_value := null;
17997 
17998 	          ELSE
17999 
18000 		     l_column_value := p_attribute14;
18001 
18002                   END IF;
18003                   FND_FLEX_DESCVAL.Set_Column_Value
18004                   (   column_name   => 'RETURN_ATTRIBUTE14'
18005                    ,  column_value  =>  l_column_value);
18006 
18007 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
18008 
18009 		     l_column_value := null;
18010 
18011 	          ELSE
18012 
18013 		     l_column_value := p_attribute15;
18014 
18015                   END IF;
18016                   FND_FLEX_DESCVAL.Set_Column_Value
18017                   (   column_name   => 'RETURN_ATTRIBUTE15'
18018                    ,  column_value  =>  l_column_value);
18019 
18020 		  IF p_context = FND_API.G_MISS_CHAR THEN
18021 
18022 		    l_column_value := null;
18023 
18024 	       ELSE
18025 
18026 		    l_column_value := p_context;
18027 
18028             END IF;
18029 
18030 		  FND_FLEX_DESCVAL.Set_Context_Value
18031 		   ( context_value   => l_column_value);
18032 
18033 
18034 	-- Remove after fixing :block.field_name stuff
18035 
18036         --    IF NOT OE_Validate.Desc_Flex('OE_LINE_RETURN_ATTRIBUTE') THEN
18037         --					RETURN FALSE;
18038         --    END IF;
18039 
18040 --         END IF;
18041 
18042     RETURN TRUE;
18043 
18044 EXCEPTION
18045 
18046    WHEN OTHERS THEN
18047 
18048 
18049      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18050      THEN
18051 
18052         OE_MSG_PUB.Add_Exc_Msg
18053 	( G_PKG_NAME
18054           , 'R_Line_Desc_Flex');
18055      END IF;
18056 
18057 
18058      RETURN FALSE;
18059 
18060 END R_Line_Desc_Flex;
18061 
18062 
18063 FUNCTION Price_Adj_Desc_Flex (p_context IN VARCHAR2,
18064 			   p_attribute1 IN VARCHAR2,
18065                            p_attribute2 IN VARCHAR2,
18066                            p_attribute3 IN VARCHAR2,
18067                            p_attribute4 IN VARCHAR2,
18068                            p_attribute5 IN VARCHAR2,
18069                            p_attribute6 IN VARCHAR2,
18070                            p_attribute7 IN VARCHAR2,
18071                            p_attribute8 IN VARCHAR2,
18072                            p_attribute9 IN VARCHAR2,
18073                            p_attribute10 IN VARCHAR2,
18074                            p_attribute11 IN VARCHAR2,
18075                            p_attribute12 IN VARCHAR2,
18076                            p_attribute13 IN VARCHAR2,
18077                            p_attribute14 IN VARCHAR2,
18078                            p_attribute15 IN VARCHAR2)
18079 
18080 RETURN BOOLEAN
18081 IS
18082 l_column_value VARCHAR2(240) := null;
18083 BEGIN
18084 
18085 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
18086 
18087 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
18088                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
18089 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
18090                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
18091                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
18092                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
18093                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
18094                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
18095                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
18096                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
18097                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
18098                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
18099                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
18100                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
18101                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
18102                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
18103 
18104 
18105 		     RETURN TRUE;
18106 
18107                 ELSE
18108 
18109 
18110 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
18111 
18112 		     l_column_value := null;
18113 
18114 	          ELSE
18115 
18116 		     l_column_value := p_attribute1;
18117 
18118                   END IF;
18119 
18120                   FND_FLEX_DESCVAL.Set_Column_Value
18121                   (   column_name   => 'ATTRIBUTE1'
18122                    ,  column_value  => l_column_value);
18123 
18124 
18125 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
18126 
18127 		     l_column_value := null;
18128 
18129 	          ELSE
18130 
18131 		     l_column_value := p_attribute2;
18132 
18133                   END IF;
18134                   FND_FLEX_DESCVAL.Set_Column_Value
18135                   (   column_name   => 'ATTRIBUTE2'
18136                    ,  column_value  =>  l_column_value);
18137 
18138 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
18139 
18140 		     l_column_value := null;
18141 
18142 	          ELSE
18143 
18144 		     l_column_value := p_attribute3;
18145 
18146                   END IF;
18147                   FND_FLEX_DESCVAL.Set_Column_Value
18148                   (   column_name   => 'ATTRIBUTE3'
18149                    ,  column_value  =>  l_column_value);
18150 
18151 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
18152 
18153 		     l_column_value := null;
18154 
18155 	          ELSE
18156 
18157 		     l_column_value := p_attribute4;
18158 
18159                   END IF;
18160                   FND_FLEX_DESCVAL.Set_Column_Value
18161                   (   column_name   => 'ATTRIBUTE4'
18162                    ,  column_value  =>  l_column_value);
18163 
18164 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
18165 
18166 		     l_column_value := null;
18167 
18168 	          ELSE
18169 
18170 		     l_column_value := p_attribute5;
18171 
18172                   END IF;
18173                   FND_FLEX_DESCVAL.Set_Column_Value
18174                   (   column_name   => 'ATTRIBUTE5'
18175                    ,  column_value  =>  l_column_value);
18176 
18177 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
18178 
18179 		     l_column_value := null;
18180 
18181 	          ELSE
18182 
18183 		     l_column_value := p_attribute6;
18184 
18185                   END IF;
18186                   FND_FLEX_DESCVAL.Set_Column_Value
18187                   (   column_name   => 'ATTRIBUTE6'
18188                    ,  column_value  =>  l_column_value);
18189 
18190 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
18191 
18192 		     l_column_value := null;
18193 
18194 	          ELSE
18195 
18196 		     l_column_value := p_attribute7;
18197 
18198                   END IF;
18199                   FND_FLEX_DESCVAL.Set_Column_Value
18200                   (   column_name   => 'ATTRIBUTE7'
18201                    ,  column_value  =>  l_column_value);
18202 
18203 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
18204 
18205 		     l_column_value := null;
18206 
18207 	          ELSE
18208 
18209 		     l_column_value := p_attribute8;
18210 
18211                   END IF;
18212                   FND_FLEX_DESCVAL.Set_Column_Value
18213                   (   column_name   => 'ATTRIBUTE8'
18214                    ,  column_value  =>  l_column_value);
18215 
18216 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
18217 
18218 		     l_column_value := null;
18219 
18220 	          ELSE
18221 
18222 		     l_column_value := p_attribute9;
18223 
18224                   END IF;
18225                   FND_FLEX_DESCVAL.Set_Column_Value
18226                   (   column_name   => 'ATTRIBUTE9'
18227                    ,  column_value  =>  l_column_value);
18228 
18229 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
18230 
18231 		     l_column_value := null;
18232 
18233 	          ELSE
18234 
18235 		     l_column_value := p_attribute10;
18236 
18237                   END IF;
18238                   FND_FLEX_DESCVAL.Set_Column_Value
18239                   (   column_name   => 'ATTRIBUTE10'
18240                    ,  column_value  =>  l_column_value);
18241 
18242 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
18243 
18244 		     l_column_value := null;
18245 
18246 	          ELSE
18247 
18248 		     l_column_value := p_attribute11;
18249 
18250                   END IF;
18251                   FND_FLEX_DESCVAL.Set_Column_Value
18252                   (   column_name   => 'ATTRIBUTE11'
18253                    ,  column_value  =>  l_column_value);
18254 
18255 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
18256 
18257 		     l_column_value := null;
18258 
18259 	          ELSE
18260 
18261 		     l_column_value := p_attribute12;
18262 
18263                   END IF;
18264                   FND_FLEX_DESCVAL.Set_Column_Value
18265                   (   column_name   => 'ATTRIBUTE12'
18266                    ,  column_value  =>  l_column_value);
18267 
18268 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
18269 
18270 		     l_column_value := null;
18271 
18272 	          ELSE
18273 
18274 		     l_column_value := p_attribute13;
18275 
18276                   END IF;
18277                   FND_FLEX_DESCVAL.Set_Column_Value
18278                   (   column_name   => 'ATTRIBUTE13'
18279                    ,  column_value  =>  l_column_value);
18280 
18281 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
18282 
18283 		     l_column_value := null;
18284 
18285 	          ELSE
18286 
18287 		     l_column_value := p_attribute14;
18288 
18289                   END IF;
18290                   FND_FLEX_DESCVAL.Set_Column_Value
18291                   (   column_name   => 'ATTRIBUTE14'
18292                    ,  column_value  =>  l_column_value);
18293 
18294 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
18295 
18296 		     l_column_value := null;
18297 
18298 	          ELSE
18299 
18300 		     l_column_value := p_attribute15;
18301 
18302                   END IF;
18303                   FND_FLEX_DESCVAL.Set_Column_Value
18304                   (   column_name   => 'ATTRIBUTE15'
18305                    ,  column_value  =>  l_column_value);
18306 
18307 		  IF p_context = FND_API.G_MISS_CHAR THEN
18308 
18309 		     l_column_value := null;
18310 
18311 	          ELSE
18312 
18313 		     l_column_value := p_context;
18314 
18315                   END IF;
18316 		  FND_FLEX_DESCVAL.Set_Context_Value
18317 		   ( context_value   => l_column_value);
18318 
18319                    IF NOT OE_Validate.Desc_Flex('OE_PRICE_ADJUSTMENT') THEN
18320 			RETURN FALSE;
18321                    END IF;
18322 
18323 
18324                 END IF;
18325 
18326     RETURN TRUE;
18327 
18328 EXCEPTION
18329 
18330    WHEN OTHERS THEN
18331 
18332 
18333      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18334      THEN
18335 
18336         OE_MSG_PUB.Add_Exc_Msg
18337 	( G_PKG_NAME
18338           , 'Price_Adj_Desc_Flex');
18339      END IF;
18340 
18341 
18342      RETURN FALSE;
18343 
18344 
18345 END Price_Adj_Desc_Flex;
18346 
18347 FUNCTION Sales_Credits_Desc_Flex (p_context IN VARCHAR2,
18348 			   p_attribute1 IN VARCHAR2,
18349                            p_attribute2 IN VARCHAR2,
18350                            p_attribute3 IN VARCHAR2,
18351                            p_attribute4 IN VARCHAR2,
18352                            p_attribute5 IN VARCHAR2,
18353                            p_attribute6 IN VARCHAR2,
18354                            p_attribute7 IN VARCHAR2,
18355                            p_attribute8 IN VARCHAR2,
18356                            p_attribute9 IN VARCHAR2,
18357                            p_attribute10 IN VARCHAR2,
18358                            p_attribute11 IN VARCHAR2,
18359                            p_attribute12 IN VARCHAR2,
18360                            p_attribute13 IN VARCHAR2,
18361                            p_attribute14 IN VARCHAR2,
18362                            p_attribute15 IN VARCHAR2)
18363 
18364 RETURN BOOLEAN
18365 IS
18366 l_column_value VARCHAR2(240) := null;
18367 BEGIN
18368 
18369 --        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTEXT');
18370 -- Added the following lines to fix the bug 3006018 */
18371    --  Assiging the segment names so as to map the values after the FND call.
18372                 g_context_name := 'CONTEXT';
18373                 g_attribute1_name := 'ATTRIBUTE1';
18374                 g_attribute2_name := 'ATTRIBUTE2';
18375                 g_attribute3_name := 'ATTRIBUTE3';
18376                 g_attribute4_name := 'ATTRIBUTE4';
18377                 g_attribute5_name := 'ATTRIBUTE5';
18378                 g_attribute6_name := 'ATTRIBUTE6';
18379                 g_attribute7_name := 'ATTRIBUTE7';
18380                 g_attribute8_name := 'ATTRIBUTE8';
18381                 g_attribute9_name := 'ATTRIBUTE9';
18382                 g_attribute10_name := 'ATTRIBUTE10';
18383                 g_attribute11_name := 'ATTRIBUTE11';
18384                 g_attribute12_name := 'ATTRIBUTE12';
18385                 g_attribute13_name := 'ATTRIBUTE13';
18386                 g_attribute14_name := 'ATTRIBUTE14';
18387                 g_attribute15_name := 'ATTRIBUTE15';
18388 
18389 /* Commented the following lines to fix the bug 3006018 */
18390 /*
18391 
18392 
18393 		IF   (p_attribute1 = FND_API.G_MISS_CHAR)
18394                 AND  (p_attribute2 = FND_API.G_MISS_CHAR)
18395 	        AND  (p_attribute3 = FND_API.G_MISS_CHAR)
18396                 AND  (p_attribute4 = FND_API.G_MISS_CHAR)
18397                 AND  (p_attribute5 = FND_API.G_MISS_CHAR)
18398                 AND  (p_attribute6 = FND_API.G_MISS_CHAR)
18399                 AND  (p_attribute7 = FND_API.G_MISS_CHAR)
18400                 AND  (p_attribute8 = FND_API.G_MISS_CHAR)
18401                 AND  (p_attribute9 = FND_API.G_MISS_CHAR)
18402                 AND  (p_attribute10 = FND_API.G_MISS_CHAR)
18403                 AND  (p_attribute11 = FND_API.G_MISS_CHAR)
18404                 AND  (p_attribute12 = FND_API.G_MISS_CHAR)
18405                 AND  (p_attribute13 = FND_API.G_MISS_CHAR)
18406                 AND  (p_attribute14 = FND_API.G_MISS_CHAR)
18407                 AND  (p_attribute15 = FND_API.G_MISS_CHAR)
18408                 AND  (p_context     = FND_API.G_MISS_CHAR) THEN
18409 
18410 
18411 		     RETURN TRUE;
18412 
18413                 ELSE
18414 
18415 
18416 */
18417 		  IF p_attribute1 = FND_API.G_MISS_CHAR THEN
18418 
18419 		     l_column_value := null;
18420 
18421 	          ELSE
18422 
18423 		     l_column_value := p_attribute1;
18424 
18425                   END IF;
18426 
18427                   FND_FLEX_DESCVAL.Set_Column_Value
18428                   (   column_name   => 'ATTRIBUTE1'
18429                    ,  column_value  => l_column_value);
18430 
18431 
18432 		  IF p_attribute2 = FND_API.G_MISS_CHAR THEN
18433 
18434 		     l_column_value := null;
18435 
18436 	          ELSE
18437 
18438 		     l_column_value := p_attribute2;
18439 
18440                   END IF;
18441                   FND_FLEX_DESCVAL.Set_Column_Value
18442                   (   column_name   => 'ATTRIBUTE2'
18443                    ,  column_value  =>  l_column_value);
18444 
18445 		  IF p_attribute3 = FND_API.G_MISS_CHAR THEN
18446 
18447 		     l_column_value := null;
18448 
18449 	          ELSE
18450 
18451 		     l_column_value := p_attribute3;
18452 
18453                   END IF;
18454                   FND_FLEX_DESCVAL.Set_Column_Value
18455                   (   column_name   => 'ATTRIBUTE3'
18456                    ,  column_value  =>  l_column_value);
18457 
18458 		  IF p_attribute4 = FND_API.G_MISS_CHAR THEN
18459 
18460 		     l_column_value := null;
18461 
18462 	          ELSE
18463 
18464 		     l_column_value := p_attribute4;
18465 
18466                   END IF;
18467                   FND_FLEX_DESCVAL.Set_Column_Value
18468                   (   column_name   => 'ATTRIBUTE4'
18469                    ,  column_value  =>  l_column_value);
18470 
18471 		  IF p_attribute5 = FND_API.G_MISS_CHAR THEN
18472 
18473 		     l_column_value := null;
18474 
18475 	          ELSE
18476 
18477 		     l_column_value := p_attribute5;
18478 
18479                   END IF;
18480                   FND_FLEX_DESCVAL.Set_Column_Value
18481                   (   column_name   => 'ATTRIBUTE5'
18482                    ,  column_value  =>  l_column_value);
18483 
18484 		  IF p_attribute6 = FND_API.G_MISS_CHAR THEN
18485 
18486 		     l_column_value := null;
18487 
18488 	          ELSE
18489 
18490 		     l_column_value := p_attribute6;
18491 
18492                   END IF;
18493                   FND_FLEX_DESCVAL.Set_Column_Value
18494                   (   column_name   => 'ATTRIBUTE6'
18495                    ,  column_value  =>  l_column_value);
18496 
18497 		  IF p_attribute7 = FND_API.G_MISS_CHAR THEN
18498 
18499 		     l_column_value := null;
18500 
18501 	          ELSE
18502 
18503 		     l_column_value := p_attribute7;
18504 
18505                   END IF;
18506                   FND_FLEX_DESCVAL.Set_Column_Value
18507                   (   column_name   => 'ATTRIBUTE7'
18508                    ,  column_value  =>  l_column_value);
18509 
18510 		  IF p_attribute8 = FND_API.G_MISS_CHAR THEN
18511 
18512 		     l_column_value := null;
18513 
18514 	          ELSE
18515 
18516 		     l_column_value := p_attribute8;
18517 
18518                   END IF;
18519                   FND_FLEX_DESCVAL.Set_Column_Value
18520                   (   column_name   => 'ATTRIBUTE8'
18521                    ,  column_value  =>  l_column_value);
18522 
18523 		  IF p_attribute9 = FND_API.G_MISS_CHAR THEN
18524 
18525 		     l_column_value := null;
18526 
18527 	          ELSE
18528 
18529 		     l_column_value := p_attribute9;
18530 
18531                   END IF;
18532                   FND_FLEX_DESCVAL.Set_Column_Value
18533                   (   column_name   => 'ATTRIBUTE9'
18534                    ,  column_value  =>  l_column_value);
18535 
18536 		  IF p_attribute10 = FND_API.G_MISS_CHAR THEN
18537 
18538 		     l_column_value := null;
18539 
18540 	          ELSE
18541 
18542 		     l_column_value := p_attribute10;
18543 
18544                   END IF;
18545                   FND_FLEX_DESCVAL.Set_Column_Value
18546                   (   column_name   => 'ATTRIBUTE10'
18547                    ,  column_value  =>  l_column_value);
18548 
18549 		  IF p_attribute11 = FND_API.G_MISS_CHAR THEN
18550 
18551 		     l_column_value := null;
18552 
18553 	          ELSE
18554 
18555 		     l_column_value := p_attribute11;
18556 
18557                   END IF;
18558                   FND_FLEX_DESCVAL.Set_Column_Value
18559                   (   column_name   => 'ATTRIBUTE11'
18560                    ,  column_value  =>  l_column_value);
18561 
18562 		  IF p_attribute12 = FND_API.G_MISS_CHAR THEN
18563 
18564 		     l_column_value := null;
18565 
18566 	          ELSE
18567 
18568 		     l_column_value := p_attribute12;
18569 
18570                   END IF;
18571                   FND_FLEX_DESCVAL.Set_Column_Value
18572                   (   column_name   => 'ATTRIBUTE12'
18573                    ,  column_value  =>  l_column_value);
18574 
18575 		  IF p_attribute13 = FND_API.G_MISS_CHAR THEN
18576 
18577 		     l_column_value := null;
18578 
18579 	          ELSE
18580 
18581 		     l_column_value := p_attribute13;
18582 
18583                   END IF;
18584                   FND_FLEX_DESCVAL.Set_Column_Value
18585                   (   column_name   => 'ATTRIBUTE13'
18586                    ,  column_value  =>  l_column_value);
18587 
18588 		  IF p_attribute14 = FND_API.G_MISS_CHAR THEN
18589 
18590 		     l_column_value := null;
18591 
18592 	          ELSE
18593 
18594 		     l_column_value := p_attribute14;
18595 
18596                   END IF;
18597                   FND_FLEX_DESCVAL.Set_Column_Value
18598                   (   column_name   => 'ATTRIBUTE14'
18599                    ,  column_value  =>  l_column_value);
18600 
18601 		  IF p_attribute15 = FND_API.G_MISS_CHAR THEN
18602 
18603 		     l_column_value := null;
18604 
18605 	          ELSE
18606 
18607 		     l_column_value := p_attribute15;
18608 
18609                   END IF;
18610                   FND_FLEX_DESCVAL.Set_Column_Value
18611                   (   column_name   => 'ATTRIBUTE15'
18612                    ,  column_value  =>  l_column_value);
18613 
18614 		  IF p_context = FND_API.G_MISS_CHAR THEN
18615 
18616 		     l_column_value := null;
18617 
18618 	          ELSE
18619 
18620 		     l_column_value := p_context;
18621 
18622                   END IF;
18623 		  FND_FLEX_DESCVAL.Set_Context_Value
18624 		   ( context_value   => l_column_value);
18625 
18626                    IF NOT OE_Validate.Desc_Flex('OE_SALES_CREDITS_ATTRIBUTES') THEN
18627                         OE_DEBUG_PUB.add('Error at validation of OE_SALES_CREDITS_ATTRIBUTES ',1);
18628 			RETURN FALSE;
18629                    END IF;
18630 
18631 
18632 /* Commented the following line to fix the bug 3006018
18633                 END IF;
18634 */
18635 
18636 
18637     RETURN TRUE;
18638 
18639 EXCEPTION
18640 
18641    WHEN OTHERS THEN
18642 
18643 
18644      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18645      THEN
18646 
18647         OE_MSG_PUB.Add_Exc_Msg
18648 	( G_PKG_NAME
18649           , 'Sales_Credits_Desc_Flex');
18650      END IF;
18651 
18652 
18653     RETURN FALSE;
18654 
18655 END Sales_Credits_Desc_Flex;
18656 
18657 
18658 FUNCTION Return_reason ( p_return_reason_code IN VARCHAR2 )
18659 RETURN BOOLEAN
18660 IS
18661 l_dummy                       VARCHAR2(10);
18662 l_lookup_type      	      VARCHAR2(80) :='CREDIT_MEMO_REASON';
18663 BEGIN
18664 
18665 
18666     IF p_return_reason_code IS NULL OR
18667         p_return_reason_code = FND_API.G_MISS_CHAR
18668     THEN
18669 
18670         RETURN TRUE;
18671     END IF;
18672 
18673     SELECT  'VALID'
18674     INTO    l_dummy
18675     FROM    OE_AR_LOOKUPS_V
18676     WHERE   LOOKUP_CODE = p_return_reason_code
18677     AND     LOOKUP_TYPE = l_lookup_type
18678     AND     ENABLED_FLAG = 'Y'
18679     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
18680                         AND NVL(END_DATE_ACTIVE, SYSDATE);
18681 
18682 
18683     RETURN TRUE;
18684 
18685 EXCEPTION
18686 
18687     WHEN NO_DATA_FOUND THEN
18688 
18689         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18690         THEN
18691 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RETURN_REASON_CODE');
18692 
18693 
18694             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18695             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18696 				OE_Order_Util.Get_Attribute_Name('return_reason_code'));
18697             OE_MSG_PUB.Add;
18698 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18699 
18700         END IF;
18701 
18702 
18703 
18704 
18705         RETURN FALSE;
18706 
18707     WHEN OTHERS THEN
18708 
18709         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18710         THEN
18711             OE_MSG_PUB.Add_Exc_Msg
18712             (   G_PKG_NAME
18713             ,   'return_reason'
18714             );
18715         END IF;
18716 
18717 
18718 
18719         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18720 
18721 END Return_reason;
18722 
18723 FUNCTION Split_from_line ( p_split_from_line_id IN NUMBER )
18724 RETURN BOOLEAN
18725 IS
18726 l_dummy                       VARCHAR2(10);
18727 BEGIN
18728 
18729 
18730     IF p_split_from_line_id IS NULL OR
18731         p_split_from_line_id = FND_API.G_MISS_NUM
18732     THEN
18733 
18734         RETURN TRUE;
18735     END IF;
18736 
18737     --  SELECT  'VALID'
18738     --  INTO     l_dummy
18739     --  FROM     DB_TABLE
18740     --  WHERE    DB_COLUMN = p_split_from_line_id;
18741 
18742 
18743 
18744     RETURN TRUE;
18745 
18746 EXCEPTION
18747 
18748     WHEN NO_DATA_FOUND THEN
18749 
18750         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18751         THEN
18752 
18753 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_FROM_LINE_ID');
18754 
18755             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18756             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18757 				OE_Order_Util.Get_Attribute_Name('split_from_line_id'));
18758             OE_MSG_PUB.Add;
18759 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18760 
18761         END IF;
18762 
18763 
18764 
18765         RETURN FALSE;
18766 
18767     WHEN OTHERS THEN
18768 
18769         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18770         THEN
18771             OE_MSG_PUB.Add_Exc_Msg
18772             (   G_PKG_NAME
18773             ,   'split_from_line'
18774             );
18775         END IF;
18776 
18777 
18778 
18779         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18780 
18781 END Split_from_line;
18782 
18783 FUNCTION Cust_production_seq_num ( p_cust_production_seq_num IN VARCHAR2 )
18784 RETURN BOOLEAN
18785 IS
18786 l_dummy                       VARCHAR2(10);
18787 BEGIN
18788 
18789 
18790     IF p_cust_production_seq_num IS NULL OR
18791         p_cust_production_seq_num = FND_API.G_MISS_CHAR
18792     THEN
18793 
18794         RETURN TRUE;
18795     END IF;
18796 
18797     --  SELECT  'VALID'
18798     --  INTO     l_dummy
18799     --  FROM     DB_TABLE
18800     --  WHERE    DB_COLUMN = p_cust_production_seq_num;
18801 
18802 
18803 
18804     RETURN TRUE;
18805 
18806 EXCEPTION
18807 
18808     WHEN NO_DATA_FOUND THEN
18809 
18810         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18811         THEN
18812 
18813 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUST_PRODUCTION_SEQ_NUM');
18814 
18815             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18816             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18817 				OE_Order_Util.Get_Attribute_Name('cust_production_seq_num'));
18818             OE_MSG_PUB.Add;
18819 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18820 
18821         END IF;
18822 
18823 
18824 
18825         RETURN FALSE;
18826 
18827     WHEN OTHERS THEN
18828 
18829         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18830         THEN
18831             OE_MSG_PUB.Add_Exc_Msg
18832             (   G_PKG_NAME
18833             ,   'cust_production_seq_num'
18834             );
18835         END IF;
18836 
18837 
18838 
18839         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18840 
18841 END Cust_production_seq_num;
18842 
18843 
18844 FUNCTION Authorized_to_ship ( p_authorized_to_ship_flag IN VARCHAR2 )
18845 RETURN BOOLEAN
18846 IS
18847 l_dummy                       VARCHAR2(10);
18848 BEGIN
18849 
18850 
18851     IF p_authorized_to_ship_flag IS NULL OR
18852         p_authorized_to_ship_flag = FND_API.G_MISS_CHAR
18853     THEN
18854 
18855         RETURN TRUE;
18856     END IF;
18857 
18858     --  SELECT  'VALID'
18859     --  INTO     l_dummy
18860     --  FROM     DB_TABLE
18861     --  WHERE    DB_COLUMN = p_authorized_to_ship_flag;
18862 
18863 
18864 
18865     RETURN TRUE;
18866 
18867 EXCEPTION
18868 
18869     WHEN NO_DATA_FOUND THEN
18870 
18871         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18872         THEN
18873 
18874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'AUTHORIZED_TO_SHIP_FLAG');
18875 
18876             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18877             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18878 				OE_Order_Util.Get_Attribute_Name('authorized_to_ship_flag'));
18879             OE_MSG_PUB.Add;
18880 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18881 
18882         END IF;
18883 
18884 
18885 
18886         RETURN FALSE;
18887 
18888     WHEN OTHERS THEN
18889 
18890         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18891         THEN
18892             OE_MSG_PUB.Add_Exc_Msg
18893             (   G_PKG_NAME
18894             ,   'authorized_to_ship'
18895             );
18896         END IF;
18897 
18898 
18899 
18900         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18901 
18902 END Authorized_to_ship;
18903 
18904 FUNCTION Veh_cus_item_cum_key ( p_veh_cus_item_cum_key_id IN NUMBER )
18905 RETURN BOOLEAN
18906 IS
18907 l_dummy                       VARCHAR2(10);
18908 BEGIN
18909 
18910 
18911     IF p_veh_cus_item_cum_key_id IS NULL OR
18912         p_veh_cus_item_cum_key_id = FND_API.G_MISS_NUM
18913     THEN
18914 
18915         RETURN TRUE;
18916     END IF;
18917 
18918     --  SELECT  'VALID'
18919     --  INTO     l_dummy
18920     --  FROM     DB_TABLE
18921     --  WHERE    DB_COLUMN = p_veh_cus_item_cum_key_id;
18922 
18923 
18924 
18925     RETURN TRUE;
18926 
18927 EXCEPTION
18928 
18929     WHEN NO_DATA_FOUND THEN
18930 
18931         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18932         THEN
18933 
18934 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'VEH_CUS_ITEM_CUM_KEY_ID');
18935 
18936             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18937             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18938 				OE_Order_Util.Get_Attribute_Name('veh_cus_item_cum_key_id'));
18939             OE_MSG_PUB.Add;
18940 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
18941 
18942         END IF;
18943 
18944 
18945 
18946         RETURN FALSE;
18947 
18948     WHEN OTHERS THEN
18949 
18950         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
18951         THEN
18952             OE_MSG_PUB.Add_Exc_Msg
18953             (   G_PKG_NAME
18954             ,   'veh_cus_item_cum_key'
18955             );
18956         END IF;
18957 
18958 
18959 
18960         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
18961 
18962 END Veh_cus_item_cum_key;
18963 
18964 FUNCTION Arrival_set ( p_arrival_set_id IN NUMBER )
18965 RETURN BOOLEAN
18966 IS
18967 l_dummy                       VARCHAR2(10);
18968 BEGIN
18969 
18970 
18971     IF p_arrival_set_id IS NULL OR
18972         p_arrival_set_id = FND_API.G_MISS_NUM
18973     THEN
18974 
18975         RETURN TRUE;
18976     END IF;
18977 
18978     --  SELECT  'VALID'
18979     --  INTO     l_dummy
18980     --  FROM     DB_TABLE
18981     --  WHERE    DB_COLUMN = p_arrival_set_id;
18982 
18983 
18984 
18985     RETURN TRUE;
18986 
18987 EXCEPTION
18988 
18989     WHEN NO_DATA_FOUND THEN
18990 
18991         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
18992         THEN
18993 
18994 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ARRIVAL_SET_ID');
18995 
18996 
18997             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
18998             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
18999 				OE_Order_Util.Get_Attribute_Name('arrival_set_id'));
19000             OE_MSG_PUB.Add;
19001 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19002 
19003         END IF;
19004 
19005 
19006 
19007         RETURN FALSE;
19008 
19009     WHEN OTHERS THEN
19010 
19011         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19012         THEN
19013             OE_MSG_PUB.Add_Exc_Msg
19014             (   G_PKG_NAME
19015             ,   'arrival_set'
19016             );
19017         END IF;
19018 
19019 
19020 
19021         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19022 
19023 END Arrival_set;
19024 
19025 FUNCTION Ship_set ( p_ship_set_id IN NUMBER )
19026 RETURN BOOLEAN
19027 IS
19028 l_dummy                       VARCHAR2(10);
19029 BEGIN
19030 
19031 
19032     IF p_ship_set_id IS NULL OR
19033         p_ship_set_id = FND_API.G_MISS_NUM
19034     THEN
19035 
19036         RETURN TRUE;
19037     END IF;
19038 
19039     --  SELECT  'VALID'
19040     --  INTO     l_dummy
19041     --  FROM     DB_TABLE
19042     --  WHERE    DB_COLUMN = p_ship_set_id;
19043 
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 => 'SHIP_SET_ID');
19056 
19057             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19058             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19059 				OE_Order_Util.Get_Attribute_Name('ship_set_id'));
19060             OE_MSG_PUB.Add;
19061 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19062 
19063         END IF;
19064 
19065 
19066 
19067         RETURN FALSE;
19068 
19069     WHEN OTHERS THEN
19070 
19071         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19072         THEN
19073             OE_MSG_PUB.Add_Exc_Msg
19074             (   G_PKG_NAME
19075             ,   'ship_set'
19076             );
19077         END IF;
19078 
19079 
19080 
19081         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19082 
19083 END Ship_set;
19084 
19085 FUNCTION Over_ship_reason ( p_over_ship_reason_code IN VARCHAR2 )
19086 RETURN BOOLEAN
19087 IS
19088 l_dummy                       VARCHAR2(10);
19089 BEGIN
19090 
19091 
19092     IF p_over_ship_reason_code IS NULL OR
19093         p_over_ship_reason_code = FND_API.G_MISS_CHAR
19094     THEN
19095 
19096         RETURN TRUE;
19097     END IF;
19098 
19099     --  SELECT  'VALID'
19100     --  INTO     l_dummy
19101     --  FROM     DB_TABLE
19102     --  WHERE    DB_COLUMN = p_over_ship_reason_code;
19103 
19104 
19105 
19106     RETURN TRUE;
19107 
19108 EXCEPTION
19109 
19110     WHEN NO_DATA_FOUND THEN
19111 
19112         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19113         THEN
19114 
19115 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_REASON_CODE');
19116 
19117             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19118             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19119 				OE_Order_Util.Get_Attribute_Name('over_ship_reason_code'));
19120             OE_MSG_PUB.Add;
19121 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19122 
19123         END IF;
19124 
19125 
19126 
19127         RETURN FALSE;
19128 
19129     WHEN OTHERS THEN
19130 
19131         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19132         THEN
19133             OE_MSG_PUB.Add_Exc_Msg
19134             (   G_PKG_NAME
19135             ,   'over_ship_reason'
19136             );
19137         END IF;
19138 
19139 
19140 
19141         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19142 
19143 END Over_ship_reason;
19144 
19145 FUNCTION Over_ship_resolved ( p_over_ship_resolved_flag IN VARCHAR2 )
19146 RETURN BOOLEAN
19147 IS
19148 l_dummy                       VARCHAR2(10);
19149 BEGIN
19150 
19151 
19152     IF p_over_ship_resolved_flag IS NULL OR
19153         p_over_ship_resolved_flag = FND_API.G_MISS_CHAR
19154     THEN
19155 
19156         RETURN TRUE;
19157     END IF;
19158 
19159 
19160     --  SELECT  'VALID'
19161     --  INTO     l_dummy
19162     --  FROM     DB_TABLE
19163     --  WHERE    DB_COLUMN = p_over_ship_resolved_flag;
19164 
19165 
19166 
19167     RETURN TRUE;
19168 
19169 EXCEPTION
19170 
19171     WHEN NO_DATA_FOUND THEN
19172 
19173         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19174         THEN
19175 
19176 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'OVER_SHIP_RESOLVED_FLAG');
19177 
19178             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19179             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19180 				OE_Order_Util.Get_Attribute_Name('over_ship_resolved_flag'));
19181             OE_MSG_PUB.Add;
19182 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19183 
19184         END IF;
19185 
19186 
19187 
19188         RETURN FALSE;
19189 
19190     WHEN OTHERS THEN
19191 
19192         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19193         THEN
19194             OE_MSG_PUB.Add_Exc_Msg
19195             (   G_PKG_NAME
19196             ,   'over_ship_resolved'
19197             );
19198         END IF;
19199 
19200 
19201 
19202         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19203 
19204 END Over_ship_resolved;
19205 
19206 FUNCTION Payment_Type ( p_payment_type_code IN VARCHAR2 )
19207 RETURN BOOLEAN
19208 IS
19209 l_dummy                       VARCHAR2(10);
19210 l_lookup_type      	      VARCHAR2(80) :='PAYMENT TYPE';
19211 BEGIN
19212 
19213 
19214     IF p_payment_type_code IS NULL OR
19215         p_payment_type_code = FND_API.G_MISS_CHAR OR
19216           p_payment_type_code = 'COMMITMENT'  /* Bug #3536642 */
19217     THEN
19218         oe_Debug_Pub.add('Returning True .. ');
19219         RETURN TRUE;
19220     END IF;
19221 
19222     IF OE_PrePayment_UTIL.IS_MULTIPLE_PAYMENTS_ENABLED THEN
19223        SELECT  'VALID'
19224        INTO    l_dummy
19225        FROM    oe_payment_types_vl
19226        WHERE   payment_type_code = p_payment_type_code
19227        AND     ENABLED_FLAG = 'Y';
19228     ELSE
19229        SELECT  'VALID'
19230        INTO    l_dummy
19231        FROM    OE_LOOKUPS
19232        WHERE   LOOKUP_CODE = p_payment_type_code
19233        AND     LOOKUP_TYPE = l_lookup_type
19234        AND     ENABLED_FLAG = 'Y'
19235        AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19236                            AND NVL(END_DATE_ACTIVE, SYSDATE);
19237     END IF;
19238 
19239 
19240     RETURN TRUE;
19241 
19242 EXCEPTION
19243 
19244     WHEN NO_DATA_FOUND THEN
19245 
19246         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19247         THEN
19248 
19249 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TYPE_CODE');
19250 
19251             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19252             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19253 				OE_Order_Util.Get_Attribute_Name('payment_type_code'));
19254             OE_MSG_PUB.Add;
19255 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19256 
19257         END IF;
19258 
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             ,   'Payment_Type'
19269             );
19270         END IF;
19271 
19272 
19273         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19274 
19275 END Payment_Type;
19276 
19277 FUNCTION Payment_Amount ( p_payment_amount IN NUMBER )
19278 RETURN BOOLEAN
19279 IS
19280 l_dummy                       VARCHAR2(10);
19281 BEGIN
19282 
19283 
19284     IF p_payment_amount IS NULL OR
19285         p_payment_amount = FND_API.G_MISS_NUM
19286     THEN
19287 
19288         RETURN TRUE;
19289     END IF;
19290 
19291     --  SELECT  'VALID'
19292     --  INTO     l_dummy
19293     --  FROM     DB_TABLE
19294     --  WHERE    DB_COLUMN = p_payment_amount;
19295 
19296 
19297 
19298     RETURN TRUE;
19299 
19300 EXCEPTION
19301 
19302     WHEN NO_DATA_FOUND THEN
19303 
19304         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19305         THEN
19306 
19307 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_AMOUNT');
19308 
19309             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19310             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19311 				OE_Order_Util.Get_Attribute_Name('payment_amount'));
19312             OE_MSG_PUB.Add;
19313 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19314 
19315         END IF;
19316 
19317 
19318 
19319         RETURN FALSE;
19320 
19321     WHEN OTHERS THEN
19322 
19323         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19324         THEN
19325             OE_MSG_PUB.Add_Exc_Msg
19326             (   G_PKG_NAME
19327             ,   'payment_amount'
19328             );
19329         END IF;
19330 
19331 
19332 
19333         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19334 
19335 END Payment_Amount;
19336 
19337 FUNCTION Check_Number ( p_check_number IN VARCHAR2 )
19338 RETURN BOOLEAN
19339 IS
19340 l_dummy                       VARCHAR2(10);
19341 BEGIN
19342 
19343 
19344     IF p_check_number IS NULL OR
19345         p_check_number = FND_API.G_MISS_CHAR
19346     THEN
19347 
19348         RETURN TRUE;
19349     END IF;
19350 
19351     --  SELECT  'VALID'
19352     --  INTO     l_dummy
19353     --  FROM     DB_TABLE
19354     --  WHERE    DB_COLUMN = p_check_number;
19355 
19356 
19357     RETURN TRUE;
19358 
19359 EXCEPTION
19360 
19361     WHEN NO_DATA_FOUND THEN
19362 
19363         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19364         THEN
19365 
19366 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHECK_NUMBER');
19367 
19368             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19369             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19370 				OE_Order_Util.Get_Attribute_Name('check_number'));
19371             OE_MSG_PUB.Add;
19372 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19373 
19374         END IF;
19375 
19376 
19377         RETURN FALSE;
19378 
19379     WHEN OTHERS THEN
19380 
19381         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19382         THEN
19383             OE_MSG_PUB.Add_Exc_Msg
19384             (   G_PKG_NAME
19385             ,   'Check_Number'
19386             );
19387         END IF;
19388 
19389 
19390         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19391 
19392 END Check_Number;
19393 
19394 FUNCTION Credit_Card ( p_credit_card_code IN VARCHAR2 )
19395 RETURN BOOLEAN
19396 IS
19397 l_dummy                       VARCHAR2(10);
19398 l_lookup_type      	      VARCHAR2(80) :='CREDIT_CARD';
19399 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
19400 BEGIN
19401 
19402 
19403     IF p_credit_card_code IS NULL OR
19404         p_credit_card_code = FND_API.G_MISS_CHAR
19405     THEN
19406 
19407         RETURN TRUE;
19408     END IF;
19409     --IF l_debug_level > 0 THEN
19410 	    --oe_debug_pub.add('Credit card code in oe_validate...'||p_Credit_card_code);
19411     --END IF;
19412     /*SELECT  'VALID'
19413     INTO    l_dummy
19414     FROM    OE_LOOKUPS
19415     WHERE   LOOKUP_CODE = p_credit_card_code
19416     AND     LOOKUP_TYPE = l_lookup_type
19417     AND     ENABLED_FLAG = 'Y'
19418     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
19419                         AND NVL(END_DATE_ACTIVE, SYSDATE);*/
19420     --bug 5070961
19421     select 'VALID'
19422     into l_dummy
19423     from iby_creditcard_issuers_v
19424     where card_issuer_code = p_credit_card_code
19425     and rownum=1;
19426 
19427     IF l_debug_level > 0 THEN
19428 	    oe_debug_pub.add('Value returned from iby table...'||l_dummy);
19429     END IF;
19430 
19431     RETURN TRUE;
19432 
19433 EXCEPTION
19434 
19435     WHEN NO_DATA_FOUND THEN
19436 
19437         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19438         THEN
19439 
19440 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_CODE');
19441 
19442             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19443             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19444 				OE_Order_Util.Get_Attribute_Name('credit_card_code'));
19445             OE_MSG_PUB.Add;
19446 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19447 
19448         END IF;
19449 
19450         --IF l_debug_level > 0 THEN
19451 	    --oe_debug_pub.add('No data found in Credit card code in oe_validate...'||p_Credit_card_code);
19452         --END IF;
19453 
19454         RETURN FALSE;
19455 
19456     WHEN OTHERS THEN
19457 
19458         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19459         THEN
19460             OE_MSG_PUB.Add_Exc_Msg
19461             (   G_PKG_NAME
19462             ,   'Credit_Card'
19463             );
19464         END IF;
19465 
19466         --IF l_debug_level > 0 THEN
19467 	    --oe_debug_pub.add('Others error in Credit card code in oe_validate...'||p_Credit_card_code);
19468         --END IF;
19469 
19470 
19471         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19472 
19473 END Credit_Card;
19474 
19475 FUNCTION Credit_Card_Holder_Name ( p_credit_card_holder_name IN VARCHAR2 )
19476 RETURN BOOLEAN
19477 IS
19478 l_dummy                       VARCHAR2(10);
19479 BEGIN
19480 
19481 
19482     IF p_credit_card_holder_name IS NULL OR
19483         p_credit_card_holder_name = FND_API.G_MISS_CHAR
19484     THEN
19485 
19486         RETURN TRUE;
19487     END IF;
19488 
19489     --  SELECT  'VALID'
19490     --  INTO     l_dummy
19491     --  FROM     DB_TABLE
19492     --  WHERE    DB_COLUMN = p_credit_card_holder_name;
19493 
19494 
19495     RETURN TRUE;
19496 
19497 EXCEPTION
19498 
19499     WHEN NO_DATA_FOUND THEN
19500 
19501         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19502         THEN
19503 
19504 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_HOLDER_NAME');
19505 
19506             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19507             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19508 				OE_Order_Util.Get_Attribute_Name('credit_card_holder_name'));
19509             OE_MSG_PUB.Add;
19510 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19511 
19512         END IF;
19513 
19514 
19515         RETURN FALSE;
19516 
19517     WHEN OTHERS THEN
19518 
19519         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19520         THEN
19521             OE_MSG_PUB.Add_Exc_Msg
19522             (   G_PKG_NAME
19523             ,   'Credit_Card_Holder_Name'
19524             );
19525         END IF;
19526 
19527 
19528         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19529 
19530 END Credit_Card_Holder_Name;
19531 
19532 FUNCTION Credit_Card_Number ( p_credit_card_number IN VARCHAR2 )
19533 RETURN BOOLEAN
19534 IS
19535 l_dummy                       VARCHAR2(10);
19536 BEGIN
19537 
19538 
19539     IF p_credit_card_number IS NULL OR
19540         p_credit_card_number = FND_API.G_MISS_CHAR
19541     THEN
19542 
19543         RETURN TRUE;
19544     END IF;
19545 
19546     --  SELECT  'VALID'
19547     --  INTO     l_dummy
19548     --  FROM     DB_TABLE
19549     --  WHERE    DB_COLUMN = p_credit_card_number;
19550 
19551 
19552     RETURN TRUE;
19553 
19554 EXCEPTION
19555 
19556     WHEN NO_DATA_FOUND THEN
19557 
19558         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19559         THEN
19560 
19561 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_NUMBER');
19562 
19563             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19564             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19565 				OE_Order_Util.Get_Attribute_Name('credit_card_number'));
19566             OE_MSG_PUB.Add;
19567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19568 
19569         END IF;
19570 
19571 
19572         RETURN FALSE;
19573 
19574     WHEN OTHERS THEN
19575 
19576         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19577         THEN
19578             OE_MSG_PUB.Add_Exc_Msg
19579             (   G_PKG_NAME
19580             ,   'Credit_Card_Number'
19581             );
19582         END IF;
19583 
19584 
19585         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19586 
19587 END Credit_Card_Number;
19588 
19589 FUNCTION Credit_Card_Approval_Date ( p_credit_card_approval_date IN DATE )
19590 RETURN BOOLEAN
19591 IS
19592 l_dummy                       VARCHAR2(10);
19593 BEGIN
19594     IF p_credit_card_approval_date IS NULL OR
19595         p_credit_card_approval_date = FND_API.G_MISS_DATE
19596     THEN
19597         RETURN TRUE;
19598     END IF;
19599     --  SELECT  'VALID'
19600     --  INTO     l_dummy
19601     --  FROM     DB_TABLE
19602     --  WHERE    DB_COLUMN = p_credit_card_approval_date;
19603     RETURN TRUE;
19604 EXCEPTION
19605     WHEN NO_DATA_FOUND THEN
19606         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19607         THEN
19608 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_DATE');
19609            fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19610            FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19611 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_date'));
19612            OE_MSG_PUB.Add;
19613 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19614         END IF;
19615         RETURN FALSE;
19616     WHEN OTHERS THEN
19617         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19618         THEN
19619             OE_MSG_PUB.Add_Exc_Msg
19620             (   G_PKG_NAME
19621             ,   'Credit_Card_Approval_Date'
19622             );
19623         END IF;
19624         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19625 END Credit_Card_Approval_Date;
19626 
19627 FUNCTION Credit_Card_Expiration_Date ( p_credit_card_expiration_date IN DATE )
19628 RETURN BOOLEAN
19629 IS
19630 l_dummy                       VARCHAR2(10);
19631 BEGIN
19632     IF p_credit_card_expiration_date IS NULL OR
19633         p_credit_card_expiration_date = FND_API.G_MISS_DATE
19634     THEN
19635         RETURN TRUE;
19636     END IF;
19637     --  SELECT  'VALID'
19638     --  INTO     l_dummy
19639     --  FROM     DB_TABLE
19640     --  WHERE    DB_COLUMN = p_credit_card_expiration_date;
19641     RETURN TRUE;
19642 EXCEPTION
19643     WHEN NO_DATA_FOUND THEN
19644         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19645         THEN
19646 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_EXPIRATION_DATE');
19647             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19648             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19649 				OE_Order_Util.Get_Attribute_Name('credit_card_expiration_date'));
19650             OE_MSG_PUB.Add;
19651 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19652         END IF;
19653         RETURN FALSE;
19654     WHEN OTHERS THEN
19655         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19656         THEN
19657             OE_MSG_PUB.Add_Exc_Msg
19658             (   G_PKG_NAME
19659             ,   'Credit_Card_Expiration_Date'
19660             );
19661         END IF;
19662         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19663 END Credit_Card_Expiration_Date;
19664 
19665 FUNCTION Credit_Card_Approval ( p_credit_card_approval_code IN VARCHAR2 )
19666 RETURN BOOLEAN
19667 IS
19668 l_dummy                       VARCHAR2(10);
19669 BEGIN
19670 
19671 
19672     IF p_credit_card_approval_code IS NULL OR
19673         p_credit_card_approval_code = FND_API.G_MISS_CHAR
19674     THEN
19675 
19676         RETURN TRUE;
19677     END IF;
19678 
19679     --  SELECT  'VALID'
19680     --  INTO     l_dummy
19681     --  FROM     DB_TABLE
19682     --  WHERE    DB_COLUMN = p_credit_card_approval_code;
19683 
19684 
19685     RETURN TRUE;
19686 
19687 EXCEPTION
19688 
19689     WHEN NO_DATA_FOUND THEN
19690 
19691         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19692         THEN
19693 
19694 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_CARD_APPROVAL_CODE');
19695 
19696             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19697             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19698 				OE_Order_Util.Get_Attribute_Name('credit_card_approval_code'));
19699             OE_MSG_PUB.Add;
19700 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19701 
19702         END IF;
19703 
19704 
19705         RETURN FALSE;
19706 
19707     WHEN OTHERS THEN
19708 
19709         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19710         THEN
19711             OE_MSG_PUB.Add_Exc_Msg
19712             (   G_PKG_NAME
19713             ,   'Credit_Card_Approval'
19714             );
19715         END IF;
19716 
19717 
19718         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19719 
19720 END Credit_Card_Approval;
19721 
19722 
19723 FUNCTION First_Ack ( p_first_ack_code IN VARCHAR2 )
19724 RETURN BOOLEAN
19725 IS
19726 l_dummy                       VARCHAR2(10);
19727 BEGIN
19728 
19729 
19730     IF p_first_ack_code IS NULL OR
19731         p_first_ack_code = FND_API.G_MISS_CHAR
19732     THEN
19733 
19734         RETURN TRUE;
19735     END IF;
19736 
19737     --  SELECT  'VALID'
19738     --  INTO     l_dummy
19739     --  FROM     DB_TABLE
19740     --  WHERE    DB_COLUMN = p_first_ack_code;
19741 
19742 
19743     RETURN TRUE;
19744 
19745 EXCEPTION
19746 
19747     WHEN NO_DATA_FOUND THEN
19748 
19749         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19750         THEN
19751 
19752 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_CODE');
19753 
19754             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19755             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19756 				OE_Order_Util.Get_Attribute_Name('first_ack_code'));
19757             OE_MSG_PUB.Add;
19758 
19759             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19760 
19761         END IF;
19762 
19763 
19764         RETURN FALSE;
19765 
19766     WHEN OTHERS THEN
19767 
19768         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19769         THEN
19770             OE_MSG_PUB.Add_Exc_Msg
19771             (   G_PKG_NAME
19772             ,   'First_Ack'
19773             );
19774         END IF;
19775 
19776 
19777         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19778 
19779 END First_Ack;
19780 
19781 
19782 FUNCTION First_Ack_DATE ( p_first_ack_date IN DATE )
19783 RETURN BOOLEAN
19784 IS
19785 l_dummy                       VARCHAR2(10);
19786 BEGIN
19787 
19788 
19789     IF p_first_ack_date IS NULL OR
19790         p_first_ack_date = FND_API.G_MISS_DATE
19791     THEN
19792 
19793         RETURN TRUE;
19794     END IF;
19795 
19796     --  SELECT  'VALID'
19797     --  INTO     l_dummy
19798     --  FROM     DB_TABLE
19799     --  WHERE    DB_COLUMN = p_first_ack_date;
19800 
19801 
19802     RETURN TRUE;
19803 
19804 EXCEPTION
19805 
19806     WHEN NO_DATA_FOUND THEN
19807 
19808         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19809         THEN
19810 
19811 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FIRST_ACK_DATE');
19812 
19813             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19814             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19815 				OE_Order_Util.Get_Attribute_Name('first_ack_date'));
19816             OE_MSG_PUB.Add;
19817 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19818 
19819         END IF;
19820 
19821 
19822         RETURN FALSE;
19823 
19824     WHEN OTHERS THEN
19825 
19826         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19827         THEN
19828             OE_MSG_PUB.Add_Exc_Msg
19829             (   G_PKG_NAME
19830             ,   'First_Ack_Date'
19831             );
19832         END IF;
19833 
19834 
19835         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19836 
19837 END First_Ack_Date;
19838 
19839 FUNCTION Last_Ack ( p_last_ack_code IN VARCHAR2 )
19840 RETURN BOOLEAN
19841 IS
19842 l_dummy                       VARCHAR2(10);
19843 BEGIN
19844 
19845 
19846     IF p_last_ack_code IS NULL OR
19847         p_last_ack_code = FND_API.G_MISS_CHAR
19848     THEN
19849 
19850         RETURN TRUE;
19851     END IF;
19852 
19853     --  SELECT  'VALID'
19854     --  INTO     l_dummy
19855     --  FROM     DB_TABLE
19856     --  WHERE    DB_COLUMN = p_last_ack_code;
19857 
19858 
19859     RETURN TRUE;
19860 
19861 EXCEPTION
19862 
19863     WHEN NO_DATA_FOUND THEN
19864 
19865         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19866         THEN
19867 
19868 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_CODE');
19869 
19870             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19871             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19872 				OE_Order_Util.Get_Attribute_Name('last_ack_code'));
19873             OE_MSG_PUB.Add;
19874 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19875 
19876         END IF;
19877 
19878 
19879         RETURN FALSE;
19880 
19881     WHEN OTHERS THEN
19882 
19883         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19884         THEN
19885             OE_MSG_PUB.Add_Exc_Msg
19886             (   G_PKG_NAME
19887             ,   'Last_Ack'
19888             );
19889         END IF;
19890 
19891 
19892         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19893 
19894 END Last_Ack;
19895 
19896 
19897 FUNCTION Last_Ack_DATE ( p_last_ack_date IN DATE )
19898 RETURN BOOLEAN
19899 IS
19900 l_dummy                       VARCHAR2(10);
19901 BEGIN
19902 
19903 
19904     IF p_last_ack_date IS NULL OR
19905         p_last_ack_date = FND_API.G_MISS_DATE
19906     THEN
19907 
19908         RETURN TRUE;
19909     END IF;
19910 
19911     --  SELECT  'VALID'
19912     --  INTO     l_dummy
19913     --  FROM     DB_TABLE
19914     --  WHERE    DB_COLUMN = p_last_ack_date;
19915 
19916 
19917     RETURN TRUE;
19918 
19919 EXCEPTION
19920 
19921     WHEN NO_DATA_FOUND THEN
19922 
19923         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19924         THEN
19925 
19926 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'LAST_ACK_DATE');
19927 
19928             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19929             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19930 				OE_Order_Util.Get_Attribute_Name('last_ack_date'));
19931             OE_MSG_PUB.Add;
19932 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19933 
19934         END IF;
19935 
19936 
19937         RETURN FALSE;
19938 
19939     WHEN OTHERS THEN
19940 
19941         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19942         THEN
19943             OE_MSG_PUB.Add_Exc_Msg
19944             (   G_PKG_NAME
19945             ,   'Last_Ack_Date'
19946             );
19947         END IF;
19948 
19949 
19950         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
19951 
19952 END Last_Ack_Date;
19953 
19954 FUNCTION End_Item_Unit_Number ( p_end_item_unit_number IN Varchar2 )
19955 RETURN BOOLEAN
19956 IS
19957 l_dummy                       VARCHAR2(10);
19958 BEGIN
19959 
19960 
19961     IF p_end_item_unit_number IS NULL OR
19962         p_end_item_unit_number = FND_API.G_MISS_CHAR
19963     THEN
19964         RETURN TRUE;
19965     END IF;
19966 
19967       SELECT  'VALID'
19968       INTO     l_dummy
19969       FROM     pjm_unit_numbers_lov_v
19970       WHERE    unit_number = p_end_item_unit_number;
19971 
19972     RETURN TRUE;
19973 
19974 EXCEPTION
19975 
19976     WHEN NO_DATA_FOUND THEN
19977 
19978         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
19979         THEN
19980 
19981 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_ITEM_UNIT_NUMBER');
19982 
19983 
19984             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
19985             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
19986 				OE_Order_Util.Get_Attribute_Name('end_item_unit_number'));
19987             OE_MSG_PUB.Add;
19988 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
19989 
19990         END IF;
19991 
19992 
19993         RETURN FALSE;
19994 
19995     WHEN OTHERS THEN
19996 
19997         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
19998         THEN
19999             OE_MSG_PUB.Add_Exc_Msg
20000             (   G_PKG_NAME
20001             ,   'end_item_unit_number'
20002             );
20003         END IF;
20004 
20005 
20006         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20007 
20008 END End_Item_Unit_Number;
20009 
20010 FUNCTION Invoiced_Quantity ( p_invoiced_quantity IN NUMBER )
20011 RETURN BOOLEAN
20012 IS
20013 l_dummy                       VARCHAR2(10);
20014 BEGIN
20015 
20016 
20017     IF p_invoiced_quantity IS NULL OR
20018         p_invoiced_quantity = FND_API.G_MISS_NUM
20019     THEN
20020 
20021         RETURN TRUE;
20022     END IF;
20023 
20024     --  SELECT  'VALID'
20025     --  INTO     l_dummy
20026     --  FROM     DB_TABLE
20027     --  WHERE    DB_COLUMN = p_invoiced_quantity;
20028 
20029 
20030     RETURN TRUE;
20031 
20032 EXCEPTION
20033 
20034     WHEN NO_DATA_FOUND THEN
20035 
20036         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20037         THEN
20038 
20039 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INVOICED_QUANTITY');
20040 
20041             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20042             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20043 				OE_Order_Util.Get_Attribute_Name('invoiced_quantity'));
20044             OE_MSG_PUB.Add;
20045 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20046 
20047         END IF;
20048 
20049 
20050         RETURN FALSE;
20051 
20052     WHEN OTHERS THEN
20053 
20054         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20055         THEN
20056             OE_MSG_PUB.Add_Exc_Msg
20057             (   G_PKG_NAME
20058             ,   'Invoiced_Quantity'
20059             );
20060         END IF;
20061 
20062 
20063         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20064 
20065 END Invoiced_Quantity;
20066 
20067 
20068 FUNCTION Service_Txn_Reason ( p_service_txn_reason IN VARCHAR2 )
20069 RETURN BOOLEAN
20070 IS
20071 l_dummy                       VARCHAR2(10);
20072 BEGIN
20073 
20074 
20075     IF p_service_txn_reason IS NULL OR
20076         p_service_txn_reason = FND_API.G_MISS_CHAR
20077     THEN
20078 
20079         RETURN TRUE;
20080     END IF;
20081 
20082     --  SELECT  'VALID'
20083     --  INTO     l_dummy
20084     --  FROM     DB_TABLE
20085     --  WHERE    DB_COLUMN = p_service_txn_reason;
20086 
20087 
20088     RETURN TRUE;
20089 
20090 EXCEPTION
20091 
20092     WHEN NO_DATA_FOUND THEN
20093 
20094         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20095         THEN
20096 
20097 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_REASON');
20098 
20099             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20100             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20101 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Reason'));
20102             OE_MSG_PUB.Add;
20103 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20104 
20105         END IF;
20106 
20107 
20108         RETURN FALSE;
20109 
20110     WHEN OTHERS THEN
20111 
20112         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20113         THEN
20114             OE_MSG_PUB.Add_Exc_Msg
20115             (   G_PKG_NAME
20116             ,   'Service_Txn_Reason'
20117             );
20118         END IF;
20119 
20120 
20121         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20122 
20123 END Service_Txn_Reason;
20124 
20125 
20126 FUNCTION Service_Txn_Comments ( p_service_txn_comments IN VARCHAR2 )
20127 RETURN BOOLEAN
20128 IS
20129 l_dummy                       VARCHAR2(10);
20130 BEGIN
20131 
20132 
20133     IF p_service_txn_comments IS NULL OR
20134         p_service_txn_comments = FND_API.G_MISS_CHAR
20135     THEN
20136 
20137         RETURN TRUE;
20138     END IF;
20139 
20140     --  SELECT  'VALID'
20141     --  INTO     l_dummy
20142     --  FROM     DB_TABLE
20143     --  WHERE    DB_COLUMN = p_service_txn_comments;
20144 
20145 
20146     RETURN TRUE;
20147 
20148 EXCEPTION
20149 
20150     WHEN NO_DATA_FOUND THEN
20151 
20152         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20153         THEN
20154 
20155 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SERVICE_TXN_TYPE_COMMENTS');
20156 
20157             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20158             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20159 				OE_Order_Util.Get_Attribute_Name('Service_Txn_Comments'));
20160             OE_MSG_PUB.Add;
20161 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20162 
20163         END IF;
20164 
20165 
20166         RETURN FALSE;
20167 
20168     WHEN OTHERS THEN
20169 
20170         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20171         THEN
20172             OE_MSG_PUB.Add_Exc_Msg
20173             (   G_PKG_NAME
20174             ,   'Service_Txn_Comments'
20175             );
20176         END IF;
20177 
20178 
20179         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20180 
20181 END Service_Txn_Comments;
20182 
20183 
20184 FUNCTION Service_Duration ( p_service_duration IN NUMBER )
20185 RETURN BOOLEAN
20186 IS
20187 l_dummy                       VARCHAR2(10);
20188 BEGIN
20189 
20190 
20191     IF p_service_duration IS NULL OR
20192         p_service_duration = FND_API.G_MISS_NUM
20193     THEN
20194 
20195         RETURN TRUE;
20196     END IF;
20197 
20198     --  SELECT  'VALID'
20199     --  INTO     l_dummy
20200     --  FROM     DB_TABLE
20201     --  WHERE    DB_COLUMN = p_service_duration;
20202 
20203 
20204     RETURN TRUE;
20205 
20206 EXCEPTION
20207 
20208     WHEN NO_DATA_FOUND THEN
20209 
20210         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20211         THEN
20212 
20213 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Serviced_Duration');
20214 
20215             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20216             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20217 				OE_Order_Util.Get_Attribute_Name('Service_Duration'));
20218             OE_MSG_PUB.Add;
20219 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20220 
20221         END IF;
20222 
20223 
20224         RETURN FALSE;
20225 
20226     WHEN OTHERS THEN
20227 
20228         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20229         THEN
20230             OE_MSG_PUB.Add_Exc_Msg
20231             (   G_PKG_NAME
20232             ,   'Serviced_Duration'
20233             );
20234         END IF;
20235 
20236 
20237         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20238 
20239 END Service_Duration;
20240 
20241 FUNCTION Service_Period ( p_service_period IN VARCHAR2 )
20242 RETURN BOOLEAN
20243 IS
20244 l_dummy                       VARCHAR2(10);
20245 BEGIN
20246 
20247 
20248     IF p_service_period IS NULL OR
20249         p_service_period = FND_API.G_MISS_CHAR
20250     THEN
20251 
20252         RETURN TRUE;
20253     END IF;
20254 
20255     --  SELECT  'VALID'
20256     --  INTO     l_dummy
20257     --  FROM     DB_TABLE
20258     --  WHERE    DB_COLUMN = p_service_period;
20259 
20260 
20261     RETURN TRUE;
20262 
20263 EXCEPTION
20264 
20265     WHEN NO_DATA_FOUND THEN
20266 
20267         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20268         THEN
20269 
20270 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Period');
20271 
20272             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20273             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20274 				OE_Order_Util.Get_Attribute_Name('Service_Period'));
20275             OE_MSG_PUB.Add;
20276 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20277 
20278         END IF;
20279 
20280 
20281         RETURN FALSE;
20282 
20283     WHEN OTHERS THEN
20284 
20285         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20286         THEN
20287             OE_MSG_PUB.Add_Exc_Msg
20288             (   G_PKG_NAME
20289             ,   'Service_Period'
20290             );
20291         END IF;
20292 
20293 
20294         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20295 
20296 END Service_Period;
20297 
20298 
20299 FUNCTION Service_Start_Date ( p_service_start_date IN DATE )
20300 RETURN BOOLEAN
20301 IS
20302 l_dummy                       VARCHAR2(10);
20303 BEGIN
20304 
20305 
20306     IF p_service_start_date IS NULL OR
20307         p_service_start_date = FND_API.G_MISS_DATE
20308     THEN
20309 
20310         RETURN TRUE;
20311     END IF;
20312 
20313     --  SELECT  'VALID'
20314     --  INTO     l_dummy
20315     --  FROM     DB_TABLE
20316     --  WHERE    DB_COLUMN = p_service_start_date;
20317 
20318 
20319     RETURN TRUE;
20320 
20321 EXCEPTION
20322 
20323     WHEN NO_DATA_FOUND THEN
20324 
20325         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20326         THEN
20327 
20328 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Start_Date');
20329 
20330             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20331             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20332 				OE_Order_Util.Get_Attribute_Name('Service_Start_Date'));
20333             OE_MSG_PUB.Add;
20334 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20335 
20336         END IF;
20337 
20338 
20339         RETURN FALSE;
20340 
20341     WHEN OTHERS THEN
20342 
20343         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20344         THEN
20345             OE_MSG_PUB.Add_Exc_Msg
20346             (   G_PKG_NAME
20347             ,   'Serviced_Start_Date'
20348             );
20349         END IF;
20350 
20351 
20352         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20353 
20354 END Service_Start_Date;
20355 
20356 FUNCTION Service_End_Date ( p_service_end_date IN DATE )
20357 RETURN BOOLEAN
20358 IS
20359 l_dummy                       VARCHAR2(10);
20360 BEGIN
20361 
20362 
20363     IF p_service_end_date IS NULL OR
20364         p_service_end_date = FND_API.G_MISS_DATE
20365     THEN
20366 
20367         RETURN TRUE;
20368     END IF;
20369 
20370     --  SELECT  'VALID'
20371     --  INTO     l_dummy
20372     --  FROM     DB_TABLE
20373     --  WHERE    DB_COLUMN = p_service_end_date;
20374 
20375 
20376     RETURN TRUE;
20377 
20378 EXCEPTION
20379 
20380     WHEN NO_DATA_FOUND THEN
20381 
20382         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20383         THEN
20384 
20385 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_End_Date');
20386 
20387             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20388             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20389 				OE_Order_Util.Get_Attribute_Name('Service_End_Date'));
20390             OE_MSG_PUB.Add;
20391 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20392 
20393         END IF;
20394 
20395 
20396         RETURN FALSE;
20397 
20398     WHEN OTHERS THEN
20399 
20400         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20401         THEN
20402             OE_MSG_PUB.Add_Exc_Msg
20403             (   G_PKG_NAME
20404             ,   'Service_End_Date'
20405             );
20406         END IF;
20407 
20408 
20409         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20410 
20411 END Service_End_Date;
20412 
20413 FUNCTION Service_Coterminate ( p_service_coterminate_flag IN VARCHAR2)
20414 RETURN BOOLEAN
20415 IS
20416 l_dummy                       VARCHAR2(10);
20417 BEGIN
20418 
20419 
20420     IF p_service_coterminate_flag IS NULL OR
20421         p_service_coterminate_flag = FND_API.G_MISS_CHAR
20422     THEN
20423 
20424         RETURN TRUE;
20425     END IF;
20426 
20427     --  SELECT  'VALID'
20428     --  INTO     l_dummy
20429     --  FROM     DB_TABLE
20430     --  WHERE    DB_COLUMN = p_service_coterminate_flag;
20431 
20432 
20433     RETURN TRUE;
20434 
20435 EXCEPTION
20436 
20437     WHEN NO_DATA_FOUND THEN
20438 
20439         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20440         THEN
20441 
20442 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Coterminate');
20443 
20444             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20445             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20446 				OE_Order_Util.Get_Attribute_Name('Service_Coterminate'));
20447             OE_MSG_PUB.Add;
20448 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20449 
20450         END IF;
20451 
20452 
20453         RETURN FALSE;
20454 
20455     WHEN OTHERS THEN
20456 
20457         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20458         THEN
20459             OE_MSG_PUB.Add_Exc_Msg
20460             (   G_PKG_NAME
20461             ,   'Service_Coterminate'
20462             );
20463         END IF;
20464 
20465 
20466         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20467 
20468 END Service_Coterminate;
20469 
20470 FUNCTION Unit_List_Percent ( p_unit_list_percent IN NUMBER)
20471 RETURN BOOLEAN
20472 IS
20473 l_dummy                       VARCHAR2(10);
20474 BEGIN
20475 
20476 
20477     IF p_unit_list_percent IS NULL OR
20478         p_unit_list_percent = FND_API.G_MISS_NUM
20479     THEN
20480 
20481         RETURN TRUE;
20482     END IF;
20483 
20484     --  SELECT  'VALID'
20485     --  INTO     l_dummy
20486     --  FROM     DB_TABLE
20487     --  WHERE    DB_COLUMN = p_unit_list_percent;
20488 
20489 
20490     RETURN TRUE;
20491 
20492 EXCEPTION
20493 
20494     WHEN NO_DATA_FOUND THEN
20495 
20496         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20497         THEN
20498 
20499 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_List_Percent');
20500 
20501             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20502             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20503 				OE_Order_Util.Get_Attribute_Name('Unit_List_Percent'));
20504             OE_MSG_PUB.Add;
20505 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20506 
20507         END IF;
20508 
20509 
20510         RETURN FALSE;
20511 
20512     WHEN OTHERS THEN
20513 
20514         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20515         THEN
20516             OE_MSG_PUB.Add_Exc_Msg
20517             (   G_PKG_NAME
20518             ,   'Unit_List_Percent'
20519             );
20520         END IF;
20521 
20522 
20523         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20524 
20525 END Unit_List_Percent;
20526 
20527 FUNCTION Unit_Selling_Percent ( p_unit_selling_percent IN NUMBER)
20528 RETURN BOOLEAN
20529 IS
20530 l_dummy                       VARCHAR2(10);
20531 BEGIN
20532 
20533 
20534     IF p_unit_selling_percent IS NULL OR
20535         p_unit_selling_percent = FND_API.G_MISS_NUM
20536     THEN
20537 
20538         RETURN TRUE;
20539     END IF;
20540 
20541     --  SELECT  'VALID'
20542     --  INTO     l_dummy
20543     --  FROM     DB_TABLE
20544     --  WHERE    DB_COLUMN = p_unit_selling_percent;
20545 
20546 
20547     RETURN TRUE;
20548 
20549 EXCEPTION
20550 
20551     WHEN NO_DATA_FOUND THEN
20552 
20553         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20554         THEN
20555 
20556 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Selling_Percent');
20557 
20558             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20559             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20560 				OE_Order_Util.Get_Attribute_Name('Unit_Selling_Percent'));
20561             OE_MSG_PUB.Add;
20562 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20563 
20564         END IF;
20565 
20566 
20567         RETURN FALSE;
20568 
20569     WHEN OTHERS THEN
20570 
20571         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20572         THEN
20573             OE_MSG_PUB.Add_Exc_Msg
20574             (   G_PKG_NAME
20575             ,   'Unit_Selling_Percent'
20576             );
20577         END IF;
20578 
20579 
20580         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20581 
20582 END Unit_Selling_Percent;
20583 
20584 FUNCTION Unit_Percent_Base_Price ( p_unit_percent_base_price IN NUMBER)
20585 RETURN BOOLEAN
20586 IS
20587 l_dummy                       VARCHAR2(10);
20588 BEGIN
20589 
20590 
20591     IF p_unit_percent_base_price IS NULL OR
20592         p_unit_percent_base_price = FND_API.G_MISS_NUM
20593     THEN
20594 
20595         RETURN TRUE;
20596     END IF;
20597 
20598     --  SELECT  'VALID'
20599     --  INTO     l_dummy
20600     --  FROM     DB_TABLE
20601     --  WHERE    DB_COLUMN = p_unit_percent_base_price;
20602 
20603 
20604     RETURN TRUE;
20605 
20606 EXCEPTION
20607 
20608     WHEN NO_DATA_FOUND THEN
20609 
20610         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20611         THEN
20612 
20613 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Unit_Percent_base_Price');
20614 
20615             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20616             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20617 				OE_Order_Util.Get_Attribute_Name('Unit_Percent_Base_Price'));
20618             OE_MSG_PUB.Add;
20619 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20620 
20621         END IF;
20622 
20623 
20624         RETURN FALSE;
20625 
20626     WHEN OTHERS THEN
20627 
20628         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20629         THEN
20630             OE_MSG_PUB.Add_Exc_Msg
20631             (   G_PKG_NAME
20632             ,   'Unit_Percent_Base_Price'
20633             );
20634         END IF;
20635 
20636 
20637         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20638 
20639 END Unit_Percent_Base_Price;
20640 
20641 FUNCTION Service_Number ( p_service_number IN NUMBER)
20642 RETURN BOOLEAN
20643 IS
20644 l_dummy                       VARCHAR2(10);
20645 BEGIN
20646 
20647 
20648     IF p_service_number IS NULL OR
20649         p_service_number = FND_API.G_MISS_NUM
20650     THEN
20651 
20652         RETURN TRUE;
20653     END IF;
20654 
20655     --  SELECT  'VALID'
20656     --  INTO     l_dummy
20657     --  FROM     DB_TABLE
20658     --  WHERE    DB_COLUMN = p_service_number;
20659 
20660 
20661     RETURN TRUE;
20662 
20663 EXCEPTION
20664 
20665     WHEN NO_DATA_FOUND THEN
20666 
20667         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20668         THEN
20669 
20670 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Number');
20671 
20672             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20673             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20674 				OE_Order_Util.Get_Attribute_Name('Service_Number'));
20675             OE_MSG_PUB.Add;
20676 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20677 
20678         END IF;
20679 
20680 
20681         RETURN FALSE;
20682 
20683     WHEN OTHERS THEN
20684 
20685         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20686         THEN
20687             OE_MSG_PUB.Add_Exc_Msg
20688             (   G_PKG_NAME
20689             ,   'Service_Number'
20690             );
20691         END IF;
20692 
20693 
20694         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20695 
20696 END Service_Number;
20697 
20698 FUNCTION Service_Reference_Type ( p_service_reference_type_code IN VARCHAR2)
20699 RETURN BOOLEAN
20700 IS
20701 l_dummy                       VARCHAR2(10);
20702 BEGIN
20703 
20704 
20705     IF p_service_reference_Type_code IS NULL OR
20706         p_service_reference_Type_code = FND_API.G_MISS_CHAR
20707     THEN
20708 
20709         RETURN TRUE;
20710     END IF;
20711 
20712     --  SELECT  'VALID'
20713     --  INTO     l_dummy
20714     --  FROM     DB_TABLE
20715     --  WHERE    DB_COLUMN = p_service_reference_type_code;
20716 
20717 
20718     RETURN TRUE;
20719 
20720 EXCEPTION
20721 
20722     WHEN NO_DATA_FOUND THEN
20723 
20724         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20725         THEN
20726 
20727 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Type_Code');
20728 
20729             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20730             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20731 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Type_Code'));
20732             OE_MSG_PUB.Add;
20733 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20734 
20735         END IF;
20736 
20737 
20738         RETURN FALSE;
20739 
20740     WHEN OTHERS THEN
20741 
20742         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20743         THEN
20744             OE_MSG_PUB.Add_Exc_Msg
20745             (   G_PKG_NAME
20746             ,   'Service_Reference_Type_Code'
20747             );
20748         END IF;
20749 
20750 
20751         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20752 
20753 END Service_Reference_Type;
20754 
20755 FUNCTION Service_Reference_Line ( p_service_reference_line_id IN NUMBER)
20756 RETURN BOOLEAN
20757 IS
20758 l_dummy                       VARCHAR2(10);
20759 BEGIN
20760 
20761 
20762     IF p_service_reference_line_id IS NULL OR
20763         p_service_reference_line_id = FND_API.G_MISS_NUM
20764     THEN
20765 
20766         RETURN TRUE;
20767     END IF;
20768 
20769     --  SELECT  'VALID'
20770     --  INTO     l_dummy
20771     --  FROM     DB_TABLE
20772     --  WHERE    DB_COLUMN = p_service_reference_line_id;
20773 
20774 
20775     RETURN TRUE;
20776 
20777 EXCEPTION
20778 
20779     WHEN NO_DATA_FOUND THEN
20780 
20781         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20782         THEN
20783 
20784 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_Line_id');
20785 
20786             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20787             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20788 				OE_Order_Util.Get_Attribute_Name('Service_Reference_Line_Id'));
20789             OE_MSG_PUB.Add;
20790 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20791 
20792         END IF;
20793 
20794 
20795         RETURN FALSE;
20796 
20797     WHEN OTHERS THEN
20798 
20799         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20800         THEN
20801             OE_MSG_PUB.Add_Exc_Msg
20802             (   G_PKG_NAME
20803             ,   'Service_Reference_Line'
20804             );
20805         END IF;
20806 
20807 
20808         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20809 
20810 END Service_Reference_Line;
20811 
20812 FUNCTION Service_Reference_System ( p_service_reference_system_id IN NUMBER)
20813 RETURN BOOLEAN
20814 IS
20815 l_dummy                       VARCHAR2(10);
20816 BEGIN
20817 
20818 
20819     IF p_service_reference_system_id IS NULL OR
20820         p_service_reference_system_id = FND_API.G_MISS_NUM
20821     THEN
20822 
20823         RETURN TRUE;
20824     END IF;
20825 
20826     --  SELECT  'VALID'
20827     --  INTO     l_dummy
20828     --  FROM     DB_TABLE
20829     --  WHERE    DB_COLUMN = p_service_reference_system_id;
20830 
20831 
20832     RETURN TRUE;
20833 
20834 EXCEPTION
20835 
20836     WHEN NO_DATA_FOUND THEN
20837 
20838         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20839         THEN
20840 
20841 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Service_Reference_System_id');
20842 
20843             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20844             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20845 				OE_Order_Util.Get_Attribute_Name('Service_Reference_System_Id'));
20846             OE_MSG_PUB.Add;
20847 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20848 
20849         END IF;
20850 
20851 
20852         RETURN FALSE;
20853 
20854     WHEN OTHERS THEN
20855 
20856         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20857         THEN
20858             OE_MSG_PUB.Add_Exc_Msg
20859             (   G_PKG_NAME
20860             ,   'Service_Reference_System'
20861             );
20862         END IF;
20863 
20864 
20865         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20866 
20867 END Service_Reference_System;
20868 
20869 FUNCTION Line_Flow_Status ( p_flow_status_code IN VARCHAR2 )
20870 RETURN BOOLEAN
20871 IS
20872 l_dummy                       VARCHAR2(10);
20873 l_lookup_type      	      VARCHAR2(80) :='LINE_FLOW_STATUS';
20874 BEGIN
20875 
20876 
20877     IF p_flow_status_code IS NULL OR
20878         p_flow_status_code = FND_API.G_MISS_CHAR
20879     THEN
20880 
20881         RETURN TRUE;
20882     END IF;
20883 
20884     SELECT  'VALID'
20885     INTO    l_dummy
20886     FROM    OE_LOOKUPS
20887     WHERE   LOOKUP_CODE = p_flow_status_code
20888     AND     LOOKUP_TYPE = l_lookup_type
20889     AND     ENABLED_FLAG = 'Y'
20890     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
20891                         AND NVL(END_DATE_ACTIVE, SYSDATE);
20892 
20893 
20894 
20895     RETURN TRUE;
20896 
20897 EXCEPTION
20898 
20899     WHEN NO_DATA_FOUND THEN
20900 
20901         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20902         THEN
20903 
20904 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
20905 
20906             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20907             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20908 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
20909             OE_MSG_PUB.Add;
20910 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20911 
20912         END IF;
20913 
20914 
20915         RETURN FALSE;
20916 
20917     WHEN OTHERS THEN
20918 
20919         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20920         THEN
20921             OE_MSG_PUB.Add_Exc_Msg
20922             (   G_PKG_NAME
20923             ,   'Line_Flow_Status'
20924             );
20925         END IF;
20926 
20927 
20928         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20929 
20930 END Line_Flow_Status;
20931 
20932 FUNCTION Flow_Status ( p_flow_status_code IN VARCHAR2 )
20933 RETURN BOOLEAN
20934 IS
20935 l_dummy                       VARCHAR2(10);
20936 l_lookup_type      	      VARCHAR2(80) :='FLOW_STATUS';
20937 BEGIN
20938 
20939 
20940     IF p_flow_status_code IS NULL OR
20941         p_flow_status_code = FND_API.G_MISS_CHAR
20942     THEN
20943 
20944         RETURN TRUE;
20945     END IF;
20946 
20947     SELECT  'VALID'
20948     INTO    l_dummy
20949     FROM    OE_LOOKUPS
20950     WHERE   LOOKUP_CODE = p_flow_status_code
20951     AND     LOOKUP_TYPE = l_lookup_type
20952     AND     ENABLED_FLAG = 'Y'
20953     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
20954                         AND NVL(END_DATE_ACTIVE, SYSDATE);
20955 
20956 
20957 
20958     RETURN TRUE;
20959 
20960 EXCEPTION
20961 
20962     WHEN NO_DATA_FOUND THEN
20963 
20964         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
20965         THEN
20966 
20967 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FLOW_STATUS_CODE');
20968 
20969             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
20970             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
20971 				OE_Order_Util.Get_Attribute_Name('flow_status_code'));
20972             OE_MSG_PUB.Add;
20973 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
20974 
20975         END IF;
20976 
20977 
20978         RETURN FALSE;
20979 
20980     WHEN OTHERS THEN
20981 
20982         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
20983         THEN
20984             OE_MSG_PUB.Add_Exc_Msg
20985             (   G_PKG_NAME
20986             ,   'Flow_Status'
20987             );
20988         END IF;
20989 
20990 
20991         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
20992 
20993 END Flow_Status;
20994 
20995 FUNCTION Split_Action ( p_split_action_code IN VARCHAR2 )
20996 RETURN BOOLEAN
20997 IS
20998 l_dummy                       VARCHAR2(10);
20999 BEGIN
21000 
21001     IF p_split_action_code IS NULL OR
21002         p_split_action_code = FND_API.G_MISS_CHAR
21003     THEN
21004             RETURN TRUE;
21005     END IF;
21006 
21007     --  SELECT  'VALID'
21008     --  INTO     l_dummy
21009     --  FROM     DB_TABLE
21010     --  WHERE    DB_COLUMN = p_split_action_code;
21011 
21012 
21013     RETURN TRUE;
21014 
21015 EXCEPTION
21016 
21017     WHEN NO_DATA_FOUND THEN
21018 
21019 
21020         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21021         THEN
21022 
21023 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SPLIT_ACTION_CODE');
21024 
21025             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21026             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21027 				OE_Order_Util.Get_Attribute_Name('split_action_code'));
21028             OE_MSG_PUB.Add;
21029 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21030 
21031         END IF;
21032 
21033 
21034         RETURN FALSE;
21035 
21036     WHEN OTHERS THEN
21037 
21038         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21039         THEN
21040             OE_MSG_PUB.Add_Exc_Msg
21041             (   G_PKG_NAME
21042             ,   'Split Action'
21043             );
21044         END IF;
21045 
21046         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21047 
21048 END Split_Action;
21049 
21050 /* JPN: Marketing source code related */
21051 
21052 FUNCTION Marketing_Source_Code ( p_marketing_source_code_id IN NUMBER)
21053 RETURN BOOLEAN
21054 IS
21055 l_dummy                       VARCHAR2(10);
21056 BEGIN
21057 
21058 
21059     IF p_marketing_source_code_id IS NULL OR
21060         p_marketing_source_code_id = FND_API.G_MISS_NUM
21061     THEN
21062 
21063         RETURN TRUE;
21064     END IF;
21065 
21066     --  SELECT  'VALID'
21067     --  INTO     l_dummy
21068     --  FROM     DB_TABLE
21069     --  WHERE    DB_COLUMN = p_marketing_source_code_id;
21070 
21071 
21072     RETURN TRUE;
21073 
21074 EXCEPTION
21075 
21076     WHEN NO_DATA_FOUND THEN
21077 
21078         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21079         THEN
21080 
21081 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Marketing_Source_Code_id');
21082 
21083             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21084             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21085 				OE_Order_Util.Get_Attribute_Name('Marketing_Source_Code_Id'));
21086             OE_MSG_PUB.Add;
21087 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21088 
21089         END IF;
21090 
21091 
21092         RETURN FALSE;
21093 
21094     WHEN OTHERS THEN
21095 
21096         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21097         THEN
21098             OE_MSG_PUB.Add_Exc_Msg
21099             (   G_PKG_NAME
21100             ,   'Marketing_Source_Code'
21101             );
21102         END IF;
21103 
21104         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21105 
21106 END Marketing_Source_Code;
21107 
21108 /* End of Marketing source code */
21109 
21110 FUNCTION cost_id ( p_cost_id IN NUMBER )
21111 RETURN BOOLEAN
21112 IS
21113 l_dummy                       VARCHAR2(10);
21114 BEGIN
21115 
21116     IF p_cost_id IS NULL OR
21117         p_cost_id = FND_API.G_MISS_NUM
21118     THEN
21119             RETURN TRUE;
21120     END IF;
21121 
21122     --  SELECT  'VALID'
21123     --  INTO     l_dummy
21124     --  FROM     DB_TABLE
21125     --  WHERE    DB_COLUMN = p_cost_id;
21126 
21127 
21128     RETURN TRUE;
21129 
21130 EXCEPTION
21131 
21132     WHEN NO_DATA_FOUND THEN
21133 
21134 
21135         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21136         THEN
21137 
21138 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COST_ID');
21139 
21140             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21141             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21142 				OE_Order_Util.Get_Attribute_Name('COST_ID'));
21143             OE_MSG_PUB.Add;
21144 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21145 
21146         END IF;
21147 
21148 
21149         RETURN FALSE;
21150 
21151     WHEN OTHERS THEN
21152 
21153         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21154         THEN
21155             OE_MSG_PUB.Add_Exc_Msg
21156             (   G_PKG_NAME
21157             ,   'Cost Id '
21158             );
21159         END IF;
21160 
21161         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21162 
21163 END Cost_Id;
21164 
21165 FUNCTION Charge_Type_Code ( p_Charge_Type_Code IN VARCHAR2 )
21166 RETURN BOOLEAN
21167 IS
21168 l_dummy                       VARCHAR2(10);
21169 BEGIN
21170 
21171     IF p_Charge_Type_Code IS NULL OR
21172         p_Charge_Type_Code = FND_API.G_MISS_CHAR
21173     THEN
21174             RETURN TRUE;
21175     END IF;
21176 
21177     SELECT  'VALID'
21178     INTO     l_dummy
21179     FROM     QP_CHARGE_LOOKUP
21180     WHERE    LOOKUP_CODE = p_charge_type_code;
21181 
21182 
21183     RETURN TRUE;
21184 
21185 EXCEPTION
21186 
21187     WHEN NO_DATA_FOUND THEN
21188 
21189 
21190         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21191         THEN
21192 
21193 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_TYPE_CODE');
21194 
21195             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21196             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21197 				OE_Order_Util.Get_Attribute_Name('CHARGE_TYPE_CODE'));
21198             OE_MSG_PUB.Add;
21199 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21200 
21201         END IF;
21202 
21203 
21204         RETURN FALSE;
21205 
21206     WHEN OTHERS THEN
21207 
21208         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21209         THEN
21210             OE_MSG_PUB.Add_Exc_Msg
21211             (   G_PKG_NAME
21212             ,   'Charge Type'
21213             );
21214         END IF;
21215 
21216         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21217 
21218 END Charge_Type_Code;
21219 
21220 FUNCTION Charge_Subtype_Code ( p_Charge_Subtype_Code IN VARCHAR2 )
21221 RETURN BOOLEAN
21222 IS
21223 l_dummy                       VARCHAR2(10);
21224 BEGIN
21225 
21226     IF p_Charge_Subtype_Code IS NULL OR
21227         p_Charge_Subtype_Code = FND_API.G_MISS_CHAR
21228     THEN
21229             RETURN TRUE;
21230     END IF;
21231 
21232     -- SELECT  'VALID'
21233     -- INTO     l_dummy
21234     -- FROM     DB_TABLE
21235     -- WHERE    DB_COLUMN = p_charge_Subtype_code;
21236 
21237 
21238     RETURN TRUE;
21239 
21240 EXCEPTION
21241 
21242     WHEN NO_DATA_FOUND THEN
21243 
21244 
21245         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21246         THEN
21247 
21248 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_SUBTYPE_CODE');
21249 
21250             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21251             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21252 				OE_Order_Util.Get_Attribute_Name('CHARGE_SUBTYPE_CODE'));
21253             OE_MSG_PUB.Add;
21254 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21255 
21256         END IF;
21257 
21258 
21259         RETURN FALSE;
21260 
21261     WHEN OTHERS THEN
21262 
21263         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21264         THEN
21265             OE_MSG_PUB.Add_Exc_Msg
21266             (   G_PKG_NAME
21267             ,   'Charge Sub Type'
21268             );
21269         END IF;
21270 
21271         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21272 
21273 END Charge_Subtype_Code;
21274 
21275 FUNCTION Commitment ( p_commitment_id IN NUMBER )
21276 RETURN BOOLEAN
21277 IS
21278 l_dummy                       VARCHAR2(10);
21279 BEGIN
21280 
21281     IF p_commitment_id IS NULL OR
21282         p_commitment_id = FND_API.G_MISS_NUM
21283     THEN
21284             RETURN TRUE;
21285     END IF;
21286 
21287     --  SELECT  'VALID'
21288     --  INTO     l_dummy
21289     --  FROM     DB_TABLE
21290     --  WHERE    DB_COLUMN = p_charge_Subtype_code;
21291 
21292 
21293     RETURN TRUE;
21294 
21295 EXCEPTION
21296 
21297     WHEN NO_DATA_FOUND THEN
21298 
21299 
21300         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21301         THEN
21302 
21303                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_ID');
21304 
21305             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21306             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21307                                 OE_Order_Util.Get_Attribute_Name('COMMITMENT_ID'));
21308             OE_MSG_PUB.Add;
21309               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21310 
21311         END IF;
21312 
21313 
21314         RETURN FALSE;
21315 
21316     WHEN OTHERS THEN
21317 
21318         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21319         THEN
21320             OE_MSG_PUB.Add_Exc_Msg
21321             (   G_PKG_NAME
21322             ,   'Commitment'
21323             );
21324         END IF;
21325 
21326         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21327 
21328 END Commitment;
21329 
21330 FUNCTION credit_or_charge_flag( p_credit_or_charge_flag IN VARCHAR2 )
21331 RETURN BOOLEAN
21332 IS
21333 l_dummy                       VARCHAR2(10);
21334 l_lookup_type      	      VARCHAR2(80) :='CREDIT_OR_CHARGE_FLAG';
21335 BEGIN
21336 
21337     IF p_credit_or_charge_flag IS NULL OR
21338         p_credit_or_charge_flag = FND_API.G_MISS_CHAR
21339     THEN
21340             RETURN TRUE;
21341     END IF;
21342 
21343     SELECT  'VALID'
21344     INTO     l_dummy
21345     FROM     OE_LOOKUPS
21346     WHERE    LOOKUP_CODE = p_credit_or_charge_flag
21347     AND      LOOKUP_TYPE = l_lookup_type
21348     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21349                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21350 
21351 
21352     RETURN TRUE;
21353 
21354 EXCEPTION
21355 
21356     WHEN NO_DATA_FOUND THEN
21357 
21358 
21359         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21360         THEN
21361 
21362 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CREDIT_OR_CHARGE_FLAG');
21363 
21364             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21365             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21366 				OE_Order_Util.Get_Attribute_Name('CREDIT_OR_CHARGE_FLAG'));
21367             OE_MSG_PUB.Add;
21368 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21369 
21370         END IF;
21371 
21372 
21373         RETURN FALSE;
21374 
21375     WHEN OTHERS THEN
21376 
21377         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21378         THEN
21379             OE_MSG_PUB.Add_Exc_Msg
21380             (   G_PKG_NAME
21381             ,   'Credit Or Charge Flag '
21382             );
21383         END IF;
21384 
21385         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21386 
21387 END Credit_Or_Charge_Flag;
21388 
21389 FUNCTION Include_On_Returns_Flag( p_Include_On_Returns_Flag IN VARCHAR2 )
21390 RETURN BOOLEAN
21391 IS
21392 l_dummy                       VARCHAR2(10);
21393 l_lookup_type      	      VARCHAR2(80) :='YES_NO';
21394 BEGIN
21395 
21396     IF p_Include_On_Returns_Flag IS NULL OR
21397         p_Include_On_Returns_Flag = FND_API.G_MISS_CHAR
21398     THEN
21399             RETURN TRUE;
21400     END IF;
21401 
21402     SELECT  'VALID'
21403     INTO     l_dummy
21404     FROM     OE_FND_COMMON_LOOKUPS_V
21405     WHERE    LOOKUP_CODE = p_Include_On_Returns_Flag
21406     AND      LOOKUP_TYPE = l_lookup_type
21407     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21408                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21409 
21410 
21411     RETURN TRUE;
21412 
21413 EXCEPTION
21414 
21415     WHEN NO_DATA_FOUND THEN
21416 
21417 
21418         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21419         THEN
21420 
21421 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'INCLUDE_ON_RETURNS_FLAG');
21422 
21423             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21424             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21425 				OE_Order_Util.Get_Attribute_Name('INCLUDE_ON_RETURNS_FLAG'));
21426             OE_MSG_PUB.Add;
21427 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21428 
21429         END IF;
21430 
21431 
21432         RETURN FALSE;
21433 
21434     WHEN OTHERS THEN
21435 
21436         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21437         THEN
21438             OE_MSG_PUB.Add_Exc_Msg
21439             (   G_PKG_NAME
21440             ,   'Include On Returns Flag'
21441             );
21442         END IF;
21443 
21444         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21445 
21446 END Include_On_Returns_Flag;
21447 
21448 FUNCTION IS_AUDIT_REASON_RQD RETURN BOOLEAN IS
21449 BEGIN
21450    IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG = 'Y' THEN
21451 	 RETURN TRUE;
21452    ELSE
21453 	 RETURN FALSE;
21454    END IF;
21455 END;
21456 
21457 FUNCTION IS_AUDIT_HISTORY_RQD RETURN BOOLEAN IS
21458 BEGIN
21459    IF OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG = 'Y' THEN
21460 	 RETURN TRUE;
21461    ELSE
21462 	 RETURN FALSE;
21463    END IF;
21464 END;
21465 
21466 PROCEDURE RESET_AUDIT_REASON_FLAGS IS
21467 BEGIN
21468    OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'N';
21469    OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
21470 END;
21471 FUNCTION Sales_Channel( p_sales_channel_code IN VARCHAR2 )
21472 RETURN BOOLEAN
21473 IS
21474 l_dummy                       VARCHAR2(10);
21475 l_lookup_type      	      VARCHAR2(80) :='SALES_CHANNEL';
21476 BEGIN
21477 
21478     IF p_sales_channel_code IS NULL OR
21479         p_sales_channel_code = FND_API.G_MISS_CHAR
21480     THEN
21481             RETURN TRUE;
21482     END IF;
21483 
21484     SELECT  'VALID'
21485     INTO     l_dummy
21486     FROM     OE_LOOKUPS
21487     WHERE    LOOKUP_CODE = p_sales_channel_code
21488     AND      LOOKUP_TYPE = l_lookup_type
21489     AND      ENABLED_FLAG = 'Y'
21490     AND      SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE)
21491                      AND     NVL(END_DATE_ACTIVE, SYSDATE );
21492 
21493 
21494     RETURN TRUE;
21495 
21496 EXCEPTION
21497 
21498     WHEN NO_DATA_FOUND THEN
21499 
21500 
21501         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21502         THEN
21503 
21504 		OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SALES_CHANNEL_CODE');
21505 
21506           FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
21507           FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21508 				OE_Order_Util.Get_Attribute_Name('SALES_CHANNEL_CODE'));
21509           OE_MSG_PUB.Add;
21510 
21511 	     OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21512 
21513         END IF;
21514 
21515 
21516         RETURN FALSE;
21517 
21518     WHEN OTHERS THEN
21519 
21520         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21521         THEN
21522             OE_MSG_PUB.Add_Exc_Msg
21523             (   G_PKG_NAME
21524             ,   'Sales_Channel'
21525             );
21526         END IF;
21527 
21528         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21529 
21530 END Sales_Channel;
21531 
21532 FUNCTION User_Item_Description ( p_user_item_description IN VARCHAR2 )
21533 RETURN BOOLEAN
21534 IS
21535 l_dummy                       VARCHAR2(10);
21536 BEGIN
21537 
21538 
21539     IF p_user_item_description IS NULL OR
21540         p_user_item_description = FND_API.G_MISS_CHAR
21541     THEN
21542 
21543         RETURN TRUE;
21544     END IF;
21545 
21546     --  SELECT  'VALID'
21547     --  INTO     l_dummy
21548     --  FROM     DB_TABLE
21549     --  WHERE    DB_COLUMN = p_user_item_description;
21550 
21551 
21552     RETURN TRUE;
21553 
21554 EXCEPTION
21555 
21556     WHEN NO_DATA_FOUND THEN
21557 
21558         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21559         THEN
21560 
21561 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'USER_ITEM_DESCRIPTION');
21562 
21563             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21564             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21565 				OE_Order_Util.Get_Attribute_Name('user_item_description'));
21566             OE_MSG_PUB.Add;
21567 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21568 
21569         END IF;
21570 
21571 
21572         RETURN FALSE;
21573 
21574     WHEN OTHERS THEN
21575 
21576         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21577         THEN
21578             OE_MSG_PUB.Add_Exc_Msg
21579             (   G_PKG_NAME
21580             ,   'User_Item_Description'
21581             );
21582         END IF;
21583 
21584 
21585         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21586 
21587 END User_Item_Description;
21588 
21589 
21590 FUNCTION Item_Relationship_Type ( p_Item_Relationship_Type IN NUMBER )
21591 RETURN BOOLEAN
21592 IS
21593 l_dummy                       VARCHAR2(10);
21594 l_lookup_type      	      VARCHAR2(80) :='MTL_RELATIONSHIP_TYPES';
21595 BEGIN
21596     IF p_Item_Relationship_Type IS NULL OR
21597         p_Item_Relationship_Type = FND_API.G_MISS_NUM
21598     THEN
21599         RETURN TRUE;
21600     END IF;
21601 
21602     SELECT  'VALID'
21603     INTO    l_dummy
21604     FROM    MFG_LOOKUPS
21605     WHERE   LOOKUP_CODE = p_Item_Relationship_Type
21606     AND     LOOKUP_TYPE = l_lookup_type
21607     AND     ENABLED_FLAG = 'Y'
21608     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21609                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21610 RETURN TRUE;
21611 
21612 EXCEPTION
21613     WHEN NO_DATA_FOUND THEN
21614         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21615         THEN
21616               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'ITEM_RELATIONSHIP_TYPE');
21617             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21618             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21619                                 OE_Order_Util.Get_Attribute_Name('ITEM_RELATIONSHIP_TYPE'));
21620             OE_MSG_PUB.Add;
21621               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21622        END IF;
21623         RETURN FALSE;
21624 
21625     WHEN OTHERS THEN
21626         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21627         THEN
21628             OE_MSG_PUB.Add_Exc_Msg(g_pkg_name,'Item_Relationship_Type');
21629         END IF;
21630         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21631 END Item_Relationship_Type;
21632 
21633 
21634  -- Changes for Line Set Enhancements
21635 
21636 FUNCTION Default_Fulfillment_set (p_default_fulfillment_set IN VARCHAR2)
21637 RETURN BOOLEAN
21638 IS
21639 l_dummy                       VARCHAR2(10);
21640  BEGIN
21641        IF p_default_fulfillment_set IS NULL OR
21642           p_default_fulfillment_set = FND_API.G_MISS_CHAR
21643        THEN
21644           RETURN TRUE;
21645        END IF;
21646 
21647       --  SELECT  'VALID'
21648       --  INTO     l_dummy
21649       --  FROM     DB_TABLE
21650       --  WHERE    DB_COLUMN = p_default_fulfillment_set;
21651 
21652       RETURN TRUE;
21653 
21654 EXCEPTION
21655 
21656       WHEN NO_DATA_FOUND THEN
21657 
21658           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21659           THEN
21660 
21661                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>  'Default_Fulfillment_Set');
21662 
21663               FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
21664               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21665                                   OE_Order_Util.Get_Attribute_Name('Default_Fulfillment_Set'));
21666               OE_MSG_PUB.Add;
21667                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21668 
21669           END IF;
21670 
21671 
21672           RETURN FALSE;
21673 
21674       WHEN OTHERS THEN
21675 
21676           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21677           THEN
21678               OE_MSG_PUB.Add_Exc_Msg
21679               (   G_PKG_NAME
21680               ,   'Default_Fulfillment_Set'
21681               );
21682           END IF;
21683 
21684 
21685           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21686 
21687 END Default_Fulfillment_Set;
21688 
21689 FUNCTION Fulfillment_Set_Name (p_fulfillment_set_name IN VARCHAR2)
21690 RETURN BOOLEAN
21691 IS
21692   l_dummy                       VARCHAR2(10);
21693   BEGIN
21694        IF p_fulfillment_set_name IS NULL OR
21695           p_fulfillment_set_name= FND_API.G_MISS_CHAR    THEN
21696             RETURN TRUE;
21697        END IF;
21698 
21699       --  SELECT  'VALID'
21700       --  INTO    l_dummy
21701       --  FROM    DB_TABLE
21702       --  WHERE   DB_COLUMN = p_fulfillment_set_name;
21703 
21704       RETURN TRUE;
21705   EXCEPTION
21706 
21707       WHEN NO_DATA_FOUND THEN
21708 
21709           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21710           THEN
21711 
21712                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Fulfillment_Set_Name');
21713 
21714               fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21715               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21716                                   OE_Order_Util.Get_Attribute_Name('Fulfillment_Set_Name'));
21717               OE_MSG_PUB.Add;
21718                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21719 
21720           END IF;
21721 
21722 
21723           RETURN FALSE;
21724 
21725       WHEN OTHERS THEN
21726 
21727           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21728           THEN
21729               OE_MSG_PUB.Add_Exc_Msg
21730               (   G_PKG_NAME
21731               ,   'Fulfillment_Set_Name'
21732               );
21733           END IF;
21734 
21735 
21736           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21737 
21738 END Fulfillment_Set_Name;
21739 
21740 FUNCTION Line_Set_Name (p_line_set_name IN VARCHAR2)
21741 RETURN BOOLEAN
21742 IS
21743   l_dummy                       VARCHAR2(10);
21744 BEGIN
21745       IF p_line_set_name IS NULL OR
21746          p_line_set_name= FND_API.G_MISS_CHAR    THEN
21747              RETURN TRUE;
21748       END IF;
21749 
21750       --  SELECT  'VALID'
21751       --  INTO    l_dummy
21752       --  FROM    DB_TABLE
21753       --  WHERE   DB_COLUMN = p_line_set_name;
21754 
21755       RETURN TRUE;
21756   EXCEPTION
21757 
21758       WHEN NO_DATA_FOUND THEN
21759 
21760           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21761           THEN
21762 
21763                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Line_Set_Name');
21764 
21765              fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21766              FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21767                                  OE_Order_Util.Get_Attribute_Name('Line_Set_Name'));
21768              OE_MSG_PUB.Add;
21769                OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21770 
21771          END IF;
21772 
21773 
21774          RETURN FALSE;
21775 
21776      WHEN OTHERS THEN
21777 
21778           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21779           THEN
21780               OE_MSG_PUB.Add_Exc_Msg
21781               (   G_PKG_NAME
21782               ,   'Line_Set_Name'
21783               );
21784           END IF;
21785 
21786 
21787           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21788 
21789 END Line_Set_Name;
21790 
21791 
21792 FUNCTION Customer_Shipment_Number (p_customer_shipment_number IN VARCHAR2)
21793 RETURN BOOLEAN
21794 IS
21795 l_dummy                       VARCHAR2(10);
21796  BEGIN
21797        IF p_customer_shipment_number IS NULL OR
21798           p_customer_shipment_number = FND_API.G_MISS_CHAR
21799        THEN
21800           RETURN TRUE;
21801        END IF;
21802 
21803       --  SELECT  'VALID'
21804       --  INTO     l_dummy
21805       --  FROM     DB_TABLE
21806       --  WHERE    DB_COLUMN = p_customer_shipment_number;
21807 
21808       RETURN TRUE;
21809 
21810 EXCEPTION
21811 
21812       WHEN NO_DATA_FOUND THEN
21813 
21814           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21815           THEN
21816 
21817                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code =>  'Customer_Shipment_Number');
21818 
21819               FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
21820               FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21821                                   OE_Order_Util.Get_Attribute_Name('Customer_Shipment_Number'));
21822               OE_MSG_PUB.Add;
21823                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21824 
21825           END IF;
21826 
21827 
21828           RETURN FALSE;
21829 
21830       WHEN OTHERS THEN
21831 
21832           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21833           THEN
21834               OE_MSG_PUB.Add_Exc_Msg
21835               (   G_PKG_NAME
21836               ,   'Customer_Shipment_Number'
21837               );
21838           END IF;
21839 
21840 
21841           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21842 
21843 END Customer_Shipment_Number;
21844 
21845 -- QUOTING changes
21846 
21847 FUNCTION Transaction_Phase ( p_transaction_phase_code IN VARCHAR2 )
21848 RETURN BOOLEAN
21849 IS
21850 l_dummy                       VARCHAR2(10);
21851 l_lookup_type      	      VARCHAR2(80) :='TRANSACTION_PHASE';
21852 BEGIN
21853 
21854     IF p_transaction_phase_code IS NULL OR
21855         p_transaction_phase_code = FND_API.G_MISS_CHAR
21856     THEN
21857 
21858         RETURN TRUE;
21859     END IF;
21860 
21861     SELECT  'VALID'
21862     INTO    l_dummy
21863     FROM    OE_LOOKUPS
21864     WHERE   LOOKUP_CODE = p_transaction_phase_code
21865     AND     LOOKUP_TYPE = l_lookup_type
21866     AND     ENABLED_FLAG = 'Y'
21867     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21868                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21869 
21870 
21871     RETURN TRUE;
21872 
21873 EXCEPTION
21874 
21875     WHEN NO_DATA_FOUND THEN
21876 
21877         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21878         THEN
21879 
21880 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRANSACTION_PHASE_CODE');
21881 
21882             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21883             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21884 				OE_Order_Util.Get_Attribute_Name('TRANSACTION_PHASE_CODE'));
21885             OE_MSG_PUB.Add;
21886 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21887 
21888         END IF;
21889 
21890 
21891         RETURN FALSE;
21892 
21893     WHEN OTHERS THEN
21894 
21895         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21896         THEN
21897             OE_MSG_PUB.Add_Exc_Msg
21898             (   G_PKG_NAME
21899             ,   'Transaction_Phase'
21900             );
21901         END IF;
21902 
21903 
21904         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21905 
21906 END Transaction_Phase;
21907 
21908 FUNCTION User_Status ( p_user_status_code IN VARCHAR2 )
21909 RETURN BOOLEAN
21910 IS
21911 l_dummy                       VARCHAR2(10);
21912 l_lookup_type      	      VARCHAR2(80) :='USER_STATUS';
21913 BEGIN
21914 
21915     IF p_user_status_code IS NULL OR
21916         p_user_status_code = FND_API.G_MISS_CHAR
21917     THEN
21918 
21919         RETURN TRUE;
21920     END IF;
21921 
21922     SELECT  'VALID'
21923     INTO    l_dummy
21924     FROM    OE_LOOKUPS
21925     WHERE   LOOKUP_CODE = p_user_status_code
21926     AND     LOOKUP_TYPE = l_lookup_type
21927     AND     ENABLED_FLAG = 'Y'
21928     AND     SYSDATE     BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
21929                         AND NVL(END_DATE_ACTIVE, SYSDATE);
21930 
21931 
21932     RETURN TRUE;
21933 
21934 EXCEPTION
21935 
21936     WHEN NO_DATA_FOUND THEN
21937 
21938         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21939         THEN
21940 
21941 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'USER_STATUS_CODE');
21942 
21943             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
21944             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
21945 				OE_Order_Util.Get_Attribute_Name('USER_STATUS_CODE'));
21946             OE_MSG_PUB.Add;
21947 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
21948 
21949         END IF;
21950 
21951 
21952         RETURN FALSE;
21953 
21954     WHEN OTHERS THEN
21955 
21956         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
21957         THEN
21958             OE_MSG_PUB.Add_Exc_Msg
21959             (   G_PKG_NAME
21960             ,   'User_Status'
21961             );
21962         END IF;
21963 
21964 
21965         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
21966 
21967 END User_Status;
21968 
21969 FUNCTION Customer_Location ( p_sold_to_site_use_id IN NUMBER )
21970 RETURN BOOLEAN
21971 IS
21972 l_dummy                       VARCHAR2(10);
21973 BEGIN
21974 
21975 
21976     IF p_sold_to_site_use_id IS NULL OR
21977         p_sold_to_site_use_id = FND_API.G_MISS_NUM
21978     THEN
21979 
21980         RETURN TRUE;
21981     END IF;
21982 
21983     SELECT  'VALID'
21984     INTO    l_dummy
21985     FROM    HZ_CUST_SITE_USES   SITE
21986     WHERE   SITE.SITE_USE_ID =p_sold_to_site_use_id
21987     AND     SITE.SITE_USE_CODE = 'SOLD_TO'
21988     AND     SITE.STATUS = 'A';
21989 
21990 
21991     RETURN TRUE;
21992 
21993 EXCEPTION
21994 
21995     WHEN NO_DATA_FOUND THEN
21996 
21997         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
21998         THEN
21999 
22000 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SOLD_TO_SITE_USE_ID');
22001 
22002             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22003             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22004 				OE_Order_Util.Get_Attribute_Name('sold_to_site_use_id'));
22005             OE_MSG_PUB.Add;
22006 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22007 
22008         END IF;
22009 
22010 
22011         RETURN FALSE;
22012 
22013     WHEN OTHERS THEN
22014 
22015         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22016         THEN
22017             OE_MSG_PUB.Add_Exc_Msg
22018             (   G_PKG_NAME
22019             ,   'Customer_Location'
22020             );
22021         END IF;
22022 
22023 
22024         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22025 
22026 END Customer_Location;
22027 -- QUOTING changes END
22028 FUNCTION Minisite( p_minisite_id IN NUMBER)
22029 RETURN BOOLEAN
22030 IS
22031 l_sql_stat                      VARCHAR2(500);
22032 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
22033 x_return_status                 VARCHAR2(80);
22034 l_dummy                         NUMBER;
22035 BEGIN
22036 
22037     IF p_minisite_id IS NULL
22038             OR
22039        p_minisite_id = FND_API.G_MISS_NUM
22040     THEN
22041         RETURN TRUE;
22042 
22043     ELSE
22044 
22045  IF  OE_GLOBALS.CHECK_PRODUCT_INSTALLED(671) = 'Y' THEN
22046 
22047     -- SQL Literal Change
22048     l_sql_stat := 'select 1 from IBE_MSITES_B where msite_id= :bind_minisite_id';
22049 
22050     -- SQL Literal Change
22051      Execute immediate l_sql_stat into l_dummy using p_minisite_id;
22052 
22053     RETURN TRUE;
22054 
22055 /* ELSE
22056          IF l_debug_level  > 0 THEN
22057        oe_debug_pub.add('profuct is not installed');
22058            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
22059            RETURN FALSE;
22060          END IF; */
22061 
22062 
22063 END IF;
22064 END IF;
22065 
22066 EXCEPTION
22067 
22068     WHEN NO_DATA_FOUND THEN
22069 
22070         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22071         THEN
22072 
22073             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'MINISITE_ID');
22074 
22075             FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
22076             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22077                          'MINISITE_ID');
22078             OE_MSG_PUB.Add;
22079 
22080                 OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22081 
22082         END IF;
22083 
22084         RETURN FALSE;
22085 
22086 /*  WHEN OTHERS THEN
22087          IF l_debug_level  > 0 THEN
22088        oe_debug_pub.add('error in calling');
22089        oe_debug_pub.add(sqlerrm);
22090            x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
22091            RETURN FALSE;
22092          END IF;  */
22093 
22094     WHEN OTHERS THEN
22095         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22096         THEN
22097             OE_MSG_PUB.Add_Exc_Msg
22098             (   G_PKG_NAME
22099             ,   'Minisite'
22100             );
22101         END IF;
22102 
22103         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22104 
22105 END Minisite;
22106 
22107 FUNCTION IB_OWNER ( p_ib_owner IN VARCHAR2 )
22108 RETURN BOOLEAN
22109 IS
22110 l_dummy                       VARCHAR2(10);
22111 l_lookup_type1      	      VARCHAR2(80) :='ITEM_OWNER';
22112 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
22113 BEGIN
22114 
22115 
22116     IF p_ib_owner IS NULL OR
22117         p_ib_owner = FND_API.G_MISS_CHAR
22118     THEN
22119 
22120         RETURN TRUE;
22121     END IF;
22122 
22123       SELECT  'VALID'
22124       INTO     l_dummy
22125       FROM     OE_LOOKUPS
22126       WHERE    lookup_code = p_ib_owner AND
22127               ( lookup_type = l_lookup_type1 OR lookup_type=l_lookup_type2);
22128 
22129 
22130     RETURN TRUE;
22131 
22132 EXCEPTION
22133 
22134     WHEN NO_DATA_FOUND THEN
22135 
22136         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22137         THEN
22138 
22139            OE_DEBUG_PUB.ADD('Validation failed for IB_OWNER in OEXSVATB.pls');
22140 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_OWNER');
22141 
22142             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22143             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22144 				OE_Order_Util.Get_Attribute_Name('ib_owner'));
22145             OE_MSG_PUB.Add;
22146 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22147 
22148         END IF;
22149 
22150 
22151         RETURN FALSE;
22152 
22153     WHEN OTHERS THEN
22154 
22155         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22156         THEN
22157             OE_MSG_PUB.Add_Exc_Msg
22158             (   G_PKG_NAME
22159             ,   'IB_OWNER'
22160             );
22161         END IF;
22162 
22163 
22164         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22165 
22166 END IB_OWNER;
22167 
22168 FUNCTION IB_INSTALLED_AT_LOCATION ( p_ib_installed_at_location IN VARCHAR2 )
22169 RETURN BOOLEAN
22170 IS
22171 l_dummy                       VARCHAR2(10);
22172 l_lookup_type1      	      VARCHAR2(80) :='ITEM_INSTALL_LOCATION';
22173 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
22174 BEGIN
22175 
22176 
22177     IF p_ib_installed_at_location IS NULL OR
22178         p_ib_installed_at_location = FND_API.G_MISS_CHAR
22179     THEN
22180 
22181         RETURN TRUE;
22182     END IF;
22183 
22184       SELECT  'VALID'
22185       INTO     l_dummy
22186       FROM     OE_LOOKUPS
22187       WHERE    lookup_code = p_ib_installed_at_location AND
22188                (lookup_type = l_lookup_type1 OR lookup_type= l_lookup_type2);
22189 
22190 
22191     RETURN TRUE;
22192 
22193 EXCEPTION
22194 
22195     WHEN NO_DATA_FOUND THEN
22196 
22197         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22198         THEN
22199 
22200            OE_DEBUG_PUB.ADD('Validation failed for IB_INSTALLED_AT_LOCATION in OEXSVATB.pls');
22201 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_INSTALLED_AT_LOCATION');
22202 
22203             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22204             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22205 				OE_Order_Util.Get_Attribute_Name('ib_installed_at_location'));
22206             OE_MSG_PUB.Add;
22207 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22208 
22209         END IF;
22210 
22211 
22212         RETURN FALSE;
22213 
22214     WHEN OTHERS THEN
22215 
22216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22217         THEN
22218             OE_MSG_PUB.Add_Exc_Msg
22219             (   G_PKG_NAME
22220             ,   'IB_INSTALLED_AT_LOCATION'
22221             );
22222         END IF;
22223 
22224 
22225         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22226 
22227 END IB_INSTALLED_AT_LOCATION;
22228 
22229 FUNCTION IB_CURRENT_LOCATION ( p_ib_current_location IN VARCHAR2 )
22230 RETURN BOOLEAN
22231 IS
22232 l_dummy                       VARCHAR2(10);
22233 l_lookup_type1      	      VARCHAR2(80) :='ITEM_CURRENT_LOCATION';
22234 l_lookup_type2      	      VARCHAR2(80) :='ONT_INSTALL_BASE';
22235 BEGIN
22236 
22237 
22238     IF p_ib_current_location IS NULL OR
22239         p_ib_current_location = FND_API.G_MISS_CHAR
22240     THEN
22241 
22242         RETURN TRUE;
22243     END IF;
22244 
22245       SELECT  'VALID'
22246       INTO     l_dummy
22247       FROM     OE_LOOKUPS
22248       WHERE    lookup_code = p_ib_current_location AND
22249                (lookup_type = l_lookup_type1 OR lookup_type=l_lookup_type2);
22250 
22251 
22252     RETURN TRUE;
22253 
22254 EXCEPTION
22255 
22256     WHEN NO_DATA_FOUND THEN
22257 
22258         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22259         THEN
22260 
22261            OE_DEBUG_PUB.ADD('Validation failed for IB_CURRENT_LOCATION in OEXSVATB.pls');
22262 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'IB_CURRENT_LOCATION');
22263 
22264             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22265             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22266 				OE_Order_Util.Get_Attribute_Name('ib_current_location'));
22267             OE_MSG_PUB.Add;
22268 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22269 
22270         END IF;
22271 
22272 
22273         RETURN FALSE;
22274 
22275     WHEN OTHERS THEN
22276 
22277         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22278         THEN
22279             OE_MSG_PUB.Add_Exc_Msg
22280             (   G_PKG_NAME
22281             ,   'IB_CURRENT_LOCATION'
22282             );
22283         END IF;
22284 
22285 
22286         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22287 
22288 END IB_CURRENT_LOCATION;
22289 
22290 -- distributed orders
22291 
22292 FUNCTION end_customer(p_end_customer_id IN NUMBER) RETURN BOOLEAN
22293 IS
22294    l_dummy                       VARCHAR2(10);
22295 BEGIN
22296 
22297    IF p_end_customer_id IS NULL OR
22298         p_end_customer_id = FND_API.G_MISS_NUM
22299     THEN
22300         RETURN TRUE;
22301     END IF;
22302 
22303     SELECT  'VALID'
22304     INTO    l_dummy
22305     FROM    OE_SOLD_TO_ORGS_V
22306     WHERE   ORGANIZATION_ID =p_end_customer_id
22307     AND     STATUS = 'A'
22308     AND     SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE)
22309                     AND     NVL(END_DATE_ACTIVE, SYSDATE);
22310 
22311 
22312 
22313     RETURN TRUE;
22314 
22315 EXCEPTION
22316 
22317     WHEN NO_DATA_FOUND THEN
22318 
22319         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22320         THEN
22321 
22322 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_ID');
22323 
22324             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22325             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22326 				OE_Order_Util.Get_Attribute_Name('END_CUSTOMER_ID')||':validation:'||to_char(p_end_customer_id));
22327             OE_MSG_PUB.Add;
22328 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22329 
22330         END IF;
22331 
22332 
22333         RETURN FALSE;
22334 
22335     WHEN OTHERS THEN
22336 
22337         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22338         THEN
22339             OE_MSG_PUB.Add_Exc_Msg
22340             (   G_PKG_NAME
22341             ,   'END_CUSOTMER'
22342             );
22343         END IF;
22344 
22345 
22346         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22347    null;
22348 END end_customer;
22349 
22350 
22351 FUNCTION end_customer_contact(p_end_customer_contact_id IN NUMBER) RETURN BOOLEAN
22352 IS
22353    l_dummy                       VARCHAR2(10);
22354 BEGIN
22355 
22356    IF p_end_customer_contact_id IS NULL OR
22357         p_end_customer_contact_id = FND_API.G_MISS_NUM
22358     THEN
22359 
22360         RETURN TRUE;
22361     END IF;
22362 
22363     SELECT  'VALID'
22364     INTO    l_dummy
22365     FROM    HZ_CUST_ACCOUNT_ROLES
22366     WHERE   CUST_ACCOUNT_ROLE_ID = p_end_customer_contact_id
22367     AND     ROLE_TYPE = 'CONTACT'
22368     AND     STATUS = 'A';
22369 
22370     RETURN TRUE;
22371 
22372 EXCEPTION
22373 
22374     WHEN NO_DATA_FOUND THEN
22375 
22376         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22377         THEN
22378 
22379 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_CONTACT_ID');
22380 
22381             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22382             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22383 				OE_Order_Util.Get_Attribute_Name('end_customer_contact_id'));
22384             OE_MSG_PUB.Add;
22385 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22386 
22387         END IF;
22388 
22389 
22390         RETURN FALSE;
22391 
22392     WHEN OTHERS THEN
22393 
22394         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22395         THEN
22396             OE_MSG_PUB.Add_Exc_Msg
22397             (   G_PKG_NAME
22398             ,   'End_Customer_Contact'
22399             );
22400         END IF;
22401 
22402 
22403         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22404    null;
22405 END end_customer_contact;
22406 
22407 FUNCTION END_CUSTOMER_SITE_USE ( p_end_customer_site_use_id IN NUMBER )
22408 RETURN BOOLEAN
22409 IS
22410 l_dummy                       VARCHAR2(10);
22411 BEGIN
22412 
22413 
22414     IF p_end_customer_site_use_id IS NULL OR
22415         p_end_customer_site_use_id = FND_API.G_MISS_NUM
22416     THEN
22417 
22418         RETURN TRUE;
22419     END IF;
22420 
22421     --  SELECT  'VALID'
22422     --  INTO     l_dummy
22423     --  FROM     DB_TABLE
22424     --  WHERE    DB_COLUMN = p_end_customer_site_use_id;
22425 
22426 
22427     RETURN TRUE;
22428 
22429 EXCEPTION
22430 
22431     WHEN NO_DATA_FOUND THEN
22432 
22433         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22434         THEN
22435 
22436 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'END_CUSTOMER_SITE_USE_ID');
22437 
22438             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22439             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22440 				OE_Order_Util.Get_Attribute_Name('end_customer_site_use_id'));
22441             OE_MSG_PUB.Add;
22442 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22443 
22444         END IF;
22445 
22446 
22447         RETURN FALSE;
22448 
22449     WHEN OTHERS THEN
22450 
22451         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22452         THEN
22453             OE_MSG_PUB.Add_Exc_Msg
22454             (   G_PKG_NAME
22455             ,   'END_CUSTOMER_SITE_USE_ID'
22456             );
22457         END IF;
22458 
22459 
22460         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22461 
22462 END END_CUSTOMER_SITE_USE;
22463 
22464 FUNCTION SUPPLIER_SIGNATURE ( p_supplier_signature IN VARCHAR2 )
22465 RETURN BOOLEAN
22466 IS
22467 l_dummy                       VARCHAR2(10);
22468 BEGIN
22469 
22470 
22471     IF p_supplier_signature IS NULL OR
22472         p_supplier_signature = FND_API.G_MISS_CHAR
22473     THEN
22474 
22475         RETURN TRUE;
22476     END IF;
22477 
22478     --  SELECT  'VALID'
22479     --  INTO     l_dummy
22480     --  FROM     DB_TABLE
22481     --  WHERE    DB_COLUMN = p_supplier_signature;
22482 
22483 
22484     RETURN TRUE;
22485 
22486 EXCEPTION
22487 
22488     WHEN NO_DATA_FOUND THEN
22489 
22490         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22491         THEN
22492 
22493 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUPPLIER_SIGNATURE');
22494 
22495             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22496             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22497 				OE_Order_Util.Get_Attribute_Name('supplier_signature'));
22498             OE_MSG_PUB.Add;
22499 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22500 
22501         END IF;
22502 
22503 
22504         RETURN FALSE;
22505 
22506     WHEN OTHERS THEN
22507 
22508         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22509         THEN
22510             OE_MSG_PUB.Add_Exc_Msg
22511             (   G_PKG_NAME
22512             ,   'SUPPLIER_SIGNATURE'
22513             );
22514         END IF;
22515 
22516 
22517         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22518 
22519 END SUPPLIER_SIGNATURE;
22520 
22521 FUNCTION SUPPLIER_SIGNATURE_DATE ( p_supplier_signature_date IN DATE )
22522 RETURN BOOLEAN
22523 IS
22524 l_dummy                       VARCHAR2(10);
22525 BEGIN
22526 
22527 
22528     IF p_supplier_signature_date IS NULL OR
22529         p_supplier_signature_date = FND_API.G_MISS_DATE
22530     THEN
22531 
22532         RETURN TRUE;
22533     END IF;
22534 
22535     --  SELECT  'VALID'
22536     --  INTO     l_dummy
22537     --  FROM     DB_TABLE
22538     --  WHERE    DB_COLUMN = p_supplier_signature_date;
22539 
22540 
22541     RETURN TRUE;
22542 
22543 EXCEPTION
22544 
22545     WHEN NO_DATA_FOUND THEN
22546 
22547         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22548         THEN
22549 
22550 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SUPPLIER_SIGNATURE');
22551 
22552             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22553             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22554 				OE_Order_Util.Get_Attribute_Name('supplier_signature_date'));
22555             OE_MSG_PUB.Add;
22556 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22557 
22558         END IF;
22559 
22560 
22561         RETURN FALSE;
22562 
22563     WHEN OTHERS THEN
22564 
22565         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22566         THEN
22567             OE_MSG_PUB.Add_Exc_Msg
22568             (   G_PKG_NAME
22569             ,   'SUPPLIER_SIGNATURE_DATE'
22570             );
22571         END IF;
22572 
22573 
22574         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22575 
22576 END SUPPLIER_SIGNATURE_DATE;
22577 
22578 FUNCTION CUSTOMER_SIGNATURE ( p_customer_signature IN VARCHAR2 )
22579 RETURN BOOLEAN
22580 IS
22581 l_dummy                       VARCHAR2(10);
22582 BEGIN
22583 
22584 
22585     IF p_customer_signature IS NULL OR
22586         p_customer_signature = FND_API.G_MISS_CHAR
22587     THEN
22588 
22589         RETURN TRUE;
22590     END IF;
22591 
22592     --  SELECT  'VALID'
22593     --  INTO     l_dummy
22594     --  FROM     DB_TABLE
22595     --  WHERE    DB_COLUMN = p_customer_signature;
22596 
22597 
22598     RETURN TRUE;
22599 
22600 EXCEPTION
22601 
22602     WHEN NO_DATA_FOUND THEN
22603 
22604         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22605         THEN
22606 
22607 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_SIGNATURE');
22608 
22609             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22610             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22611 				OE_Order_Util.Get_Attribute_Name('customer_signature'));
22612             OE_MSG_PUB.Add;
22613 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22614 
22615         END IF;
22616 
22617 
22618         RETURN FALSE;
22619 
22620     WHEN OTHERS THEN
22621 
22622         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22623         THEN
22624             OE_MSG_PUB.Add_Exc_Msg
22625             (   G_PKG_NAME
22626             ,   'CUSTOMER_SIGNATURE'
22627             );
22628         END IF;
22629 
22630 
22631         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22632 
22633 END CUSTOMER_SIGNATURE;
22634 
22635 FUNCTION CUSTOMER_SIGNATURE_DATE ( p_customer_signature_date IN DATE )
22636 RETURN BOOLEAN
22637 IS
22638 l_dummy                       VARCHAR2(10);
22639 BEGIN
22640 
22641 
22642     IF p_customer_signature_date IS NULL OR
22643         p_customer_signature_date = FND_API.G_MISS_DATE
22644     THEN
22645 
22646         RETURN TRUE;
22647     END IF;
22648 
22649     --  SELECT  'VALID'
22650     --  INTO     l_dummy
22651     --  FROM     DB_TABLE
22652     --  WHERE    DB_COLUMN = p_customer_signature_date;
22653 
22654 
22655     RETURN TRUE;
22656 
22657 EXCEPTION
22658 
22659     WHEN NO_DATA_FOUND THEN
22660 
22661         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22662         THEN
22663 
22664 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CUSTOMER_SIGNATURE_DATE');
22665 
22666             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22667             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22668 				OE_Order_Util.Get_Attribute_Name('customer_signature_date'));
22669             OE_MSG_PUB.Add;
22670 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22671 
22672         END IF;
22673 
22674 
22675         RETURN FALSE;
22676 
22677     WHEN OTHERS THEN
22678 
22679         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
22680         THEN
22681             OE_MSG_PUB.Add_Exc_Msg
22682             (   G_PKG_NAME
22683             ,   'CUSTOMER_SIGNATURE_DATE'
22684             );
22685         END IF;
22686 
22687 
22688         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22689 
22690 END CUSTOMER_SIGNATURE_DATE;
22691 
22692 FUNCTION CONTRACT_TEMPLATE_ID ( p_contract_template_id IN NUMBER )
22693 RETURN BOOLEAN
22694 IS
22695 l_dummy                       VARCHAR2(10);
22696 BEGIN
22697 
22698 
22699     IF p_contract_template_id IS NULL OR
22700         p_contract_template_id = FND_API.G_MISS_NUM
22701     THEN
22702 
22703         RETURN TRUE;
22704     END IF;
22705 
22706     --  SELECT  'VALID'
22707     --  INTO     l_dummy
22708     --  FROM     DB_TABLE
22709     --  WHERE    DB_COLUMN = p_contract_template_id;
22710 
22711  RETURN TRUE;
22712 
22713 EXCEPTION
22714 
22715     WHEN NO_DATA_FOUND THEN
22716 
22717         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22718         THEN
22719 
22720               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_TEMPLATE_ID
22721 ');
22722 
22723             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22724             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22725                                 OE_Order_Util.Get_Attribute_Name('contract_template_id'));
22726             OE_MSG_PUB.Add;
22727               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22728 
22729         END IF;
22730 
22731         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22732 
22733 END CONTRACT_TEMPLATE_ID;
22734 
22735 FUNCTION CONTRACT_SOURCE_DOC_TYPE_CODE ( p_contract_source_doc_type IN NUMBER )
22736 RETURN BOOLEAN
22737 IS
22738 l_dummy                       VARCHAR2(10);
22739 BEGIN
22740 
22741 
22742     IF p_contract_source_doc_type IS NULL OR
22743         p_contract_source_doc_type = FND_API.G_MISS_NUM
22744     THEN
22745 
22746         RETURN TRUE;
22747     END IF;
22748 
22749     --  SELECT  'VALID'
22750     --  INTO     l_dummy
22751     --  FROM     DB_TABLE
22752     --  WHERE    DB_COLUMN = p_contract_source_doc_type;
22753 
22754  RETURN TRUE;
22755 
22756 EXCEPTION
22757 
22758     WHEN NO_DATA_FOUND THEN
22759 
22760         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22761         THEN
22762 
22763               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_SOURCE_DOC_TYPE_CODE
22764 ');
22765 
22766             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22767             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22768                                 OE_Order_Util.Get_Attribute_Name('contract_source_doc_type_code'));
22769             OE_MSG_PUB.Add;
22770               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22771 
22772         END IF;
22773 
22774         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22775 
22776 END CONTRACT_SOURCE_DOC_TYPE_CODE;
22777 
22778 
22779 FUNCTION CONTRACT_SOURCE_DOCUMENT_ID ( p_contract_source_document_id IN NUMBER )
22780 RETURN BOOLEAN
22781 IS
22782 l_dummy                       VARCHAR2(10);
22783 BEGIN
22784 
22785 
22786     IF p_contract_source_document_id IS NULL OR
22787         p_contract_source_document_id = FND_API.G_MISS_NUM
22788     THEN
22789 
22790         RETURN TRUE;
22791     END IF;
22792 
22793     --  SELECT  'VALID'
22794     --  INTO     l_dummy
22795     --  FROM     DB_TABLE
22796     --  WHERE    DB_COLUMN = p_contract_source_document_id;
22797 
22798  RETURN TRUE;
22799 
22800 EXCEPTION
22801 
22802     WHEN NO_DATA_FOUND THEN
22803 
22804         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
22805         THEN
22806 
22807               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CONTRACT_SOURCE_DOCUMENT_ID');
22808 
22809             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
22810             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
22811                                 OE_Order_Util.Get_Attribute_Name('contract_source_document_id'));
22812             OE_MSG_PUB.Add;
22813               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
22814 
22815         END IF;
22816 
22817         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
22818 
22819 END CONTRACT_SOURCE_DOCUMENT_ID;
22820 
22821 
22822 FUNCTION Payments_Desc_Flex (p_context IN VARCHAR2,
22823                            p_attribute1 IN VARCHAR2,
22824                            p_attribute2 IN VARCHAR2,
22825                            p_attribute3 IN VARCHAR2,
22826                            p_attribute4 IN VARCHAR2,
22827                            p_attribute5 IN VARCHAR2,
22828                            p_attribute6 IN VARCHAR2,
22829                            p_attribute7 IN VARCHAR2,
22830                            p_attribute8 IN VARCHAR2,
22831                            p_attribute9 IN VARCHAR2,
22832                            p_attribute10 IN VARCHAR2,
22833                            p_attribute11 IN VARCHAR2,
22834                            p_attribute12 IN VARCHAR2,
22835                            p_attribute13 IN VARCHAR2,
22836                            p_attribute14 IN VARCHAR2,
22837                            p_attribute15 IN VARCHAR2)
22838 
22839 RETURN BOOLEAN
22840 IS
22841 l_column_value VARCHAR2(240) := null;
22842 BEGIN
22843 
22844    --  Assiging the segment names so as to map the values after the FND call.
22845                 g_context_name := 'CONTEXT';
22846                 g_attribute1_name := 'ATTRIBUTE1';
22847                 g_attribute2_name := 'ATTRIBUTE2';
22848                 g_attribute3_name := 'ATTRIBUTE3';
22849                 g_attribute4_name := 'ATTRIBUTE4';
22850                 g_attribute5_name := 'ATTRIBUTE5';
22851                 g_attribute6_name := 'ATTRIBUTE6';
22852                 g_attribute7_name := 'ATTRIBUTE7';
22853                 g_attribute8_name := 'ATTRIBUTE8';
22854                 g_attribute9_name := 'ATTRIBUTE9';
22855                 g_attribute10_name := 'ATTRIBUTE10';
22856                 g_attribute11_name := 'ATTRIBUTE11';
22857                 g_attribute12_name := 'ATTRIBUTE12';
22858                 g_attribute13_name := 'ATTRIBUTE13';
22859                 g_attribute14_name := 'ATTRIBUTE14';
22860                 g_attribute15_name := 'ATTRIBUTE15';
22861 
22862                   IF p_attribute1 = FND_API.G_MISS_CHAR THEN
22863 
22864                      l_column_value := null;
22865 
22866                   ELSE
22867 
22868                      l_column_value := p_attribute1;
22869 
22870                   END IF;
22871 
22872                   FND_FLEX_DESCVAL.Set_Column_Value
22873                   (   column_name   => 'ATTRIBUTE1'
22874                    ,  column_value  => l_column_value);
22875 
22876 
22877                   IF p_attribute2 = FND_API.G_MISS_CHAR THEN
22878 
22879                      l_column_value := null;
22880 
22881                   ELSE
22882 
22883                      l_column_value := p_attribute2;
22884 
22885                   END IF;
22886                   FND_FLEX_DESCVAL.Set_Column_Value
22887                   (   column_name   => 'ATTRIBUTE2'
22888                    ,  column_value  =>  l_column_value);
22889 
22890                   IF p_attribute3 = FND_API.G_MISS_CHAR THEN
22891 
22892                      l_column_value := null;
22893 
22894                   ELSE
22895 
22896                      l_column_value := p_attribute3;
22897 
22898                   END IF;
22899                   FND_FLEX_DESCVAL.Set_Column_Value
22900                   (   column_name   => 'ATTRIBUTE3'
22901                    ,  column_value  =>  l_column_value);
22902 
22903                   IF p_attribute4 = FND_API.G_MISS_CHAR THEN
22904 
22905                      l_column_value := null;
22906 
22907                   ELSE
22908 
22909                      l_column_value := p_attribute4;
22910 
22911                   END IF;
22912                   FND_FLEX_DESCVAL.Set_Column_Value
22913                   (   column_name   => 'ATTRIBUTE4'
22914                    ,  column_value  =>  l_column_value);
22915 
22916                   IF p_attribute5 = FND_API.G_MISS_CHAR THEN
22917 
22918                      l_column_value := null;
22919 
22920                   ELSE
22921 
22922                      l_column_value := p_attribute5;
22923 
22924                   END IF;
22925                   FND_FLEX_DESCVAL.Set_Column_Value
22926                   (   column_name   => 'ATTRIBUTE5'
22927                    ,  column_value  =>  l_column_value);
22928 
22929                   IF p_attribute6 = FND_API.G_MISS_CHAR THEN
22930 
22931                      l_column_value := null;
22932 
22933                   ELSE
22934 
22935                      l_column_value := p_attribute6;
22936 
22937                   END IF;
22938                   FND_FLEX_DESCVAL.Set_Column_Value
22939                   (   column_name   => 'ATTRIBUTE6'
22940                    ,  column_value  =>  l_column_value);
22941 
22942                   IF p_attribute7 = FND_API.G_MISS_CHAR THEN
22943 
22944                      l_column_value := null;
22945 
22946                   ELSE
22947 
22948                      l_column_value := p_attribute7;
22949 
22950                   END IF;
22951                   FND_FLEX_DESCVAL.Set_Column_Value
22952                   (   column_name   => 'ATTRIBUTE7'
22953                    ,  column_value  =>  l_column_value);
22954 
22955                   IF p_attribute8 = FND_API.G_MISS_CHAR THEN
22956 
22957                      l_column_value := null;
22958 
22959                   ELSE
22960 
22961                      l_column_value := p_attribute8;
22962 
22963                   END IF;
22964                   FND_FLEX_DESCVAL.Set_Column_Value
22965                   (   column_name   => 'ATTRIBUTE8'
22966                    ,  column_value  =>  l_column_value);
22967 
22968                   IF p_attribute9 = FND_API.G_MISS_CHAR THEN
22969 
22970                      l_column_value := null;
22971 
22972                   ELSE
22973 
22974                      l_column_value := p_attribute9;
22975 
22976                   END IF;
22977                   FND_FLEX_DESCVAL.Set_Column_Value
22978                   (   column_name   => 'ATTRIBUTE9'
22979                    ,  column_value  =>  l_column_value);
22980 
22981                   IF p_attribute10 = FND_API.G_MISS_CHAR THEN
22982 
22983                      l_column_value := null;
22984 
22985                   ELSE
22986 
22987                      l_column_value := p_attribute10;
22988 
22989                   END IF;
22990                   FND_FLEX_DESCVAL.Set_Column_Value
22991                   (   column_name   => 'ATTRIBUTE10'
22992                    ,  column_value  =>  l_column_value);
22993 
22994                   IF p_attribute11 = FND_API.G_MISS_CHAR THEN
22995 
22996                      l_column_value := null;
22997 
22998                   ELSE
22999 
23000                      l_column_value := p_attribute11;
23001 
23002                   END IF;
23003                   FND_FLEX_DESCVAL.Set_Column_Value
23004                   (   column_name   => 'ATTRIBUTE11'
23005                    ,  column_value  =>  l_column_value);
23006 
23007                   IF p_attribute12 = FND_API.G_MISS_CHAR THEN
23008 
23009                      l_column_value := null;
23010 
23011                   ELSE
23012 
23013                      l_column_value := p_attribute12;
23014 
23015                   END IF;
23016                   FND_FLEX_DESCVAL.Set_Column_Value
23017                   (   column_name   => 'ATTRIBUTE12'
23018                    ,  column_value  =>  l_column_value);
23019 
23020                   IF p_attribute13 = FND_API.G_MISS_CHAR THEN
23021 
23022                      l_column_value := null;
23023 
23024                   ELSE
23025 
23026                      l_column_value := p_attribute13;
23027 
23028                   END IF;
23029                   FND_FLEX_DESCVAL.Set_Column_Value
23030                   (   column_name   => 'ATTRIBUTE13'
23031                    ,  column_value  =>  l_column_value);
23032 
23033                   IF p_attribute14 = FND_API.G_MISS_CHAR THEN
23034 
23035                      l_column_value := null;
23036 
23037                   ELSE
23038 
23039                      l_column_value := p_attribute14;
23040 
23041                   END IF;
23042                   FND_FLEX_DESCVAL.Set_Column_Value
23043                   (   column_name   => 'ATTRIBUTE14'
23044                    ,  column_value  =>  l_column_value);
23045 
23046                   IF p_attribute15 = FND_API.G_MISS_CHAR THEN
23047 
23048                      l_column_value := null;
23049 
23050                   ELSE
23051 
23052                      l_column_value := p_attribute15;
23053 
23054                   END IF;
23055                   FND_FLEX_DESCVAL.Set_Column_Value
23056                   (   column_name   => 'ATTRIBUTE15'
23057                    ,  column_value  =>  l_column_value);
23058 
23059                   IF p_context = FND_API.G_MISS_CHAR THEN
23060 
23061                      l_column_value := null;
23062 
23063                   ELSE
23064 
23065                      l_column_value := p_context;
23066 
23067                   END IF;
23068                   FND_FLEX_DESCVAL.Set_Context_Value
23069                    ( context_value   => l_column_value);
23070 -- Suppressing the validation as payments flexfield is not registered
23071 /*
23072                    IF NOT OE_Validate.Desc_Flex('OE_PAYMENTS_ATTRIBUTES') THEN
23073                         OE_DEBUG_PUB.add('Error at validation of OE_PAYMENTS_ATTRIBUTES ',1);
23074                         RETURN FALSE;
23075                    END IF;
23076 */
23077     RETURN TRUE;
23078 
23079 EXCEPTION
23080 
23081    WHEN OTHERS THEN
23082 
23083 
23084      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23085      THEN
23086 
23087         OE_MSG_PUB.Add_Exc_Msg
23088         ( G_PKG_NAME
23089           , 'Payments_Desc_Flex');
23090      END IF;
23091 
23092 
23093     RETURN FALSE;
23094 
23095 END Payments_Desc_Flex;
23096 
23097 FUNCTION Payment_Level(p_payment_level_code IN VARCHAR2)
23098 RETURN BOOLEAN
23099 IS
23100 l_dummy                       VARCHAR2(10);
23101 BEGIN
23102 
23103     IF p_payment_level_code IS NULL OR
23104         p_payment_level_code = FND_API.G_MISS_CHAR
23105     THEN
23106 
23107         RETURN TRUE;
23108     END IF;
23109 
23110     --  SELECT  'VALID'
23111     --  INTO     l_dummy
23112     --  FROM     DB_TABLE
23113     --  WHERE    DB_COLUMN = p_payment_level_code;
23114 
23115 
23116     RETURN TRUE;
23117 
23118 EXCEPTION
23119 
23120     WHEN NO_DATA_FOUND THEN
23121 
23122         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23123         THEN
23124 
23125               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'Payment_Level_Code');
23126 
23127             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23128             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23129                                 OE_Order_Util.Get_Attribute_Name('Payment_Level_Code'));
23130             OE_MSG_PUB.Add;
23131               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23132 
23133         END IF;
23134 
23135 
23136         RETURN FALSE;
23137 
23138     WHEN OTHERS THEN
23139 
23140         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23141         THEN
23142             OE_MSG_PUB.Add_Exc_Msg
23143             (   G_PKG_NAME
23144             ,   'Payment_Level'
23145             );
23146         END IF;
23147 
23148 
23149         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23150 
23151 END Payment_Level;
23152 
23153 FUNCTION commitment_applied_amount(p_commitment_applied_amount IN NUMBER)
23154 RETURN BOOLEAN
23155 IS
23156 l_dummy                       VARCHAR2(10);
23157 BEGIN
23158 
23159     IF p_commitment_applied_amount IS NULL OR
23160         p_commitment_applied_amount = FND_API.G_MISS_NUM
23161     THEN
23162 
23163         RETURN TRUE;
23164     END IF;
23165 
23166     --  SELECT  'VALID'
23167     --  INTO     l_dummy
23168     --  FROM     DB_TABLE
23169     --  WHERE    DB_COLUMN = p_commitment_applied_amount;
23170 
23171 
23172     RETURN TRUE;
23173 
23174 EXCEPTION
23175     WHEN NO_DATA_FOUND THEN
23176 
23177         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23178         THEN
23179 
23180             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_APPLIED_AMOUNT');
23181 
23182             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23183             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23184                                 OE_Order_Util.Get_Attribute_Name('commitment_applied_amount'));
23185             OE_MSG_PUB.Add;
23186               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23187 
23188         END IF;
23189 
23190 
23191         RETURN FALSE;
23192 
23193     WHEN OTHERS THEN
23194 
23195         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23196         THEN
23197             OE_MSG_PUB.Add_Exc_Msg
23198             (   G_PKG_NAME
23199             ,   'Commitment_Applied_Amount'
23200             );
23201         END IF;
23202 
23203         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23204 
23205 END Commitment_Applied_Amount;
23206 
23207 FUNCTION commitment_interfaced_amount(p_commitment_interfaced_amount IN NUMBER)
23208 RETURN BOOLEAN
23209 IS
23210 l_dummy                       VARCHAR2(10);
23211 BEGIN
23212 
23213     IF p_commitment_interfaced_amount IS NULL OR
23214         p_commitment_interfaced_amount = FND_API.G_MISS_NUM
23215     THEN
23216 
23217         RETURN TRUE;
23218     END IF;
23219 
23220     --  SELECT  'VALID'
23221     --  INTO     l_dummy
23222     --  FROM     DB_TABLE
23223     --  WHERE    DB_COLUMN = p_commitment_interfaced_amount;
23224 
23225 
23226     RETURN TRUE;
23227 
23228 EXCEPTION
23229     WHEN NO_DATA_FOUND THEN
23230 
23231         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23232         THEN
23233 
23234             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'COMMITMENT_INTERFACED_AMOUNT');
23235 
23236             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23237             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23238                                 OE_Order_Util.Get_Attribute_Name('commitment_interfaced_amount'));
23239             OE_MSG_PUB.Add;
23240               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23241 
23242         END IF;
23243 
23244 
23245         RETURN FALSE;
23246 
23247     WHEN OTHERS THEN
23248 
23249         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23250         THEN
23251             OE_MSG_PUB.Add_Exc_Msg
23252             (   G_PKG_NAME
23253             ,   'Commitment_Interfaced_Amount'
23254             );
23255         END IF;
23256 
23257         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23258 
23259 END Commitment_Interfaced_Amount;
23260 
23261 FUNCTION Payment_Collection_Event(p_payment_collection_event IN VARCHAR2)
23262 RETURN BOOLEAN
23263 IS
23264 l_dummy                       VARCHAR2(10);
23265 l_lookup_type      	      VARCHAR2(80) :='OE_PAYMENT_COLLECTION_TYPE';
23266 BEGIN
23267 
23268     IF p_payment_collection_event IS NULL OR
23269         p_payment_collection_event = FND_API.G_MISS_CHAR
23270     THEN
23271 
23272         RETURN TRUE;
23273     END IF;
23274 
23275       SELECT  'VALID'
23276       INTO     l_dummy
23277       FROM     OE_LOOKUPS
23278       WHERE    lookup_type = l_lookup_type
23279       AND      lookup_code = p_payment_collection_event;
23280 
23281 
23282     RETURN TRUE;
23283 
23284 EXCEPTION
23285     WHEN NO_DATA_FOUND THEN
23286 
23287         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23288         THEN
23289 
23290             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_COLLECTION_EVENT');
23291 
23292             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23293             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23294                                 OE_Order_Util.Get_Attribute_Name('payment_collection_event'));
23295             OE_MSG_PUB.Add;
23296               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23297 
23298         END IF;
23299 
23300 
23301         RETURN FALSE;
23302 
23303     WHEN OTHERS THEN
23304 
23305         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23306         THEN
23307             OE_MSG_PUB.Add_Exc_Msg
23308             (   G_PKG_NAME
23309             ,   'Payment_Collection_Event'
23310             );
23311         END IF;
23312 
23313         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23314 
23315 END Payment_Collection_Event;
23316 
23317 FUNCTION Payment_Trx(p_payment_trx_id IN NUMBER)
23318 RETURN BOOLEAN
23319 IS
23320 l_dummy                       VARCHAR2(10);
23321 BEGIN
23322 
23323     IF p_payment_trx_id IS NULL OR
23324         p_payment_trx_id = FND_API.G_MISS_NUM
23325     THEN
23326 
23327         RETURN TRUE;
23328     END IF;
23329 
23330     --  SELECT  'VALID'
23331     --  INTO     l_dummy
23332     --  FROM     DB_TABLE
23333     --  WHERE    DB_COLUMN = p_payment_trx_id;
23334 
23335 
23336     RETURN TRUE;
23337 
23338 EXCEPTION
23339     WHEN NO_DATA_FOUND THEN
23340 
23341         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23342         THEN
23343 
23344             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_TRX_ID');
23345 
23346             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23347             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23348                                 OE_Order_Util.Get_Attribute_Name('payment_trx_id'));
23349             OE_MSG_PUB.Add;
23350               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23351 
23352         END IF;
23353 
23354 
23355         RETURN FALSE;
23356 
23357     WHEN OTHERS THEN
23358 
23359         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23360         THEN
23361             OE_MSG_PUB.Add_Exc_Msg
23362             (   G_PKG_NAME
23363             ,   'Payment_Trx'
23364             );
23365         END IF;
23366 
23367         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23368 
23369 END Payment_Trx;
23370 
23371 FUNCTION Payment_Set(p_payment_set_id IN NUMBER)
23372 RETURN BOOLEAN
23373 IS
23374 l_dummy                       VARCHAR2(10);
23375 BEGIN
23376 
23377     IF p_payment_set_id IS NULL OR
23378         p_payment_set_id = FND_API.G_MISS_NUM
23379     THEN
23380 
23381         RETURN TRUE;
23382     END IF;
23383 
23384     --  SELECT  'VALID'
23385     --  INTO     l_dummy
23386     --  FROM     DB_TABLE
23387     --  WHERE    DB_COLUMN = p_payment_set_id;
23388 
23389 
23390     RETURN TRUE;
23391 
23392 EXCEPTION
23393     WHEN NO_DATA_FOUND THEN
23394 
23395         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23396         THEN
23397 
23398             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_SET_ID');
23399 
23400             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23401             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23402                                 OE_Order_Util.Get_Attribute_Name('payment_set_id'));
23403             OE_MSG_PUB.Add;
23404               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23405 
23406         END IF;
23407 
23408 
23409         RETURN FALSE;
23410 
23411     WHEN OTHERS THEN
23412 
23413         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23414         THEN
23415             OE_MSG_PUB.Add_Exc_Msg
23416             (   G_PKG_NAME
23417             ,   'Payment_Set'
23418             );
23419         END IF;
23420 
23421         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23422 
23423 END Payment_Set;
23424 
23425 FUNCTION Prepaid_Amount(p_prepaid_amount IN NUMBER)
23426 RETURN BOOLEAN
23427 IS
23428 l_dummy                       VARCHAR2(10);
23429 BEGIN
23430 
23431     IF p_prepaid_amount IS NULL OR
23432         p_prepaid_amount = FND_API.G_MISS_NUM
23433     THEN
23434 
23435         RETURN TRUE;
23436     END IF;
23437 
23438     --  SELECT  'VALID'
23439     --  INTO     l_dummy
23440     --  FROM     DB_TABLE
23441     --  WHERE    DB_COLUMN = p_prepaid_amount;
23442 
23443 
23444     RETURN TRUE;
23445 
23446 EXCEPTION
23447     WHEN NO_DATA_FOUND THEN
23448 
23449         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23450         THEN
23451 
23452             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PREPAID_AMOUNT');
23453 
23454             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23455             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23456                                 OE_Order_Util.Get_Attribute_Name('prepaid_amoun'));
23457             OE_MSG_PUB.Add;
23458               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23459 
23460         END IF;
23461 
23462 
23463         RETURN FALSE;
23464 
23465     WHEN OTHERS THEN
23466 
23467         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23468         THEN
23469             OE_MSG_PUB.Add_Exc_Msg
23470             (   G_PKG_NAME
23471             ,   'Prepaid_Amount'
23472             );
23473         END IF;
23474 
23475         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23476 
23477 END Prepaid_Amount;
23478 
23479 FUNCTION Receipt_Method(p_receipt_method_id IN NUMBER)
23480 RETURN BOOLEAN
23481 IS
23482 l_dummy                       VARCHAR2(10);
23483 BEGIN
23484 
23485     IF p_receipt_method_id IS NULL OR
23486         p_receipt_method_id = FND_API.G_MISS_NUM
23487     THEN
23488 
23489         RETURN TRUE;
23490     END IF;
23491 
23492       SELECT  'VALID'
23493       INTO     l_dummy
23494       FROM    ar_receipt_methods rm,
23495               ar_receipt_classes rc
23496       Where   nvl(rc.bill_of_exchange_flag, 'N') = 'N'
23497       and     rc.receipt_class_id = rm.receipt_class_id
23498       and     rm.receipt_method_id = p_receipt_method_id;
23499 
23500 
23501     RETURN TRUE;
23502 
23503 EXCEPTION
23504     WHEN NO_DATA_FOUND THEN
23505 
23506         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23507         THEN
23508 
23509             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'RECEIPT_METHOD');
23510 
23511             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23513                                 OE_Order_Util.Get_Attribute_Name('receipt_method_id'));
23514             OE_MSG_PUB.Add;
23515               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23516 
23517         END IF;
23518 
23519         RETURN FALSE;
23520 
23521     WHEN OTHERS THEN
23522 
23523         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23524         THEN
23525             OE_MSG_PUB.Add_Exc_Msg
23526             (   G_PKG_NAME
23527             ,   'Receipt_Method'
23528             );
23529         END IF;
23530 
23531         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23532 
23533 END Receipt_Method;
23534 
23535 FUNCTION Tangible(p_tangible_id IN VARCHAR2)
23536 RETURN BOOLEAN
23537 IS
23538 l_dummy                       VARCHAR2(10);
23539 BEGIN
23540 
23541     IF p_tangible_id IS NULL OR
23542         p_tangible_id = FND_API.G_MISS_CHAR
23543     THEN
23544 
23545         RETURN TRUE;
23546     END IF;
23547 
23548     --  SELECT  'VALID'
23549     --  INTO     l_dummy
23550     --  FROM     DB_TABLE
23551     --  WHERE    DB_COLUMN = p_tangible_id;
23552 
23553 
23554     RETURN TRUE;
23555 
23556 EXCEPTION
23557     WHEN NO_DATA_FOUND THEN
23558 
23559         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23560         THEN
23561 
23562             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TANGIBLE_ID');
23563 
23564             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23565             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23566                                 OE_Order_Util.Get_Attribute_Name('tangible_id'));
23567             OE_MSG_PUB.Add;
23568               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23569 
23570         END IF;
23571 
23572 
23573         RETURN FALSE;
23574 
23575     WHEN OTHERS THEN
23576 
23577         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23578         THEN
23579             OE_MSG_PUB.Add_Exc_Msg
23580             (   G_PKG_NAME
23581             ,   'Tangible'
23582             );
23583         END IF;
23584 
23585         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23586 
23587 END Tangible;
23588 
23589 
23590 FUNCTION Payment_Number(p_payment_number IN NUMBER)
23591 RETURN BOOLEAN
23592 IS
23593 l_dummy                       VARCHAR2(10);
23594 BEGIN
23595 
23596     IF p_payment_number IS NULL OR
23597         p_payment_number = FND_API.G_MISS_CHAR
23598     THEN
23599 
23600         RETURN TRUE;
23601     END IF;
23602 
23603     --  SELECT  'VALID'
23604     --  INTO     l_dummy
23605     --  FROM     DB_TABLE
23606     --  WHERE    DB_COLUMN = p_payment_number;
23607 
23608 
23609     RETURN TRUE;
23610 
23611 EXCEPTION
23612     WHEN NO_DATA_FOUND THEN
23613 
23614         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23615         THEN
23616 
23617             OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'PAYMENT_NUMBER');
23618 
23619             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23620             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23621                                 OE_Order_Util.Get_Attribute_Name('payment_number'));
23622             OE_MSG_PUB.Add;
23623               OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23624 
23625         END IF;
23626 
23627 
23628         RETURN FALSE;
23629 
23630     WHEN OTHERS THEN
23631 
23632         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23633         THEN
23634             OE_MSG_PUB.Add_Exc_Msg
23635             (   G_PKG_NAME
23636             ,   'Payment_Number'
23637             );
23638         END IF;
23639 
23640         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23641 
23642 END Payment_Number;
23643 
23644 --recurring charges
23645 FUNCTION Charge_Periodicity
23646 (  p_charge_periodicity  IN VARCHAR2  )
23647 RETURN BOOLEAN
23648 IS
23649   l_uom_class   VARCHAR2(10);
23650   l_debug_level CONSTANT NUMBER := OE_DEBUG_PUB.G_DEBUG_LEVEL;
23651 BEGIN
23652 
23653   SELECT uom_class
23654   INTO   l_uom_class
23655   FROM   MTL_UNITS_OF_MEASURE_VL
23656   WHERE  uom_code = p_charge_periodicity
23657   AND    uom_class = FND_PROFILE.Value('ONT_UOM_CLASS_CHARGE_PERIODICITY');
23658 
23659   IF l_debug_level > 0 THEN
23660      OE_DEBUG_PUB.Add ('Entering OE_VALIDATE.Charge_Periodicity',1);
23661      OE_DEBUG_PUB.Add ('Charge Periodicity:'||p_charge_periodicity,3);
23662      OE_DEBUG_PUB.Add ('UOM Class:'||
23663                         FND_PROFILE.Value('ONT_UOM_CLASS_CHARGE_PERIODICITY'));
23664      OE_DEBUG_PUB.Add ('Uom class:'||l_uom_class||',returning TRUE',3);
23665      OE_DEBUG_PUB.Add ('Exiting OE_VALIDATE.Charge_Periodicity',1);
23666   END IF;
23667 
23668   RETURN TRUE;
23669 
23670 EXCEPTION
23671   WHEN NO_DATA_FOUND THEN
23672     IF l_debug_level > 0 THEN
23673        OE_DEBUG_PUB.Add ('Charge Periodicity: NO_DATA_FOUND!!',1);
23674     END IF;
23675     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR) THEN
23676        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'CHARGE_PERIODICITY');
23677        FND_MESSAGE.Set_Name('ONT','OE_INVALID_ATTRIBUTE');
23678        FND_MESSAGE.Set_Token('ATTRIBUTE',
23679                        OE_ORDER_UTIL.Get_Attribute_Name('Charge_Periodicity'));
23680        OE_MSG_PUB.Add;
23681        OE_MSG_PUB.Update_Msg_Context(p_attribute_code => NULL);
23682     END IF;
23683     RETURN FALSE;
23684 
23685   WHEN OTHERS THEN
23686     IF l_debug_level > 0 THEN
23687        OE_DEBUG_PUB.Add ('Charge_Periodicity: OTHERS Exception',1);
23688     END IF;
23689     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
23690        OE_MSG_PUB.Add_Exc_Msg
23691        (  G_PKG_NAME
23692          ,'Charge_Periodicity');
23693     END IF;
23694     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23695 
23696 END Charge_Periodicity;
23697 
23698 --
23699 FUNCTION Shipped_Quantity2 ( p_shipped_quantity2 IN NUMBER )
23700 RETURN BOOLEAN
23701 IS
23702 l_dummy                       VARCHAR2(10);
23703 BEGIN
23704 
23705 
23706     IF p_shipped_quantity2 IS NULL OR
23707         p_shipped_quantity2 = FND_API.G_MISS_NUM
23708     THEN
23709 
23710         RETURN TRUE;
23711     END IF;
23712 
23713     --  SELECT  'VALID'
23714     --  INTO     l_dummy
23715     --  FROM     DB_TABLE
23716     --  WHERE    DB_COLUMN = p_shipped_quantity2;
23717 
23718 
23719     RETURN TRUE;
23720 
23721 EXCEPTION
23722 
23723     WHEN NO_DATA_FOUND THEN
23724 
23725         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23726         THEN
23727 
23728 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPED_QUANTITY2');
23729 
23730             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23731             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23732 				OE_Order_Util.Get_Attribute_Name('shipped_quantity2'));
23733             OE_MSG_PUB.Add;
23734 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23735 
23736         END IF;
23737 
23738 
23739         RETURN FALSE;
23740 
23741     WHEN OTHERS THEN
23742 
23743         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23744         THEN
23745             OE_MSG_PUB.Add_Exc_Msg
23746             (   G_PKG_NAME
23747             ,   'Shipped_Quantity2'
23748             );
23749         END IF;
23750 
23751 
23752         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23753 
23754 END Shipped_Quantity2;
23755 
23756 FUNCTION Fulfilled_Quantity2 ( p_fulfilled_quantity2 IN NUMBER )
23757 RETURN BOOLEAN
23758 IS
23759 l_dummy                       VARCHAR2(10);
23760 BEGIN
23761 
23762 
23763     IF p_fulfilled_quantity2 IS NULL OR
23764         p_fulfilled_quantity2 = FND_API.G_MISS_NUM
23765     THEN
23766 
23767         RETURN TRUE;
23768     END IF;
23769 
23770     --  SELECT  'VALID'
23771     --  INTO     l_dummy
23772     --  FROM     DB_TABLE
23773     --  WHERE    DB_COLUMN = p_fulfilled_quantity2;
23774 
23775 
23776     RETURN TRUE;
23777 
23778 EXCEPTION
23779 
23780     WHEN NO_DATA_FOUND THEN
23781 
23782         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23783         THEN
23784 
23785 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'FULFILLED_QUANTITY2');
23786 
23787             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23788             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23789 				OE_Order_Util.Get_Attribute_Name('fulfilled_quantity2'));
23790             OE_MSG_PUB.Add;
23791 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23792 
23793         END IF;
23794 
23795 
23796         RETURN FALSE;
23797 
23798     WHEN OTHERS THEN
23799 
23800         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23801         THEN
23802             OE_MSG_PUB.Add_Exc_Msg
23803             (   G_PKG_NAME
23804             ,   'Fulfilled_Quantity2'
23805             );
23806         END IF;
23807 
23808 
23809         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23810 
23811 END Fulfilled_Quantity2;
23812 
23813 FUNCTION Shipping_Quantity2 ( p_shipping_quantity2 IN NUMBER )
23814 RETURN BOOLEAN
23815 IS
23816 l_dummy                       VARCHAR2(10);
23817 BEGIN
23818 
23819 
23820     IF p_shipping_quantity2 IS NULL OR
23821         p_shipping_quantity2 = FND_API.G_MISS_NUM
23822     THEN
23823 
23824         RETURN TRUE;
23825     END IF;
23826 
23827     --  SELECT  'VALID'
23828     --  INTO     l_dummy
23829     --  FROM     DB_TABLE
23830     --  WHERE    DB_COLUMN = p_shipping_quantity2;
23831 
23832 
23833     RETURN TRUE;
23834 
23835 EXCEPTION
23836 
23837     WHEN NO_DATA_FOUND THEN
23838 
23839         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23840         THEN
23841 
23842 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY2');
23843 
23844             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23845             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23846 				OE_Order_Util.Get_Attribute_Name('shipping_quantity2'));
23847             OE_MSG_PUB.Add;
23848 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23849 
23850         END IF;
23851 
23852 
23853         RETURN FALSE;
23854 
23855     WHEN OTHERS THEN
23856 
23857         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23858         THEN
23859             OE_MSG_PUB.Add_Exc_Msg
23860             (   G_PKG_NAME
23861             ,   'Shipping_Quantity2'
23862             );
23863         END IF;
23864 
23865 
23866         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23867 
23868 END Shipping_Quantity2;
23869 
23870 FUNCTION Shipping_Quantity_Uom2 ( p_shipping_quantity_uom2 IN VARCHAR2 )
23871 RETURN BOOLEAN
23872 IS
23873 l_dummy                       VARCHAR2(10);
23874 BEGIN
23875 
23876 
23877     IF p_shipping_quantity_uom2 IS NULL OR
23878         p_shipping_quantity_uom2 = FND_API.G_MISS_CHAR
23879     THEN
23880 
23881         RETURN TRUE;
23882     END IF;
23883 
23884     --  SELECT  'VALID'
23885     --  INTO     l_dummy
23886     --  FROM     DB_TABLE
23887     --  WHERE    DB_COLUMN = p_shipping_quantity_uom2;
23888 
23889 
23890     RETURN TRUE;
23891 
23892 EXCEPTION
23893 
23894     WHEN NO_DATA_FOUND THEN
23895 
23896         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23897         THEN
23898 
23899 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'SHIPPING_QUANTITY_UOM2');
23900 
23901             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23902             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23903 				OE_Order_Util.Get_Attribute_Name('shipping_quantity_uom2'));
23904             OE_MSG_PUB.Add;
23905 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23906 
23907         END IF;
23908 
23909 
23910         RETURN FALSE;
23911 
23912     WHEN OTHERS THEN
23913 
23914         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23915         THEN
23916             OE_MSG_PUB.Add_Exc_Msg
23917             (   G_PKG_NAME
23918             ,   'Shipping_Quantity_Uom2'
23919             );
23920         END IF;
23921 
23922 
23923         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23924 
23925 END Shipping_Quantity_Uom2;
23926 
23927 FUNCTION Payment_Trxn_Extension ( p_trxn_extension_id IN NUMBER ) --R12 Process order api changes
23928 RETURN BOOLEAN
23929 IS
23930 l_dummy                       VARCHAR2(10);
23931 BEGIN
23932 --need to make this code active (i.e. remove the comment) once the Oracle payments are
23933 --done with their case changes
23934     IF p_trxn_extension_id IS NULL OR
23935         p_trxn_extension_id = FND_API.G_MISS_NUM
23936     THEN
23937 
23938         RETURN TRUE;
23939     END IF;
23940 
23941    SELECT  'VALID'
23942     INTO    l_dummy
23943     FROM    IBY_FNDCPT_TX_EXTENSIONS
23944     Where trxn_extension_id = p_trxn_extension_id;
23945 
23946     --  Valid extension id
23947 
23948 
23949     RETURN TRUE;
23950 
23951 EXCEPTION
23952 
23953     WHEN NO_DATA_FOUND THEN
23954 
23955         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
23956         THEN
23957 
23958 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TRXN_EXTENSION_ID');
23959 
23960             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
23961             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
23962 				OE_Order_Util.Get_Attribute_Name('trxn_extension_id'));
23963             OE_MSG_PUB.Add;
23964 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
23965 
23966         END IF;
23967 
23968 
23969         RETURN FALSE;
23970 
23971     WHEN OTHERS THEN
23972 
23973         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
23974         THEN
23975             OE_MSG_PUB.Add_Exc_Msg
23976             (   G_PKG_NAME
23977             ,   'Payment_Trxn_Extension'
23978             );
23979         END IF;
23980 
23981 
23982         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
23983 
23984 END Payment_Trxn_Extension; --R12 Process order api changes
23985 
23986 
23987 -- eBtax changes
23988 FUNCTION Tax_Rate_ID ( p_tax_rate_id IN NUMBER )
23989 RETURN BOOLEAN
23990 IS
23991 l_dummy                       VARCHAR2(10);
23992 BEGIN
23993 
23994 
23995     IF p_tax_rate_id IS NULL OR
23996         p_tax_rate_id = FND_API.G_MISS_NUM
23997     THEN
23998 
23999         RETURN TRUE;
24000     END IF;
24001 
24002     --  SELECT  'VALID'
24003     --  INTO     l_dummy
24004     --  FROM     DB_TABLE
24005     --  WHERE    DB_COLUMN = p_tax_rate_id;
24006 
24007 
24008     RETURN TRUE;
24009 
24010 EXCEPTION
24011 
24012     WHEN NO_DATA_FOUND THEN
24013 
24014         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
24015         THEN
24016 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => 'TAX_RATE_ID');
24017 
24018             fnd_message.set_name('ONT','OE_INVALID_ATTRIBUTE');
24019             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
24020 				OE_Order_Util.Get_Attribute_Name('tax_rate_id'));
24021             OE_MSG_PUB.Add;
24022 	      OE_MSG_PUB.Update_Msg_Context(p_attribute_code => null);
24023 
24024         END IF;
24025 
24026 
24027         RETURN FALSE;
24028 
24029     WHEN OTHERS THEN
24030 
24031         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
24032         THEN
24033             OE_MSG_PUB.Add_Exc_Msg
24034             (   G_PKG_NAME
24035             ,   'Tax_Rate_ID'
24036             );
24037         END IF;
24038 
24039 
24040         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
24041 
24042 END Tax_Rate_ID;
24043 
24044 --
24045 --
24046 --
24047 --
24048 
24049 END OE_Validate;