DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_HEADER_DEF_UTIL

Source


1 PACKAGE BODY ONT_HEADER_Def_Util AS
2 /* $Header: OEXDFWKB.pls 115.0 13-AUG-13 23:23:31 appldev ship $ */
3  
4 --  
5 --  Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 --  All rights reserved.
7 --  
8 --  FILENAME
9 --  
10 --      ONT_HEADER_Def_Util
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_HEADER_Def_Util
15 --  
16 --  NOTES
17 --  
18 --  HISTORY
19 --  
20 --  13-AUG-13 Created
21 --  
22  
23 --  Global constant holding the package name
24 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'ONT_HEADER_Def_Util';
25  
26  
27   g_database_object_name varchar2(30) :='OE_AK_ORDER_HEADERS_V';
28  
29   TYPE Condition_Rec_Type IS RECORD (
30   condition_id      NUMBER,
31   group_number      NUMBER,
32   attribute_code      VARCHAR2(30),
33   value_op            VARCHAR2(15),
34   value_string      VARCHAR2(255));
35  
36   TYPE Condition_Tbl_Type IS TABLE OF Condition_Rec_Type
37   INDEX BY BINARY_INTEGER;
38   g_conditions_tbl_cache         Condition_Tbl_Type;
39  
40   g_attr_condns_cache         ONT_DEF_UTIL.Attr_Condn_Tbl_Type;
41  
42  
43 FUNCTION Get_Attr_Val_Varchar2
44 (   p_attr_code                     IN  VARCHAR2
45 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
46 ) RETURN VARCHAR2
47 IS
48 BEGIN
49  
50 IF p_attr_code =('ACCOUNTING_RULE_DURATION') THEN
51   IF NVL(p_record.ACCOUNTING_RULE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
52   RETURN p_record.ACCOUNTING_RULE_DURATION;
53   ELSE
54   RETURN NULL; 
55   END IF;
56 ELSIF p_attr_code =('ACCOUNTING_RULE_ID') THEN
57   IF NVL(p_record.ACCOUNTING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
58   RETURN p_record.ACCOUNTING_RULE_ID;
59   ELSE
60   RETURN NULL; 
61   END IF;
62 ELSIF p_attr_code =('AGREEMENT_ID') THEN
63   IF NVL(p_record.AGREEMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
64   RETURN p_record.AGREEMENT_ID;
65   ELSE
66   RETURN NULL; 
67   END IF;
68 ELSIF p_attr_code =('ATTRIBUTE1') THEN
69   IF NVL(p_record.ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
70   RETURN p_record.ATTRIBUTE1;
71   ELSE
72   RETURN NULL; 
73   END IF;
74 ELSIF p_attr_code =('ATTRIBUTE10') THEN
75   IF NVL(p_record.ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
76   RETURN p_record.ATTRIBUTE10;
77   ELSE
78   RETURN NULL; 
79   END IF;
80 ELSIF p_attr_code =('ATTRIBUTE11') THEN
81   IF NVL(p_record.ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
82   RETURN p_record.ATTRIBUTE11;
83   ELSE
84   RETURN NULL; 
85   END IF;
86 ELSIF p_attr_code =('ATTRIBUTE12') THEN
87   IF NVL(p_record.ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
88   RETURN p_record.ATTRIBUTE12;
89   ELSE
90   RETURN NULL; 
91   END IF;
92 ELSIF p_attr_code =('ATTRIBUTE13') THEN
93   IF NVL(p_record.ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
94   RETURN p_record.ATTRIBUTE13;
95   ELSE
96   RETURN NULL; 
97   END IF;
98 ELSIF p_attr_code =('ATTRIBUTE14') THEN
99   IF NVL(p_record.ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
100   RETURN p_record.ATTRIBUTE14;
101   ELSE
102   RETURN NULL; 
103   END IF;
104 ELSIF p_attr_code =('ATTRIBUTE15') THEN
105   IF NVL(p_record.ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
106   RETURN p_record.ATTRIBUTE15;
107   ELSE
108   RETURN NULL; 
109   END IF;
110 ELSIF p_attr_code =('ATTRIBUTE16') THEN
111   IF NVL(p_record.ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
112   RETURN p_record.ATTRIBUTE16;
113   ELSE
114   RETURN NULL; 
115   END IF;
116 ELSIF p_attr_code =('ATTRIBUTE17') THEN
117   IF NVL(p_record.ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
118   RETURN p_record.ATTRIBUTE17;
119   ELSE
120   RETURN NULL; 
121   END IF;
122 ELSIF p_attr_code =('ATTRIBUTE18') THEN
123   IF NVL(p_record.ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
124   RETURN p_record.ATTRIBUTE18;
125   ELSE
126   RETURN NULL; 
127   END IF;
128 ELSIF p_attr_code =('ATTRIBUTE19') THEN
129   IF NVL(p_record.ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
130   RETURN p_record.ATTRIBUTE19;
131   ELSE
132   RETURN NULL; 
133   END IF;
134 ELSIF p_attr_code =('ATTRIBUTE2') THEN
135   IF NVL(p_record.ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
136   RETURN p_record.ATTRIBUTE2;
137   ELSE
138   RETURN NULL; 
139   END IF;
140 ELSIF p_attr_code =('ATTRIBUTE20') THEN
141   IF NVL(p_record.ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
142   RETURN p_record.ATTRIBUTE20;
143   ELSE
144   RETURN NULL; 
145   END IF;
146 ELSIF p_attr_code =('ATTRIBUTE3') THEN
147   IF NVL(p_record.ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
148   RETURN p_record.ATTRIBUTE3;
149   ELSE
150   RETURN NULL; 
151   END IF;
152 ELSIF p_attr_code =('ATTRIBUTE4') THEN
153   IF NVL(p_record.ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
154   RETURN p_record.ATTRIBUTE4;
155   ELSE
156   RETURN NULL; 
157   END IF;
158 ELSIF p_attr_code =('ATTRIBUTE5') THEN
159   IF NVL(p_record.ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
160   RETURN p_record.ATTRIBUTE5;
161   ELSE
162   RETURN NULL; 
163   END IF;
164 ELSIF p_attr_code =('ATTRIBUTE6') THEN
165   IF NVL(p_record.ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
166   RETURN p_record.ATTRIBUTE6;
167   ELSE
168   RETURN NULL; 
169   END IF;
170 ELSIF p_attr_code =('ATTRIBUTE7') THEN
171   IF NVL(p_record.ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
172   RETURN p_record.ATTRIBUTE7;
173   ELSE
174   RETURN NULL; 
175   END IF;
176 ELSIF p_attr_code =('ATTRIBUTE8') THEN
177   IF NVL(p_record.ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
178   RETURN p_record.ATTRIBUTE8;
179   ELSE
180   RETURN NULL; 
181   END IF;
182 ELSIF p_attr_code =('ATTRIBUTE9') THEN
183   IF NVL(p_record.ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
184   RETURN p_record.ATTRIBUTE9;
185   ELSE
186   RETURN NULL; 
187   END IF;
188 ELSIF p_attr_code =('BLANKET_NUMBER') THEN
189   IF NVL(p_record.BLANKET_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
190   RETURN p_record.BLANKET_NUMBER;
191   ELSE
192   RETURN NULL; 
193   END IF;
194 ELSIF p_attr_code =('BOOKED_DATE') THEN
195   IF NVL(p_record.BOOKED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
196   RETURN p_record.BOOKED_DATE;
197   ELSE
198   RETURN NULL; 
199   END IF;
200 ELSIF p_attr_code =('BOOKED_FLAG') THEN
201   IF NVL(p_record.BOOKED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
202   RETURN p_record.BOOKED_FLAG;
203   ELSE
204   RETURN NULL; 
205   END IF;
206 ELSIF p_attr_code =('CANCELLED_FLAG') THEN
207   IF NVL(p_record.CANCELLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
208   RETURN p_record.CANCELLED_FLAG;
209   ELSE
210   RETURN NULL; 
211   END IF;
212 ELSIF p_attr_code =('CHANGE_COMMENTS') THEN
213   IF NVL(p_record.CHANGE_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
214   RETURN p_record.CHANGE_COMMENTS;
215   ELSE
216   RETURN NULL; 
217   END IF;
218 ELSIF p_attr_code =('CHANGE_REASON') THEN
219   IF NVL(p_record.CHANGE_REASON, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
220   RETURN p_record.CHANGE_REASON;
221   ELSE
222   RETURN NULL; 
223   END IF;
224 ELSIF p_attr_code =('CHECK_NUMBER') THEN
225   IF NVL(p_record.CHECK_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
226   RETURN p_record.CHECK_NUMBER;
227   ELSE
228   RETURN NULL; 
229   END IF;
230 ELSIF p_attr_code =('CONTEXT') THEN
231   IF NVL(p_record.CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
232   RETURN p_record.CONTEXT;
233   ELSE
234   RETURN NULL; 
235   END IF;
236 ELSIF p_attr_code =('CONTRACT_TERMS') THEN
237   IF NVL(p_record.CONTRACT_TERMS, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
238   RETURN p_record.CONTRACT_TERMS;
239   ELSE
240   RETURN NULL; 
241   END IF;
242 ELSIF p_attr_code =('CONVERSION_RATE') THEN
243   IF NVL(p_record.CONVERSION_RATE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
244   RETURN p_record.CONVERSION_RATE;
245   ELSE
246   RETURN NULL; 
247   END IF;
248 ELSIF p_attr_code =('CONVERSION_RATE_DATE') THEN
249   IF NVL(p_record.CONVERSION_RATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
250   RETURN p_record.CONVERSION_RATE_DATE;
251   ELSE
252   RETURN NULL; 
253   END IF;
254 ELSIF p_attr_code =('CONVERSION_TYPE_CODE') THEN
255   IF NVL(p_record.CONVERSION_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
256   RETURN p_record.CONVERSION_TYPE_CODE;
257   ELSE
258   RETURN NULL; 
259   END IF;
260 ELSIF p_attr_code =('CREATED_BY') THEN
261   IF NVL(p_record.CREATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
262   RETURN p_record.CREATED_BY;
263   ELSE
264   RETURN NULL; 
265   END IF;
266 ELSIF p_attr_code =('CREATION_DATE') THEN
267   IF NVL(p_record.CREATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
268   RETURN p_record.CREATION_DATE;
269   ELSE
270   RETURN NULL; 
271   END IF;
272 ELSIF p_attr_code =('CREDIT_CARD_APPROVAL_CODE') THEN
273   IF NVL(p_record.CREDIT_CARD_APPROVAL_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
274   RETURN p_record.CREDIT_CARD_APPROVAL_CODE;
275   ELSE
276   RETURN NULL; 
277   END IF;
278 ELSIF p_attr_code =('CREDIT_CARD_CODE') THEN
279   IF NVL(p_record.CREDIT_CARD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
280   RETURN p_record.CREDIT_CARD_CODE;
281   ELSE
282   RETURN NULL; 
283   END IF;
284 ELSIF p_attr_code =('CREDIT_CARD_EXPIRATION_DATE') THEN
285   IF NVL(p_record.CREDIT_CARD_EXPIRATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
286   RETURN p_record.CREDIT_CARD_EXPIRATION_DATE;
287   ELSE
288   RETURN NULL; 
289   END IF;
290 ELSIF p_attr_code =('CREDIT_CARD_HOLDER_NAME') THEN
291   IF NVL(p_record.CREDIT_CARD_HOLDER_NAME, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
292   RETURN p_record.CREDIT_CARD_HOLDER_NAME;
293   ELSE
294   RETURN NULL; 
295   END IF;
296 ELSIF p_attr_code =('CREDIT_CARD_NUMBER') THEN
297   IF NVL(p_record.CREDIT_CARD_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
298   RETURN p_record.CREDIT_CARD_NUMBER;
299   ELSE
300   RETURN NULL; 
301   END IF;
302 ELSIF p_attr_code =('CUSTOMER_SIGNATURE') THEN
303   IF NVL(p_record.CUSTOMER_SIGNATURE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
304   RETURN p_record.CUSTOMER_SIGNATURE;
305   ELSE
306   RETURN NULL; 
307   END IF;
308 ELSIF p_attr_code =('CUSTOMER_SIGNATURE_DATE') THEN
309   IF NVL(p_record.CUSTOMER_SIGNATURE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
310   RETURN p_record.CUSTOMER_SIGNATURE_DATE;
311   ELSE
312   RETURN NULL; 
313   END IF;
314 ELSIF p_attr_code =('CUST_PO_NUMBER') THEN
315   IF NVL(p_record.CUST_PO_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
316   RETURN p_record.CUST_PO_NUMBER;
317   ELSE
318   RETURN NULL; 
319   END IF;
320 ELSIF p_attr_code =('DB_FLAG') THEN
321   IF NVL(p_record.DB_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
322   RETURN p_record.DB_FLAG;
323   ELSE
324   RETURN NULL; 
325   END IF;
326 ELSIF p_attr_code =('DEFAULT_FULFILLMENT_SET') THEN
327   IF NVL(p_record.DEFAULT_FULFILLMENT_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
328   RETURN p_record.DEFAULT_FULFILLMENT_SET;
329   ELSE
330   RETURN NULL; 
331   END IF;
332 ELSIF p_attr_code =('DEFAULT_INBOUND_LINE_TYPE_ID') THEN
333   IF NVL(p_record.DEFAULT_INBOUND_LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
334   RETURN p_record.DEFAULT_INBOUND_LINE_TYPE_ID;
335   ELSE
336   RETURN NULL; 
337   END IF;
338 ELSIF p_attr_code =('DEFAULT_LINE_SET') THEN
339   IF NVL(p_record.CUSTOMER_PREFERENCE_SET_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
340   RETURN p_record.CUSTOMER_PREFERENCE_SET_CODE;
341   ELSE
342   RETURN NULL; 
343   END IF;
344 ELSIF p_attr_code =('DEFAULT_OUTBOUND_LINE_TYPE_ID') THEN
345   IF NVL(p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
346   RETURN p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID;
347   ELSE
348   RETURN NULL; 
349   END IF;
350 ELSIF p_attr_code =('DELIVER_TO_CONTACT_ID') THEN
351   IF NVL(p_record.DELIVER_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
352   RETURN p_record.DELIVER_TO_CONTACT_ID;
353   ELSE
354   RETURN NULL; 
355   END IF;
356 ELSIF p_attr_code =('DELIVER_TO_ORG_ID') THEN
357   IF NVL(p_record.DELIVER_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
358   RETURN p_record.DELIVER_TO_ORG_ID;
359   ELSE
360   RETURN NULL; 
361   END IF;
362 ELSIF p_attr_code =('DEMAND_CLASS_CODE') THEN
363   IF NVL(p_record.DEMAND_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
364   RETURN p_record.DEMAND_CLASS_CODE;
365   ELSE
366   RETURN NULL; 
367   END IF;
368 ELSIF p_attr_code =('DRAFT_SUBMITTED_FLAG') THEN
369   IF NVL(p_record.DRAFT_SUBMITTED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
370   RETURN p_record.DRAFT_SUBMITTED_FLAG;
371   ELSE
372   RETURN NULL; 
373   END IF;
374 ELSIF p_attr_code =('EARLIEST_SCHEDULE_LIMIT') THEN
375   IF NVL(p_record.EARLIEST_SCHEDULE_LIMIT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
376   RETURN p_record.EARLIEST_SCHEDULE_LIMIT;
377   ELSE
378   RETURN NULL; 
379   END IF;
380 ELSIF p_attr_code =('END_CUSTOMER_CONTACT_ID') THEN
381   IF NVL(p_record.END_CUSTOMER_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
382   RETURN p_record.END_CUSTOMER_CONTACT_ID;
383   ELSE
384   RETURN NULL; 
385   END IF;
386 ELSIF p_attr_code =('END_CUSTOMER_ID') THEN
387   IF NVL(p_record.END_CUSTOMER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
388   RETURN p_record.END_CUSTOMER_ID;
389   ELSE
390   RETURN NULL; 
391   END IF;
392 ELSIF p_attr_code =('END_CUSTOMER_SITE_USE_ID') THEN
393   IF NVL(p_record.END_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
394   RETURN p_record.END_CUSTOMER_SITE_USE_ID;
395   ELSE
396   RETURN NULL; 
397   END IF;
398 ELSIF p_attr_code =('EXPIRATION_DATE') THEN
399   IF NVL(p_record.EXPIRATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
400   RETURN p_record.EXPIRATION_DATE;
401   ELSE
402   RETURN NULL; 
403   END IF;
404 ELSIF p_attr_code =('FIRST_ACK_CODE') THEN
405   IF NVL(p_record.FIRST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
406   RETURN p_record.FIRST_ACK_CODE;
407   ELSE
408   RETURN NULL; 
409   END IF;
410 ELSIF p_attr_code =('FIRST_ACK_DATE') THEN
411   IF NVL(p_record.FIRST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
412   RETURN p_record.FIRST_ACK_DATE;
413   ELSE
414   RETURN NULL; 
415   END IF;
416 ELSIF p_attr_code =('FLOW_STATUS_CODE') THEN
417   IF NVL(p_record.FLOW_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
418   RETURN p_record.FLOW_STATUS_CODE;
419   ELSE
420   RETURN NULL; 
421   END IF;
422 ELSIF p_attr_code =('FOB_POINT_CODE') THEN
423   IF NVL(p_record.FOB_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
424   RETURN p_record.FOB_POINT_CODE;
425   ELSE
426   RETURN NULL; 
427   END IF;
428 ELSIF p_attr_code =('FREIGHT_CARRIER_CODE') THEN
429   IF NVL(p_record.FREIGHT_CARRIER_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
430   RETURN p_record.FREIGHT_CARRIER_CODE;
431   ELSE
432   RETURN NULL; 
433   END IF;
434 ELSIF p_attr_code =('FREIGHT_TERMS_CODE') THEN
435   IF NVL(p_record.FREIGHT_TERMS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
436   RETURN p_record.FREIGHT_TERMS_CODE;
437   ELSE
438   RETURN NULL; 
439   END IF;
440 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE1') THEN
441   IF NVL(p_record.GLOBAL_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
442   RETURN p_record.GLOBAL_ATTRIBUTE1;
443   ELSE
444   RETURN NULL; 
445   END IF;
446 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE10') THEN
447   IF NVL(p_record.GLOBAL_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
448   RETURN p_record.GLOBAL_ATTRIBUTE10;
449   ELSE
450   RETURN NULL; 
451   END IF;
452 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE11') THEN
453   IF NVL(p_record.GLOBAL_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
454   RETURN p_record.GLOBAL_ATTRIBUTE11;
455   ELSE
456   RETURN NULL; 
457   END IF;
458 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE12') THEN
459   IF NVL(p_record.GLOBAL_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
460   RETURN p_record.GLOBAL_ATTRIBUTE12;
461   ELSE
462   RETURN NULL; 
463   END IF;
464 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE13') THEN
465   IF NVL(p_record.GLOBAL_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
466   RETURN p_record.GLOBAL_ATTRIBUTE13;
467   ELSE
468   RETURN NULL; 
469   END IF;
470 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE14') THEN
471   IF NVL(p_record.GLOBAL_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
472   RETURN p_record.GLOBAL_ATTRIBUTE14;
473   ELSE
474   RETURN NULL; 
475   END IF;
476 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE15') THEN
477   IF NVL(p_record.GLOBAL_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
478   RETURN p_record.GLOBAL_ATTRIBUTE15;
479   ELSE
480   RETURN NULL; 
481   END IF;
482 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE16') THEN
483   IF NVL(p_record.GLOBAL_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
484   RETURN p_record.GLOBAL_ATTRIBUTE16;
485   ELSE
486   RETURN NULL; 
487   END IF;
488 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE17') THEN
489   IF NVL(p_record.GLOBAL_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
490   RETURN p_record.GLOBAL_ATTRIBUTE17;
491   ELSE
492   RETURN NULL; 
493   END IF;
494 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE18') THEN
495   IF NVL(p_record.GLOBAL_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
496   RETURN p_record.GLOBAL_ATTRIBUTE18;
497   ELSE
498   RETURN NULL; 
499   END IF;
500 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE19') THEN
501   IF NVL(p_record.GLOBAL_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
502   RETURN p_record.GLOBAL_ATTRIBUTE19;
503   ELSE
504   RETURN NULL; 
505   END IF;
506 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE2') THEN
507   IF NVL(p_record.GLOBAL_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
508   RETURN p_record.GLOBAL_ATTRIBUTE2;
509   ELSE
510   RETURN NULL; 
511   END IF;
512 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE20') THEN
513   IF NVL(p_record.GLOBAL_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
514   RETURN p_record.GLOBAL_ATTRIBUTE20;
515   ELSE
516   RETURN NULL; 
517   END IF;
518 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE3') THEN
519   IF NVL(p_record.GLOBAL_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
520   RETURN p_record.GLOBAL_ATTRIBUTE3;
521   ELSE
522   RETURN NULL; 
523   END IF;
524 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE4') THEN
525   IF NVL(p_record.GLOBAL_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
526   RETURN p_record.GLOBAL_ATTRIBUTE4;
527   ELSE
528   RETURN NULL; 
529   END IF;
530 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE5') THEN
531   IF NVL(p_record.GLOBAL_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
532   RETURN p_record.GLOBAL_ATTRIBUTE5;
533   ELSE
534   RETURN NULL; 
535   END IF;
536 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE6') THEN
537   IF NVL(p_record.GLOBAL_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
538   RETURN p_record.GLOBAL_ATTRIBUTE6;
539   ELSE
540   RETURN NULL; 
541   END IF;
542 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE7') THEN
543   IF NVL(p_record.GLOBAL_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
544   RETURN p_record.GLOBAL_ATTRIBUTE7;
545   ELSE
546   RETURN NULL; 
547   END IF;
548 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE8') THEN
549   IF NVL(p_record.GLOBAL_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
550   RETURN p_record.GLOBAL_ATTRIBUTE8;
551   ELSE
552   RETURN NULL; 
553   END IF;
554 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE9') THEN
555   IF NVL(p_record.GLOBAL_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
556   RETURN p_record.GLOBAL_ATTRIBUTE9;
557   ELSE
558   RETURN NULL; 
559   END IF;
560 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE_CATEGORY') THEN
561   IF NVL(p_record.GLOBAL_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
562   RETURN p_record.GLOBAL_ATTRIBUTE_CATEGORY;
563   ELSE
564   RETURN NULL; 
565   END IF;
566 ELSIF p_attr_code =('HEADER_ID') THEN
567   IF NVL(p_record.HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
568   RETURN p_record.HEADER_ID;
569   ELSE
570   RETURN NULL; 
571   END IF;
572 ELSIF p_attr_code =('IB_CURRENT_LOCATION') THEN
573   IF NVL(p_record.IB_CURRENT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
574   RETURN p_record.IB_CURRENT_LOCATION;
575   ELSE
576   RETURN NULL; 
577   END IF;
578 ELSIF p_attr_code =('IB_INSTALLED_AT_LOCATION') THEN
579   IF NVL(p_record.IB_INSTALLED_AT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
580   RETURN p_record.IB_INSTALLED_AT_LOCATION;
581   ELSE
582   RETURN NULL; 
583   END IF;
584 ELSIF p_attr_code =('IB_OWNER') THEN
585   IF NVL(p_record.IB_OWNER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
586   RETURN p_record.IB_OWNER;
587   ELSE
588   RETURN NULL; 
589   END IF;
590 ELSIF p_attr_code =('INVOICE_TO_CONTACT_ID') THEN
591   IF NVL(p_record.INVOICE_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
592   RETURN p_record.INVOICE_TO_CONTACT_ID;
593   ELSE
594   RETURN NULL; 
595   END IF;
596 ELSIF p_attr_code =('INVOICE_TO_ORG_ID') THEN
597   IF NVL(p_record.INVOICE_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
598   RETURN p_record.INVOICE_TO_ORG_ID;
599   ELSE
600   RETURN NULL; 
601   END IF;
602 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
603   IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
604   RETURN p_record.INVOICING_RULE_ID;
605   ELSE
606   RETURN NULL; 
607   END IF;
608 ELSIF p_attr_code =('LAST_ACK_CODE') THEN
609   IF NVL(p_record.LAST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
610   RETURN p_record.LAST_ACK_CODE;
611   ELSE
612   RETURN NULL; 
613   END IF;
614 ELSIF p_attr_code =('LAST_ACK_DATE') THEN
615   IF NVL(p_record.LAST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
616   RETURN p_record.LAST_ACK_DATE;
617   ELSE
618   RETURN NULL; 
619   END IF;
620 ELSIF p_attr_code =('LAST_UPDATED_BY') THEN
621   IF NVL(p_record.LAST_UPDATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
622   RETURN p_record.LAST_UPDATED_BY;
623   ELSE
624   RETURN NULL; 
625   END IF;
626 ELSIF p_attr_code =('LAST_UPDATE_DATE') THEN
627   IF NVL(p_record.LAST_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
628   RETURN p_record.LAST_UPDATE_DATE;
629   ELSE
630   RETURN NULL; 
631   END IF;
632 ELSIF p_attr_code =('LAST_UPDATE_LOGIN') THEN
633   IF NVL(p_record.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
634   RETURN p_record.LAST_UPDATE_LOGIN;
635   ELSE
636   RETURN NULL; 
637   END IF;
638 ELSIF p_attr_code =('LATEST_SCHEDULE_LIMIT') THEN
639   IF NVL(p_record.LATEST_SCHEDULE_LIMIT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
640   RETURN p_record.LATEST_SCHEDULE_LIMIT;
641   ELSE
642   RETURN NULL; 
643   END IF;
644 ELSIF p_attr_code =('OPEN_FLAG') THEN
645   IF NVL(p_record.OPEN_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
646   RETURN p_record.OPEN_FLAG;
647   ELSE
648   RETURN NULL; 
649   END IF;
650 ELSIF p_attr_code =('OPERATION') THEN
651   IF NVL(p_record.OPERATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
652   RETURN p_record.OPERATION;
653   ELSE
654   RETURN NULL; 
655   END IF;
656 ELSIF p_attr_code =('ORDERED_DATE') THEN
657   IF NVL(p_record.ORDERED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
658   RETURN p_record.ORDERED_DATE;
659   ELSE
660   RETURN NULL; 
661   END IF;
662 ELSIF p_attr_code =('ORDER_CATEGORY_CODE') THEN
663   IF NVL(p_record.ORDER_CATEGORY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
664   RETURN p_record.ORDER_CATEGORY_CODE;
665   ELSE
666   RETURN NULL; 
667   END IF;
668 ELSIF p_attr_code =('ORDER_DATE_TYPE_CODE') THEN
669   IF NVL(p_record.ORDER_DATE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
670   RETURN p_record.ORDER_DATE_TYPE_CODE;
671   ELSE
672   RETURN NULL; 
673   END IF;
674 ELSIF p_attr_code =('ORDER_FIRMED_DATE') THEN
675   IF NVL(p_record.ORDER_FIRMED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
676   RETURN p_record.ORDER_FIRMED_DATE;
677   ELSE
678   RETURN NULL; 
679   END IF;
680 ELSIF p_attr_code =('ORDER_NUMBER') THEN
681   IF NVL(p_record.ORDER_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
682   RETURN p_record.ORDER_NUMBER;
683   ELSE
684   RETURN NULL; 
685   END IF;
686 ELSIF p_attr_code =('ORDER_SOURCE_ID') THEN
687   IF NVL(p_record.ORDER_SOURCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
688   RETURN p_record.ORDER_SOURCE_ID;
689   ELSE
690   RETURN NULL; 
691   END IF;
692 ELSIF p_attr_code =('ORDER_TYPE_ID') THEN
693   IF NVL(p_record.ORDER_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
694   RETURN p_record.ORDER_TYPE_ID;
695   ELSE
696   RETURN NULL; 
697   END IF;
698 ELSIF p_attr_code =('ORG_ID') THEN
699   IF NVL(p_record.ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
700   RETURN p_record.ORG_ID;
701   ELSE
702   RETURN NULL; 
703   END IF;
704 ELSIF p_attr_code =('ORIG_SYS_DOCUMENT_REF') THEN
705   IF NVL(p_record.ORIG_SYS_DOCUMENT_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
706   RETURN p_record.ORIG_SYS_DOCUMENT_REF;
707   ELSE
708   RETURN NULL; 
709   END IF;
710 ELSIF p_attr_code =('PACKING_INSTRUCTIONS') THEN
711   IF NVL(p_record.PACKING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
712   RETURN p_record.PACKING_INSTRUCTIONS;
713   ELSE
714   RETURN NULL; 
715   END IF;
716 ELSIF p_attr_code =('PARTIAL_SHIPMENTS_ALLOWED') THEN
717   IF NVL(p_record.PARTIAL_SHIPMENTS_ALLOWED, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
718   RETURN p_record.PARTIAL_SHIPMENTS_ALLOWED;
719   ELSE
720   RETURN NULL; 
721   END IF;
722 ELSIF p_attr_code =('PARTY_TYPE') THEN
723   IF NVL(p_record.PARTY_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
724   RETURN p_record.PARTY_TYPE;
725   ELSE
726   RETURN NULL; 
727   END IF;
728 ELSIF p_attr_code =('PAYMENT_AMOUNT') THEN
729   IF NVL(p_record.PAYMENT_AMOUNT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
730   RETURN p_record.PAYMENT_AMOUNT;
731   ELSE
732   RETURN NULL; 
733   END IF;
734 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
735   IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
736   RETURN p_record.PAYMENT_TERM_ID;
737   ELSE
738   RETURN NULL; 
739   END IF;
740 ELSIF p_attr_code =('PAYMENT_TYPE_CODE') THEN
741   IF NVL(p_record.PAYMENT_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
742   RETURN p_record.PAYMENT_TYPE_CODE;
743   ELSE
744   RETURN NULL; 
745   END IF;
746 ELSIF p_attr_code =('PRICE_LIST_ID') THEN
747   IF NVL(p_record.PRICE_LIST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
748   RETURN p_record.PRICE_LIST_ID;
749   ELSE
750   RETURN NULL; 
751   END IF;
752 ELSIF p_attr_code =('PRICING_DATE') THEN
753   IF NVL(p_record.PRICING_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
754   RETURN p_record.PRICING_DATE;
755   ELSE
756   RETURN NULL; 
757   END IF;
758 ELSIF p_attr_code =('PROGRAM_APPLICATION_ID') THEN
759   IF NVL(p_record.PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
760   RETURN p_record.PROGRAM_APPLICATION_ID;
761   ELSE
762   RETURN NULL; 
763   END IF;
764 ELSIF p_attr_code =('PROGRAM_ID') THEN
765   IF NVL(p_record.PROGRAM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
766   RETURN p_record.PROGRAM_ID;
767   ELSE
768   RETURN NULL; 
769   END IF;
770 ELSIF p_attr_code =('PROGRAM_UPDATE_DATE') THEN
771   IF NVL(p_record.PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
772   RETURN p_record.PROGRAM_UPDATE_DATE;
773   ELSE
774   RETURN NULL; 
775   END IF;
776 ELSIF p_attr_code =('QUOTE_DATE') THEN
777   IF NVL(p_record.QUOTE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
778   RETURN p_record.QUOTE_DATE;
779   ELSE
780   RETURN NULL; 
781   END IF;
782 ELSIF p_attr_code =('QUOTE_NUMBER') THEN
783   IF NVL(p_record.QUOTE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
784   RETURN p_record.QUOTE_NUMBER;
785   ELSE
786   RETURN NULL; 
787   END IF;
788 ELSIF p_attr_code =('REQUEST_DATE') THEN
789   IF NVL(p_record.REQUEST_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
790   RETURN p_record.REQUEST_DATE;
791   ELSE
792   RETURN NULL; 
793   END IF;
794 ELSIF p_attr_code =('REQUEST_ID') THEN
795   IF NVL(p_record.REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
796   RETURN p_record.REQUEST_ID;
797   ELSE
798   RETURN NULL; 
799   END IF;
800 ELSIF p_attr_code =('RETURN_REASON_CODE') THEN
801   IF NVL(p_record.RETURN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
802   RETURN p_record.RETURN_REASON_CODE;
803   ELSE
804   RETURN NULL; 
805   END IF;
806 ELSIF p_attr_code =('RETURN_STATUS') THEN
807   IF NVL(p_record.RETURN_STATUS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
808   RETURN p_record.RETURN_STATUS;
809   ELSE
810   RETURN NULL; 
811   END IF;
812 ELSIF p_attr_code =('SALESREP_ID') THEN
813   IF NVL(p_record.SALESREP_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
814   RETURN p_record.SALESREP_ID;
815   ELSE
816   RETURN NULL; 
817   END IF;
818 ELSIF p_attr_code =('SALES_CHANNEL_CODE') THEN
819   IF NVL(p_record.SALES_CHANNEL_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
820   RETURN p_record.SALES_CHANNEL_CODE;
821   ELSE
822   RETURN NULL; 
823   END IF;
824 ELSIF p_attr_code =('SALES_DOCUMENT_NAME') THEN
825   IF NVL(p_record.SALES_DOCUMENT_NAME, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
826   RETURN p_record.SALES_DOCUMENT_NAME;
827   ELSE
828   RETURN NULL; 
829   END IF;
830 ELSIF p_attr_code =('SHIPMENT_PRIORITY_CODE') THEN
831   IF NVL(p_record.SHIPMENT_PRIORITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
832   RETURN p_record.SHIPMENT_PRIORITY_CODE;
833   ELSE
834   RETURN NULL; 
835   END IF;
836 ELSIF p_attr_code =('SHIPPING_INSTRUCTIONS') THEN
837   IF NVL(p_record.SHIPPING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
838   RETURN p_record.SHIPPING_INSTRUCTIONS;
839   ELSE
840   RETURN NULL; 
841   END IF;
842 ELSIF p_attr_code =('SHIPPING_METHOD_CODE') THEN
843   IF NVL(p_record.SHIPPING_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
844   RETURN p_record.SHIPPING_METHOD_CODE;
845   ELSE
846   RETURN NULL; 
847   END IF;
848 ELSIF p_attr_code =('SHIP_FROM_ORG_ID') THEN
849   IF NVL(p_record.SHIP_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
850   RETURN p_record.SHIP_FROM_ORG_ID;
851   ELSE
852   RETURN NULL; 
853   END IF;
854 ELSIF p_attr_code =('SHIP_TOLERANCE_ABOVE') THEN
855   IF NVL(p_record.SHIP_TOLERANCE_ABOVE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
856   RETURN p_record.SHIP_TOLERANCE_ABOVE;
857   ELSE
858   RETURN NULL; 
859   END IF;
860 ELSIF p_attr_code =('SHIP_TOLERANCE_BELOW') THEN
861   IF NVL(p_record.SHIP_TOLERANCE_BELOW, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
862   RETURN p_record.SHIP_TOLERANCE_BELOW;
863   ELSE
864   RETURN NULL; 
865   END IF;
866 ELSIF p_attr_code =('SHIP_TO_CONTACT_ID') THEN
867   IF NVL(p_record.SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
868   RETURN p_record.SHIP_TO_CONTACT_ID;
869   ELSE
870   RETURN NULL; 
871   END IF;
872 ELSIF p_attr_code =('SHIP_TO_ORG_ID') THEN
873   IF NVL(p_record.SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
874   RETURN p_record.SHIP_TO_ORG_ID;
875   ELSE
876   RETURN NULL; 
877   END IF;
878 ELSIF p_attr_code =('SOLD_FROM_ORG_ID') THEN
879   IF NVL(p_record.SOLD_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
880   RETURN p_record.SOLD_FROM_ORG_ID;
881   ELSE
882   RETURN NULL; 
883   END IF;
884 ELSIF p_attr_code =('SOLD_TO_CONTACT_ID') THEN
885   IF NVL(p_record.SOLD_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
886   RETURN p_record.SOLD_TO_CONTACT_ID;
887   ELSE
888   RETURN NULL; 
889   END IF;
890 ELSIF p_attr_code =('SOLD_TO_ORG_ID') THEN
891   IF NVL(p_record.SOLD_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
892   RETURN p_record.SOLD_TO_ORG_ID;
893   ELSE
894   RETURN NULL; 
895   END IF;
896 ELSIF p_attr_code =('SOLD_TO_SITE_USE_ID') THEN
897   IF NVL(p_record.SOLD_TO_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
898   RETURN p_record.SOLD_TO_SITE_USE_ID;
899   ELSE
900   RETURN NULL; 
901   END IF;
902 ELSIF p_attr_code =('SOURCE_DOCUMENT_ID') THEN
903   IF NVL(p_record.SOURCE_DOCUMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
904   RETURN p_record.SOURCE_DOCUMENT_ID;
905   ELSE
906   RETURN NULL; 
907   END IF;
908 ELSIF p_attr_code =('SOURCE_DOCUMENT_TYPE_ID') THEN
909   IF NVL(p_record.SOURCE_DOCUMENT_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
910   RETURN p_record.SOURCE_DOCUMENT_TYPE_ID;
911   ELSE
912   RETURN NULL; 
913   END IF;
914 ELSIF p_attr_code =('SOURCE_DOCUMENT_VERSION_NUMBER') THEN
915   IF NVL(p_record.SOURCE_DOCUMENT_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
916   RETURN p_record.SOURCE_DOCUMENT_VERSION_NUMBER;
917   ELSE
918   RETURN NULL; 
919   END IF;
920 ELSIF p_attr_code =('SUPPLIER_SIGNATURE') THEN
921   IF NVL(p_record.SUPPLIER_SIGNATURE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
922   RETURN p_record.SUPPLIER_SIGNATURE;
923   ELSE
924   RETURN NULL; 
925   END IF;
926 ELSIF p_attr_code =('SUPPLIER_SIGNATURE_DATE') THEN
927   IF NVL(p_record.SUPPLIER_SIGNATURE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
928   RETURN p_record.SUPPLIER_SIGNATURE_DATE;
929   ELSE
930   RETURN NULL; 
931   END IF;
932 ELSIF p_attr_code =('TAX_EXEMPT_FLAG') THEN
933   IF NVL(p_record.TAX_EXEMPT_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
934   RETURN p_record.TAX_EXEMPT_FLAG;
935   ELSE
936   RETURN NULL; 
937   END IF;
938 ELSIF p_attr_code =('TAX_EXEMPT_NUMBER') THEN
939   IF NVL(p_record.TAX_EXEMPT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
940   RETURN p_record.TAX_EXEMPT_NUMBER;
941   ELSE
942   RETURN NULL; 
943   END IF;
944 ELSIF p_attr_code =('TAX_EXEMPT_REASON_CODE') THEN
945   IF NVL(p_record.TAX_EXEMPT_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
946   RETURN p_record.TAX_EXEMPT_REASON_CODE;
947   ELSE
948   RETURN NULL; 
949   END IF;
950 ELSIF p_attr_code =('TAX_POINT_CODE') THEN
951   IF NVL(p_record.TAX_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
952   RETURN p_record.TAX_POINT_CODE;
953   ELSE
954   RETURN NULL; 
955   END IF;
956 ELSIF p_attr_code =('TRANSACTIONAL_CURR_CODE') THEN
957   IF NVL(p_record.TRANSACTIONAL_CURR_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
958   RETURN p_record.TRANSACTIONAL_CURR_CODE;
959   ELSE
960   RETURN NULL; 
961   END IF;
962 ELSIF p_attr_code =('TRANSACTION_PHASE_CODE') THEN
963   IF NVL(p_record.TRANSACTION_PHASE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
964   RETURN p_record.TRANSACTION_PHASE_CODE;
965   ELSE
966   RETURN NULL; 
967   END IF;
968 ELSIF p_attr_code =('UPGRADED_FLAG') THEN
969   IF NVL(p_record.UPGRADED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
970   RETURN p_record.UPGRADED_FLAG;
971   ELSE
972   RETURN NULL; 
973   END IF;
974 ELSIF p_attr_code =('USER_STATUS_CODE') THEN
975   IF NVL(p_record.USER_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
976   RETURN p_record.USER_STATUS_CODE;
977   ELSE
978   RETURN NULL; 
979   END IF;
980 ELSIF p_attr_code =('VERSION_NUMBER') THEN
981   IF NVL(p_record.VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
982   RETURN p_record.VERSION_NUMBER;
983   ELSE
984   RETURN NULL; 
985   END IF;
986 ELSE
987 RETURN NULL; 
988 END IF;
989 END  Get_Attr_Val_Varchar2;
990  
991  
992 FUNCTION Get_Attr_Val_Date
993 (   p_attr_code                     IN  VARCHAR2
994 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
995 ) RETURN DATE
996 IS
997 BEGIN
998  
999 IF p_attr_code =('BOOKED_DATE') THEN
1000     IF NVL(p_record.BOOKED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1001     RETURN p_record.BOOKED_DATE;
1002     ELSE
1003     RETURN NULL; 
1004     END IF;
1005 ELSIF p_attr_code =('CONVERSION_RATE_DATE') THEN
1006     IF NVL(p_record.CONVERSION_RATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1007     RETURN p_record.CONVERSION_RATE_DATE;
1008     ELSE
1009     RETURN NULL; 
1010     END IF;
1011 ELSIF p_attr_code =('CREATION_DATE') THEN
1012     IF NVL(p_record.CREATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1013     RETURN p_record.CREATION_DATE;
1014     ELSE
1015     RETURN NULL; 
1016     END IF;
1017 ELSIF p_attr_code =('CREDIT_CARD_EXPIRATION_DATE') THEN
1018     IF NVL(p_record.CREDIT_CARD_EXPIRATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1019     RETURN p_record.CREDIT_CARD_EXPIRATION_DATE;
1020     ELSE
1021     RETURN NULL; 
1022     END IF;
1023 ELSIF p_attr_code =('CUSTOMER_SIGNATURE_DATE') THEN
1024     IF NVL(p_record.CUSTOMER_SIGNATURE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1025     RETURN p_record.CUSTOMER_SIGNATURE_DATE;
1026     ELSE
1027     RETURN NULL; 
1028     END IF;
1029 ELSIF p_attr_code =('EXPIRATION_DATE') THEN
1030     IF NVL(p_record.EXPIRATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1031     RETURN p_record.EXPIRATION_DATE;
1032     ELSE
1033     RETURN NULL; 
1034     END IF;
1035 ELSIF p_attr_code =('FIRST_ACK_DATE') THEN
1036     IF NVL(p_record.FIRST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1037     RETURN p_record.FIRST_ACK_DATE;
1038     ELSE
1039     RETURN NULL; 
1040     END IF;
1041 ELSIF p_attr_code =('LAST_ACK_DATE') THEN
1042     IF NVL(p_record.LAST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1043     RETURN p_record.LAST_ACK_DATE;
1044     ELSE
1045     RETURN NULL; 
1046     END IF;
1047 ELSIF p_attr_code =('LAST_UPDATE_DATE') THEN
1048     IF NVL(p_record.LAST_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1049     RETURN p_record.LAST_UPDATE_DATE;
1050     ELSE
1051     RETURN NULL; 
1052     END IF;
1053 ELSIF p_attr_code =('ORDERED_DATE') THEN
1054     IF NVL(p_record.ORDERED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1055     RETURN p_record.ORDERED_DATE;
1056     ELSE
1057     RETURN NULL; 
1058     END IF;
1059 ELSIF p_attr_code =('ORDER_FIRMED_DATE') THEN
1060     IF NVL(p_record.ORDER_FIRMED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1061     RETURN p_record.ORDER_FIRMED_DATE;
1062     ELSE
1063     RETURN NULL; 
1064     END IF;
1065 ELSIF p_attr_code =('PRICING_DATE') THEN
1066     IF NVL(p_record.PRICING_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1067     RETURN p_record.PRICING_DATE;
1068     ELSE
1069     RETURN NULL; 
1070     END IF;
1071 ELSIF p_attr_code =('PROGRAM_UPDATE_DATE') THEN
1072     IF NVL(p_record.PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1073     RETURN p_record.PROGRAM_UPDATE_DATE;
1074     ELSE
1075     RETURN NULL; 
1076     END IF;
1077 ELSIF p_attr_code =('QUOTE_DATE') THEN
1078     IF NVL(p_record.QUOTE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1079     RETURN p_record.QUOTE_DATE;
1080     ELSE
1081     RETURN NULL; 
1082     END IF;
1083 ELSIF p_attr_code =('REQUEST_DATE') THEN
1084     IF NVL(p_record.REQUEST_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1085     RETURN p_record.REQUEST_DATE;
1086     ELSE
1087     RETURN NULL; 
1088     END IF;
1089 ELSIF p_attr_code =('SUPPLIER_SIGNATURE_DATE') THEN
1090     IF NVL(p_record.SUPPLIER_SIGNATURE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1091     RETURN p_record.SUPPLIER_SIGNATURE_DATE;
1092     ELSE
1093     RETURN NULL; 
1094     END IF;
1095 ELSIF p_attr_code =('ACCOUNTING_RULE_DURATION') THEN
1096     IF NVL(p_record.ACCOUNTING_RULE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1097     RETURN to_date(p_record.ACCOUNTING_RULE_DURATION,'RRRR/MM/DD HH24:MI:SS');
1098     ELSE
1099     RETURN NULL; 
1100     END IF;
1101 ELSIF p_attr_code =('ACCOUNTING_RULE_ID') THEN
1102     IF NVL(p_record.ACCOUNTING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1103     RETURN to_date(p_record.ACCOUNTING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
1104     ELSE
1105     RETURN NULL; 
1106     END IF;
1107 ELSIF p_attr_code =('AGREEMENT_ID') THEN
1108     IF NVL(p_record.AGREEMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1109     RETURN to_date(p_record.AGREEMENT_ID,'RRRR/MM/DD HH24:MI:SS');
1110     ELSE
1111     RETURN NULL; 
1112     END IF;
1113 ELSIF p_attr_code =('ATTRIBUTE1') THEN
1114     IF NVL(p_record.ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1115     RETURN to_date(p_record.ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
1116     ELSE
1117     RETURN NULL; 
1118     END IF;
1119 ELSIF p_attr_code =('ATTRIBUTE10') THEN
1120     IF NVL(p_record.ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1121     RETURN to_date(p_record.ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
1122     ELSE
1123     RETURN NULL; 
1124     END IF;
1125 ELSIF p_attr_code =('ATTRIBUTE11') THEN
1126     IF NVL(p_record.ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1127     RETURN to_date(p_record.ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
1128     ELSE
1129     RETURN NULL; 
1130     END IF;
1131 ELSIF p_attr_code =('ATTRIBUTE12') THEN
1132     IF NVL(p_record.ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1133     RETURN to_date(p_record.ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
1134     ELSE
1135     RETURN NULL; 
1136     END IF;
1137 ELSIF p_attr_code =('ATTRIBUTE13') THEN
1138     IF NVL(p_record.ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1139     RETURN to_date(p_record.ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
1140     ELSE
1141     RETURN NULL; 
1142     END IF;
1143 ELSIF p_attr_code =('ATTRIBUTE14') THEN
1144     IF NVL(p_record.ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1145     RETURN to_date(p_record.ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
1146     ELSE
1147     RETURN NULL; 
1148     END IF;
1149 ELSIF p_attr_code =('ATTRIBUTE15') THEN
1150     IF NVL(p_record.ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1151     RETURN to_date(p_record.ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
1152     ELSE
1153     RETURN NULL; 
1154     END IF;
1155 ELSIF p_attr_code =('ATTRIBUTE16') THEN
1156     IF NVL(p_record.ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1157     RETURN to_date(p_record.ATTRIBUTE16,'RRRR/MM/DD HH24:MI:SS');
1158     ELSE
1159     RETURN NULL; 
1160     END IF;
1161 ELSIF p_attr_code =('ATTRIBUTE17') THEN
1162     IF NVL(p_record.ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1163     RETURN to_date(p_record.ATTRIBUTE17,'RRRR/MM/DD HH24:MI:SS');
1164     ELSE
1165     RETURN NULL; 
1166     END IF;
1167 ELSIF p_attr_code =('ATTRIBUTE18') THEN
1168     IF NVL(p_record.ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1169     RETURN to_date(p_record.ATTRIBUTE18,'RRRR/MM/DD HH24:MI:SS');
1170     ELSE
1171     RETURN NULL; 
1172     END IF;
1173 ELSIF p_attr_code =('ATTRIBUTE19') THEN
1174     IF NVL(p_record.ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1175     RETURN to_date(p_record.ATTRIBUTE19,'RRRR/MM/DD HH24:MI:SS');
1176     ELSE
1177     RETURN NULL; 
1178     END IF;
1179 ELSIF p_attr_code =('ATTRIBUTE2') THEN
1180     IF NVL(p_record.ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1181     RETURN to_date(p_record.ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
1182     ELSE
1183     RETURN NULL; 
1184     END IF;
1185 ELSIF p_attr_code =('ATTRIBUTE20') THEN
1186     IF NVL(p_record.ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1187     RETURN to_date(p_record.ATTRIBUTE20,'RRRR/MM/DD HH24:MI:SS');
1188     ELSE
1189     RETURN NULL; 
1190     END IF;
1191 ELSIF p_attr_code =('ATTRIBUTE3') THEN
1192     IF NVL(p_record.ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1193     RETURN to_date(p_record.ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
1194     ELSE
1195     RETURN NULL; 
1196     END IF;
1197 ELSIF p_attr_code =('ATTRIBUTE4') THEN
1198     IF NVL(p_record.ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1199     RETURN to_date(p_record.ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
1200     ELSE
1201     RETURN NULL; 
1202     END IF;
1203 ELSIF p_attr_code =('ATTRIBUTE5') THEN
1204     IF NVL(p_record.ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1205     RETURN to_date(p_record.ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
1206     ELSE
1207     RETURN NULL; 
1208     END IF;
1209 ELSIF p_attr_code =('ATTRIBUTE6') THEN
1210     IF NVL(p_record.ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1211     RETURN to_date(p_record.ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
1212     ELSE
1213     RETURN NULL; 
1214     END IF;
1215 ELSIF p_attr_code =('ATTRIBUTE7') THEN
1216     IF NVL(p_record.ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1217     RETURN to_date(p_record.ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
1218     ELSE
1219     RETURN NULL; 
1220     END IF;
1221 ELSIF p_attr_code =('ATTRIBUTE8') THEN
1222     IF NVL(p_record.ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1223     RETURN to_date(p_record.ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
1224     ELSE
1225     RETURN NULL; 
1226     END IF;
1227 ELSIF p_attr_code =('ATTRIBUTE9') THEN
1228     IF NVL(p_record.ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1229     RETURN to_date(p_record.ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
1230     ELSE
1231     RETURN NULL; 
1232     END IF;
1233 ELSIF p_attr_code =('BLANKET_NUMBER') THEN
1234     IF NVL(p_record.BLANKET_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1235     RETURN to_date(p_record.BLANKET_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1236     ELSE
1237     RETURN NULL; 
1238     END IF;
1239 ELSIF p_attr_code =('BOOKED_FLAG') THEN
1240     IF NVL(p_record.BOOKED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1241     RETURN to_date(p_record.BOOKED_FLAG,'RRRR/MM/DD HH24:MI:SS');
1242     ELSE
1243     RETURN NULL; 
1244     END IF;
1245 ELSIF p_attr_code =('CANCELLED_FLAG') THEN
1246     IF NVL(p_record.CANCELLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1247     RETURN to_date(p_record.CANCELLED_FLAG,'RRRR/MM/DD HH24:MI:SS');
1248     ELSE
1249     RETURN NULL; 
1250     END IF;
1251 ELSIF p_attr_code =('CHANGE_COMMENTS') THEN
1252     IF NVL(p_record.CHANGE_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1253     RETURN to_date(p_record.CHANGE_COMMENTS,'RRRR/MM/DD HH24:MI:SS');
1254     ELSE
1255     RETURN NULL; 
1256     END IF;
1257 ELSIF p_attr_code =('CHANGE_REASON') THEN
1258     IF NVL(p_record.CHANGE_REASON, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1259     RETURN to_date(p_record.CHANGE_REASON,'RRRR/MM/DD HH24:MI:SS');
1260     ELSE
1261     RETURN NULL; 
1262     END IF;
1263 ELSIF p_attr_code =('CHECK_NUMBER') THEN
1264     IF NVL(p_record.CHECK_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1265     RETURN to_date(p_record.CHECK_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1266     ELSE
1267     RETURN NULL; 
1268     END IF;
1269 ELSIF p_attr_code =('CONTEXT') THEN
1270     IF NVL(p_record.CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1271     RETURN to_date(p_record.CONTEXT,'RRRR/MM/DD HH24:MI:SS');
1272     ELSE
1273     RETURN NULL; 
1274     END IF;
1275 ELSIF p_attr_code =('CONTRACT_TERMS') THEN
1276     IF NVL(p_record.CONTRACT_TERMS, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1277     RETURN to_date(p_record.CONTRACT_TERMS,'RRRR/MM/DD HH24:MI:SS');
1278     ELSE
1279     RETURN NULL; 
1280     END IF;
1281 ELSIF p_attr_code =('CONVERSION_RATE') THEN
1282     IF NVL(p_record.CONVERSION_RATE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1283     RETURN to_date(p_record.CONVERSION_RATE,'RRRR/MM/DD HH24:MI:SS');
1284     ELSE
1285     RETURN NULL; 
1286     END IF;
1287 ELSIF p_attr_code =('CONVERSION_TYPE_CODE') THEN
1288     IF NVL(p_record.CONVERSION_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1289     RETURN to_date(p_record.CONVERSION_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
1290     ELSE
1291     RETURN NULL; 
1292     END IF;
1293 ELSIF p_attr_code =('CREATED_BY') THEN
1294     IF NVL(p_record.CREATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1295     RETURN to_date(p_record.CREATED_BY,'RRRR/MM/DD HH24:MI:SS');
1296     ELSE
1297     RETURN NULL; 
1298     END IF;
1299 ELSIF p_attr_code =('CREDIT_CARD_APPROVAL_CODE') THEN
1300     IF NVL(p_record.CREDIT_CARD_APPROVAL_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1301     RETURN to_date(p_record.CREDIT_CARD_APPROVAL_CODE,'RRRR/MM/DD HH24:MI:SS');
1302     ELSE
1303     RETURN NULL; 
1304     END IF;
1305 ELSIF p_attr_code =('CREDIT_CARD_CODE') THEN
1306     IF NVL(p_record.CREDIT_CARD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1307     RETURN to_date(p_record.CREDIT_CARD_CODE,'RRRR/MM/DD HH24:MI:SS');
1308     ELSE
1309     RETURN NULL; 
1310     END IF;
1311 ELSIF p_attr_code =('CREDIT_CARD_HOLDER_NAME') THEN
1312     IF NVL(p_record.CREDIT_CARD_HOLDER_NAME, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1313     RETURN to_date(p_record.CREDIT_CARD_HOLDER_NAME,'RRRR/MM/DD HH24:MI:SS');
1314     ELSE
1315     RETURN NULL; 
1316     END IF;
1317 ELSIF p_attr_code =('CREDIT_CARD_NUMBER') THEN
1318     IF NVL(p_record.CREDIT_CARD_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1319     RETURN to_date(p_record.CREDIT_CARD_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1320     ELSE
1321     RETURN NULL; 
1322     END IF;
1323 ELSIF p_attr_code =('CUSTOMER_SIGNATURE') THEN
1324     IF NVL(p_record.CUSTOMER_SIGNATURE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1325     RETURN to_date(p_record.CUSTOMER_SIGNATURE,'RRRR/MM/DD HH24:MI:SS');
1326     ELSE
1327     RETURN NULL; 
1328     END IF;
1329 ELSIF p_attr_code =('CUST_PO_NUMBER') THEN
1330     IF NVL(p_record.CUST_PO_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1331     RETURN to_date(p_record.CUST_PO_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1332     ELSE
1333     RETURN NULL; 
1334     END IF;
1335 ELSIF p_attr_code =('DB_FLAG') THEN
1336     IF NVL(p_record.DB_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1337     RETURN to_date(p_record.DB_FLAG,'RRRR/MM/DD HH24:MI:SS');
1338     ELSE
1339     RETURN NULL; 
1340     END IF;
1341 ELSIF p_attr_code =('DEFAULT_FULFILLMENT_SET') THEN
1342     IF NVL(p_record.DEFAULT_FULFILLMENT_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1343     RETURN to_date(p_record.DEFAULT_FULFILLMENT_SET,'RRRR/MM/DD HH24:MI:SS');
1344     ELSE
1345     RETURN NULL; 
1346     END IF;
1347 ELSIF p_attr_code =('DEFAULT_INBOUND_LINE_TYPE_ID') THEN
1348     IF NVL(p_record.DEFAULT_INBOUND_LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1349     RETURN to_date(p_record.DEFAULT_INBOUND_LINE_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
1350     ELSE
1351     RETURN NULL; 
1352     END IF;
1353 ELSIF p_attr_code =('DEFAULT_LINE_SET') THEN
1354     IF NVL(p_record.CUSTOMER_PREFERENCE_SET_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1355     RETURN to_date(p_record.CUSTOMER_PREFERENCE_SET_CODE,'RRRR/MM/DD HH24:MI:SS');
1356     ELSE
1357     RETURN NULL; 
1358     END IF;
1359 ELSIF p_attr_code =('DEFAULT_OUTBOUND_LINE_TYPE_ID') THEN
1360     IF NVL(p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1361     RETURN to_date(p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
1362     ELSE
1363     RETURN NULL; 
1364     END IF;
1365 ELSIF p_attr_code =('DELIVER_TO_CONTACT_ID') THEN
1366     IF NVL(p_record.DELIVER_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1367     RETURN to_date(p_record.DELIVER_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
1368     ELSE
1369     RETURN NULL; 
1370     END IF;
1371 ELSIF p_attr_code =('DELIVER_TO_ORG_ID') THEN
1372     IF NVL(p_record.DELIVER_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1373     RETURN to_date(p_record.DELIVER_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1374     ELSE
1375     RETURN NULL; 
1376     END IF;
1377 ELSIF p_attr_code =('DEMAND_CLASS_CODE') THEN
1378     IF NVL(p_record.DEMAND_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1379     RETURN to_date(p_record.DEMAND_CLASS_CODE,'RRRR/MM/DD HH24:MI:SS');
1380     ELSE
1381     RETURN NULL; 
1382     END IF;
1383 ELSIF p_attr_code =('DRAFT_SUBMITTED_FLAG') THEN
1384     IF NVL(p_record.DRAFT_SUBMITTED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1385     RETURN to_date(p_record.DRAFT_SUBMITTED_FLAG,'RRRR/MM/DD HH24:MI:SS');
1386     ELSE
1387     RETURN NULL; 
1388     END IF;
1389 ELSIF p_attr_code =('EARLIEST_SCHEDULE_LIMIT') THEN
1390     IF NVL(p_record.EARLIEST_SCHEDULE_LIMIT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1391     RETURN to_date(p_record.EARLIEST_SCHEDULE_LIMIT,'RRRR/MM/DD HH24:MI:SS');
1392     ELSE
1393     RETURN NULL; 
1394     END IF;
1395 ELSIF p_attr_code =('END_CUSTOMER_CONTACT_ID') THEN
1396     IF NVL(p_record.END_CUSTOMER_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1397     RETURN to_date(p_record.END_CUSTOMER_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
1398     ELSE
1399     RETURN NULL; 
1400     END IF;
1401 ELSIF p_attr_code =('END_CUSTOMER_ID') THEN
1402     IF NVL(p_record.END_CUSTOMER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1403     RETURN to_date(p_record.END_CUSTOMER_ID,'RRRR/MM/DD HH24:MI:SS');
1404     ELSE
1405     RETURN NULL; 
1406     END IF;
1407 ELSIF p_attr_code =('END_CUSTOMER_SITE_USE_ID') THEN
1408     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1409     RETURN to_date(p_record.END_CUSTOMER_SITE_USE_ID,'RRRR/MM/DD HH24:MI:SS');
1410     ELSE
1411     RETURN NULL; 
1412     END IF;
1413 ELSIF p_attr_code =('FIRST_ACK_CODE') THEN
1414     IF NVL(p_record.FIRST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1415     RETURN to_date(p_record.FIRST_ACK_CODE,'RRRR/MM/DD HH24:MI:SS');
1416     ELSE
1417     RETURN NULL; 
1418     END IF;
1419 ELSIF p_attr_code =('FLOW_STATUS_CODE') THEN
1420     IF NVL(p_record.FLOW_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1421     RETURN to_date(p_record.FLOW_STATUS_CODE,'RRRR/MM/DD HH24:MI:SS');
1422     ELSE
1423     RETURN NULL; 
1424     END IF;
1425 ELSIF p_attr_code =('FOB_POINT_CODE') THEN
1426     IF NVL(p_record.FOB_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1427     RETURN to_date(p_record.FOB_POINT_CODE,'RRRR/MM/DD HH24:MI:SS');
1428     ELSE
1429     RETURN NULL; 
1430     END IF;
1431 ELSIF p_attr_code =('FREIGHT_CARRIER_CODE') THEN
1432     IF NVL(p_record.FREIGHT_CARRIER_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1433     RETURN to_date(p_record.FREIGHT_CARRIER_CODE,'RRRR/MM/DD HH24:MI:SS');
1434     ELSE
1435     RETURN NULL; 
1436     END IF;
1437 ELSIF p_attr_code =('FREIGHT_TERMS_CODE') THEN
1438     IF NVL(p_record.FREIGHT_TERMS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1439     RETURN to_date(p_record.FREIGHT_TERMS_CODE,'RRRR/MM/DD HH24:MI:SS');
1440     ELSE
1441     RETURN NULL; 
1442     END IF;
1443 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE1') THEN
1444     IF NVL(p_record.GLOBAL_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1445     RETURN to_date(p_record.GLOBAL_ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
1446     ELSE
1447     RETURN NULL; 
1448     END IF;
1449 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE10') THEN
1450     IF NVL(p_record.GLOBAL_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1451     RETURN to_date(p_record.GLOBAL_ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
1452     ELSE
1453     RETURN NULL; 
1454     END IF;
1455 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE11') THEN
1456     IF NVL(p_record.GLOBAL_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1457     RETURN to_date(p_record.GLOBAL_ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
1458     ELSE
1459     RETURN NULL; 
1460     END IF;
1461 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE12') THEN
1462     IF NVL(p_record.GLOBAL_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1463     RETURN to_date(p_record.GLOBAL_ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
1464     ELSE
1465     RETURN NULL; 
1466     END IF;
1467 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE13') THEN
1468     IF NVL(p_record.GLOBAL_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1469     RETURN to_date(p_record.GLOBAL_ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
1470     ELSE
1471     RETURN NULL; 
1472     END IF;
1473 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE14') THEN
1474     IF NVL(p_record.GLOBAL_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1475     RETURN to_date(p_record.GLOBAL_ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
1476     ELSE
1477     RETURN NULL; 
1478     END IF;
1479 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE15') THEN
1480     IF NVL(p_record.GLOBAL_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1481     RETURN to_date(p_record.GLOBAL_ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
1482     ELSE
1483     RETURN NULL; 
1484     END IF;
1485 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE16') THEN
1486     IF NVL(p_record.GLOBAL_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1487     RETURN to_date(p_record.GLOBAL_ATTRIBUTE16,'RRRR/MM/DD HH24:MI:SS');
1488     ELSE
1489     RETURN NULL; 
1490     END IF;
1491 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE17') THEN
1492     IF NVL(p_record.GLOBAL_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1493     RETURN to_date(p_record.GLOBAL_ATTRIBUTE17,'RRRR/MM/DD HH24:MI:SS');
1494     ELSE
1495     RETURN NULL; 
1496     END IF;
1497 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE18') THEN
1498     IF NVL(p_record.GLOBAL_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1499     RETURN to_date(p_record.GLOBAL_ATTRIBUTE18,'RRRR/MM/DD HH24:MI:SS');
1500     ELSE
1501     RETURN NULL; 
1502     END IF;
1503 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE19') THEN
1504     IF NVL(p_record.GLOBAL_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1505     RETURN to_date(p_record.GLOBAL_ATTRIBUTE19,'RRRR/MM/DD HH24:MI:SS');
1506     ELSE
1507     RETURN NULL; 
1508     END IF;
1509 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE2') THEN
1510     IF NVL(p_record.GLOBAL_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1511     RETURN to_date(p_record.GLOBAL_ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
1512     ELSE
1513     RETURN NULL; 
1514     END IF;
1515 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE20') THEN
1516     IF NVL(p_record.GLOBAL_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1517     RETURN to_date(p_record.GLOBAL_ATTRIBUTE20,'RRRR/MM/DD HH24:MI:SS');
1518     ELSE
1519     RETURN NULL; 
1520     END IF;
1521 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE3') THEN
1522     IF NVL(p_record.GLOBAL_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1523     RETURN to_date(p_record.GLOBAL_ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
1524     ELSE
1525     RETURN NULL; 
1526     END IF;
1527 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE4') THEN
1528     IF NVL(p_record.GLOBAL_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1529     RETURN to_date(p_record.GLOBAL_ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
1530     ELSE
1531     RETURN NULL; 
1532     END IF;
1533 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE5') THEN
1534     IF NVL(p_record.GLOBAL_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1535     RETURN to_date(p_record.GLOBAL_ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
1536     ELSE
1537     RETURN NULL; 
1538     END IF;
1539 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE6') THEN
1540     IF NVL(p_record.GLOBAL_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1541     RETURN to_date(p_record.GLOBAL_ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
1542     ELSE
1543     RETURN NULL; 
1544     END IF;
1545 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE7') THEN
1546     IF NVL(p_record.GLOBAL_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1547     RETURN to_date(p_record.GLOBAL_ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
1548     ELSE
1549     RETURN NULL; 
1550     END IF;
1551 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE8') THEN
1552     IF NVL(p_record.GLOBAL_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1553     RETURN to_date(p_record.GLOBAL_ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
1554     ELSE
1555     RETURN NULL; 
1556     END IF;
1557 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE9') THEN
1558     IF NVL(p_record.GLOBAL_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1559     RETURN to_date(p_record.GLOBAL_ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
1560     ELSE
1561     RETURN NULL; 
1562     END IF;
1563 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE_CATEGORY') THEN
1564     IF NVL(p_record.GLOBAL_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1565     RETURN to_date(p_record.GLOBAL_ATTRIBUTE_CATEGORY,'RRRR/MM/DD HH24:MI:SS');
1566     ELSE
1567     RETURN NULL; 
1568     END IF;
1569 ELSIF p_attr_code =('HEADER_ID') THEN
1570     IF NVL(p_record.HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1571     RETURN to_date(p_record.HEADER_ID,'RRRR/MM/DD HH24:MI:SS');
1572     ELSE
1573     RETURN NULL; 
1574     END IF;
1575 ELSIF p_attr_code =('IB_CURRENT_LOCATION') THEN
1576     IF NVL(p_record.IB_CURRENT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1577     RETURN to_date(p_record.IB_CURRENT_LOCATION,'RRRR/MM/DD HH24:MI:SS');
1578     ELSE
1579     RETURN NULL; 
1580     END IF;
1581 ELSIF p_attr_code =('IB_INSTALLED_AT_LOCATION') THEN
1582     IF NVL(p_record.IB_INSTALLED_AT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1583     RETURN to_date(p_record.IB_INSTALLED_AT_LOCATION,'RRRR/MM/DD HH24:MI:SS');
1584     ELSE
1585     RETURN NULL; 
1586     END IF;
1587 ELSIF p_attr_code =('IB_OWNER') THEN
1588     IF NVL(p_record.IB_OWNER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1589     RETURN to_date(p_record.IB_OWNER,'RRRR/MM/DD HH24:MI:SS');
1590     ELSE
1591     RETURN NULL; 
1592     END IF;
1593 ELSIF p_attr_code =('INVOICE_TO_CONTACT_ID') THEN
1594     IF NVL(p_record.INVOICE_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1595     RETURN to_date(p_record.INVOICE_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
1596     ELSE
1597     RETURN NULL; 
1598     END IF;
1599 ELSIF p_attr_code =('INVOICE_TO_ORG_ID') THEN
1600     IF NVL(p_record.INVOICE_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1601     RETURN to_date(p_record.INVOICE_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1602     ELSE
1603     RETURN NULL; 
1604     END IF;
1605 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
1606     IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1607     RETURN to_date(p_record.INVOICING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
1608     ELSE
1609     RETURN NULL; 
1610     END IF;
1611 ELSIF p_attr_code =('LAST_ACK_CODE') THEN
1612     IF NVL(p_record.LAST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1613     RETURN to_date(p_record.LAST_ACK_CODE,'RRRR/MM/DD HH24:MI:SS');
1614     ELSE
1615     RETURN NULL; 
1616     END IF;
1617 ELSIF p_attr_code =('LAST_UPDATED_BY') THEN
1618     IF NVL(p_record.LAST_UPDATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1619     RETURN to_date(p_record.LAST_UPDATED_BY,'RRRR/MM/DD HH24:MI:SS');
1620     ELSE
1621     RETURN NULL; 
1622     END IF;
1623 ELSIF p_attr_code =('LAST_UPDATE_LOGIN') THEN
1624     IF NVL(p_record.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1625     RETURN to_date(p_record.LAST_UPDATE_LOGIN,'RRRR/MM/DD HH24:MI:SS');
1626     ELSE
1627     RETURN NULL; 
1628     END IF;
1629 ELSIF p_attr_code =('LATEST_SCHEDULE_LIMIT') THEN
1630     IF NVL(p_record.LATEST_SCHEDULE_LIMIT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1631     RETURN to_date(p_record.LATEST_SCHEDULE_LIMIT,'RRRR/MM/DD HH24:MI:SS');
1632     ELSE
1633     RETURN NULL; 
1634     END IF;
1635 ELSIF p_attr_code =('OPEN_FLAG') THEN
1636     IF NVL(p_record.OPEN_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1637     RETURN to_date(p_record.OPEN_FLAG,'RRRR/MM/DD HH24:MI:SS');
1638     ELSE
1639     RETURN NULL; 
1640     END IF;
1641 ELSIF p_attr_code =('OPERATION') THEN
1642     IF NVL(p_record.OPERATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1643     RETURN to_date(p_record.OPERATION,'RRRR/MM/DD HH24:MI:SS');
1644     ELSE
1645     RETURN NULL; 
1646     END IF;
1647 ELSIF p_attr_code =('ORDER_CATEGORY_CODE') THEN
1648     IF NVL(p_record.ORDER_CATEGORY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1649     RETURN to_date(p_record.ORDER_CATEGORY_CODE,'RRRR/MM/DD HH24:MI:SS');
1650     ELSE
1651     RETURN NULL; 
1652     END IF;
1653 ELSIF p_attr_code =('ORDER_DATE_TYPE_CODE') THEN
1654     IF NVL(p_record.ORDER_DATE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1655     RETURN to_date(p_record.ORDER_DATE_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
1656     ELSE
1657     RETURN NULL; 
1658     END IF;
1659 ELSIF p_attr_code =('ORDER_NUMBER') THEN
1660     IF NVL(p_record.ORDER_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1661     RETURN to_date(p_record.ORDER_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1662     ELSE
1663     RETURN NULL; 
1664     END IF;
1665 ELSIF p_attr_code =('ORDER_SOURCE_ID') THEN
1666     IF NVL(p_record.ORDER_SOURCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1667     RETURN to_date(p_record.ORDER_SOURCE_ID,'RRRR/MM/DD HH24:MI:SS');
1668     ELSE
1669     RETURN NULL; 
1670     END IF;
1671 ELSIF p_attr_code =('ORDER_TYPE_ID') THEN
1672     IF NVL(p_record.ORDER_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1673     RETURN to_date(p_record.ORDER_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
1674     ELSE
1675     RETURN NULL; 
1676     END IF;
1677 ELSIF p_attr_code =('ORG_ID') THEN
1678     IF NVL(p_record.ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1679     RETURN to_date(p_record.ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1680     ELSE
1681     RETURN NULL; 
1682     END IF;
1683 ELSIF p_attr_code =('ORIG_SYS_DOCUMENT_REF') THEN
1684     IF NVL(p_record.ORIG_SYS_DOCUMENT_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1685     RETURN to_date(p_record.ORIG_SYS_DOCUMENT_REF,'RRRR/MM/DD HH24:MI:SS');
1686     ELSE
1687     RETURN NULL; 
1688     END IF;
1689 ELSIF p_attr_code =('PACKING_INSTRUCTIONS') THEN
1690     IF NVL(p_record.PACKING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1691     RETURN to_date(p_record.PACKING_INSTRUCTIONS,'RRRR/MM/DD HH24:MI:SS');
1692     ELSE
1693     RETURN NULL; 
1694     END IF;
1695 ELSIF p_attr_code =('PARTIAL_SHIPMENTS_ALLOWED') THEN
1696     IF NVL(p_record.PARTIAL_SHIPMENTS_ALLOWED, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1697     RETURN to_date(p_record.PARTIAL_SHIPMENTS_ALLOWED,'RRRR/MM/DD HH24:MI:SS');
1698     ELSE
1699     RETURN NULL; 
1700     END IF;
1701 ELSIF p_attr_code =('PARTY_TYPE') THEN
1702     IF NVL(p_record.PARTY_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1703     RETURN to_date(p_record.PARTY_TYPE,'RRRR/MM/DD HH24:MI:SS');
1704     ELSE
1705     RETURN NULL; 
1706     END IF;
1707 ELSIF p_attr_code =('PAYMENT_AMOUNT') THEN
1708     IF NVL(p_record.PAYMENT_AMOUNT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1709     RETURN to_date(p_record.PAYMENT_AMOUNT,'RRRR/MM/DD HH24:MI:SS');
1710     ELSE
1711     RETURN NULL; 
1712     END IF;
1713 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
1714     IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1715     RETURN to_date(p_record.PAYMENT_TERM_ID,'RRRR/MM/DD HH24:MI:SS');
1716     ELSE
1717     RETURN NULL; 
1718     END IF;
1719 ELSIF p_attr_code =('PAYMENT_TYPE_CODE') THEN
1720     IF NVL(p_record.PAYMENT_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1721     RETURN to_date(p_record.PAYMENT_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
1722     ELSE
1723     RETURN NULL; 
1724     END IF;
1725 ELSIF p_attr_code =('PRICE_LIST_ID') THEN
1726     IF NVL(p_record.PRICE_LIST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1727     RETURN to_date(p_record.PRICE_LIST_ID,'RRRR/MM/DD HH24:MI:SS');
1728     ELSE
1729     RETURN NULL; 
1730     END IF;
1731 ELSIF p_attr_code =('PROGRAM_APPLICATION_ID') THEN
1732     IF NVL(p_record.PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1733     RETURN to_date(p_record.PROGRAM_APPLICATION_ID,'RRRR/MM/DD HH24:MI:SS');
1734     ELSE
1735     RETURN NULL; 
1736     END IF;
1737 ELSIF p_attr_code =('PROGRAM_ID') THEN
1738     IF NVL(p_record.PROGRAM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1739     RETURN to_date(p_record.PROGRAM_ID,'RRRR/MM/DD HH24:MI:SS');
1740     ELSE
1741     RETURN NULL; 
1742     END IF;
1743 ELSIF p_attr_code =('QUOTE_NUMBER') THEN
1744     IF NVL(p_record.QUOTE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1745     RETURN to_date(p_record.QUOTE_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1746     ELSE
1747     RETURN NULL; 
1748     END IF;
1749 ELSIF p_attr_code =('REQUEST_ID') THEN
1750     IF NVL(p_record.REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1751     RETURN to_date(p_record.REQUEST_ID,'RRRR/MM/DD HH24:MI:SS');
1752     ELSE
1753     RETURN NULL; 
1754     END IF;
1755 ELSIF p_attr_code =('RETURN_REASON_CODE') THEN
1756     IF NVL(p_record.RETURN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1757     RETURN to_date(p_record.RETURN_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
1758     ELSE
1759     RETURN NULL; 
1760     END IF;
1761 ELSIF p_attr_code =('RETURN_STATUS') THEN
1762     IF NVL(p_record.RETURN_STATUS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1763     RETURN to_date(p_record.RETURN_STATUS,'RRRR/MM/DD HH24:MI:SS');
1764     ELSE
1765     RETURN NULL; 
1766     END IF;
1767 ELSIF p_attr_code =('SALESREP_ID') THEN
1768     IF NVL(p_record.SALESREP_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1769     RETURN to_date(p_record.SALESREP_ID,'RRRR/MM/DD HH24:MI:SS');
1770     ELSE
1771     RETURN NULL; 
1772     END IF;
1773 ELSIF p_attr_code =('SALES_CHANNEL_CODE') THEN
1774     IF NVL(p_record.SALES_CHANNEL_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1775     RETURN to_date(p_record.SALES_CHANNEL_CODE,'RRRR/MM/DD HH24:MI:SS');
1776     ELSE
1777     RETURN NULL; 
1778     END IF;
1779 ELSIF p_attr_code =('SALES_DOCUMENT_NAME') THEN
1780     IF NVL(p_record.SALES_DOCUMENT_NAME, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1781     RETURN to_date(p_record.SALES_DOCUMENT_NAME,'RRRR/MM/DD HH24:MI:SS');
1782     ELSE
1783     RETURN NULL; 
1784     END IF;
1785 ELSIF p_attr_code =('SHIPMENT_PRIORITY_CODE') THEN
1786     IF NVL(p_record.SHIPMENT_PRIORITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1787     RETURN to_date(p_record.SHIPMENT_PRIORITY_CODE,'RRRR/MM/DD HH24:MI:SS');
1788     ELSE
1789     RETURN NULL; 
1790     END IF;
1791 ELSIF p_attr_code =('SHIPPING_INSTRUCTIONS') THEN
1792     IF NVL(p_record.SHIPPING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1793     RETURN to_date(p_record.SHIPPING_INSTRUCTIONS,'RRRR/MM/DD HH24:MI:SS');
1794     ELSE
1795     RETURN NULL; 
1796     END IF;
1797 ELSIF p_attr_code =('SHIPPING_METHOD_CODE') THEN
1798     IF NVL(p_record.SHIPPING_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1799     RETURN to_date(p_record.SHIPPING_METHOD_CODE,'RRRR/MM/DD HH24:MI:SS');
1800     ELSE
1801     RETURN NULL; 
1802     END IF;
1803 ELSIF p_attr_code =('SHIP_FROM_ORG_ID') THEN
1804     IF NVL(p_record.SHIP_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1805     RETURN to_date(p_record.SHIP_FROM_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1806     ELSE
1807     RETURN NULL; 
1808     END IF;
1809 ELSIF p_attr_code =('SHIP_TOLERANCE_ABOVE') THEN
1810     IF NVL(p_record.SHIP_TOLERANCE_ABOVE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1811     RETURN to_date(p_record.SHIP_TOLERANCE_ABOVE,'RRRR/MM/DD HH24:MI:SS');
1812     ELSE
1813     RETURN NULL; 
1814     END IF;
1815 ELSIF p_attr_code =('SHIP_TOLERANCE_BELOW') THEN
1816     IF NVL(p_record.SHIP_TOLERANCE_BELOW, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1817     RETURN to_date(p_record.SHIP_TOLERANCE_BELOW,'RRRR/MM/DD HH24:MI:SS');
1818     ELSE
1819     RETURN NULL; 
1820     END IF;
1821 ELSIF p_attr_code =('SHIP_TO_CONTACT_ID') THEN
1822     IF NVL(p_record.SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1823     RETURN to_date(p_record.SHIP_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
1824     ELSE
1825     RETURN NULL; 
1826     END IF;
1827 ELSIF p_attr_code =('SHIP_TO_ORG_ID') THEN
1828     IF NVL(p_record.SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1829     RETURN to_date(p_record.SHIP_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1830     ELSE
1831     RETURN NULL; 
1832     END IF;
1833 ELSIF p_attr_code =('SOLD_FROM_ORG_ID') THEN
1834     IF NVL(p_record.SOLD_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1835     RETURN to_date(p_record.SOLD_FROM_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1836     ELSE
1837     RETURN NULL; 
1838     END IF;
1839 ELSIF p_attr_code =('SOLD_TO_CONTACT_ID') THEN
1840     IF NVL(p_record.SOLD_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1841     RETURN to_date(p_record.SOLD_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
1842     ELSE
1843     RETURN NULL; 
1844     END IF;
1845 ELSIF p_attr_code =('SOLD_TO_ORG_ID') THEN
1846     IF NVL(p_record.SOLD_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1847     RETURN to_date(p_record.SOLD_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
1848     ELSE
1849     RETURN NULL; 
1850     END IF;
1851 ELSIF p_attr_code =('SOLD_TO_SITE_USE_ID') THEN
1852     IF NVL(p_record.SOLD_TO_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1853     RETURN to_date(p_record.SOLD_TO_SITE_USE_ID,'RRRR/MM/DD HH24:MI:SS');
1854     ELSE
1855     RETURN NULL; 
1856     END IF;
1857 ELSIF p_attr_code =('SOURCE_DOCUMENT_ID') THEN
1858     IF NVL(p_record.SOURCE_DOCUMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1859     RETURN to_date(p_record.SOURCE_DOCUMENT_ID,'RRRR/MM/DD HH24:MI:SS');
1860     ELSE
1861     RETURN NULL; 
1862     END IF;
1863 ELSIF p_attr_code =('SOURCE_DOCUMENT_TYPE_ID') THEN
1864     IF NVL(p_record.SOURCE_DOCUMENT_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1865     RETURN to_date(p_record.SOURCE_DOCUMENT_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
1866     ELSE
1867     RETURN NULL; 
1868     END IF;
1869 ELSIF p_attr_code =('SOURCE_DOCUMENT_VERSION_NUMBER') THEN
1870     IF NVL(p_record.SOURCE_DOCUMENT_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1871     RETURN to_date(p_record.SOURCE_DOCUMENT_VERSION_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1872     ELSE
1873     RETURN NULL; 
1874     END IF;
1875 ELSIF p_attr_code =('SUPPLIER_SIGNATURE') THEN
1876     IF NVL(p_record.SUPPLIER_SIGNATURE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1877     RETURN to_date(p_record.SUPPLIER_SIGNATURE,'RRRR/MM/DD HH24:MI:SS');
1878     ELSE
1879     RETURN NULL; 
1880     END IF;
1881 ELSIF p_attr_code =('TAX_EXEMPT_FLAG') THEN
1882     IF NVL(p_record.TAX_EXEMPT_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1883     RETURN to_date(p_record.TAX_EXEMPT_FLAG,'RRRR/MM/DD HH24:MI:SS');
1884     ELSE
1885     RETURN NULL; 
1886     END IF;
1887 ELSIF p_attr_code =('TAX_EXEMPT_NUMBER') THEN
1888     IF NVL(p_record.TAX_EXEMPT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1889     RETURN to_date(p_record.TAX_EXEMPT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1890     ELSE
1891     RETURN NULL; 
1892     END IF;
1893 ELSIF p_attr_code =('TAX_EXEMPT_REASON_CODE') THEN
1894     IF NVL(p_record.TAX_EXEMPT_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1895     RETURN to_date(p_record.TAX_EXEMPT_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
1896     ELSE
1897     RETURN NULL; 
1898     END IF;
1899 ELSIF p_attr_code =('TAX_POINT_CODE') THEN
1900     IF NVL(p_record.TAX_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1901     RETURN to_date(p_record.TAX_POINT_CODE,'RRRR/MM/DD HH24:MI:SS');
1902     ELSE
1903     RETURN NULL; 
1904     END IF;
1905 ELSIF p_attr_code =('TRANSACTIONAL_CURR_CODE') THEN
1906     IF NVL(p_record.TRANSACTIONAL_CURR_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1907     RETURN to_date(p_record.TRANSACTIONAL_CURR_CODE,'RRRR/MM/DD HH24:MI:SS');
1908     ELSE
1909     RETURN NULL; 
1910     END IF;
1911 ELSIF p_attr_code =('TRANSACTION_PHASE_CODE') THEN
1912     IF NVL(p_record.TRANSACTION_PHASE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1913     RETURN to_date(p_record.TRANSACTION_PHASE_CODE,'RRRR/MM/DD HH24:MI:SS');
1914     ELSE
1915     RETURN NULL; 
1916     END IF;
1917 ELSIF p_attr_code =('UPGRADED_FLAG') THEN
1918     IF NVL(p_record.UPGRADED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1919     RETURN to_date(p_record.UPGRADED_FLAG,'RRRR/MM/DD HH24:MI:SS');
1920     ELSE
1921     RETURN NULL; 
1922     END IF;
1923 ELSIF p_attr_code =('USER_STATUS_CODE') THEN
1924     IF NVL(p_record.USER_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1925     RETURN to_date(p_record.USER_STATUS_CODE,'RRRR/MM/DD HH24:MI:SS');
1926     ELSE
1927     RETURN NULL; 
1928     END IF;
1929 ELSIF p_attr_code =('VERSION_NUMBER') THEN
1930     IF NVL(p_record.VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1931     RETURN to_date(p_record.VERSION_NUMBER,'RRRR/MM/DD HH24:MI:SS');
1932     ELSE
1933     RETURN NULL; 
1934     END IF;
1935 ELSE
1936 RETURN NULL; 
1937 END IF;
1938  
1939 END  Get_Attr_Val_Date;
1940  
1941  
1942   PROCEDURE Clear_HEADER_Cache
1943   IS  
1944   BEGIN  
1945   g_cached_record.HEADER_ID := null;
1946    END Clear_HEADER_Cache;
1947  
1948  
1949 FUNCTION Sync_HEADER_Cache
1950 (   p_HEADER_ID                     IN  NUMBER
1951  
1952  
1953 ) RETURN NUMBER
1954 IS
1955 CURSOR cache IS 
1956   SELECT * FROM   OE_AK_ORDER_HEADERS_V
1957   WHERE HEADER_ID  = p_HEADER_ID
1958   ;
1959 BEGIN
1960  
1961 IF (NVL(p_HEADER_ID,FND_API.G_MISS_NUM)  = FND_API.G_MISS_NUM) 
1962 THEN
1963   RETURN 0 ;
1964 ELSIF (NVL(g_cached_record.HEADER_ID,FND_API.G_MISS_NUM)  <>  p_HEADER_ID) 
1965 THEN
1966   Clear_HEADER_Cache;
1967   Open cache;
1968   FETCH cache into g_cached_record;
1969   IF cache%NOTFOUND THEN
1970     RETURN 0;
1971   END IF;
1972   Close cache;
1973   RETURN 1 ;
1974 END IF;
1975  
1976   RETURN 1 ;
1977 EXCEPTION
1978   WHEN OTHERS THEN 
1979   RETURN 0 ;
1980 END Sync_HEADER_Cache;
1981  
1982  
1983 FUNCTION Get_Foreign_Attr_Val_Varchar2
1984 (   p_foreign_attr_code             IN  VARCHAR2
1985 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
1986 ,   p_foreign_database_object_name  IN  VARCHAR2
1987 ) RETURN VARCHAR2
1988  
1989 IS
1990  
1991 BEGIN
1992  
1993  IF (p_foreign_database_object_name = 'OE_AK_BLANKET_HEADERS_V') THEN
1994     IF NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
1995       RETURN NULL;
1996     END IF;
1997     IF  ONT_BLANKET_HEADER_Def_Util.Sync_BLANKET_HEADER_Cache
1998       (p_ORDER_NUMBER => p_record.BLANKET_NUMBER) = 1  then 
1999     RETURN ONT_BLANKET_HEADER_Def_Util.Get_Attr_Val_Varchar2
2000       (p_foreign_attr_code,ONT_BLANKET_HEADER_Def_Util.g_cached_record); 
2001   END IF;
2002  
2003  ELSIF (p_foreign_database_object_name = 'OE_AK_LAT_SCH_LIMIT_V') THEN
2004     IF NVL(p_record.LATEST_SCHEDULE_LIMIT,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2005       RETURN NULL;
2006     END IF;
2007     IF  ONT_LAT_SCH_LIMIT_Def_Util.Sync_LAT_SCH_LIMIT_Cache
2008       (p_LATEST_SCHEDULE_LIMIT => p_record.LATEST_SCHEDULE_LIMIT) = 1  then 
2009     RETURN ONT_LAT_SCH_LIMIT_Def_Util.Get_Attr_Val_Varchar2
2010       (p_foreign_attr_code,ONT_LAT_SCH_LIMIT_Def_Util.g_cached_record); 
2011   END IF;
2012  
2013  ELSIF (p_foreign_database_object_name = 'OE_AK_EAR_SCH_LIMIT_V') THEN
2014     IF NVL(p_record.EARLIEST_SCHEDULE_LIMIT,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2015       RETURN NULL;
2016     END IF;
2017     IF  ONT_EAR_SCH_LIMIT_Def_Util.Sync_EAR_SCH_LIMIT_Cache
2018       (p_EARLIEST_SCHEDULE_LIMIT => p_record.EARLIEST_SCHEDULE_LIMIT) = 1  then 
2019     RETURN ONT_EAR_SCH_LIMIT_Def_Util.Get_Attr_Val_Varchar2
2020       (p_foreign_attr_code,ONT_EAR_SCH_LIMIT_Def_Util.g_cached_record); 
2021   END IF;
2022  
2023  ELSIF (p_foreign_database_object_name = 'OE_AK_SALES_CHANNEL_V') THEN
2024     IF NVL(p_record.SALES_CHANNEL_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2025       RETURN NULL;
2026     END IF;
2027     IF  ONT_SALES_CHANNEL_Def_Util.Sync_SALES_CHANNEL_Cache
2028       (p_SALES_CHANNEL_CODE => p_record.SALES_CHANNEL_CODE) = 1  then 
2029     RETURN ONT_SALES_CHANNEL_Def_Util.Get_Attr_Val_Varchar2
2030       (p_foreign_attr_code,ONT_SALES_CHANNEL_Def_Util.g_cached_record); 
2031   END IF;
2032  
2033  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_DATE_TYPE_V') THEN
2034     IF NVL(p_record.ORDER_DATE_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2035       RETURN NULL;
2036     END IF;
2037     IF  ONT_ORD_DATE_TYPE_Def_Util.Sync_ORD_DATE_TYPE_Cache
2038       (p_ORDER_DATE_TYPE_CODE => p_record.ORDER_DATE_TYPE_CODE) = 1  then 
2039     RETURN ONT_ORD_DATE_TYPE_Def_Util.Get_Attr_Val_Varchar2
2040       (p_foreign_attr_code,ONT_ORD_DATE_TYPE_Def_Util.g_cached_record); 
2041   END IF;
2042  
2043  ELSIF (p_foreign_database_object_name = 'OE_AK_DEFAULT_FULFILMENT_SET_V') THEN
2044     IF NVL(p_record.DEFAULT_FULFILLMENT_SET,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2045       RETURN NULL;
2046     END IF;
2047     IF  ONT_DEF_FULFILL_Def_Util.Sync_DEF_FULFILL_Cache
2048       (p_DEFAULT_FULFILLMENT_SET => p_record.DEFAULT_FULFILLMENT_SET) = 1  then 
2049     RETURN ONT_DEF_FULFILL_Def_Util.Get_Attr_Val_Varchar2
2050       (p_foreign_attr_code,ONT_DEF_FULFILL_Def_Util.g_cached_record); 
2051   END IF;
2052  
2053  ELSIF (p_foreign_database_object_name = 'OE_AK_DEFAULT_LINE_SET_V') THEN
2054     IF NVL(p_record.CUSTOMER_PREFERENCE_SET_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2055       RETURN NULL;
2056     END IF;
2057     IF  ONT_DEF_LINESET_Def_Util.Sync_DEF_LINESET_Cache
2058       (p_DEFAULT_LINE_SET => p_record.CUSTOMER_PREFERENCE_SET_CODE) = 1  then 
2059     RETURN ONT_DEF_LINESET_Def_Util.Get_Attr_Val_Varchar2
2060       (p_foreign_attr_code,ONT_DEF_LINESET_Def_Util.g_cached_record); 
2061   END IF;
2062  
2063  ELSIF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_SITE_USES_V') THEN
2064     IF NVL(p_record.SOLD_TO_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2065       RETURN NULL;
2066     END IF;
2067     IF  ONT_SOLD_TO_SU_Def_Util.Sync_SOLD_TO_SU_Cache
2068       (p_SOLD_TO_SITE_USE_ID => p_record.SOLD_TO_SITE_USE_ID) = 1  then 
2069     RETURN ONT_SOLD_TO_SU_Def_Util.Get_Attr_Val_Varchar2
2070       (p_foreign_attr_code,ONT_SOLD_TO_SU_Def_Util.g_cached_record); 
2071   END IF;
2072  
2073  ELSIF (p_foreign_database_object_name = 'OE_AK_TRXN_PHASE_V') THEN
2074     IF NVL(p_record.TRANSACTION_PHASE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2075       RETURN NULL;
2076     END IF;
2077     IF  ONT_TRXN_PHASE_Def_Util.Sync_TRXN_PHASE_Cache
2078       (p_TRANSACTION_PHASE_CODE => p_record.TRANSACTION_PHASE_CODE) = 1  then 
2079     RETURN ONT_TRXN_PHASE_Def_Util.Get_Attr_Val_Varchar2
2080       (p_foreign_attr_code,ONT_TRXN_PHASE_Def_Util.g_cached_record); 
2081   END IF;
2082  
2083  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_V') THEN
2084     IF NVL(p_record.END_CUSTOMER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2085       RETURN NULL;
2086     END IF;
2087     IF  ONT_END_CUSTOMER_Def_Util.Sync_END_CUSTOMER_Cache
2088       (p_END_CUSTOMER_ID => p_record.END_CUSTOMER_ID) = 1  then 
2089     RETURN ONT_END_CUSTOMER_Def_Util.Get_Attr_Val_Varchar2
2090       (p_foreign_attr_code,ONT_END_CUSTOMER_Def_Util.g_cached_record); 
2091   END IF;
2092  
2093  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_CONT_V') THEN
2094     IF NVL(p_record.END_CUSTOMER_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2095       RETURN NULL;
2096     END IF;
2097     IF  ONT_EC_CONTACT_Def_Util.Sync_EC_CONTACT_Cache
2098       (p_END_CUSTOMER_CONTACT_ID => p_record.END_CUSTOMER_CONTACT_ID) = 1  then 
2099     RETURN ONT_EC_CONTACT_Def_Util.Get_Attr_Val_Varchar2
2100       (p_foreign_attr_code,ONT_EC_CONTACT_Def_Util.g_cached_record); 
2101   END IF;
2102  
2103  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_SITEUSE_V') THEN
2104     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2105       RETURN NULL;
2106     END IF;
2107     IF  ONT_EC_LOCATION_Def_Util.Sync_EC_LOCATION_Cache
2108       (p_END_CUSTOMER_SITE_USE_ID => p_record.END_CUSTOMER_SITE_USE_ID) = 1  then 
2109     RETURN ONT_EC_LOCATION_Def_Util.Get_Attr_Val_Varchar2
2110       (p_foreign_attr_code,ONT_EC_LOCATION_Def_Util.g_cached_record); 
2111   END IF;
2112  
2113  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_OWNER_V') THEN
2114     IF NVL(p_record.IB_OWNER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2115       RETURN NULL;
2116     END IF;
2117     IF  ONT_IB_OWNER_Def_Util.Sync_IB_OWNER_Cache
2118       (p_IB_OWNER => p_record.IB_OWNER) = 1  then 
2119     RETURN ONT_IB_OWNER_Def_Util.Get_Attr_Val_Varchar2
2120       (p_foreign_attr_code,ONT_IB_OWNER_Def_Util.g_cached_record); 
2121   END IF;
2122  
2123  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_INSTALL_LOC_V') THEN
2124     IF NVL(p_record.IB_INSTALLED_AT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2125       RETURN NULL;
2126     END IF;
2127     IF  ONT_IB_INSTALL_LOC_Def_Util.Sync_IB_INSTALL_LOC_Cache
2128       (p_IB_INSTALLED_AT_LOCATION => p_record.IB_INSTALLED_AT_LOCATION) = 1  then 
2129     RETURN ONT_IB_INSTALL_LOC_Def_Util.Get_Attr_Val_Varchar2
2130       (p_foreign_attr_code,ONT_IB_INSTALL_LOC_Def_Util.g_cached_record); 
2131   END IF;
2132  
2133  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_CURR_LOC_V') THEN
2134     IF NVL(p_record.IB_CURRENT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2135       RETURN NULL;
2136     END IF;
2137     IF  ONT_IB_CURR_LOC_Def_Util.Sync_IB_CURR_LOC_Cache
2138       (p_IB_CURRENT_LOCATION => p_record.IB_CURRENT_LOCATION) = 1  then 
2139     RETURN ONT_IB_CURR_LOC_Def_Util.Get_Attr_Val_Varchar2
2140       (p_foreign_attr_code,ONT_IB_CURR_LOC_Def_Util.g_cached_record); 
2141   END IF;
2142  
2143  ELSIF (p_foreign_database_object_name = 'OE_AK_ORD_FIRMED_DATE_V') THEN
2144     IF NVL(p_record.ORDER_FIRMED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
2145       RETURN NULL;
2146     END IF;
2147     IF  ONT_ORD_FIRMED_DATE_Def_Util.Sync_ORD_FIRMED_DATE_Cache
2148       (p_ORDER_FIRMED_DATE => p_record.ORDER_FIRMED_DATE) = 1  then 
2149     RETURN ONT_ORD_FIRMED_DATE_Def_Util.Get_Attr_Val_Varchar2
2150       (p_foreign_attr_code,ONT_ORD_FIRMED_DATE_Def_Util.g_cached_record); 
2151   END IF;
2152  
2153  ELSIF (p_foreign_database_object_name = 'OE_AK_CONVERSION_TYPES_V') THEN
2154     IF NVL(p_record.CONVERSION_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2155       RETURN NULL;
2156     END IF;
2157     IF  ONT_CONV_TYPE_Def_Util.Sync_CONV_TYPE_Cache
2158       (p_CONVERSION_TYPE_CODE => p_record.CONVERSION_TYPE_CODE) = 1  then 
2159     RETURN ONT_CONV_TYPE_Def_Util.Get_Attr_Val_Varchar2
2160       (p_foreign_attr_code,ONT_CONV_TYPE_Def_Util.g_cached_record); 
2161   END IF;
2162  
2163  ELSIF (p_foreign_database_object_name = 'OE_AGREEMENTS_V') THEN
2164     IF NVL(p_record.AGREEMENT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2165       RETURN NULL;
2166     END IF;
2167     IF  ONT_AGREEMENT_Def_Util.Sync_AGREEMENT_Cache
2168       (p_AGREEMENT_ID => p_record.AGREEMENT_ID) = 1  then 
2169     RETURN ONT_AGREEMENT_Def_Util.Get_Attr_Val_Varchar2
2170       (p_foreign_attr_code,ONT_AGREEMENT_Def_Util.g_cached_record); 
2171   END IF;
2172  
2173  ELSIF (p_foreign_database_object_name = 'OE_AK_DEL_TO_CONTACT_V') THEN
2174     IF NVL(p_record.DELIVER_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2175       RETURN NULL;
2176     END IF;
2177     IF  ONT_DEL_TO_CON_Def_Util.Sync_DEL_TO_CON_Cache
2178       (p_CONTACT_ID => p_record.DELIVER_TO_CONTACT_ID) = 1  then 
2179     RETURN ONT_DEL_TO_CON_Def_Util.Get_Attr_Val_Varchar2
2180       (p_foreign_attr_code,ONT_DEL_TO_CON_Def_Util.g_cached_record); 
2181   END IF;
2182  
2183  ELSIF (p_foreign_database_object_name = 'OE_AK_DEMAND_CLASS_V') THEN
2184     IF NVL(p_record.DEMAND_CLASS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2185       RETURN NULL;
2186     END IF;
2187     IF  ONT_DEM_CLASS_Def_Util.Sync_DEM_CLASS_Cache
2188       (p_DEMAND_CLASS_CODE => p_record.DEMAND_CLASS_CODE) = 1  then 
2189     RETURN ONT_DEM_CLASS_Def_Util.Get_Attr_Val_Varchar2
2190       (p_foreign_attr_code,ONT_DEM_CLASS_Def_Util.g_cached_record); 
2191   END IF;
2192  
2193  ELSIF (p_foreign_database_object_name = 'OE_AK_FOB_POINT_V') THEN
2194     IF NVL(p_record.FOB_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2195       RETURN NULL;
2196     END IF;
2197     IF  ONT_FOB_Def_Util.Sync_FOB_Cache
2198       (p_FOB_POINT_CODE => p_record.FOB_POINT_CODE) = 1  then 
2199     RETURN ONT_FOB_Def_Util.Get_Attr_Val_Varchar2
2200       (p_foreign_attr_code,ONT_FOB_Def_Util.g_cached_record); 
2201   END IF;
2202  
2203  ELSIF (p_foreign_database_object_name = 'OE_AK_FREIGHT_TERMS_V') THEN
2204     IF NVL(p_record.FREIGHT_TERMS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2205       RETURN NULL;
2206     END IF;
2207     IF  ONT_FR_TERM_Def_Util.Sync_FR_TERM_Cache
2208       (p_FREIGHT_TERMS_CODE => p_record.FREIGHT_TERMS_CODE) = 1  then 
2209     RETURN ONT_FR_TERM_Def_Util.Get_Attr_Val_Varchar2
2210       (p_foreign_attr_code,ONT_FR_TERM_Def_Util.g_cached_record); 
2211   END IF;
2212  
2213  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
2214     IF NVL(p_record.INVOICE_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2215       RETURN NULL;
2216     END IF;
2217     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
2218       (p_CONTACT_ID => p_record.INVOICE_TO_CONTACT_ID) = 1  then 
2219     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Varchar2
2220       (p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
2221   END IF;
2222  
2223  ELSIF (p_foreign_database_object_name = 'OE_AK_ACC_RULES_V') THEN
2224     IF NVL(p_record.ACCOUNTING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2225       RETURN NULL;
2226     END IF;
2227     IF  ONT_ACC_RULE_Def_Util.Sync_ACC_RULE_Cache
2228       (p_ACCOUNTING_RULE_ID => p_record.ACCOUNTING_RULE_ID) = 1  then 
2229     RETURN ONT_ACC_RULE_Def_Util.Get_Attr_Val_Varchar2
2230       (p_foreign_attr_code,ONT_ACC_RULE_Def_Util.g_cached_record); 
2231   END IF;
2232  
2233  ELSIF (p_foreign_database_object_name = 'OE_AK_DELIVER_TO_ORGS_V') THEN
2234     IF NVL(p_record.DELIVER_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2235       RETURN NULL;
2236     END IF;
2237     IF  ONT_DEL_TO_ORG_Def_Util.Sync_DEL_TO_ORG_Cache
2238       (p_ORGANIZATION_ID => p_record.DELIVER_TO_ORG_ID) = 1  then 
2239     RETURN ONT_DEL_TO_ORG_Def_Util.Get_Attr_Val_Varchar2
2240       (p_foreign_attr_code,ONT_DEL_TO_ORG_Def_Util.g_cached_record); 
2241   END IF;
2242  
2243  ELSIF (p_foreign_database_object_name = 'OE_AK_INVOICE_TO_ORGS_V') THEN
2244     IF NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2245       RETURN NULL;
2246     END IF;
2247     IF  ONT_INV_ORG_Def_Util.Sync_INV_ORG_Cache
2248       (p_ORGANIZATION_ID => p_record.INVOICE_TO_ORG_ID) = 1  then 
2249     RETURN ONT_INV_ORG_Def_Util.Get_Attr_Val_Varchar2
2250       (p_foreign_attr_code,ONT_INV_ORG_Def_Util.g_cached_record); 
2251   END IF;
2252  
2253  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_RULES_V') THEN
2254     IF NVL(p_record.INVOICING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2255       RETURN NULL;
2256     END IF;
2257     IF  ONT_INV_RULE_Def_Util.Sync_INV_RULE_Cache
2258       (p_INVOICING_RULE_ID => p_record.INVOICING_RULE_ID) = 1  then 
2259     RETURN ONT_INV_RULE_Def_Util.Get_Attr_Val_Varchar2
2260       (p_foreign_attr_code,ONT_INV_RULE_Def_Util.g_cached_record); 
2261   END IF;
2262  
2263  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_ORGS_V') THEN
2264     IF NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2265       RETURN NULL;
2266     END IF;
2267     IF  ONT_SHIP_TO_ORG_Def_Util.Sync_SHIP_TO_ORG_Cache
2268       (p_ORGANIZATION_ID => p_record.SHIP_TO_ORG_ID) = 1  then 
2269     RETURN ONT_SHIP_TO_ORG_Def_Util.Get_Attr_Val_Varchar2
2270       (p_foreign_attr_code,ONT_SHIP_TO_ORG_Def_Util.g_cached_record); 
2271   END IF;
2272  
2273  ELSIF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_ORGS_V') THEN
2274     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
2275        OR ( NVL(p_record.ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
2276     THEN
2277     RETURN NULL;
2278     END IF;
2279     IF ONT_SOLD_TO_ORG_Def_Util.Sync_SOLD_TO_ORG_Cache(p_ORGANIZATION_ID => p_record.SOLD_TO_ORG_ID,
2280     p_ORG_ID => p_record.ORG_ID) =1 then 
2281     RETURN  ONT_SOLD_TO_ORG_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_SOLD_TO_ORG_Def_Util.g_cached_record); 
2282   END IF;
2283  
2284  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_TYPES_V') THEN
2285     IF NVL(p_record.ORDER_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2286       RETURN NULL;
2287     END IF;
2288     IF  ONT_ORDER_TYPE_Def_Util.Sync_ORDER_TYPE_Cache
2289       (p_ORDER_TYPE_ID => p_record.ORDER_TYPE_ID) = 1  then 
2290     RETURN ONT_ORDER_TYPE_Def_Util.Get_Attr_Val_Varchar2
2291       (p_foreign_attr_code,ONT_ORDER_TYPE_Def_Util.g_cached_record); 
2292   END IF;
2293  
2294  ELSIF (p_foreign_database_object_name = 'OE_AK_PAYMENT_TERM_V') THEN
2295     IF NVL(p_record.PAYMENT_TERM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2296       RETURN NULL;
2297     END IF;
2298     IF  ONT_PAY_TERM_Def_Util.Sync_PAY_TERM_Cache
2299       (p_PAYMENT_TERM_ID => p_record.PAYMENT_TERM_ID) = 1  then 
2300     RETURN ONT_PAY_TERM_Def_Util.Get_Attr_Val_Varchar2
2301       (p_foreign_attr_code,ONT_PAY_TERM_Def_Util.g_cached_record); 
2302   END IF;
2303  
2304  ELSIF (p_foreign_database_object_name = 'OE_PRICE_LISTS_V') THEN
2305     IF NVL(p_record.PRICE_LIST_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2306       RETURN NULL;
2307     END IF;
2308     IF  ONT_PRICE_LIST_Def_Util.Sync_PRICE_LIST_Cache
2309       (p_PRICE_LIST_ID => p_record.PRICE_LIST_ID) = 1  then 
2310     RETURN ONT_PRICE_LIST_Def_Util.Get_Attr_Val_Varchar2
2311       (p_foreign_attr_code,ONT_PRICE_LIST_Def_Util.g_cached_record); 
2312   END IF;
2313  
2314  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
2315     IF NVL(p_record.REQUEST_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
2316       RETURN NULL;
2317     END IF;
2318     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
2319       (p_REQUEST_DATE => p_record.REQUEST_DATE) = 1  then 
2320     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
2321       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
2322   END IF;
2323  
2324  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PRIORITIES_V') THEN
2325     IF NVL(p_record.SHIPMENT_PRIORITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2326       RETURN NULL;
2327     END IF;
2328     IF  ONT_SHIP_PR_Def_Util.Sync_SHIP_PR_Cache
2329       (p_SHIPMENT_PRIORITY_CODE => p_record.SHIPMENT_PRIORITY_CODE) = 1  then 
2330     RETURN ONT_SHIP_PR_Def_Util.Get_Attr_Val_Varchar2
2331       (p_foreign_attr_code,ONT_SHIP_PR_Def_Util.g_cached_record); 
2332   END IF;
2333  
2334  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIPPING_METHOD_V') THEN
2335     IF NVL(p_record.SHIPPING_METHOD_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2336       RETURN NULL;
2337     END IF;
2338     IF  ONT_SHIP_METHOD_Def_Util.Sync_SHIP_METHOD_Cache
2339       (p_SHIPPING_METHOD_CODE => p_record.SHIPPING_METHOD_CODE) = 1  then 
2340     RETURN ONT_SHIP_METHOD_Def_Util.Get_Attr_Val_Varchar2
2341       (p_foreign_attr_code,ONT_SHIP_METHOD_Def_Util.g_cached_record); 
2342   END IF;
2343  
2344  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_FROM_ORGS_V') THEN
2345     IF NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2346       RETURN NULL;
2347     END IF;
2348     IF  ONT_SHIP_FROM_ORG_Def_Util.Sync_SHIP_FROM_ORG_Cache
2349       (p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) = 1  then 
2350     RETURN ONT_SHIP_FROM_ORG_Def_Util.Get_Attr_Val_Varchar2
2351       (p_foreign_attr_code,ONT_SHIP_FROM_ORG_Def_Util.g_cached_record); 
2352   END IF;
2353  
2354  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PARTIAL_V') THEN
2355     IF NVL(p_record.PARTIAL_SHIPMENTS_ALLOWED,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2356       RETURN NULL;
2357     END IF;
2358     IF  ONT_SHIP_PARTIAL_Def_Util.Sync_SHIP_PARTIAL_Cache
2359       (p_SHIP_PARTIAL_ALLOWED => p_record.PARTIAL_SHIPMENTS_ALLOWED) = 1  then 
2360     RETURN ONT_SHIP_PARTIAL_Def_Util.Get_Attr_Val_Varchar2
2361       (p_foreign_attr_code,ONT_SHIP_PARTIAL_Def_Util.g_cached_record); 
2362   END IF;
2363  
2364  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_ABOVE_V') THEN
2365     IF NVL(p_record.SHIP_TOLERANCE_ABOVE,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2366       RETURN NULL;
2367     END IF;
2368     IF  ONT_S_TOL_ABOVE_Def_Util.Sync_S_TOL_ABOVE_Cache
2369       (p_SHIP_TOLERANCE_ABOVE => p_record.SHIP_TOLERANCE_ABOVE) = 1  then 
2370     RETURN ONT_S_TOL_ABOVE_Def_Util.Get_Attr_Val_Varchar2
2371       (p_foreign_attr_code,ONT_S_TOL_ABOVE_Def_Util.g_cached_record); 
2372   END IF;
2373  
2374  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_BELOW_V') THEN
2375     IF NVL(p_record.SHIP_TOLERANCE_BELOW,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2376       RETURN NULL;
2377     END IF;
2378     IF  ONT_S_TOL_BELOW_Def_Util.Sync_S_TOL_BELOW_Cache
2379       (p_SHIP_TOLERANCE_BELOW => p_record.SHIP_TOLERANCE_BELOW) = 1  then 
2380     RETURN ONT_S_TOL_BELOW_Def_Util.Get_Attr_Val_Varchar2
2381       (p_foreign_attr_code,ONT_S_TOL_BELOW_Def_Util.g_cached_record); 
2382   END IF;
2383  
2384  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
2385     IF NVL(p_record.SHIP_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2386       RETURN NULL;
2387     END IF;
2388     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
2389       (p_CONTACT_ID => p_record.SHIP_TO_CONTACT_ID) = 1  then 
2390     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Varchar2
2391       (p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
2392   END IF;
2393  
2394  ELSIF (p_foreign_database_object_name = 'OE_AK_T_EXEMPT_REASON_V') THEN
2395     IF NVL(p_record.TAX_EXEMPT_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2396       RETURN NULL;
2397     END IF;
2398     IF  ONT_T_EXEMPT_REASON_Def_Util.Sync_T_EXEMPT_REASON_Cache
2399       (p_TAX_EXEMPT_REASON_CODE => p_record.TAX_EXEMPT_REASON_CODE) = 1  then 
2400     RETURN ONT_T_EXEMPT_REASON_Def_Util.Get_Attr_Val_Varchar2
2401       (p_foreign_attr_code,ONT_T_EXEMPT_REASON_Def_Util.g_cached_record); 
2402   END IF;
2403  
2404  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_EXEMPT_V') THEN
2405     IF NVL(p_record.TAX_EXEMPT_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2406       RETURN NULL;
2407     END IF;
2408     IF  ONT_TAX_EXEMPT_Def_Util.Sync_TAX_EXEMPT_Cache
2409       (p_TAX_EXEMPT_FLAG => p_record.TAX_EXEMPT_FLAG) = 1  then 
2410     RETURN ONT_TAX_EXEMPT_Def_Util.Get_Attr_Val_Varchar2
2411       (p_foreign_attr_code,ONT_TAX_EXEMPT_Def_Util.g_cached_record); 
2412   END IF;
2413  
2414  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_POINT_V') THEN
2415     IF NVL(p_record.TAX_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2416       RETURN NULL;
2417     END IF;
2418     IF  ONT_TAX_POINT_Def_Util.Sync_TAX_POINT_Cache
2419       (p_TAX_POINT_CODE => p_record.TAX_POINT_CODE) = 1  then 
2420     RETURN ONT_TAX_POINT_Def_Util.Get_Attr_Val_Varchar2
2421       (p_foreign_attr_code,ONT_TAX_POINT_Def_Util.g_cached_record); 
2422   END IF;
2423  
2424  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
2425     IF NVL(p_record.ORDER_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2426       RETURN NULL;
2427     END IF;
2428     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
2429       (p_ORDER_CATEGORY_CODE => p_record.ORDER_CATEGORY_CODE) = 1  then 
2430     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Varchar2
2431       (p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
2432   END IF;
2433  
2434  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
2435     IF NVL(p_record.ORDER_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2436       RETURN NULL;
2437     END IF;
2438     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
2439       (p_ORDER_CATEGORY_CODE => p_record.ORDER_CATEGORY_CODE) = 1  then 
2440     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Varchar2
2441       (p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
2442   END IF;
2443  
2444  ELSIF (p_foreign_database_object_name = 'OE_AK_PACK_INST_V') THEN
2445     IF NVL(p_record.PACKING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2446       RETURN NULL;
2447     END IF;
2448     IF  ONT_PACK_INST_Def_Util.Sync_PACK_INST_Cache
2449       (p_PACKING_INSTRUCTIONS => p_record.PACKING_INSTRUCTIONS) = 1  then 
2450     RETURN ONT_PACK_INST_Def_Util.Get_Attr_Val_Varchar2
2451       (p_foreign_attr_code,ONT_PACK_INST_Def_Util.g_cached_record); 
2452   END IF;
2453  
2454  ELSIF (p_foreign_database_object_name = 'OE_AK_RETURN_REASON_V') THEN
2455     IF NVL(p_record.RETURN_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2456       RETURN NULL;
2457     END IF;
2458     IF  ONT_RET_REASON_Def_Util.Sync_RET_REASON_Cache
2459       (p_RETURN_REASON_CODE => p_record.RETURN_REASON_CODE) = 1  then 
2460     RETURN ONT_RET_REASON_Def_Util.Get_Attr_Val_Varchar2
2461       (p_foreign_attr_code,ONT_RET_REASON_Def_Util.g_cached_record); 
2462   END IF;
2463  
2464  ELSIF (p_foreign_database_object_name = 'OE_AK_CUST_PO_NUMBER_V') THEN
2465     IF NVL(p_record.CUST_PO_NUMBER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2466       RETURN NULL;
2467     END IF;
2468     IF  ONT_CUST_PO_Def_Util.Sync_CUST_PO_Cache
2469       (p_CUSTOMER_PO_NUMBER => p_record.CUST_PO_NUMBER) = 1  then 
2470     RETURN ONT_CUST_PO_Def_Util.Get_Attr_Val_Varchar2
2471       (p_foreign_attr_code,ONT_CUST_PO_Def_Util.g_cached_record); 
2472   END IF;
2473  
2474  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_INST_V') THEN
2475     IF NVL(p_record.SHIPPING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2476       RETURN NULL;
2477     END IF;
2478     IF  ONT_SHIP_INST_Def_Util.Sync_SHIP_INST_Cache
2479       (p_SHIPPING_INSTRUCTIONS => p_record.SHIPPING_INSTRUCTIONS) = 1  then 
2480     RETURN ONT_SHIP_INST_Def_Util.Get_Attr_Val_Varchar2
2481       (p_foreign_attr_code,ONT_SHIP_INST_Def_Util.g_cached_record); 
2482   END IF;
2483  
2484  ELSIF (p_foreign_database_object_name = 'OE_AK_SALESREPS_V') THEN
2485     IF NVL(p_record.SALESREP_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2486       RETURN NULL;
2487     END IF;
2488     IF  ONT_SALESREP_Def_Util.Sync_SALESREP_Cache
2489       (p_SALESREP_ID => p_record.SALESREP_ID) = 1  then 
2490     RETURN ONT_SALESREP_Def_Util.Get_Attr_Val_Varchar2
2491       (p_foreign_attr_code,ONT_SALESREP_Def_Util.g_cached_record); 
2492   END IF;
2493  
2494  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
2495     IF NVL(p_record.DEFAULT_INBOUND_LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2496       RETURN NULL;
2497     END IF;
2498     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
2499       (p_LINE_TYPE_ID => p_record.DEFAULT_INBOUND_LINE_TYPE_ID) = 1  then 
2500     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Varchar2
2501       (p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
2502   END IF;
2503  
2504  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
2505     IF NVL(p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2506       RETURN NULL;
2507     END IF;
2508     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
2509       (p_LINE_TYPE_ID => p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID) = 1  then 
2510     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Varchar2
2511       (p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
2512   END IF;
2513  
2514  ELSIF (p_foreign_database_object_name = 'OE_FND_CURRENCIES_V') THEN
2515     IF NVL(p_record.TRANSACTIONAL_CURR_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2516       RETURN NULL;
2517     END IF;
2518     IF  ONT_CURR_CODE_Def_Util.Sync_CURR_CODE_Cache
2519       (p_CURRENCY_CODE => p_record.TRANSACTIONAL_CURR_CODE) = 1  then 
2520     RETURN ONT_CURR_CODE_Def_Util.Get_Attr_Val_Varchar2
2521       (p_foreign_attr_code,ONT_CURR_CODE_Def_Util.g_cached_record); 
2522   END IF;
2523  
2524  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
2525     IF NVL(p_record.SOLD_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2526       RETURN NULL;
2527     END IF;
2528     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
2529       (p_CONTACT_ID => p_record.SOLD_TO_CONTACT_ID) = 1  then 
2530     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Varchar2
2531       (p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
2532   END IF;
2533  
2534  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
2535     IF NVL(p_record.SOLD_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2536       RETURN NULL;
2537     END IF;
2538     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
2539       (p_CONTACT_ID => p_record.SOLD_TO_CONTACT_ID) = 1  then 
2540     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Varchar2
2541       (p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
2542   END IF;
2543  
2544  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
2545     IF NVL(p_record.ORDERED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
2546       RETURN NULL;
2547     END IF;
2548     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
2549       (p_REQUEST_DATE => p_record.ORDERED_DATE) = 1  then 
2550     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
2551       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
2552   END IF;
2553 END IF;
2554  
2555      RETURN NULL;
2556 END Get_Foreign_Attr_Val_Varchar2;
2557  
2558 FUNCTION Get_Foreign_Attr_Val_Date
2559 (   p_foreign_attr_code             IN  VARCHAR2
2560 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
2561 ,   p_foreign_database_object_name  IN  VARCHAR2
2562 ) RETURN DATE
2563  
2564 IS
2565 BEGIN
2566  
2567  IF (p_foreign_database_object_name = 'OE_AK_BLANKET_HEADERS_V') THEN
2568     IF NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2569       RETURN NULL;
2570     END IF;
2571     IF  ONT_BLANKET_HEADER_Def_Util.Sync_BLANKET_HEADER_Cache
2572       (p_ORDER_NUMBER => p_record.BLANKET_NUMBER) = 1  then 
2573     RETURN ONT_BLANKET_HEADER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_BLANKET_HEADER_Def_Util.g_cached_record); 
2574   END IF;
2575  
2576  ELSIF (p_foreign_database_object_name = 'OE_AK_LAT_SCH_LIMIT_V') THEN
2577     IF NVL(p_record.LATEST_SCHEDULE_LIMIT,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2578       RETURN NULL;
2579     END IF;
2580     IF  ONT_LAT_SCH_LIMIT_Def_Util.Sync_LAT_SCH_LIMIT_Cache
2581       (p_LATEST_SCHEDULE_LIMIT => p_record.LATEST_SCHEDULE_LIMIT) = 1  then 
2582     RETURN ONT_LAT_SCH_LIMIT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_LAT_SCH_LIMIT_Def_Util.g_cached_record); 
2583   END IF;
2584  
2585  ELSIF (p_foreign_database_object_name = 'OE_AK_EAR_SCH_LIMIT_V') THEN
2586     IF NVL(p_record.EARLIEST_SCHEDULE_LIMIT,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2587       RETURN NULL;
2588     END IF;
2589     IF  ONT_EAR_SCH_LIMIT_Def_Util.Sync_EAR_SCH_LIMIT_Cache
2590       (p_EARLIEST_SCHEDULE_LIMIT => p_record.EARLIEST_SCHEDULE_LIMIT) = 1  then 
2591     RETURN ONT_EAR_SCH_LIMIT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_EAR_SCH_LIMIT_Def_Util.g_cached_record); 
2592   END IF;
2593  
2594  ELSIF (p_foreign_database_object_name = 'OE_AK_SALES_CHANNEL_V') THEN
2595     IF NVL(p_record.SALES_CHANNEL_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2596       RETURN NULL;
2597     END IF;
2598     IF  ONT_SALES_CHANNEL_Def_Util.Sync_SALES_CHANNEL_Cache
2599       (p_SALES_CHANNEL_CODE => p_record.SALES_CHANNEL_CODE) = 1  then 
2600     RETURN ONT_SALES_CHANNEL_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SALES_CHANNEL_Def_Util.g_cached_record); 
2601   END IF;
2602  
2603  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_DATE_TYPE_V') THEN
2604     IF NVL(p_record.ORDER_DATE_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2605       RETURN NULL;
2606     END IF;
2607     IF  ONT_ORD_DATE_TYPE_Def_Util.Sync_ORD_DATE_TYPE_Cache
2608       (p_ORDER_DATE_TYPE_CODE => p_record.ORDER_DATE_TYPE_CODE) = 1  then 
2609     RETURN ONT_ORD_DATE_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORD_DATE_TYPE_Def_Util.g_cached_record); 
2610   END IF;
2611  
2612  ELSIF (p_foreign_database_object_name = 'OE_AK_DEFAULT_FULFILMENT_SET_V') THEN
2613     IF NVL(p_record.DEFAULT_FULFILLMENT_SET,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2614       RETURN NULL;
2615     END IF;
2616     IF  ONT_DEF_FULFILL_Def_Util.Sync_DEF_FULFILL_Cache
2617       (p_DEFAULT_FULFILLMENT_SET => p_record.DEFAULT_FULFILLMENT_SET) = 1  then 
2618     RETURN ONT_DEF_FULFILL_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEF_FULFILL_Def_Util.g_cached_record); 
2619   END IF;
2620  
2621  ELSIF (p_foreign_database_object_name = 'OE_AK_DEFAULT_LINE_SET_V') THEN
2622     IF NVL(p_record.CUSTOMER_PREFERENCE_SET_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2623       RETURN NULL;
2624     END IF;
2625     IF  ONT_DEF_LINESET_Def_Util.Sync_DEF_LINESET_Cache
2626       (p_DEFAULT_LINE_SET => p_record.CUSTOMER_PREFERENCE_SET_CODE) = 1  then 
2627     RETURN ONT_DEF_LINESET_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEF_LINESET_Def_Util.g_cached_record); 
2628   END IF;
2629  
2630  ELSIF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_SITE_USES_V') THEN
2631     IF NVL(p_record.SOLD_TO_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2632       RETURN NULL;
2633     END IF;
2634     IF  ONT_SOLD_TO_SU_Def_Util.Sync_SOLD_TO_SU_Cache
2635       (p_SOLD_TO_SITE_USE_ID => p_record.SOLD_TO_SITE_USE_ID) = 1  then 
2636     RETURN ONT_SOLD_TO_SU_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SOLD_TO_SU_Def_Util.g_cached_record); 
2637   END IF;
2638  
2639  ELSIF (p_foreign_database_object_name = 'OE_AK_TRXN_PHASE_V') THEN
2640     IF NVL(p_record.TRANSACTION_PHASE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2641       RETURN NULL;
2642     END IF;
2643     IF  ONT_TRXN_PHASE_Def_Util.Sync_TRXN_PHASE_Cache
2644       (p_TRANSACTION_PHASE_CODE => p_record.TRANSACTION_PHASE_CODE) = 1  then 
2645     RETURN ONT_TRXN_PHASE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TRXN_PHASE_Def_Util.g_cached_record); 
2646   END IF;
2647  
2648  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_V') THEN
2649     IF NVL(p_record.END_CUSTOMER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2650       RETURN NULL;
2651     END IF;
2652     IF  ONT_END_CUSTOMER_Def_Util.Sync_END_CUSTOMER_Cache
2653       (p_END_CUSTOMER_ID => p_record.END_CUSTOMER_ID) = 1  then 
2654     RETURN ONT_END_CUSTOMER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_END_CUSTOMER_Def_Util.g_cached_record); 
2655   END IF;
2656  
2657  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_CONT_V') THEN
2658     IF NVL(p_record.END_CUSTOMER_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2659       RETURN NULL;
2660     END IF;
2661     IF  ONT_EC_CONTACT_Def_Util.Sync_EC_CONTACT_Cache
2662       (p_END_CUSTOMER_CONTACT_ID => p_record.END_CUSTOMER_CONTACT_ID) = 1  then 
2663     RETURN ONT_EC_CONTACT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_EC_CONTACT_Def_Util.g_cached_record); 
2664   END IF;
2665  
2666  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_SITEUSE_V') THEN
2667     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2668       RETURN NULL;
2669     END IF;
2670     IF  ONT_EC_LOCATION_Def_Util.Sync_EC_LOCATION_Cache
2671       (p_END_CUSTOMER_SITE_USE_ID => p_record.END_CUSTOMER_SITE_USE_ID) = 1  then 
2672     RETURN ONT_EC_LOCATION_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_EC_LOCATION_Def_Util.g_cached_record); 
2673   END IF;
2674  
2675  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_OWNER_V') THEN
2676     IF NVL(p_record.IB_OWNER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2677       RETURN NULL;
2678     END IF;
2679     IF  ONT_IB_OWNER_Def_Util.Sync_IB_OWNER_Cache
2680       (p_IB_OWNER => p_record.IB_OWNER) = 1  then 
2681     RETURN ONT_IB_OWNER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_OWNER_Def_Util.g_cached_record); 
2682   END IF;
2683  
2684  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_INSTALL_LOC_V') THEN
2685     IF NVL(p_record.IB_INSTALLED_AT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2686       RETURN NULL;
2687     END IF;
2688     IF  ONT_IB_INSTALL_LOC_Def_Util.Sync_IB_INSTALL_LOC_Cache
2689       (p_IB_INSTALLED_AT_LOCATION => p_record.IB_INSTALLED_AT_LOCATION) = 1  then 
2690     RETURN ONT_IB_INSTALL_LOC_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_INSTALL_LOC_Def_Util.g_cached_record); 
2691   END IF;
2692  
2693  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_CURR_LOC_V') THEN
2694     IF NVL(p_record.IB_CURRENT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2695       RETURN NULL;
2696     END IF;
2697     IF  ONT_IB_CURR_LOC_Def_Util.Sync_IB_CURR_LOC_Cache
2698       (p_IB_CURRENT_LOCATION => p_record.IB_CURRENT_LOCATION) = 1  then 
2699     RETURN ONT_IB_CURR_LOC_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_CURR_LOC_Def_Util.g_cached_record); 
2700   END IF;
2701  
2702  ELSIF (p_foreign_database_object_name = 'OE_AK_ORD_FIRMED_DATE_V') THEN
2703     IF NVL(p_record.ORDER_FIRMED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
2704       RETURN NULL;
2705     END IF;
2706     IF  ONT_ORD_FIRMED_DATE_Def_Util.Sync_ORD_FIRMED_DATE_Cache
2707       (p_ORDER_FIRMED_DATE => p_record.ORDER_FIRMED_DATE) = 1  then 
2708     RETURN ONT_ORD_FIRMED_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORD_FIRMED_DATE_Def_Util.g_cached_record); 
2709   END IF;
2710  
2711  ELSIF (p_foreign_database_object_name = 'OE_AK_CONVERSION_TYPES_V') THEN
2712     IF NVL(p_record.CONVERSION_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2713       RETURN NULL;
2714     END IF;
2715     IF  ONT_CONV_TYPE_Def_Util.Sync_CONV_TYPE_Cache
2716       (p_CONVERSION_TYPE_CODE => p_record.CONVERSION_TYPE_CODE) = 1  then 
2717     RETURN ONT_CONV_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CONV_TYPE_Def_Util.g_cached_record); 
2718   END IF;
2719  
2720  ELSIF (p_foreign_database_object_name = 'OE_AGREEMENTS_V') THEN
2721     IF NVL(p_record.AGREEMENT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2722       RETURN NULL;
2723     END IF;
2724     IF  ONT_AGREEMENT_Def_Util.Sync_AGREEMENT_Cache
2725       (p_AGREEMENT_ID => p_record.AGREEMENT_ID) = 1  then 
2726     RETURN ONT_AGREEMENT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_AGREEMENT_Def_Util.g_cached_record); 
2727   END IF;
2728  
2729  ELSIF (p_foreign_database_object_name = 'OE_AK_DEL_TO_CONTACT_V') THEN
2730     IF NVL(p_record.DELIVER_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2731       RETURN NULL;
2732     END IF;
2733     IF  ONT_DEL_TO_CON_Def_Util.Sync_DEL_TO_CON_Cache
2734       (p_CONTACT_ID => p_record.DELIVER_TO_CONTACT_ID) = 1  then 
2735     RETURN ONT_DEL_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEL_TO_CON_Def_Util.g_cached_record); 
2736   END IF;
2737  
2738  ELSIF (p_foreign_database_object_name = 'OE_AK_DEMAND_CLASS_V') THEN
2739     IF NVL(p_record.DEMAND_CLASS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2740       RETURN NULL;
2741     END IF;
2742     IF  ONT_DEM_CLASS_Def_Util.Sync_DEM_CLASS_Cache
2743       (p_DEMAND_CLASS_CODE => p_record.DEMAND_CLASS_CODE) = 1  then 
2744     RETURN ONT_DEM_CLASS_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEM_CLASS_Def_Util.g_cached_record); 
2745   END IF;
2746  
2747  ELSIF (p_foreign_database_object_name = 'OE_AK_FOB_POINT_V') THEN
2748     IF NVL(p_record.FOB_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2749       RETURN NULL;
2750     END IF;
2751     IF  ONT_FOB_Def_Util.Sync_FOB_Cache
2752       (p_FOB_POINT_CODE => p_record.FOB_POINT_CODE) = 1  then 
2753     RETURN ONT_FOB_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_FOB_Def_Util.g_cached_record); 
2754   END IF;
2755  
2756  ELSIF (p_foreign_database_object_name = 'OE_AK_FREIGHT_TERMS_V') THEN
2757     IF NVL(p_record.FREIGHT_TERMS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2758       RETURN NULL;
2759     END IF;
2760     IF  ONT_FR_TERM_Def_Util.Sync_FR_TERM_Cache
2761       (p_FREIGHT_TERMS_CODE => p_record.FREIGHT_TERMS_CODE) = 1  then 
2762     RETURN ONT_FR_TERM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_FR_TERM_Def_Util.g_cached_record); 
2763   END IF;
2764  
2765  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
2766     IF NVL(p_record.INVOICE_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2767       RETURN NULL;
2768     END IF;
2769     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
2770       (p_CONTACT_ID => p_record.INVOICE_TO_CONTACT_ID) = 1  then 
2771     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
2772   END IF;
2773  
2774  ELSIF (p_foreign_database_object_name = 'OE_AK_ACC_RULES_V') THEN
2775     IF NVL(p_record.ACCOUNTING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2776       RETURN NULL;
2777     END IF;
2778     IF  ONT_ACC_RULE_Def_Util.Sync_ACC_RULE_Cache
2779       (p_ACCOUNTING_RULE_ID => p_record.ACCOUNTING_RULE_ID) = 1  then 
2780     RETURN ONT_ACC_RULE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ACC_RULE_Def_Util.g_cached_record); 
2781   END IF;
2782  
2783  ELSIF (p_foreign_database_object_name = 'OE_AK_DELIVER_TO_ORGS_V') THEN
2784     IF NVL(p_record.DELIVER_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2785       RETURN NULL;
2786     END IF;
2787     IF  ONT_DEL_TO_ORG_Def_Util.Sync_DEL_TO_ORG_Cache
2788       (p_ORGANIZATION_ID => p_record.DELIVER_TO_ORG_ID) = 1  then 
2789     RETURN ONT_DEL_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEL_TO_ORG_Def_Util.g_cached_record); 
2790   END IF;
2791  
2792  ELSIF (p_foreign_database_object_name = 'OE_AK_INVOICE_TO_ORGS_V') THEN
2793     IF NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2794       RETURN NULL;
2795     END IF;
2796     IF  ONT_INV_ORG_Def_Util.Sync_INV_ORG_Cache
2797       (p_ORGANIZATION_ID => p_record.INVOICE_TO_ORG_ID) = 1  then 
2798     RETURN ONT_INV_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_ORG_Def_Util.g_cached_record); 
2799   END IF;
2800  
2801  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_RULES_V') THEN
2802     IF NVL(p_record.INVOICING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2803       RETURN NULL;
2804     END IF;
2805     IF  ONT_INV_RULE_Def_Util.Sync_INV_RULE_Cache
2806       (p_INVOICING_RULE_ID => p_record.INVOICING_RULE_ID) = 1  then 
2807     RETURN ONT_INV_RULE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_RULE_Def_Util.g_cached_record); 
2808   END IF;
2809  
2810  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_ORGS_V') THEN
2811     IF NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2812       RETURN NULL;
2813     END IF;
2814     IF  ONT_SHIP_TO_ORG_Def_Util.Sync_SHIP_TO_ORG_Cache
2815       (p_ORGANIZATION_ID => p_record.SHIP_TO_ORG_ID) = 1  then 
2816     RETURN ONT_SHIP_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_TO_ORG_Def_Util.g_cached_record); 
2817   END IF;
2818  
2819  ELSIF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_ORGS_V') THEN
2820     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
2821        OR ( NVL(p_record.ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
2822     THEN
2823     RETURN NULL;
2824     END IF;
2825     IF ONT_SOLD_TO_ORG_Def_Util.Sync_SOLD_TO_ORG_Cache(p_ORGANIZATION_ID => p_record.SOLD_TO_ORG_ID,
2826     p_ORG_ID => p_record.ORG_ID) =1 then 
2827     RETURN ONT_SOLD_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SOLD_TO_ORG_Def_Util.g_cached_record); 
2828   END IF;
2829  
2830  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_TYPES_V') THEN
2831     IF NVL(p_record.ORDER_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2832       RETURN NULL;
2833     END IF;
2834     IF  ONT_ORDER_TYPE_Def_Util.Sync_ORDER_TYPE_Cache
2835       (p_ORDER_TYPE_ID => p_record.ORDER_TYPE_ID) = 1  then 
2836     RETURN ONT_ORDER_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORDER_TYPE_Def_Util.g_cached_record); 
2837   END IF;
2838  
2839  ELSIF (p_foreign_database_object_name = 'OE_AK_PAYMENT_TERM_V') THEN
2840     IF NVL(p_record.PAYMENT_TERM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2841       RETURN NULL;
2842     END IF;
2843     IF  ONT_PAY_TERM_Def_Util.Sync_PAY_TERM_Cache
2844       (p_PAYMENT_TERM_ID => p_record.PAYMENT_TERM_ID) = 1  then 
2845     RETURN ONT_PAY_TERM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PAY_TERM_Def_Util.g_cached_record); 
2846   END IF;
2847  
2848  ELSIF (p_foreign_database_object_name = 'OE_PRICE_LISTS_V') THEN
2849     IF NVL(p_record.PRICE_LIST_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2850       RETURN NULL;
2851     END IF;
2852     IF  ONT_PRICE_LIST_Def_Util.Sync_PRICE_LIST_Cache
2853       (p_PRICE_LIST_ID => p_record.PRICE_LIST_ID) = 1  then 
2854     RETURN ONT_PRICE_LIST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PRICE_LIST_Def_Util.g_cached_record); 
2855   END IF;
2856  
2857  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
2858     IF NVL(p_record.REQUEST_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
2859       RETURN NULL;
2860     END IF;
2861     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
2862       (p_REQUEST_DATE => p_record.REQUEST_DATE) = 1  then 
2863     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
2864   END IF;
2865  
2866  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PRIORITIES_V') THEN
2867     IF NVL(p_record.SHIPMENT_PRIORITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2868       RETURN NULL;
2869     END IF;
2870     IF  ONT_SHIP_PR_Def_Util.Sync_SHIP_PR_Cache
2871       (p_SHIPMENT_PRIORITY_CODE => p_record.SHIPMENT_PRIORITY_CODE) = 1  then 
2872     RETURN ONT_SHIP_PR_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_PR_Def_Util.g_cached_record); 
2873   END IF;
2874  
2875  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIPPING_METHOD_V') THEN
2876     IF NVL(p_record.SHIPPING_METHOD_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2877       RETURN NULL;
2878     END IF;
2879     IF  ONT_SHIP_METHOD_Def_Util.Sync_SHIP_METHOD_Cache
2880       (p_SHIPPING_METHOD_CODE => p_record.SHIPPING_METHOD_CODE) = 1  then 
2881     RETURN ONT_SHIP_METHOD_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_METHOD_Def_Util.g_cached_record); 
2882   END IF;
2883  
2884  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_FROM_ORGS_V') THEN
2885     IF NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2886       RETURN NULL;
2887     END IF;
2888     IF  ONT_SHIP_FROM_ORG_Def_Util.Sync_SHIP_FROM_ORG_Cache
2889       (p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) = 1  then 
2890     RETURN ONT_SHIP_FROM_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_FROM_ORG_Def_Util.g_cached_record); 
2891   END IF;
2892  
2893  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PARTIAL_V') THEN
2894     IF NVL(p_record.PARTIAL_SHIPMENTS_ALLOWED,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2895       RETURN NULL;
2896     END IF;
2897     IF  ONT_SHIP_PARTIAL_Def_Util.Sync_SHIP_PARTIAL_Cache
2898       (p_SHIP_PARTIAL_ALLOWED => p_record.PARTIAL_SHIPMENTS_ALLOWED) = 1  then 
2899     RETURN ONT_SHIP_PARTIAL_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_PARTIAL_Def_Util.g_cached_record); 
2900   END IF;
2901  
2902  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_ABOVE_V') THEN
2903     IF NVL(p_record.SHIP_TOLERANCE_ABOVE,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2904       RETURN NULL;
2905     END IF;
2906     IF  ONT_S_TOL_ABOVE_Def_Util.Sync_S_TOL_ABOVE_Cache
2907       (p_SHIP_TOLERANCE_ABOVE => p_record.SHIP_TOLERANCE_ABOVE) = 1  then 
2908     RETURN ONT_S_TOL_ABOVE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_S_TOL_ABOVE_Def_Util.g_cached_record); 
2909   END IF;
2910  
2911  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_BELOW_V') THEN
2912     IF NVL(p_record.SHIP_TOLERANCE_BELOW,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2913       RETURN NULL;
2914     END IF;
2915     IF  ONT_S_TOL_BELOW_Def_Util.Sync_S_TOL_BELOW_Cache
2916       (p_SHIP_TOLERANCE_BELOW => p_record.SHIP_TOLERANCE_BELOW) = 1  then 
2917     RETURN ONT_S_TOL_BELOW_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_S_TOL_BELOW_Def_Util.g_cached_record); 
2918   END IF;
2919  
2920  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
2921     IF NVL(p_record.SHIP_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
2922       RETURN NULL;
2923     END IF;
2924     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
2925       (p_CONTACT_ID => p_record.SHIP_TO_CONTACT_ID) = 1  then 
2926     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
2927   END IF;
2928  
2929  ELSIF (p_foreign_database_object_name = 'OE_AK_T_EXEMPT_REASON_V') THEN
2930     IF NVL(p_record.TAX_EXEMPT_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2931       RETURN NULL;
2932     END IF;
2933     IF  ONT_T_EXEMPT_REASON_Def_Util.Sync_T_EXEMPT_REASON_Cache
2934       (p_TAX_EXEMPT_REASON_CODE => p_record.TAX_EXEMPT_REASON_CODE) = 1  then 
2935     RETURN ONT_T_EXEMPT_REASON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_T_EXEMPT_REASON_Def_Util.g_cached_record); 
2936   END IF;
2937  
2938  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_EXEMPT_V') THEN
2939     IF NVL(p_record.TAX_EXEMPT_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2940       RETURN NULL;
2941     END IF;
2942     IF  ONT_TAX_EXEMPT_Def_Util.Sync_TAX_EXEMPT_Cache
2943       (p_TAX_EXEMPT_FLAG => p_record.TAX_EXEMPT_FLAG) = 1  then 
2944     RETURN ONT_TAX_EXEMPT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TAX_EXEMPT_Def_Util.g_cached_record); 
2945   END IF;
2946  
2947  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_POINT_V') THEN
2948     IF NVL(p_record.TAX_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2949       RETURN NULL;
2950     END IF;
2951     IF  ONT_TAX_POINT_Def_Util.Sync_TAX_POINT_Cache
2952       (p_TAX_POINT_CODE => p_record.TAX_POINT_CODE) = 1  then 
2953     RETURN ONT_TAX_POINT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TAX_POINT_Def_Util.g_cached_record); 
2954   END IF;
2955  
2956  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
2957     IF NVL(p_record.ORDER_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2958       RETURN NULL;
2959     END IF;
2960     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
2961       (p_ORDER_CATEGORY_CODE => p_record.ORDER_CATEGORY_CODE) = 1  then 
2962     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
2963   END IF;
2964  
2965  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
2966     IF NVL(p_record.ORDER_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2967       RETURN NULL;
2968     END IF;
2969     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
2970       (p_ORDER_CATEGORY_CODE => p_record.ORDER_CATEGORY_CODE) = 1  then 
2971     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
2972   END IF;
2973  
2974  ELSIF (p_foreign_database_object_name = 'OE_AK_PACK_INST_V') THEN
2975     IF NVL(p_record.PACKING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2976       RETURN NULL;
2977     END IF;
2978     IF  ONT_PACK_INST_Def_Util.Sync_PACK_INST_Cache
2979       (p_PACKING_INSTRUCTIONS => p_record.PACKING_INSTRUCTIONS) = 1  then 
2980     RETURN ONT_PACK_INST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PACK_INST_Def_Util.g_cached_record); 
2981   END IF;
2982  
2983  ELSIF (p_foreign_database_object_name = 'OE_AK_RETURN_REASON_V') THEN
2984     IF NVL(p_record.RETURN_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2985       RETURN NULL;
2986     END IF;
2987     IF  ONT_RET_REASON_Def_Util.Sync_RET_REASON_Cache
2988       (p_RETURN_REASON_CODE => p_record.RETURN_REASON_CODE) = 1  then 
2989     RETURN ONT_RET_REASON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_RET_REASON_Def_Util.g_cached_record); 
2990   END IF;
2991  
2992  ELSIF (p_foreign_database_object_name = 'OE_AK_CUST_PO_NUMBER_V') THEN
2993     IF NVL(p_record.CUST_PO_NUMBER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
2994       RETURN NULL;
2995     END IF;
2996     IF  ONT_CUST_PO_Def_Util.Sync_CUST_PO_Cache
2997       (p_CUSTOMER_PO_NUMBER => p_record.CUST_PO_NUMBER) = 1  then 
2998     RETURN ONT_CUST_PO_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CUST_PO_Def_Util.g_cached_record); 
2999   END IF;
3000  
3001  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_INST_V') THEN
3002     IF NVL(p_record.SHIPPING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3003       RETURN NULL;
3004     END IF;
3005     IF  ONT_SHIP_INST_Def_Util.Sync_SHIP_INST_Cache
3006       (p_SHIPPING_INSTRUCTIONS => p_record.SHIPPING_INSTRUCTIONS) = 1  then 
3007     RETURN ONT_SHIP_INST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_INST_Def_Util.g_cached_record); 
3008   END IF;
3009  
3010  ELSIF (p_foreign_database_object_name = 'OE_AK_SALESREPS_V') THEN
3011     IF NVL(p_record.SALESREP_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3012       RETURN NULL;
3013     END IF;
3014     IF  ONT_SALESREP_Def_Util.Sync_SALESREP_Cache
3015       (p_SALESREP_ID => p_record.SALESREP_ID) = 1  then 
3016     RETURN ONT_SALESREP_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SALESREP_Def_Util.g_cached_record); 
3017   END IF;
3018  
3019  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
3020     IF NVL(p_record.DEFAULT_INBOUND_LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3021       RETURN NULL;
3022     END IF;
3023     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
3024       (p_LINE_TYPE_ID => p_record.DEFAULT_INBOUND_LINE_TYPE_ID) = 1  then 
3025     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
3026   END IF;
3027  
3028  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
3029     IF NVL(p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3030       RETURN NULL;
3031     END IF;
3032     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
3033       (p_LINE_TYPE_ID => p_record.DEFAULT_OUTBOUND_LINE_TYPE_ID) = 1  then 
3034     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
3035   END IF;
3036  
3037  ELSIF (p_foreign_database_object_name = 'OE_FND_CURRENCIES_V') THEN
3038     IF NVL(p_record.TRANSACTIONAL_CURR_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3039       RETURN NULL;
3040     END IF;
3041     IF  ONT_CURR_CODE_Def_Util.Sync_CURR_CODE_Cache
3042       (p_CURRENCY_CODE => p_record.TRANSACTIONAL_CURR_CODE) = 1  then 
3043     RETURN ONT_CURR_CODE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CURR_CODE_Def_Util.g_cached_record); 
3044   END IF;
3045  
3046  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
3047     IF NVL(p_record.SOLD_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3048       RETURN NULL;
3049     END IF;
3050     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
3051       (p_CONTACT_ID => p_record.SOLD_TO_CONTACT_ID) = 1  then 
3052     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
3053   END IF;
3054  
3055  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
3056     IF NVL(p_record.SOLD_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3057       RETURN NULL;
3058     END IF;
3059     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
3060       (p_CONTACT_ID => p_record.SOLD_TO_CONTACT_ID) = 1  then 
3061     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
3062   END IF;
3063  
3064  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
3065     IF NVL(p_record.ORDERED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
3066       RETURN NULL;
3067     END IF;
3068     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
3069       (p_REQUEST_DATE => p_record.ORDERED_DATE) = 1  then 
3070     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
3071   END IF;
3072 END IF;
3073  
3074      RETURN NULL;
3075 END Get_Foreign_Attr_Val_Date;
3076  
3077  
3078 FUNCTION Get_Condition_Index_In_Cache
3079 (   p_condition_id                  IN  NUMBER
3080 ) RETURN NUMBER
3081 IS  
3082 BEGIN  
3083  
3084   FOR i in 0..g_conditions_tbl_cache.COUNT -1  LOOP  
3085     if (g_conditions_tbl_cache(i).condition_id = p_condition_id ) then  
3086       RETURN i; 
3087     END IF;  
3088   END LOOP;  
3089   RETURN -1; 
3090 END Get_Condition_Index_In_Cache;  
3091 FUNCTION Validate_Defaulting_Condition
3092 (   p_condition_id                  IN  NUMBER
3093 ,   p_header_rec                    IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
3094 ) RETURN BOOLEAN
3095 IS  
3096   CURSOR CONDNS IS  
3097   SELECT condition_id,group_number,attribute_code,
3098     value_op,value_string
3099   FROM OE_DEF_CONDN_ELEMS
3100   WHERE condition_id = p_condition_id
3101   ORDER BY group_number;
3102  
3103   I         NUMBER;  
3104   l_column_value          VARCHAR2(255);  
3105   l_start_index         NUMBER;  
3106   l_stop_index         NUMBER ;  
3107   l_curr_group         NUMBER;  
3108   l_group_result         BOOLEAN;  
3109   l_element_result         BOOLEAN;  
3110 BEGIN  
3111  
3112   l_start_index := Get_Condition_Index_In_Cache(p_condition_id);
3113 IF (l_start_index = -1) THEN  
3114   l_stop_index := g_conditions_tbl_cache.COUNT;  
3115   l_start_index := l_stop_index;
3116   i := l_start_index;
3117   FOR condns_rec IN CONDNS LOOP  
3118     g_conditions_tbl_cache(i).condition_id := condns_rec.condition_id;
3119     g_conditions_tbl_cache(i).group_number := condns_rec.group_number;
3120     g_conditions_tbl_cache(i).attribute_code := condns_rec.attribute_code;
3121     g_conditions_tbl_cache(i).value_op := condns_rec.value_op;
3122     g_conditions_tbl_cache(i).value_string := condns_rec.value_string;
3123   i := i+1;
3124   END LOOP;  
3125 IF (i = l_start_index) THEN  
3126     Return FALSE;  
3127   END IF;  
3128   END IF;  
3129  
3130  
3131   i := 0;
3132   l_curr_group := g_conditions_tbl_cache(l_start_index).group_number;
3133   l_group_result := TRUE;
3134   l_element_result := FALSE;
3135  
3136  IF g_conditions_tbl_cache.COUNT <> 0 then  
3137 FOR J in l_start_index ..g_conditions_tbl_cache.COUNT -1 LOOP  
3138   IF (g_conditions_tbl_cache(j).condition_id <>  p_condition_id) THEN
3139     EXIT;
3140   END IF;
3141  
3142   IF (l_curr_group <>  g_conditions_tbl_cache(j).group_number) THEN
3143     IF (l_group_result = TRUE) THEN
3144       EXIT;
3145     ELSE
3146       l_group_result := TRUE;
3147     END IF;
3148   END IF;
3149  
3150   l_element_result := ONT_Def_Util.Validate_Value(g_conditions_tbl_cache(j).value_string,
3151   g_conditions_tbl_cache(j).value_op,Get_Attr_Val_Varchar2(g_conditions_tbl_cache(j).attribute_code,p_header_rec ));
3152     l_group_result := l_group_result AND l_element_result;
3153 END LOOP;
3154 ELSE
3155   l_group_result := FALSE;
3156   END IF;
3157   RETURN l_group_result;
3158 END Validate_Defaulting_Condition;
3159  
3160  
3161 PROCEDURE Update_Attr_Rules_Cache
3162 	( p_condn_index		        IN NUMBER
3163 	)
3164 IS
3165 l_index			NUMBER := 0;
3166 l_start_index		NUMBER := 0;
3167 l_attribute_code		VARCHAR2(30);
3168 l_condition_id		NUMBER;
3169     CURSOR DEFSRC IS SELECT
3170     R.SEQUENCE_NO,
3171     R.SRC_TYPE,
3172     R.SRC_ATTRIBUTE_CODE,
3173     R.SRC_DATABASE_OBJECT_NAME,
3174     R.SRC_PARAMETER_NAME,
3175     R.SRC_SYSTEM_VARIABLE_EXPR,
3176     R.SRC_PROFILE_OPTION,
3177     R.SRC_API_PKG||'.'||R.SRC_API_FN SRC_API_NAME,
3178     R.SRC_CONSTANT_VALUE,
3179     R.SRC_SEQUENCE_NAME
3180     FROM OE_DEF_ATTR_DEF_RULES R, OE_DEF_ATTR_CONDNS C
3181     WHERE R.database_object_name = g_database_object_name
3182     AND R.attribute_code = l_attribute_code
3183     AND C.database_object_name = g_database_object_name
3184     AND C.attribute_code = l_attribute_code
3185     AND R.attr_def_condition_id = C.attr_def_condition_id
3186     AND C.CONDITION_ID = l_condition_id
3187     AND C.ENABLED_FLAG = 'Y'
3188     ORDER BY SEQUENCE_NO;
3189 BEGIN
3190  
3191       l_attribute_code := g_attr_condns_cache(p_condn_index).attribute_code;
3192       l_condition_id := g_attr_condns_cache(p_condn_index).condition_id;
3193       l_start_index := g_attr_rules_cache.COUNT + 1;
3194  
3195     FOR DEFSRC_rec IN DEFSRC LOOP
3196 	l_index := g_attr_rules_cache.COUNT + 1; 
3197 	g_attr_rules_cache(l_index).SRC_TYPE 
3198 			:= DEFSRC_rec.SRC_TYPE; 
3199 	g_attr_rules_cache(l_index).SRC_ATTRIBUTE_CODE 
3200 			:= DEFSRC_rec.SRC_ATTRIBUTE_CODE; 
3201 	g_attr_rules_cache(l_index).SRC_DATABASE_OBJECT_NAME 
3202 			:= DEFSRC_rec.SRC_DATABASE_OBJECT_NAME; 
3203 	g_attr_rules_cache(l_index).SRC_PARAMETER_NAME 
3204 			:= DEFSRC_rec.SRC_PARAMETER_NAME; 
3205 	g_attr_rules_cache(l_index).SRC_SYSTEM_VARIABLE_EXPR 
3206 			:= DEFSRC_rec.SRC_SYSTEM_VARIABLE_EXPR; 
3207 	g_attr_rules_cache(l_index).SRC_PROFILE_OPTION
3208 			:= DEFSRC_rec.SRC_PROFILE_OPTION; 
3209 	g_attr_rules_cache(l_index).SRC_API_NAME
3210 			:= DEFSRC_rec.SRC_API_NAME; 
3211 	g_attr_rules_cache(l_index).SRC_CONSTANT_VALUE
3212 			:= DEFSRC_rec.SRC_CONSTANT_VALUE; 
3213 	g_attr_rules_cache(l_index).SRC_SEQUENCE_NAME
3214 			:= DEFSRC_rec.SRC_SEQUENCE_NAME; 
3215    END LOOP;
3216  
3217    IF l_index > 0 THEN
3218 	g_attr_condns_cache(p_condn_index).rules_start_index := l_start_index;
3219 	g_attr_condns_cache(p_condn_index).rules_stop_index := l_index;
3220    ELSE
3221 	g_attr_condns_cache(p_condn_index).rules_start_index := -1;
3222    END IF;
3223  
3224 EXCEPTION
3225 	WHEN OTHERS THEN
3226         IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3227         THEN
3228             OE_MSG_PUB.Add_Exc_Msg
3229             (   G_PKG_NAME          ,
3230 		'Update_Attr_Rules_Cache: '||l_attribute_code
3231             );
3232         END IF;
3233         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3234 END Update_Attr_Rules_Cache;
3235  
3236  
3237 PROCEDURE Get_Valid_Defaulting_Rules
3238 (   p_attr_code                     IN  VARCHAR2
3239 ,   p_attr_id                       IN  NUMBER
3240 ,   p_header_rec                    IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
3241 ,   x_rules_start_index_tbl         OUT OE_GLOBALS.NUMBER_TBL_Type
3242 ,   x_rules_stop_index_tbl          OUT OE_GLOBALS.NUMBER_TBL_Type
3243 ) IS
3244 l_condn_index     			NUMBER; 
3245 l_index     				NUMBER := 0; 
3246 l_valid_condn_index_tbl		OE_GLOBALS.Number_TBL_Type; 
3247 condns_cached				BOOLEAN := FALSE;
3248 num_attr_condns			NUMBER := 0;
3249 CURSOR ATTRC IS    
3250     SELECT condition_id  
3251     FROM OE_DEF_ATTR_CONDNS    
3252     WHERE attribute_code = p_attr_code  
3253       AND database_object_name = g_database_object_name  
3254       AND enabled_flag = 'Y'
3255     ORDER BY precedence;
3256 BEGIN  
3257  
3258   l_condn_index := p_attr_id * ONT_Def_Util.G_MAX_ATTR_CONDNS;
3259  
3260   -- Check in the cache
3261   WHILE g_attr_condns_cache.EXISTS(l_condn_index) LOOP
3262     condns_cached := TRUE;
3263     IF g_attr_condns_cache(l_condn_index).conditions_defined = 'N' THEN
3264       EXIT;
3265     ELSE
3266       IF (g_attr_condns_cache(l_condn_index).condition_id = 0 OR
3267          Validate_Defaulting_Condition
3268 	       (g_attr_condns_cache(l_condn_index).condition_id,p_header_rec)= TRUE) THEN 
3269 	     l_index := l_index + 1;
3270 	     l_valid_condn_index_tbl(l_index) := l_condn_index;
3271       END IF;
3272     END IF;
3273     l_condn_index := l_condn_index + 1;
3274   END LOOP;
3275  
3276   -- If the conditions were cached for this attribute, 
3277   -- then return rules for valid conditions
3278   IF condns_cached THEN
3279  
3280       GOTO Return_Rules;
3281  
3282   -- If the conditions were NOT cached for this attribute,
3283   -- then cache them AND get the conditions that are valid
3284   -- for the current record
3285   ELSE
3286     FOR c_rec IN ATTRC LOOP  
3287       -- Put it in the cache
3288       g_attr_condns_cache(l_condn_index).attribute_code
3289         := p_attr_code;
3290       g_attr_condns_cache(l_condn_index).condition_id
3291         := c_rec.condition_id;
3292       g_attr_condns_cache(l_condn_index).conditions_defined
3293         := 'Y';
3294 	  IF (c_rec.condition_id = 0 OR
3295 	         Validate_Defaulting_Condition
3296 		  (c_rec.condition_id,p_header_rec)= TRUE) THEN 
3297 	     l_index := l_index + 1;
3298 	     l_valid_condn_index_tbl(l_index) := l_condn_index;
3299       END IF;
3300       l_condn_index := l_condn_index + 1;
3301       num_attr_condns := num_attr_condns + 1;
3302     END LOOP;
3303  
3304     -- No defaulting conditions defined for this attribute,
3305     -- insert a new record in the cache with conditions_defined = 'N'
3306     IF num_attr_condns = 0 THEN
3307       g_attr_condns_cache(l_condn_index).attribute_code
3308         := p_attr_code;
3309       g_attr_condns_cache(l_condn_index).conditions_defined
3310         := 'N';
3311     END IF;
3312  
3313   END IF;
3314  
3315   <<Return_Rules>>
3316 FOR I IN 1..l_index LOOP
3317   IF g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_start_index IS NULL THEN
3318      Update_Attr_Rules_Cache(l_valid_condn_index_tbl(I));
3319   END IF;
3320   x_rules_start_index_tbl(I) := g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_start_index;
3321   x_rules_stop_index_tbl(I) := g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_stop_index;
3322 END LOOP;
3323  
3324 EXCEPTION
3325 	WHEN OTHERS THEN
3326         IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3327         THEN
3328             OE_MSG_PUB.Add_Exc_Msg
3329             (   G_PKG_NAME          ,
3330 		'Get_Valid_Defaulting_Rules :'||p_attr_code
3331             );
3332         END IF;
3333         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3334 END Get_Valid_Defaulting_Rules;
3335  
3336  
3337 END ONT_HEADER_Def_Util;