DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_LINE_DEF_UTIL

Source


1 PACKAGE BODY ONT_LINE_Def_Util AS
2 /* $Header: OEXDFWKB.pls 115.0 30-MAR-09 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_LINE_Def_Util
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_LINE_Def_Util
15 --  
16 --  NOTES
17 --  
18 --  HISTORY
19 --  
20 --  30-MAR-09 Created
21 --  
22  
23 --  Global constant holding the package name
24 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'ONT_LINE_Def_Util';
25  
26  
27   g_database_object_name varchar2(30) :='OE_AK_ORDER_LINES_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_LINES_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 =('ACTUAL_ARRIVAL_DATE') THEN
63   IF NVL(p_record.ACTUAL_ARRIVAL_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
64   RETURN p_record.ACTUAL_ARRIVAL_DATE;
65   ELSE
66   RETURN NULL; 
67   END IF;
68 ELSIF p_attr_code =('ACTUAL_FULFILLMENT_DATE') THEN
69   IF NVL(p_record.ACTUAL_FULFILLMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
70   RETURN p_record.ACTUAL_FULFILLMENT_DATE;
71   ELSE
72   RETURN NULL; 
73   END IF;
74 ELSIF p_attr_code =('ACTUAL_SHIPMENT_DATE') THEN
75   IF NVL(p_record.ACTUAL_SHIPMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
76   RETURN p_record.ACTUAL_SHIPMENT_DATE;
77   ELSE
78   RETURN NULL; 
79   END IF;
80 ELSIF p_attr_code =('AGREEMENT_ID') THEN
81   IF NVL(p_record.AGREEMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
82   RETURN p_record.AGREEMENT_ID;
83   ELSE
84   RETURN NULL; 
85   END IF;
86 ELSIF p_attr_code =('ARRIVAL_SET') THEN
87   IF NVL(p_record.ARRIVAL_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
88   RETURN p_record.ARRIVAL_SET;
89   ELSE
90   RETURN NULL; 
91   END IF;
92 ELSIF p_attr_code =('ARRIVAL_SET_ID') THEN
93   IF NVL(p_record.ARRIVAL_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
94   RETURN p_record.ARRIVAL_SET_ID;
95   ELSE
96   RETURN NULL; 
97   END IF;
98 ELSIF p_attr_code =('ATO_LINE_ID') THEN
99   IF NVL(p_record.ATO_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
100   RETURN p_record.ATO_LINE_ID;
101   ELSE
102   RETURN NULL; 
103   END IF;
104 ELSIF p_attr_code =('ATTRIBUTE1') THEN
105   IF NVL(p_record.ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
106   RETURN p_record.ATTRIBUTE1;
107   ELSE
108   RETURN NULL; 
109   END IF;
110 ELSIF p_attr_code =('ATTRIBUTE10') THEN
111   IF NVL(p_record.ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
112   RETURN p_record.ATTRIBUTE10;
113   ELSE
114   RETURN NULL; 
115   END IF;
116 ELSIF p_attr_code =('ATTRIBUTE11') THEN
117   IF NVL(p_record.ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
118   RETURN p_record.ATTRIBUTE11;
119   ELSE
120   RETURN NULL; 
121   END IF;
122 ELSIF p_attr_code =('ATTRIBUTE12') THEN
123   IF NVL(p_record.ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
124   RETURN p_record.ATTRIBUTE12;
125   ELSE
126   RETURN NULL; 
127   END IF;
128 ELSIF p_attr_code =('ATTRIBUTE13') THEN
129   IF NVL(p_record.ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
130   RETURN p_record.ATTRIBUTE13;
131   ELSE
132   RETURN NULL; 
133   END IF;
134 ELSIF p_attr_code =('ATTRIBUTE14') THEN
135   IF NVL(p_record.ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
136   RETURN p_record.ATTRIBUTE14;
137   ELSE
138   RETURN NULL; 
139   END IF;
140 ELSIF p_attr_code =('ATTRIBUTE15') THEN
141   IF NVL(p_record.ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
142   RETURN p_record.ATTRIBUTE15;
143   ELSE
144   RETURN NULL; 
145   END IF;
146 ELSIF p_attr_code =('ATTRIBUTE16') THEN
147   IF NVL(p_record.ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
148   RETURN p_record.ATTRIBUTE16;
149   ELSE
150   RETURN NULL; 
151   END IF;
152 ELSIF p_attr_code =('ATTRIBUTE17') THEN
153   IF NVL(p_record.ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
154   RETURN p_record.ATTRIBUTE17;
155   ELSE
156   RETURN NULL; 
157   END IF;
158 ELSIF p_attr_code =('ATTRIBUTE18') THEN
159   IF NVL(p_record.ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
160   RETURN p_record.ATTRIBUTE18;
161   ELSE
162   RETURN NULL; 
163   END IF;
164 ELSIF p_attr_code =('ATTRIBUTE19') THEN
165   IF NVL(p_record.ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
166   RETURN p_record.ATTRIBUTE19;
167   ELSE
168   RETURN NULL; 
169   END IF;
170 ELSIF p_attr_code =('ATTRIBUTE2') THEN
171   IF NVL(p_record.ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
172   RETURN p_record.ATTRIBUTE2;
173   ELSE
174   RETURN NULL; 
175   END IF;
176 ELSIF p_attr_code =('ATTRIBUTE20') THEN
177   IF NVL(p_record.ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
178   RETURN p_record.ATTRIBUTE20;
179   ELSE
180   RETURN NULL; 
181   END IF;
182 ELSIF p_attr_code =('ATTRIBUTE3') THEN
183   IF NVL(p_record.ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
184   RETURN p_record.ATTRIBUTE3;
185   ELSE
186   RETURN NULL; 
187   END IF;
188 ELSIF p_attr_code =('ATTRIBUTE4') THEN
189   IF NVL(p_record.ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
190   RETURN p_record.ATTRIBUTE4;
191   ELSE
192   RETURN NULL; 
193   END IF;
194 ELSIF p_attr_code =('ATTRIBUTE5') THEN
195   IF NVL(p_record.ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
196   RETURN p_record.ATTRIBUTE5;
197   ELSE
198   RETURN NULL; 
199   END IF;
200 ELSIF p_attr_code =('ATTRIBUTE6') THEN
201   IF NVL(p_record.ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
202   RETURN p_record.ATTRIBUTE6;
203   ELSE
204   RETURN NULL; 
205   END IF;
206 ELSIF p_attr_code =('ATTRIBUTE7') THEN
207   IF NVL(p_record.ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
208   RETURN p_record.ATTRIBUTE7;
209   ELSE
210   RETURN NULL; 
211   END IF;
212 ELSIF p_attr_code =('ATTRIBUTE8') THEN
213   IF NVL(p_record.ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
214   RETURN p_record.ATTRIBUTE8;
215   ELSE
216   RETURN NULL; 
217   END IF;
218 ELSIF p_attr_code =('ATTRIBUTE9') THEN
219   IF NVL(p_record.ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
220   RETURN p_record.ATTRIBUTE9;
221   ELSE
222   RETURN NULL; 
223   END IF;
224 ELSIF p_attr_code =('AUTHORIZED_TO_SHIP_FLAG') THEN
225   IF NVL(p_record.AUTHORIZED_TO_SHIP_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
226   RETURN p_record.AUTHORIZED_TO_SHIP_FLAG;
227   ELSE
228   RETURN NULL; 
229   END IF;
230 ELSIF p_attr_code =('AUTO_SELECTED_QUANTITY') THEN
231   IF NVL(p_record.AUTO_SELECTED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
232   RETURN p_record.AUTO_SELECTED_QUANTITY;
233   ELSE
234   RETURN NULL; 
235   END IF;
236 ELSIF p_attr_code =('BLANKET_LINE_NUMBER') THEN
237   IF NVL(p_record.BLANKET_LINE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
238   RETURN p_record.BLANKET_LINE_NUMBER;
239   ELSE
240   RETURN NULL; 
241   END IF;
242 ELSIF p_attr_code =('BLANKET_NUMBER') THEN
243   IF NVL(p_record.BLANKET_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
244   RETURN p_record.BLANKET_NUMBER;
245   ELSE
246   RETURN NULL; 
247   END IF;
248 ELSIF p_attr_code =('BLANKET_VERSION_NUMBER') THEN
249   IF NVL(p_record.BLANKET_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
250   RETURN p_record.BLANKET_VERSION_NUMBER;
251   ELSE
252   RETURN NULL; 
253   END IF;
254 ELSIF p_attr_code =('BOOKED_FLAG') THEN
255   IF NVL(p_record.BOOKED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
256   RETURN p_record.BOOKED_FLAG;
257   ELSE
258   RETURN NULL; 
259   END IF;
260 ELSIF p_attr_code =('CALCULATE_PRICE_FLAG') THEN
261   IF NVL(p_record.CALCULATE_PRICE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
262   RETURN p_record.CALCULATE_PRICE_FLAG;
263   ELSE
264   RETURN NULL; 
265   END IF;
266 ELSIF p_attr_code =('CANCELLED_FLAG') THEN
267   IF NVL(p_record.CANCELLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
268   RETURN p_record.CANCELLED_FLAG;
269   ELSE
270   RETURN NULL; 
271   END IF;
272 ELSIF p_attr_code =('CANCELLED_QUANTITY') THEN
273   IF NVL(p_record.CANCELLED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
274   RETURN p_record.CANCELLED_QUANTITY;
275   ELSE
276   RETURN NULL; 
277   END IF;
278 ELSIF p_attr_code =('CANCELLED_QUANTITY2') THEN
279   IF NVL(p_record.CANCELLED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
280   RETURN p_record.CANCELLED_QUANTITY2;
281   ELSE
282   RETURN NULL; 
283   END IF;
284 ELSIF p_attr_code =('CHANGE_COMMENTS') THEN
285   IF NVL(p_record.CHANGE_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
286   RETURN p_record.CHANGE_COMMENTS;
287   ELSE
288   RETURN NULL; 
289   END IF;
290 ELSIF p_attr_code =('CHANGE_REASON') THEN
291   IF NVL(p_record.CHANGE_REASON, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
292   RETURN p_record.CHANGE_REASON;
293   ELSE
294   RETURN NULL; 
295   END IF;
296 ELSIF p_attr_code =('CHARGE_PERIODICITY_CODE') THEN
297   IF NVL(p_record.CHARGE_PERIODICITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
298   RETURN p_record.CHARGE_PERIODICITY_CODE;
299   ELSE
300   RETURN NULL; 
301   END IF;
302 ELSIF p_attr_code =('COMMITMENT_ID') THEN
303   IF NVL(p_record.COMMITMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
304   RETURN p_record.COMMITMENT_ID;
305   ELSE
306   RETURN NULL; 
307   END IF;
308 ELSIF p_attr_code =('COMPONENT_CODE') THEN
309   IF NVL(p_record.COMPONENT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
310   RETURN p_record.COMPONENT_CODE;
311   ELSE
312   RETURN NULL; 
313   END IF;
314 ELSIF p_attr_code =('COMPONENT_NUMBER') THEN
315   IF NVL(p_record.COMPONENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
316   RETURN p_record.COMPONENT_NUMBER;
317   ELSE
318   RETURN NULL; 
319   END IF;
320 ELSIF p_attr_code =('COMPONENT_SEQUENCE_ID') THEN
321   IF NVL(p_record.COMPONENT_SEQUENCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
322   RETURN p_record.COMPONENT_SEQUENCE_ID;
323   ELSE
324   RETURN NULL; 
325   END IF;
326 ELSIF p_attr_code =('CONFIGURATION_ID') THEN
327   IF NVL(p_record.CONFIGURATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
328   RETURN p_record.CONFIGURATION_ID;
329   ELSE
330   RETURN NULL; 
331   END IF;
332 ELSIF p_attr_code =('CONFIG_DISPLAY_SEQUENCE') THEN
333   IF NVL(p_record.CONFIG_DISPLAY_SEQUENCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
334   RETURN p_record.CONFIG_DISPLAY_SEQUENCE;
335   ELSE
336   RETURN NULL; 
337   END IF;
338 ELSIF p_attr_code =('CONFIG_HEADER_ID') THEN
339   IF NVL(p_record.CONFIG_HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
340   RETURN p_record.CONFIG_HEADER_ID;
341   ELSE
342   RETURN NULL; 
343   END IF;
344 ELSIF p_attr_code =('CONFIG_REV_NBR') THEN
345   IF NVL(p_record.CONFIG_REV_NBR, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
346   RETURN p_record.CONFIG_REV_NBR;
347   ELSE
348   RETURN NULL; 
349   END IF;
350 ELSIF p_attr_code =('CONTEXT') THEN
351   IF NVL(p_record.CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
352   RETURN p_record.CONTEXT;
353   ELSE
354   RETURN NULL; 
355   END IF;
356 ELSIF p_attr_code =('CONTINGENCY_ID') THEN
357   IF NVL(p_record.CONTINGENCY_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
358   RETURN p_record.CONTINGENCY_ID;
359   ELSE
360   RETURN NULL; 
361   END IF;
362 ELSIF p_attr_code =('CREATED_BY') THEN
363   IF NVL(p_record.CREATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
364   RETURN p_record.CREATED_BY;
365   ELSE
366   RETURN NULL; 
367   END IF;
368 ELSIF p_attr_code =('CREATION_DATE') THEN
369   IF NVL(p_record.CREATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
370   RETURN p_record.CREATION_DATE;
371   ELSE
372   RETURN NULL; 
373   END IF;
374 ELSIF p_attr_code =('CREDIT_INVOICE_LINE_ID') THEN
375   IF NVL(p_record.CREDIT_INVOICE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
376   RETURN p_record.CREDIT_INVOICE_LINE_ID;
377   ELSE
378   RETURN NULL; 
379   END IF;
380 ELSIF p_attr_code =('CUSTOMER_DOCK_CODE') THEN
381   IF NVL(p_record.CUSTOMER_DOCK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
382   RETURN p_record.CUSTOMER_DOCK_CODE;
383   ELSE
384   RETURN NULL; 
385   END IF;
386 ELSIF p_attr_code =('CUSTOMER_JOB') THEN
387   IF NVL(p_record.CUSTOMER_JOB, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
388   RETURN p_record.CUSTOMER_JOB;
389   ELSE
390   RETURN NULL; 
391   END IF;
392 ELSIF p_attr_code =('CUSTOMER_LINE_NUMBER') THEN
393   IF NVL(p_record.CUSTOMER_LINE_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
394   RETURN p_record.CUSTOMER_LINE_NUMBER;
395   ELSE
396   RETURN NULL; 
397   END IF;
398 ELSIF p_attr_code =('CUSTOMER_PRODUCTION_LINE') THEN
399   IF NVL(p_record.CUSTOMER_PRODUCTION_LINE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
400   RETURN p_record.CUSTOMER_PRODUCTION_LINE;
401   ELSE
402   RETURN NULL; 
403   END IF;
404 ELSIF p_attr_code =('CUSTOMER_SHIPMENT_NUMBER') THEN
405   IF NVL(p_record.CUSTOMER_SHIPMENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
406   RETURN p_record.CUSTOMER_SHIPMENT_NUMBER;
407   ELSE
408   RETURN NULL; 
409   END IF;
410 ELSIF p_attr_code =('CUSTOMER_TRX_LINE_ID') THEN
411   IF NVL(p_record.CUSTOMER_TRX_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
412   RETURN p_record.CUSTOMER_TRX_LINE_ID;
413   ELSE
414   RETURN NULL; 
415   END IF;
416 ELSIF p_attr_code =('CUST_MODEL_SERIAL_NUMBER') THEN
417   IF NVL(p_record.CUST_MODEL_SERIAL_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
418   RETURN p_record.CUST_MODEL_SERIAL_NUMBER;
419   ELSE
420   RETURN NULL; 
421   END IF;
422 ELSIF p_attr_code =('CUST_PO_NUMBER') THEN
423   IF NVL(p_record.CUST_PO_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
424   RETURN p_record.CUST_PO_NUMBER;
425   ELSE
426   RETURN NULL; 
427   END IF;
428 ELSIF p_attr_code =('CUST_PRODUCTION_SEQ_NUM') THEN
429   IF NVL(p_record.CUST_PRODUCTION_SEQ_NUM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
430   RETURN p_record.CUST_PRODUCTION_SEQ_NUM;
431   ELSE
432   RETURN NULL; 
433   END IF;
434 ELSIF p_attr_code =('DB_FLAG') THEN
435   IF NVL(p_record.DB_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
436   RETURN p_record.DB_FLAG;
437   ELSE
438   RETURN NULL; 
439   END IF;
440 ELSIF p_attr_code =('DELIVERY_LEAD_TIME') THEN
441   IF NVL(p_record.DELIVERY_LEAD_TIME, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
442   RETURN p_record.DELIVERY_LEAD_TIME;
443   ELSE
444   RETURN NULL; 
445   END IF;
446 ELSIF p_attr_code =('DELIVER_TO_CONTACT_ID') THEN
447   IF NVL(p_record.DELIVER_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
448   RETURN p_record.DELIVER_TO_CONTACT_ID;
449   ELSE
450   RETURN NULL; 
451   END IF;
452 ELSIF p_attr_code =('DELIVER_TO_ORG_ID') THEN
453   IF NVL(p_record.DELIVER_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
454   RETURN p_record.DELIVER_TO_ORG_ID;
455   ELSE
456   RETURN NULL; 
457   END IF;
458 ELSIF p_attr_code =('DEMAND_BUCKET_TYPE_CODE') THEN
459   IF NVL(p_record.DEMAND_BUCKET_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
460   RETURN p_record.DEMAND_BUCKET_TYPE_CODE;
461   ELSE
462   RETURN NULL; 
463   END IF;
464 ELSIF p_attr_code =('DEMAND_CLASS_CODE') THEN
465   IF NVL(p_record.DEMAND_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
466   RETURN p_record.DEMAND_CLASS_CODE;
467   ELSE
468   RETURN NULL; 
469   END IF;
470 ELSIF p_attr_code =('DEP_PLAN_REQUIRED_FLAG') THEN
471   IF NVL(p_record.DEP_PLAN_REQUIRED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
472   RETURN p_record.DEP_PLAN_REQUIRED_FLAG;
473   ELSE
474   RETURN NULL; 
475   END IF;
476 ELSIF p_attr_code =('EARLIEST_ACCEPTABLE_DATE') THEN
477   IF NVL(p_record.EARLIEST_ACCEPTABLE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
478   RETURN p_record.EARLIEST_ACCEPTABLE_DATE;
479   ELSE
480   RETURN NULL; 
481   END IF;
482 ELSIF p_attr_code =('END_CUSTOMER_CONTACT_ID') THEN
483   IF NVL(p_record.END_CUSTOMER_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
484   RETURN p_record.END_CUSTOMER_CONTACT_ID;
485   ELSE
486   RETURN NULL; 
487   END IF;
488 ELSIF p_attr_code =('END_CUSTOMER_ID') THEN
489   IF NVL(p_record.END_CUSTOMER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
490   RETURN p_record.END_CUSTOMER_ID;
491   ELSE
492   RETURN NULL; 
493   END IF;
494 ELSIF p_attr_code =('END_CUSTOMER_SITE_USE_ID') THEN
495   IF NVL(p_record.END_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
496   RETURN p_record.END_CUSTOMER_SITE_USE_ID;
497   ELSE
498   RETURN NULL; 
499   END IF;
500 ELSIF p_attr_code =('END_ITEM_UNIT_NUMBER') THEN
501   IF NVL(p_record.END_ITEM_UNIT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
502   RETURN p_record.END_ITEM_UNIT_NUMBER;
503   ELSE
504   RETURN NULL; 
505   END IF;
506 ELSIF p_attr_code =('EXPLOSION_DATE') THEN
507   IF NVL(p_record.EXPLOSION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
508   RETURN p_record.EXPLOSION_DATE;
509   ELSE
510   RETURN NULL; 
511   END IF;
512 ELSIF p_attr_code =('FIRST_ACK_CODE') THEN
513   IF NVL(p_record.FIRST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
514   RETURN p_record.FIRST_ACK_CODE;
515   ELSE
516   RETURN NULL; 
517   END IF;
518 ELSIF p_attr_code =('FIRST_ACK_DATE') THEN
519   IF NVL(p_record.FIRST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
520   RETURN p_record.FIRST_ACK_DATE;
521   ELSE
522   RETURN NULL; 
523   END IF;
524 ELSIF p_attr_code =('FOB_POINT_CODE') THEN
525   IF NVL(p_record.FOB_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
526   RETURN p_record.FOB_POINT_CODE;
527   ELSE
528   RETURN NULL; 
529   END IF;
530 ELSIF p_attr_code =('FREIGHT_CARRIER_CODE') THEN
531   IF NVL(p_record.FREIGHT_CARRIER_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
532   RETURN p_record.FREIGHT_CARRIER_CODE;
533   ELSE
534   RETURN NULL; 
535   END IF;
536 ELSIF p_attr_code =('FREIGHT_TERMS_CODE') THEN
537   IF NVL(p_record.FREIGHT_TERMS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
538   RETURN p_record.FREIGHT_TERMS_CODE;
539   ELSE
540   RETURN NULL; 
541   END IF;
542 ELSIF p_attr_code =('FULFILLED_FLAG') THEN
543   IF NVL(p_record.FULFILLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
544   RETURN p_record.FULFILLED_FLAG;
545   ELSE
546   RETURN NULL; 
547   END IF;
548 ELSIF p_attr_code =('FULFILLED_QUANTITY') THEN
549   IF NVL(p_record.FULFILLED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
550   RETURN p_record.FULFILLED_QUANTITY;
551   ELSE
552   RETURN NULL; 
553   END IF;
554 ELSIF p_attr_code =('FULFILLED_QUANTITY2') THEN
555   IF NVL(p_record.FULFILLED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
556   RETURN p_record.FULFILLED_QUANTITY2;
557   ELSE
558   RETURN NULL; 
559   END IF;
560 ELSIF p_attr_code =('FULFILLMENT_DATE') THEN
561   IF NVL(p_record.FULFILLMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
562   RETURN p_record.FULFILLMENT_DATE;
563   ELSE
564   RETURN NULL; 
565   END IF;
566 ELSIF p_attr_code =('FULFILLMENT_METHOD_CODE') THEN
567   IF NVL(p_record.FULFILLMENT_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
568   RETURN p_record.FULFILLMENT_METHOD_CODE;
569   ELSE
570   RETURN NULL; 
571   END IF;
572 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE1') THEN
573   IF NVL(p_record.GLOBAL_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
574   RETURN p_record.GLOBAL_ATTRIBUTE1;
575   ELSE
576   RETURN NULL; 
577   END IF;
578 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE10') THEN
579   IF NVL(p_record.GLOBAL_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
580   RETURN p_record.GLOBAL_ATTRIBUTE10;
581   ELSE
582   RETURN NULL; 
583   END IF;
584 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE11') THEN
585   IF NVL(p_record.GLOBAL_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
586   RETURN p_record.GLOBAL_ATTRIBUTE11;
587   ELSE
588   RETURN NULL; 
589   END IF;
590 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE12') THEN
591   IF NVL(p_record.GLOBAL_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
592   RETURN p_record.GLOBAL_ATTRIBUTE12;
593   ELSE
594   RETURN NULL; 
595   END IF;
596 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE13') THEN
597   IF NVL(p_record.GLOBAL_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
598   RETURN p_record.GLOBAL_ATTRIBUTE13;
599   ELSE
600   RETURN NULL; 
601   END IF;
602 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE14') THEN
603   IF NVL(p_record.GLOBAL_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
604   RETURN p_record.GLOBAL_ATTRIBUTE14;
605   ELSE
606   RETURN NULL; 
607   END IF;
608 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE15') THEN
609   IF NVL(p_record.GLOBAL_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
610   RETURN p_record.GLOBAL_ATTRIBUTE15;
611   ELSE
612   RETURN NULL; 
613   END IF;
614 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE16') THEN
615   IF NVL(p_record.GLOBAL_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
616   RETURN p_record.GLOBAL_ATTRIBUTE16;
617   ELSE
618   RETURN NULL; 
619   END IF;
620 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE17') THEN
621   IF NVL(p_record.GLOBAL_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
622   RETURN p_record.GLOBAL_ATTRIBUTE17;
623   ELSE
624   RETURN NULL; 
625   END IF;
626 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE18') THEN
627   IF NVL(p_record.GLOBAL_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
628   RETURN p_record.GLOBAL_ATTRIBUTE18;
629   ELSE
630   RETURN NULL; 
631   END IF;
632 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE19') THEN
633   IF NVL(p_record.GLOBAL_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
634   RETURN p_record.GLOBAL_ATTRIBUTE19;
635   ELSE
636   RETURN NULL; 
637   END IF;
638 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE2') THEN
639   IF NVL(p_record.GLOBAL_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
640   RETURN p_record.GLOBAL_ATTRIBUTE2;
641   ELSE
642   RETURN NULL; 
643   END IF;
644 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE20') THEN
645   IF NVL(p_record.GLOBAL_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
646   RETURN p_record.GLOBAL_ATTRIBUTE20;
647   ELSE
648   RETURN NULL; 
649   END IF;
650 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE3') THEN
651   IF NVL(p_record.GLOBAL_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
652   RETURN p_record.GLOBAL_ATTRIBUTE3;
653   ELSE
654   RETURN NULL; 
655   END IF;
656 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE4') THEN
657   IF NVL(p_record.GLOBAL_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
658   RETURN p_record.GLOBAL_ATTRIBUTE4;
659   ELSE
660   RETURN NULL; 
661   END IF;
662 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE5') THEN
663   IF NVL(p_record.GLOBAL_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
664   RETURN p_record.GLOBAL_ATTRIBUTE5;
665   ELSE
666   RETURN NULL; 
667   END IF;
668 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE6') THEN
669   IF NVL(p_record.GLOBAL_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
670   RETURN p_record.GLOBAL_ATTRIBUTE6;
671   ELSE
672   RETURN NULL; 
673   END IF;
674 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE7') THEN
675   IF NVL(p_record.GLOBAL_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
676   RETURN p_record.GLOBAL_ATTRIBUTE7;
677   ELSE
678   RETURN NULL; 
679   END IF;
680 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE8') THEN
681   IF NVL(p_record.GLOBAL_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
682   RETURN p_record.GLOBAL_ATTRIBUTE8;
683   ELSE
684   RETURN NULL; 
685   END IF;
686 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE9') THEN
687   IF NVL(p_record.GLOBAL_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
688   RETURN p_record.GLOBAL_ATTRIBUTE9;
689   ELSE
690   RETURN NULL; 
691   END IF;
692 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE_CATEGORY') THEN
693   IF NVL(p_record.GLOBAL_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
694   RETURN p_record.GLOBAL_ATTRIBUTE_CATEGORY;
695   ELSE
696   RETURN NULL; 
697   END IF;
698 ELSIF p_attr_code =('HEADER_ID') THEN
699   IF NVL(p_record.HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
700   RETURN p_record.HEADER_ID;
701   ELSE
702   RETURN NULL; 
703   END IF;
704 ELSIF p_attr_code =('IB_CURRENT_LOCATION') THEN
705   IF NVL(p_record.IB_CURRENT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
706   RETURN p_record.IB_CURRENT_LOCATION;
707   ELSE
708   RETURN NULL; 
709   END IF;
710 ELSIF p_attr_code =('IB_INSTALLED_AT_LOCATION') THEN
711   IF NVL(p_record.IB_INSTALLED_AT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
712   RETURN p_record.IB_INSTALLED_AT_LOCATION;
713   ELSE
714   RETURN NULL; 
715   END IF;
716 ELSIF p_attr_code =('IB_OWNER') THEN
717   IF NVL(p_record.IB_OWNER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
718   RETURN p_record.IB_OWNER;
719   ELSE
720   RETURN NULL; 
721   END IF;
722 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE1') THEN
723   IF NVL(p_record.INDUSTRY_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
724   RETURN p_record.INDUSTRY_ATTRIBUTE1;
725   ELSE
726   RETURN NULL; 
727   END IF;
728 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE10') THEN
729   IF NVL(p_record.INDUSTRY_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
730   RETURN p_record.INDUSTRY_ATTRIBUTE10;
731   ELSE
732   RETURN NULL; 
733   END IF;
734 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE11') THEN
735   IF NVL(p_record.INDUSTRY_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
736   RETURN p_record.INDUSTRY_ATTRIBUTE11;
737   ELSE
738   RETURN NULL; 
739   END IF;
740 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE12') THEN
741   IF NVL(p_record.INDUSTRY_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
742   RETURN p_record.INDUSTRY_ATTRIBUTE12;
743   ELSE
744   RETURN NULL; 
745   END IF;
746 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE13') THEN
747   IF NVL(p_record.INDUSTRY_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
748   RETURN p_record.INDUSTRY_ATTRIBUTE13;
749   ELSE
750   RETURN NULL; 
751   END IF;
752 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE14') THEN
753   IF NVL(p_record.INDUSTRY_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
754   RETURN p_record.INDUSTRY_ATTRIBUTE14;
755   ELSE
756   RETURN NULL; 
757   END IF;
758 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE15') THEN
759   IF NVL(p_record.INDUSTRY_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
760   RETURN p_record.INDUSTRY_ATTRIBUTE15;
761   ELSE
762   RETURN NULL; 
763   END IF;
764 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE16') THEN
765   IF NVL(p_record.INDUSTRY_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
766   RETURN p_record.INDUSTRY_ATTRIBUTE16;
767   ELSE
768   RETURN NULL; 
769   END IF;
770 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE17') THEN
771   IF NVL(p_record.INDUSTRY_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
772   RETURN p_record.INDUSTRY_ATTRIBUTE17;
773   ELSE
774   RETURN NULL; 
775   END IF;
776 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE18') THEN
777   IF NVL(p_record.INDUSTRY_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
778   RETURN p_record.INDUSTRY_ATTRIBUTE18;
779   ELSE
780   RETURN NULL; 
781   END IF;
782 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE19') THEN
783   IF NVL(p_record.INDUSTRY_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
784   RETURN p_record.INDUSTRY_ATTRIBUTE19;
785   ELSE
786   RETURN NULL; 
787   END IF;
788 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE2') THEN
789   IF NVL(p_record.INDUSTRY_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
790   RETURN p_record.INDUSTRY_ATTRIBUTE2;
791   ELSE
792   RETURN NULL; 
793   END IF;
794 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE20') THEN
795   IF NVL(p_record.INDUSTRY_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
796   RETURN p_record.INDUSTRY_ATTRIBUTE20;
797   ELSE
798   RETURN NULL; 
799   END IF;
800 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE21') THEN
801   IF NVL(p_record.INDUSTRY_ATTRIBUTE21, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
802   RETURN p_record.INDUSTRY_ATTRIBUTE21;
803   ELSE
804   RETURN NULL; 
805   END IF;
806 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE22') THEN
807   IF NVL(p_record.INDUSTRY_ATTRIBUTE22, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
808   RETURN p_record.INDUSTRY_ATTRIBUTE22;
809   ELSE
810   RETURN NULL; 
811   END IF;
812 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE23') THEN
813   IF NVL(p_record.INDUSTRY_ATTRIBUTE23, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
814   RETURN p_record.INDUSTRY_ATTRIBUTE23;
815   ELSE
816   RETURN NULL; 
817   END IF;
818 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE24') THEN
819   IF NVL(p_record.INDUSTRY_ATTRIBUTE24, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
820   RETURN p_record.INDUSTRY_ATTRIBUTE24;
821   ELSE
822   RETURN NULL; 
823   END IF;
824 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE25') THEN
825   IF NVL(p_record.INDUSTRY_ATTRIBUTE25, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
826   RETURN p_record.INDUSTRY_ATTRIBUTE25;
827   ELSE
828   RETURN NULL; 
829   END IF;
830 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE26') THEN
831   IF NVL(p_record.INDUSTRY_ATTRIBUTE26, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
832   RETURN p_record.INDUSTRY_ATTRIBUTE26;
833   ELSE
834   RETURN NULL; 
835   END IF;
836 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE27') THEN
837   IF NVL(p_record.INDUSTRY_ATTRIBUTE27, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
838   RETURN p_record.INDUSTRY_ATTRIBUTE27;
839   ELSE
840   RETURN NULL; 
841   END IF;
842 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE28') THEN
843   IF NVL(p_record.INDUSTRY_ATTRIBUTE28, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
844   RETURN p_record.INDUSTRY_ATTRIBUTE28;
845   ELSE
846   RETURN NULL; 
847   END IF;
848 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE29') THEN
849   IF NVL(p_record.INDUSTRY_ATTRIBUTE29, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
850   RETURN p_record.INDUSTRY_ATTRIBUTE29;
851   ELSE
852   RETURN NULL; 
853   END IF;
854 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE3') THEN
855   IF NVL(p_record.INDUSTRY_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
856   RETURN p_record.INDUSTRY_ATTRIBUTE3;
857   ELSE
858   RETURN NULL; 
859   END IF;
860 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE30') THEN
861   IF NVL(p_record.INDUSTRY_ATTRIBUTE30, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
862   RETURN p_record.INDUSTRY_ATTRIBUTE30;
863   ELSE
864   RETURN NULL; 
865   END IF;
866 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE4') THEN
867   IF NVL(p_record.INDUSTRY_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
868   RETURN p_record.INDUSTRY_ATTRIBUTE4;
869   ELSE
870   RETURN NULL; 
871   END IF;
872 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE5') THEN
873   IF NVL(p_record.INDUSTRY_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
874   RETURN p_record.INDUSTRY_ATTRIBUTE5;
875   ELSE
876   RETURN NULL; 
877   END IF;
878 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE6') THEN
879   IF NVL(p_record.INDUSTRY_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
880   RETURN p_record.INDUSTRY_ATTRIBUTE6;
881   ELSE
882   RETURN NULL; 
883   END IF;
884 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE7') THEN
885   IF NVL(p_record.INDUSTRY_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
886   RETURN p_record.INDUSTRY_ATTRIBUTE7;
887   ELSE
888   RETURN NULL; 
889   END IF;
890 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE8') THEN
891   IF NVL(p_record.INDUSTRY_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
892   RETURN p_record.INDUSTRY_ATTRIBUTE8;
893   ELSE
894   RETURN NULL; 
895   END IF;
896 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE9') THEN
897   IF NVL(p_record.INDUSTRY_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
898   RETURN p_record.INDUSTRY_ATTRIBUTE9;
899   ELSE
900   RETURN NULL; 
901   END IF;
902 ELSIF p_attr_code =('INDUSTRY_CONTEXT') THEN
903   IF NVL(p_record.INDUSTRY_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
904   RETURN p_record.INDUSTRY_CONTEXT;
905   ELSE
906   RETURN NULL; 
907   END IF;
908 ELSIF p_attr_code =('INTERMED_SHIP_TO_CONTACT_ID') THEN
909   IF NVL(p_record.INTERMED_SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
910   RETURN p_record.INTERMED_SHIP_TO_CONTACT_ID;
911   ELSE
912   RETURN NULL; 
913   END IF;
914 ELSIF p_attr_code =('INTERMED_SHIP_TO_ORG_ID') THEN
915   IF NVL(p_record.INTERMED_SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
916   RETURN p_record.INTERMED_SHIP_TO_ORG_ID;
917   ELSE
918   RETURN NULL; 
919   END IF;
920 ELSIF p_attr_code =('INVENTORY_ITEM_ID') THEN
921   IF NVL(p_record.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
922   RETURN p_record.INVENTORY_ITEM_ID;
923   ELSE
924   RETURN NULL; 
925   END IF;
926 ELSIF p_attr_code =('INVOICED_QUANTITY') THEN
927   IF NVL(p_record.INVOICED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
928   RETURN p_record.INVOICED_QUANTITY;
929   ELSE
930   RETURN NULL; 
931   END IF;
932 ELSIF p_attr_code =('INVOICE_INTERFACE_STATUS_CODE') THEN
933   IF NVL(p_record.INVOICE_INTERFACE_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
934   RETURN p_record.INVOICE_INTERFACE_STATUS_CODE;
935   ELSE
936   RETURN NULL; 
937   END IF;
938 ELSIF p_attr_code =('INVOICE_TO_CONTACT_ID') THEN
939   IF NVL(p_record.INVOICE_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
940   RETURN p_record.INVOICE_TO_CONTACT_ID;
941   ELSE
942   RETURN NULL; 
943   END IF;
944 ELSIF p_attr_code =('INVOICE_TO_ORG_ID') THEN
945   IF NVL(p_record.INVOICE_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
946   RETURN p_record.INVOICE_TO_ORG_ID;
947   ELSE
948   RETURN NULL; 
949   END IF;
950 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
951   IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
952   RETURN p_record.INVOICING_RULE_ID;
953   ELSE
954   RETURN NULL; 
955   END IF;
956 ELSIF p_attr_code =('ITEM_IDENTIFIER_TYPE') THEN
957   IF NVL(p_record.ITEM_IDENTIFIER_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
958   RETURN p_record.ITEM_IDENTIFIER_TYPE;
959   ELSE
960   RETURN NULL; 
961   END IF;
962 ELSIF p_attr_code =('ITEM_REVISION') THEN
963   IF NVL(p_record.ITEM_REVISION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
964   RETURN p_record.ITEM_REVISION;
965   ELSE
966   RETURN NULL; 
967   END IF;
968 ELSIF p_attr_code =('ITEM_TYPE_CODE') THEN
969   IF NVL(p_record.ITEM_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
970   RETURN p_record.ITEM_TYPE_CODE;
971   ELSE
972   RETURN NULL; 
973   END IF;
974 ELSIF p_attr_code =('LAST_ACK_CODE') THEN
975   IF NVL(p_record.LAST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
976   RETURN p_record.LAST_ACK_CODE;
977   ELSE
978   RETURN NULL; 
979   END IF;
980 ELSIF p_attr_code =('LAST_ACK_DATE') THEN
981   IF NVL(p_record.LAST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
982   RETURN p_record.LAST_ACK_DATE;
983   ELSE
984   RETURN NULL; 
985   END IF;
986 ELSIF p_attr_code =('LAST_UPDATED_BY') THEN
987   IF NVL(p_record.LAST_UPDATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
988   RETURN p_record.LAST_UPDATED_BY;
989   ELSE
990   RETURN NULL; 
991   END IF;
992 ELSIF p_attr_code =('LAST_UPDATE_DATE') THEN
993   IF NVL(p_record.LAST_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
994   RETURN p_record.LAST_UPDATE_DATE;
995   ELSE
996   RETURN NULL; 
997   END IF;
998 ELSIF p_attr_code =('LAST_UPDATE_LOGIN') THEN
999   IF NVL(p_record.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1000   RETURN p_record.LAST_UPDATE_LOGIN;
1001   ELSE
1002   RETURN NULL; 
1003   END IF;
1004 ELSIF p_attr_code =('LATEST_ACCEPTABLE_DATE') THEN
1005   IF NVL(p_record.LATEST_ACCEPTABLE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1006   RETURN p_record.LATEST_ACCEPTABLE_DATE;
1007   ELSE
1008   RETURN NULL; 
1009   END IF;
1010 ELSIF p_attr_code =('LINE_CATEGORY_CODE') THEN
1011   IF NVL(p_record.LINE_CATEGORY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1012   RETURN p_record.LINE_CATEGORY_CODE;
1013   ELSE
1014   RETURN NULL; 
1015   END IF;
1016 ELSIF p_attr_code =('LINE_ID') THEN
1017   IF NVL(p_record.LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1018   RETURN p_record.LINE_ID;
1019   ELSE
1020   RETURN NULL; 
1021   END IF;
1022 ELSIF p_attr_code =('LINE_NUMBER') THEN
1023   IF NVL(p_record.LINE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1024   RETURN p_record.LINE_NUMBER;
1025   ELSE
1026   RETURN NULL; 
1027   END IF;
1028 ELSIF p_attr_code =('LINE_SET_ID') THEN
1029   IF NVL(p_record.LINE_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1030   RETURN p_record.LINE_SET_ID;
1031   ELSE
1032   RETURN NULL; 
1033   END IF;
1034 ELSIF p_attr_code =('LINE_TYPE_ID') THEN
1035   IF NVL(p_record.LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1036   RETURN p_record.LINE_TYPE_ID;
1037   ELSE
1038   RETURN NULL; 
1039   END IF;
1040 ELSIF p_attr_code =('LINK_TO_LINE_ID') THEN
1041   IF NVL(p_record.LINK_TO_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1042   RETURN p_record.LINK_TO_LINE_ID;
1043   ELSE
1044   RETURN NULL; 
1045   END IF;
1046 ELSIF p_attr_code =('MFG_COMPONENT_SEQUENCE_ID') THEN
1047   IF NVL(p_record.MFG_COMPONENT_SEQUENCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1048   RETURN p_record.MFG_COMPONENT_SEQUENCE_ID;
1049   ELSE
1050   RETURN NULL; 
1051   END IF;
1052 ELSIF p_attr_code =('MODEL_GROUP_NUMBER') THEN
1053   IF NVL(p_record.MODEL_GROUP_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1054   RETURN p_record.MODEL_GROUP_NUMBER;
1055   ELSE
1056   RETURN NULL; 
1057   END IF;
1058 ELSIF p_attr_code =('OPEN_FLAG') THEN
1059   IF NVL(p_record.OPEN_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1060   RETURN p_record.OPEN_FLAG;
1061   ELSE
1062   RETURN NULL; 
1063   END IF;
1064 ELSIF p_attr_code =('OPERATION') THEN
1065   IF NVL(p_record.OPERATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1066   RETURN p_record.OPERATION;
1067   ELSE
1068   RETURN NULL; 
1069   END IF;
1070 ELSIF p_attr_code =('OPTION_FLAG') THEN
1071   IF NVL(p_record.OPTION_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1072   RETURN p_record.OPTION_FLAG;
1073   ELSE
1074   RETURN NULL; 
1075   END IF;
1076 ELSIF p_attr_code =('OPTION_NUMBER') THEN
1077   IF NVL(p_record.OPTION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1078   RETURN p_record.OPTION_NUMBER;
1079   ELSE
1080   RETURN NULL; 
1081   END IF;
1082 ELSIF p_attr_code =('ORDERED_ITEM') THEN
1083   IF NVL(p_record.ORDERED_ITEM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1084   RETURN p_record.ORDERED_ITEM;
1085   ELSE
1086   RETURN NULL; 
1087   END IF;
1088 ELSIF p_attr_code =('ORDERED_ITEM_ID') THEN
1089   IF NVL(p_record.ORDERED_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1090   RETURN p_record.ORDERED_ITEM_ID;
1091   ELSE
1092   RETURN NULL; 
1093   END IF;
1094 ELSIF p_attr_code =('ORDERED_QUANTITY') THEN
1095   IF NVL(p_record.ORDERED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1096   RETURN p_record.ORDERED_QUANTITY;
1097   ELSE
1098   RETURN NULL; 
1099   END IF;
1100 ELSIF p_attr_code =('ORDERED_QUANTITY2') THEN
1101   IF NVL(p_record.ORDERED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1102   RETURN p_record.ORDERED_QUANTITY2;
1103   ELSE
1104   RETURN NULL; 
1105   END IF;
1106 ELSIF p_attr_code =('ORDERED_QUANTITY_UOM2') THEN
1107   IF NVL(p_record.ORDERED_QUANTITY_UOM2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1108   RETURN p_record.ORDERED_QUANTITY_UOM2;
1109   ELSE
1110   RETURN NULL; 
1111   END IF;
1112 ELSIF p_attr_code =('ORDER_FIRMED_DATE') THEN
1113   IF NVL(p_record.ORDER_FIRMED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1114   RETURN p_record.ORDER_FIRMED_DATE;
1115   ELSE
1116   RETURN NULL; 
1117   END IF;
1118 ELSIF p_attr_code =('ORDER_QUANTITY_UOM') THEN
1119   IF NVL(p_record.ORDER_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1120   RETURN p_record.ORDER_QUANTITY_UOM;
1121   ELSE
1122   RETURN NULL; 
1123   END IF;
1124 ELSIF p_attr_code =('ORG_ID') THEN
1125   IF NVL(p_record.ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1126   RETURN p_record.ORG_ID;
1127   ELSE
1128   RETURN NULL; 
1129   END IF;
1130 ELSIF p_attr_code =('ORIG_SYS_DOCUMENT_REF') THEN
1131   IF NVL(p_record.ORIG_SYS_DOCUMENT_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1132   RETURN p_record.ORIG_SYS_DOCUMENT_REF;
1133   ELSE
1134   RETURN NULL; 
1135   END IF;
1136 ELSIF p_attr_code =('ORIG_SYS_LINE_REF') THEN
1137   IF NVL(p_record.ORIG_SYS_LINE_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1138   RETURN p_record.ORIG_SYS_LINE_REF;
1139   ELSE
1140   RETURN NULL; 
1141   END IF;
1142 ELSIF p_attr_code =('OVER_SHIP_REASON_CODE') THEN
1143   IF NVL(p_record.OVER_SHIP_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1144   RETURN p_record.OVER_SHIP_REASON_CODE;
1145   ELSE
1146   RETURN NULL; 
1147   END IF;
1148 ELSIF p_attr_code =('OVER_SHIP_RESOLVED_FLAG') THEN
1149   IF NVL(p_record.OVER_SHIP_RESOLVED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1150   RETURN p_record.OVER_SHIP_RESOLVED_FLAG;
1151   ELSE
1152   RETURN NULL; 
1153   END IF;
1154 ELSIF p_attr_code =('PACKING_INSTRUCTIONS') THEN
1155   IF NVL(p_record.PACKING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1156   RETURN p_record.PACKING_INSTRUCTIONS;
1157   ELSE
1158   RETURN NULL; 
1159   END IF;
1160 ELSIF p_attr_code =('PARTY_TYPE') THEN
1161   IF NVL(p_record.PARTY_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1162   RETURN p_record.PARTY_TYPE;
1163   ELSE
1164   RETURN NULL; 
1165   END IF;
1166 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
1167   IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1168   RETURN p_record.PAYMENT_TERM_ID;
1169   ELSE
1170   RETURN NULL; 
1171   END IF;
1172 ELSIF p_attr_code =('PLANNING_PRIORITY') THEN
1173   IF NVL(p_record.PLANNING_PRIORITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1174   RETURN p_record.PLANNING_PRIORITY;
1175   ELSE
1176   RETURN NULL; 
1177   END IF;
1178 ELSIF p_attr_code =('PREFERRED_GRADE') THEN
1179   IF NVL(p_record.PREFERRED_GRADE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1180   RETURN p_record.PREFERRED_GRADE;
1181   ELSE
1182   RETURN NULL; 
1183   END IF;
1184 ELSIF p_attr_code =('PRICE_LIST_ID') THEN
1185   IF NVL(p_record.PRICE_LIST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1186   RETURN p_record.PRICE_LIST_ID;
1187   ELSE
1188   RETURN NULL; 
1189   END IF;
1190 ELSIF p_attr_code =('PRICING_ATTRIBUTE1') THEN
1191   IF NVL(p_record.PRICING_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1192   RETURN p_record.PRICING_ATTRIBUTE1;
1193   ELSE
1194   RETURN NULL; 
1195   END IF;
1196 ELSIF p_attr_code =('PRICING_ATTRIBUTE10') THEN
1197   IF NVL(p_record.PRICING_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1198   RETURN p_record.PRICING_ATTRIBUTE10;
1199   ELSE
1200   RETURN NULL; 
1201   END IF;
1202 ELSIF p_attr_code =('PRICING_ATTRIBUTE2') THEN
1203   IF NVL(p_record.PRICING_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1204   RETURN p_record.PRICING_ATTRIBUTE2;
1205   ELSE
1206   RETURN NULL; 
1207   END IF;
1208 ELSIF p_attr_code =('PRICING_ATTRIBUTE3') THEN
1209   IF NVL(p_record.PRICING_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1210   RETURN p_record.PRICING_ATTRIBUTE3;
1211   ELSE
1212   RETURN NULL; 
1213   END IF;
1214 ELSIF p_attr_code =('PRICING_ATTRIBUTE4') THEN
1215   IF NVL(p_record.PRICING_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1216   RETURN p_record.PRICING_ATTRIBUTE4;
1217   ELSE
1218   RETURN NULL; 
1219   END IF;
1220 ELSIF p_attr_code =('PRICING_ATTRIBUTE5') THEN
1221   IF NVL(p_record.PRICING_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1222   RETURN p_record.PRICING_ATTRIBUTE5;
1223   ELSE
1224   RETURN NULL; 
1225   END IF;
1226 ELSIF p_attr_code =('PRICING_ATTRIBUTE6') THEN
1227   IF NVL(p_record.PRICING_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1228   RETURN p_record.PRICING_ATTRIBUTE6;
1229   ELSE
1230   RETURN NULL; 
1231   END IF;
1232 ELSIF p_attr_code =('PRICING_ATTRIBUTE7') THEN
1233   IF NVL(p_record.PRICING_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1234   RETURN p_record.PRICING_ATTRIBUTE7;
1235   ELSE
1236   RETURN NULL; 
1237   END IF;
1238 ELSIF p_attr_code =('PRICING_ATTRIBUTE8') THEN
1239   IF NVL(p_record.PRICING_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1240   RETURN p_record.PRICING_ATTRIBUTE8;
1241   ELSE
1242   RETURN NULL; 
1243   END IF;
1244 ELSIF p_attr_code =('PRICING_ATTRIBUTE9') THEN
1245   IF NVL(p_record.PRICING_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1246   RETURN p_record.PRICING_ATTRIBUTE9;
1247   ELSE
1248   RETURN NULL; 
1249   END IF;
1250 ELSIF p_attr_code =('PRICING_CONTEXT') THEN
1251   IF NVL(p_record.PRICING_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1252   RETURN p_record.PRICING_CONTEXT;
1253   ELSE
1254   RETURN NULL; 
1255   END IF;
1256 ELSIF p_attr_code =('PRICING_DATE') THEN
1257   IF NVL(p_record.PRICING_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1258   RETURN p_record.PRICING_DATE;
1259   ELSE
1260   RETURN NULL; 
1261   END IF;
1262 ELSIF p_attr_code =('PRICING_QUANTITY') THEN
1263   IF NVL(p_record.PRICING_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1264   RETURN p_record.PRICING_QUANTITY;
1265   ELSE
1266   RETURN NULL; 
1267   END IF;
1268 ELSIF p_attr_code =('PRICING_QUANTITY_UOM') THEN
1269   IF NVL(p_record.PRICING_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1270   RETURN p_record.PRICING_QUANTITY_UOM;
1271   ELSE
1272   RETURN NULL; 
1273   END IF;
1274 ELSIF p_attr_code =('PROGRAM_APPLICATION_ID') THEN
1275   IF NVL(p_record.PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1276   RETURN p_record.PROGRAM_APPLICATION_ID;
1277   ELSE
1278   RETURN NULL; 
1279   END IF;
1280 ELSIF p_attr_code =('PROGRAM_ID') THEN
1281   IF NVL(p_record.PROGRAM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1282   RETURN p_record.PROGRAM_ID;
1283   ELSE
1284   RETURN NULL; 
1285   END IF;
1286 ELSIF p_attr_code =('PROGRAM_UPDATE_DATE') THEN
1287   IF NVL(p_record.PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1288   RETURN p_record.PROGRAM_UPDATE_DATE;
1289   ELSE
1290   RETURN NULL; 
1291   END IF;
1292 ELSIF p_attr_code =('PROJECT_ID') THEN
1293   IF NVL(p_record.PROJECT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1294   RETURN p_record.PROJECT_ID;
1295   ELSE
1296   RETURN NULL; 
1297   END IF;
1298 ELSIF p_attr_code =('PROMISE_DATE') THEN
1299   IF NVL(p_record.PROMISE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1300   RETURN p_record.PROMISE_DATE;
1301   ELSE
1302   RETURN NULL; 
1303   END IF;
1304 ELSIF p_attr_code =('REFERENCE_CUSTOMR_TRX_LINE_ID') THEN
1305   IF NVL(p_record.REFERENCE_CUSTOMER_TRX_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1306   RETURN p_record.REFERENCE_CUSTOMER_TRX_LINE_ID;
1307   ELSE
1308   RETURN NULL; 
1309   END IF;
1310 ELSIF p_attr_code =('REFERENCE_HEADER_ID') THEN
1311   IF NVL(p_record.REFERENCE_HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1312   RETURN p_record.REFERENCE_HEADER_ID;
1313   ELSE
1314   RETURN NULL; 
1315   END IF;
1316 ELSIF p_attr_code =('REFERENCE_LINE_ID') THEN
1317   IF NVL(p_record.REFERENCE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1318   RETURN p_record.REFERENCE_LINE_ID;
1319   ELSE
1320   RETURN NULL; 
1321   END IF;
1322 ELSIF p_attr_code =('REFERENCE_TYPE') THEN
1323   IF NVL(p_record.REFERENCE_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1324   RETURN p_record.REFERENCE_TYPE;
1325   ELSE
1326   RETURN NULL; 
1327   END IF;
1328 ELSIF p_attr_code =('REQUEST_DATE') THEN
1329   IF NVL(p_record.REQUEST_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1330   RETURN p_record.REQUEST_DATE;
1331   ELSE
1332   RETURN NULL; 
1333   END IF;
1334 ELSIF p_attr_code =('REQUEST_ID') THEN
1335   IF NVL(p_record.REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1336   RETURN p_record.REQUEST_ID;
1337   ELSE
1338   RETURN NULL; 
1339   END IF;
1340 ELSIF p_attr_code =('RESERVED_QUANTITY') THEN
1341   IF NVL(p_record.RESERVED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1342   RETURN p_record.RESERVED_QUANTITY;
1343   ELSE
1344   RETURN NULL; 
1345   END IF;
1346 ELSIF p_attr_code =('RETROBILL_REQUEST_ID') THEN
1347   IF NVL(p_record.RETROBILL_REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1348   RETURN p_record.RETROBILL_REQUEST_ID;
1349   ELSE
1350   RETURN NULL; 
1351   END IF;
1352 ELSIF p_attr_code =('RETURN_ATTRIBUTE1') THEN
1353   IF NVL(p_record.RETURN_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1354   RETURN p_record.RETURN_ATTRIBUTE1;
1355   ELSE
1356   RETURN NULL; 
1357   END IF;
1358 ELSIF p_attr_code =('RETURN_ATTRIBUTE10') THEN
1359   IF NVL(p_record.RETURN_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1360   RETURN p_record.RETURN_ATTRIBUTE10;
1361   ELSE
1362   RETURN NULL; 
1363   END IF;
1364 ELSIF p_attr_code =('RETURN_ATTRIBUTE11') THEN
1365   IF NVL(p_record.RETURN_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1366   RETURN p_record.RETURN_ATTRIBUTE11;
1367   ELSE
1368   RETURN NULL; 
1369   END IF;
1370 ELSIF p_attr_code =('RETURN_ATTRIBUTE12') THEN
1371   IF NVL(p_record.RETURN_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1372   RETURN p_record.RETURN_ATTRIBUTE12;
1373   ELSE
1374   RETURN NULL; 
1375   END IF;
1376 ELSIF p_attr_code =('RETURN_ATTRIBUTE13') THEN
1377   IF NVL(p_record.RETURN_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1378   RETURN p_record.RETURN_ATTRIBUTE13;
1379   ELSE
1380   RETURN NULL; 
1381   END IF;
1382 ELSIF p_attr_code =('RETURN_ATTRIBUTE14') THEN
1383   IF NVL(p_record.RETURN_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1384   RETURN p_record.RETURN_ATTRIBUTE14;
1385   ELSE
1386   RETURN NULL; 
1387   END IF;
1388 ELSIF p_attr_code =('RETURN_ATTRIBUTE15') THEN
1389   IF NVL(p_record.RETURN_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1390   RETURN p_record.RETURN_ATTRIBUTE15;
1391   ELSE
1392   RETURN NULL; 
1393   END IF;
1394 ELSIF p_attr_code =('RETURN_ATTRIBUTE2') THEN
1395   IF NVL(p_record.RETURN_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1396   RETURN p_record.RETURN_ATTRIBUTE2;
1397   ELSE
1398   RETURN NULL; 
1399   END IF;
1400 ELSIF p_attr_code =('RETURN_ATTRIBUTE3') THEN
1401   IF NVL(p_record.RETURN_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1402   RETURN p_record.RETURN_ATTRIBUTE3;
1403   ELSE
1404   RETURN NULL; 
1405   END IF;
1406 ELSIF p_attr_code =('RETURN_ATTRIBUTE4') THEN
1407   IF NVL(p_record.RETURN_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1408   RETURN p_record.RETURN_ATTRIBUTE4;
1409   ELSE
1410   RETURN NULL; 
1411   END IF;
1412 ELSIF p_attr_code =('RETURN_ATTRIBUTE5') THEN
1413   IF NVL(p_record.RETURN_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1414   RETURN p_record.RETURN_ATTRIBUTE5;
1415   ELSE
1416   RETURN NULL; 
1417   END IF;
1418 ELSIF p_attr_code =('RETURN_ATTRIBUTE6') THEN
1419   IF NVL(p_record.RETURN_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1420   RETURN p_record.RETURN_ATTRIBUTE6;
1421   ELSE
1422   RETURN NULL; 
1423   END IF;
1424 ELSIF p_attr_code =('RETURN_ATTRIBUTE7') THEN
1425   IF NVL(p_record.RETURN_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1426   RETURN p_record.RETURN_ATTRIBUTE7;
1427   ELSE
1428   RETURN NULL; 
1429   END IF;
1430 ELSIF p_attr_code =('RETURN_ATTRIBUTE8') THEN
1431   IF NVL(p_record.RETURN_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1432   RETURN p_record.RETURN_ATTRIBUTE8;
1433   ELSE
1434   RETURN NULL; 
1435   END IF;
1436 ELSIF p_attr_code =('RETURN_ATTRIBUTE9') THEN
1437   IF NVL(p_record.RETURN_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1438   RETURN p_record.RETURN_ATTRIBUTE9;
1439   ELSE
1440   RETURN NULL; 
1441   END IF;
1442 ELSIF p_attr_code =('RETURN_CONTEXT') THEN
1443   IF NVL(p_record.RETURN_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1444   RETURN p_record.RETURN_CONTEXT;
1445   ELSE
1446   RETURN NULL; 
1447   END IF;
1448 ELSIF p_attr_code =('RETURN_REASON_CODE') THEN
1449   IF NVL(p_record.RETURN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1450   RETURN p_record.RETURN_REASON_CODE;
1451   ELSE
1452   RETURN NULL; 
1453   END IF;
1454 ELSIF p_attr_code =('RETURN_STATUS') THEN
1455   IF NVL(p_record.RETURN_STATUS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1456   RETURN p_record.RETURN_STATUS;
1457   ELSE
1458   RETURN NULL; 
1459   END IF;
1460 ELSIF p_attr_code =('REVENUE_AMOUNT') THEN
1461   IF NVL(p_record.REVENUE_AMOUNT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1462   RETURN p_record.REVENUE_AMOUNT;
1463   ELSE
1464   RETURN NULL; 
1465   END IF;
1466 ELSIF p_attr_code =('REVREC_EXPIRATION_DAYS') THEN
1467   IF NVL(p_record.REVREC_EXPIRATION_DAYS, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1468   RETURN p_record.REVREC_EXPIRATION_DAYS;
1469   ELSE
1470   RETURN NULL; 
1471   END IF;
1472 ELSIF p_attr_code =('RLA_SCHEDULE_TYPE_CODE') THEN
1473   IF NVL(p_record.RLA_SCHEDULE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1474   RETURN p_record.RLA_SCHEDULE_TYPE_CODE;
1475   ELSE
1476   RETURN NULL; 
1477   END IF;
1478 ELSIF p_attr_code =('SALESREP_ID') THEN
1479   IF NVL(p_record.SALESREP_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1480   RETURN p_record.SALESREP_ID;
1481   ELSE
1482   RETURN NULL; 
1483   END IF;
1484 ELSIF p_attr_code =('SCHEDULE_ACTION_CODE') THEN
1485   IF NVL(p_record.SCHEDULE_ACTION_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1486   RETURN p_record.SCHEDULE_ACTION_CODE;
1487   ELSE
1488   RETURN NULL; 
1489   END IF;
1490 ELSIF p_attr_code =('SCHEDULE_ARRIVAL_DATE') THEN
1491   IF NVL(p_record.SCHEDULE_ARRIVAL_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1492   RETURN p_record.SCHEDULE_ARRIVAL_DATE;
1493   ELSE
1494   RETURN NULL; 
1495   END IF;
1496 ELSIF p_attr_code =('SCHEDULE_SHIP_DATE') THEN
1497   IF NVL(p_record.SCHEDULE_SHIP_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1498   RETURN p_record.SCHEDULE_SHIP_DATE;
1499   ELSE
1500   RETURN NULL; 
1501   END IF;
1502 ELSIF p_attr_code =('SCHEDULE_STATUS_CODE') THEN
1503   IF NVL(p_record.SCHEDULE_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1504   RETURN p_record.SCHEDULE_STATUS_CODE;
1505   ELSE
1506   RETURN NULL; 
1507   END IF;
1508 ELSIF p_attr_code =('SERVICE_COTERMINATE_FLAG') THEN
1509   IF NVL(p_record.SERVICE_COTERMINATE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1510   RETURN p_record.SERVICE_COTERMINATE_FLAG;
1511   ELSE
1512   RETURN NULL; 
1513   END IF;
1514 ELSIF p_attr_code =('SERVICE_DURATION') THEN
1515   IF NVL(p_record.SERVICE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1516   RETURN p_record.SERVICE_DURATION;
1517   ELSE
1518   RETURN NULL; 
1519   END IF;
1520 ELSIF p_attr_code =('SERVICE_END_DATE') THEN
1521   IF NVL(p_record.SERVICE_END_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1522   RETURN p_record.SERVICE_END_DATE;
1523   ELSE
1524   RETURN NULL; 
1525   END IF;
1526 ELSIF p_attr_code =('SERVICE_NUMBER') THEN
1527   IF NVL(p_record.SERVICE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1528   RETURN p_record.SERVICE_NUMBER;
1529   ELSE
1530   RETURN NULL; 
1531   END IF;
1532 ELSIF p_attr_code =('SERVICE_PERIOD') THEN
1533   IF NVL(p_record.SERVICE_PERIOD, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1534   RETURN p_record.SERVICE_PERIOD;
1535   ELSE
1536   RETURN NULL; 
1537   END IF;
1538 ELSIF p_attr_code =('SERVICE_REFERENCE_LINE_ID') THEN
1539   IF NVL(p_record.SERVICE_REFERENCE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1540   RETURN p_record.SERVICE_REFERENCE_LINE_ID;
1541   ELSE
1542   RETURN NULL; 
1543   END IF;
1544 ELSIF p_attr_code =('SERVICE_REFERENCE_SYSTEM_ID') THEN
1545   IF NVL(p_record.SERVICE_REFERENCE_SYSTEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1546   RETURN p_record.SERVICE_REFERENCE_SYSTEM_ID;
1547   ELSE
1548   RETURN NULL; 
1549   END IF;
1550 ELSIF p_attr_code =('SERVICE_REFERENCE_TYPE_CODE') THEN
1551   IF NVL(p_record.SERVICE_REFERENCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1552   RETURN p_record.SERVICE_REFERENCE_TYPE_CODE;
1553   ELSE
1554   RETURN NULL; 
1555   END IF;
1556 ELSIF p_attr_code =('SERVICE_START_DATE') THEN
1557   IF NVL(p_record.SERVICE_START_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1558   RETURN p_record.SERVICE_START_DATE;
1559   ELSE
1560   RETURN NULL; 
1561   END IF;
1562 ELSIF p_attr_code =('SERVICE_TXN_COMMENTS') THEN
1563   IF NVL(p_record.SERVICE_TXN_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1564   RETURN p_record.SERVICE_TXN_COMMENTS;
1565   ELSE
1566   RETURN NULL; 
1567   END IF;
1568 ELSIF p_attr_code =('SERVICE_TXN_REASON_CODE') THEN
1569   IF NVL(p_record.SERVICE_TXN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1570   RETURN p_record.SERVICE_TXN_REASON_CODE;
1571   ELSE
1572   RETURN NULL; 
1573   END IF;
1574 ELSIF p_attr_code =('SHIPMENT_NUMBER') THEN
1575   IF NVL(p_record.SHIPMENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1576   RETURN p_record.SHIPMENT_NUMBER;
1577   ELSE
1578   RETURN NULL; 
1579   END IF;
1580 ELSIF p_attr_code =('SHIPMENT_PRIORITY_CODE') THEN
1581   IF NVL(p_record.SHIPMENT_PRIORITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1582   RETURN p_record.SHIPMENT_PRIORITY_CODE;
1583   ELSE
1584   RETURN NULL; 
1585   END IF;
1586 ELSIF p_attr_code =('SHIPPED_QUANTITY') THEN
1587   IF NVL(p_record.SHIPPED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1588   RETURN p_record.SHIPPED_QUANTITY;
1589   ELSE
1590   RETURN NULL; 
1591   END IF;
1592 ELSIF p_attr_code =('SHIPPED_QUANTITY2') THEN
1593   IF NVL(p_record.SHIPPED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1594   RETURN p_record.SHIPPED_QUANTITY2;
1595   ELSE
1596   RETURN NULL; 
1597   END IF;
1598 ELSIF p_attr_code =('SHIPPING_INSTRUCTIONS') THEN
1599   IF NVL(p_record.SHIPPING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1600   RETURN p_record.SHIPPING_INSTRUCTIONS;
1601   ELSE
1602   RETURN NULL; 
1603   END IF;
1604 ELSIF p_attr_code =('SHIPPING_INTERFACED_FLAG') THEN
1605   IF NVL(p_record.SHIPPING_INTERFACED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1606   RETURN p_record.SHIPPING_INTERFACED_FLAG;
1607   ELSE
1608   RETURN NULL; 
1609   END IF;
1610 ELSIF p_attr_code =('SHIPPING_METHOD_CODE') THEN
1611   IF NVL(p_record.SHIPPING_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1612   RETURN p_record.SHIPPING_METHOD_CODE;
1613   ELSE
1614   RETURN NULL; 
1615   END IF;
1616 ELSIF p_attr_code =('SHIPPING_QUANTITY') THEN
1617   IF NVL(p_record.SHIPPING_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1618   RETURN p_record.SHIPPING_QUANTITY;
1619   ELSE
1620   RETURN NULL; 
1621   END IF;
1622 ELSIF p_attr_code =('SHIPPING_QUANTITY2') THEN
1623   IF NVL(p_record.SHIPPING_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1624   RETURN p_record.SHIPPING_QUANTITY2;
1625   ELSE
1626   RETURN NULL; 
1627   END IF;
1628 ELSIF p_attr_code =('SHIPPING_QUANTITY_UOM') THEN
1629   IF NVL(p_record.SHIPPING_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1630   RETURN p_record.SHIPPING_QUANTITY_UOM;
1631   ELSE
1632   RETURN NULL; 
1633   END IF;
1634 ELSIF p_attr_code =('SHIPPING_QUANTITY_UOM2') THEN
1635   IF NVL(p_record.SHIPPING_QUANTITY_UOM2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1636   RETURN p_record.SHIPPING_QUANTITY_UOM2;
1637   ELSE
1638   RETURN NULL; 
1639   END IF;
1640 ELSIF p_attr_code =('SHIP_FROM_ORG_ID') THEN
1641   IF NVL(p_record.SHIP_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1642   RETURN p_record.SHIP_FROM_ORG_ID;
1643   ELSE
1644   RETURN NULL; 
1645   END IF;
1646 ELSIF p_attr_code =('SHIP_MODEL_COMPLETE_FLAG') THEN
1647   IF NVL(p_record.SHIP_MODEL_COMPLETE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1648   RETURN p_record.SHIP_MODEL_COMPLETE_FLAG;
1649   ELSE
1650   RETURN NULL; 
1651   END IF;
1652 ELSIF p_attr_code =('SHIP_SET') THEN
1653   IF NVL(p_record.SHIP_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1654   RETURN p_record.SHIP_SET;
1655   ELSE
1656   RETURN NULL; 
1657   END IF;
1658 ELSIF p_attr_code =('SHIP_SET_ID') THEN
1659   IF NVL(p_record.SHIP_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1660   RETURN p_record.SHIP_SET_ID;
1661   ELSE
1662   RETURN NULL; 
1663   END IF;
1664 ELSIF p_attr_code =('SHIP_TOLERANCE_ABOVE') THEN
1665   IF NVL(p_record.SHIP_TOLERANCE_ABOVE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1666   RETURN p_record.SHIP_TOLERANCE_ABOVE;
1667   ELSE
1668   RETURN NULL; 
1669   END IF;
1670 ELSIF p_attr_code =('SHIP_TOLERANCE_BELOW') THEN
1671   IF NVL(p_record.SHIP_TOLERANCE_BELOW, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1672   RETURN p_record.SHIP_TOLERANCE_BELOW;
1673   ELSE
1674   RETURN NULL; 
1675   END IF;
1676 ELSIF p_attr_code =('SHIP_TO_CONTACT_ID') THEN
1677   IF NVL(p_record.SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1678   RETURN p_record.SHIP_TO_CONTACT_ID;
1679   ELSE
1680   RETURN NULL; 
1681   END IF;
1682 ELSIF p_attr_code =('SHIP_TO_ORG_ID') THEN
1683   IF NVL(p_record.SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1684   RETURN p_record.SHIP_TO_ORG_ID;
1685   ELSE
1686   RETURN NULL; 
1687   END IF;
1688 ELSIF p_attr_code =('SOLD_TO_ORG_ID') THEN
1689   IF NVL(p_record.SOLD_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1690   RETURN p_record.SOLD_TO_ORG_ID;
1691   ELSE
1692   RETURN NULL; 
1693   END IF;
1694 ELSIF p_attr_code =('SORT_ORDER') THEN
1695   IF NVL(p_record.SORT_ORDER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1696   RETURN p_record.SORT_ORDER;
1697   ELSE
1698   RETURN NULL; 
1699   END IF;
1700 ELSIF p_attr_code =('SOURCE_DOCUMENT_ID') THEN
1701   IF NVL(p_record.SOURCE_DOCUMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1702   RETURN p_record.SOURCE_DOCUMENT_ID;
1703   ELSE
1704   RETURN NULL; 
1705   END IF;
1706 ELSIF p_attr_code =('SOURCE_DOCUMENT_LINE_ID') THEN
1707   IF NVL(p_record.SOURCE_DOCUMENT_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1708   RETURN p_record.SOURCE_DOCUMENT_LINE_ID;
1709   ELSE
1710   RETURN NULL; 
1711   END IF;
1712 ELSIF p_attr_code =('SOURCE_DOCUMENT_TYPE_ID') THEN
1713   IF NVL(p_record.SOURCE_DOCUMENT_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1714   RETURN p_record.SOURCE_DOCUMENT_TYPE_ID;
1715   ELSE
1716   RETURN NULL; 
1717   END IF;
1718 ELSIF p_attr_code =('SOURCE_DOCUMENT_VERSION_NUMBER') THEN
1719   IF NVL(p_record.SOURCE_DOCUMENT_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1720   RETURN p_record.SOURCE_DOCUMENT_VERSION_NUMBER;
1721   ELSE
1722   RETURN NULL; 
1723   END IF;
1724 ELSIF p_attr_code =('SOURCE_TYPE_CODE') THEN
1725   IF NVL(p_record.SOURCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1726   RETURN p_record.SOURCE_TYPE_CODE;
1727   ELSE
1728   RETURN NULL; 
1729   END IF;
1730 ELSIF p_attr_code =('SPLIT_BY') THEN
1731   IF NVL(p_record.SPLIT_BY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1732   RETURN p_record.SPLIT_BY;
1733   ELSE
1734   RETURN NULL; 
1735   END IF;
1736 ELSIF p_attr_code =('SPLIT_FROM_LINE_ID') THEN
1737   IF NVL(p_record.SPLIT_FROM_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1738   RETURN p_record.SPLIT_FROM_LINE_ID;
1739   ELSE
1740   RETURN NULL; 
1741   END IF;
1742 ELSIF p_attr_code =('SUBINVENTORY') THEN
1743   IF NVL(p_record.SUBINVENTORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1744   RETURN p_record.SUBINVENTORY;
1745   ELSE
1746   RETURN NULL; 
1747   END IF;
1748 ELSIF p_attr_code =('TASK_ID') THEN
1749   IF NVL(p_record.TASK_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1750   RETURN p_record.TASK_ID;
1751   ELSE
1752   RETURN NULL; 
1753   END IF;
1754 ELSIF p_attr_code =('TAX_CODE') THEN
1755   IF NVL(p_record.TAX_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1756   RETURN p_record.TAX_CODE;
1757   ELSE
1758   RETURN NULL; 
1759   END IF;
1760 ELSIF p_attr_code =('TAX_DATE') THEN
1761   IF NVL(p_record.TAX_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1762   RETURN p_record.TAX_DATE;
1763   ELSE
1764   RETURN NULL; 
1765   END IF;
1766 ELSIF p_attr_code =('TAX_EXEMPT_FLAG') THEN
1767   IF NVL(p_record.TAX_EXEMPT_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1768   RETURN p_record.TAX_EXEMPT_FLAG;
1769   ELSE
1770   RETURN NULL; 
1771   END IF;
1772 ELSIF p_attr_code =('TAX_EXEMPT_NUMBER') THEN
1773   IF NVL(p_record.TAX_EXEMPT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1774   RETURN p_record.TAX_EXEMPT_NUMBER;
1775   ELSE
1776   RETURN NULL; 
1777   END IF;
1778 ELSIF p_attr_code =('TAX_EXEMPT_REASON_CODE') THEN
1779   IF NVL(p_record.TAX_EXEMPT_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1780   RETURN p_record.TAX_EXEMPT_REASON_CODE;
1781   ELSE
1782   RETURN NULL; 
1783   END IF;
1784 ELSIF p_attr_code =('TAX_POINT_CODE') THEN
1785   IF NVL(p_record.TAX_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1786   RETURN p_record.TAX_POINT_CODE;
1787   ELSE
1788   RETURN NULL; 
1789   END IF;
1790 ELSIF p_attr_code =('TAX_RATE') THEN
1791   IF NVL(p_record.TAX_RATE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1792   RETURN p_record.TAX_RATE;
1793   ELSE
1794   RETURN NULL; 
1795   END IF;
1796 ELSIF p_attr_code =('TAX_VALUE') THEN
1797   IF NVL(p_record.TAX_VALUE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1798   RETURN p_record.TAX_VALUE;
1799   ELSE
1800   RETURN NULL; 
1801   END IF;
1802 ELSIF p_attr_code =('TOP_MODEL_LINE_ID') THEN
1803   IF NVL(p_record.TOP_MODEL_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1804   RETURN p_record.TOP_MODEL_LINE_ID;
1805   ELSE
1806   RETURN NULL; 
1807   END IF;
1808 ELSIF p_attr_code =('TRANSACTION_PHASE_CODE') THEN
1809   IF NVL(p_record.TRANSACTION_PHASE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1810   RETURN p_record.TRANSACTION_PHASE_CODE;
1811   ELSE
1812   RETURN NULL; 
1813   END IF;
1814 ELSIF p_attr_code =('UNIT_LIST_PERCENT') THEN
1815   IF NVL(p_record.UNIT_LIST_PERCENT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1816   RETURN p_record.UNIT_LIST_PERCENT;
1817   ELSE
1818   RETURN NULL; 
1819   END IF;
1820 ELSIF p_attr_code =('UNIT_LIST_PRICE') THEN
1821   IF NVL(p_record.UNIT_LIST_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1822   RETURN p_record.UNIT_LIST_PRICE;
1823   ELSE
1824   RETURN NULL; 
1825   END IF;
1826 ELSIF p_attr_code =('UNIT_PERCENT_BASE_PRICE') THEN
1827   IF NVL(p_record.UNIT_PERCENT_BASE_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1828   RETURN p_record.UNIT_PERCENT_BASE_PRICE;
1829   ELSE
1830   RETURN NULL; 
1831   END IF;
1832 ELSIF p_attr_code =('UNIT_SELLING_PERCENT') THEN
1833   IF NVL(p_record.UNIT_SELLING_PERCENT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1834   RETURN p_record.UNIT_SELLING_PERCENT;
1835   ELSE
1836   RETURN NULL; 
1837   END IF;
1838 ELSIF p_attr_code =('UNIT_SELLING_PRICE') THEN
1839   IF NVL(p_record.UNIT_SELLING_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1840   RETURN p_record.UNIT_SELLING_PRICE;
1841   ELSE
1842   RETURN NULL; 
1843   END IF;
1844 ELSIF p_attr_code =('UPGRADED_FLAG') THEN
1845   IF NVL(p_record.UPGRADED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1846   RETURN p_record.UPGRADED_FLAG;
1847   ELSE
1848   RETURN NULL; 
1849   END IF;
1850 ELSIF p_attr_code =('USER_ITEM_DESCRIPTION') THEN
1851   IF NVL(p_record.USER_ITEM_DESCRIPTION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1852   RETURN p_record.USER_ITEM_DESCRIPTION;
1853   ELSE
1854   RETURN NULL; 
1855   END IF;
1856 ELSIF p_attr_code =('VEH_CUS_ITEM_CUM_KEY_ID') THEN
1857   IF NVL(p_record.VEH_CUS_ITEM_CUM_KEY_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
1858   RETURN p_record.VEH_CUS_ITEM_CUM_KEY_ID;
1859   ELSE
1860   RETURN NULL; 
1861   END IF;
1862 ELSIF p_attr_code =('VISIBLE_DEMAND_FLAG') THEN
1863   IF NVL(p_record.VISIBLE_DEMAND_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
1864   RETURN p_record.VISIBLE_DEMAND_FLAG;
1865   ELSE
1866   RETURN NULL; 
1867   END IF;
1868 ELSE
1869 RETURN NULL; 
1870 END IF;
1871 END  Get_Attr_Val_Varchar2;
1872  
1873  
1874 FUNCTION Get_Attr_Val_Date
1875 (   p_attr_code                     IN  VARCHAR2
1876 ,   p_record                        IN  OE_AK_ORDER_LINES_V%ROWTYPE 
1877 ) RETURN DATE
1878 IS
1879 BEGIN
1880  
1881 IF p_attr_code =('ACTUAL_ARRIVAL_DATE') THEN
1882     IF NVL(p_record.ACTUAL_ARRIVAL_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1883     RETURN p_record.ACTUAL_ARRIVAL_DATE;
1884     ELSE
1885     RETURN NULL; 
1886     END IF;
1887 ELSIF p_attr_code =('ACTUAL_FULFILLMENT_DATE') THEN
1888     IF NVL(p_record.ACTUAL_FULFILLMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1889     RETURN p_record.ACTUAL_FULFILLMENT_DATE;
1890     ELSE
1891     RETURN NULL; 
1892     END IF;
1893 ELSIF p_attr_code =('ACTUAL_SHIPMENT_DATE') THEN
1894     IF NVL(p_record.ACTUAL_SHIPMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1895     RETURN p_record.ACTUAL_SHIPMENT_DATE;
1896     ELSE
1897     RETURN NULL; 
1898     END IF;
1899 ELSIF p_attr_code =('CREATION_DATE') THEN
1900     IF NVL(p_record.CREATION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1901     RETURN p_record.CREATION_DATE;
1902     ELSE
1903     RETURN NULL; 
1904     END IF;
1905 ELSIF p_attr_code =('EARLIEST_ACCEPTABLE_DATE') THEN
1906     IF NVL(p_record.EARLIEST_ACCEPTABLE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1907     RETURN p_record.EARLIEST_ACCEPTABLE_DATE;
1908     ELSE
1909     RETURN NULL; 
1910     END IF;
1911 ELSIF p_attr_code =('EXPLOSION_DATE') THEN
1912     IF NVL(p_record.EXPLOSION_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1913     RETURN p_record.EXPLOSION_DATE;
1914     ELSE
1915     RETURN NULL; 
1916     END IF;
1917 ELSIF p_attr_code =('FIRST_ACK_DATE') THEN
1918     IF NVL(p_record.FIRST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1919     RETURN p_record.FIRST_ACK_DATE;
1920     ELSE
1921     RETURN NULL; 
1922     END IF;
1923 ELSIF p_attr_code =('FULFILLMENT_DATE') THEN
1924     IF NVL(p_record.FULFILLMENT_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1925     RETURN p_record.FULFILLMENT_DATE;
1926     ELSE
1927     RETURN NULL; 
1928     END IF;
1929 ELSIF p_attr_code =('LAST_ACK_DATE') THEN
1930     IF NVL(p_record.LAST_ACK_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1931     RETURN p_record.LAST_ACK_DATE;
1932     ELSE
1933     RETURN NULL; 
1934     END IF;
1935 ELSIF p_attr_code =('LAST_UPDATE_DATE') THEN
1936     IF NVL(p_record.LAST_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1937     RETURN p_record.LAST_UPDATE_DATE;
1938     ELSE
1939     RETURN NULL; 
1940     END IF;
1941 ELSIF p_attr_code =('LATEST_ACCEPTABLE_DATE') THEN
1942     IF NVL(p_record.LATEST_ACCEPTABLE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1943     RETURN p_record.LATEST_ACCEPTABLE_DATE;
1944     ELSE
1945     RETURN NULL; 
1946     END IF;
1947 ELSIF p_attr_code =('ORDER_FIRMED_DATE') THEN
1948     IF NVL(p_record.ORDER_FIRMED_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1949     RETURN p_record.ORDER_FIRMED_DATE;
1950     ELSE
1951     RETURN NULL; 
1952     END IF;
1953 ELSIF p_attr_code =('PRICING_DATE') THEN
1954     IF NVL(p_record.PRICING_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1955     RETURN p_record.PRICING_DATE;
1956     ELSE
1957     RETURN NULL; 
1958     END IF;
1959 ELSIF p_attr_code =('PROGRAM_UPDATE_DATE') THEN
1960     IF NVL(p_record.PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1961     RETURN p_record.PROGRAM_UPDATE_DATE;
1962     ELSE
1963     RETURN NULL; 
1964     END IF;
1965 ELSIF p_attr_code =('PROMISE_DATE') THEN
1966     IF NVL(p_record.PROMISE_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1967     RETURN p_record.PROMISE_DATE;
1968     ELSE
1969     RETURN NULL; 
1970     END IF;
1971 ELSIF p_attr_code =('REQUEST_DATE') THEN
1972     IF NVL(p_record.REQUEST_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1973     RETURN p_record.REQUEST_DATE;
1974     ELSE
1975     RETURN NULL; 
1976     END IF;
1977 ELSIF p_attr_code =('SCHEDULE_ARRIVAL_DATE') THEN
1978     IF NVL(p_record.SCHEDULE_ARRIVAL_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1979     RETURN p_record.SCHEDULE_ARRIVAL_DATE;
1980     ELSE
1981     RETURN NULL; 
1982     END IF;
1983 ELSIF p_attr_code =('SCHEDULE_SHIP_DATE') THEN
1984     IF NVL(p_record.SCHEDULE_SHIP_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1985     RETURN p_record.SCHEDULE_SHIP_DATE;
1986     ELSE
1987     RETURN NULL; 
1988     END IF;
1989 ELSIF p_attr_code =('SERVICE_END_DATE') THEN
1990     IF NVL(p_record.SERVICE_END_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1991     RETURN p_record.SERVICE_END_DATE;
1992     ELSE
1993     RETURN NULL; 
1994     END IF;
1995 ELSIF p_attr_code =('SERVICE_START_DATE') THEN
1996     IF NVL(p_record.SERVICE_START_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
1997     RETURN p_record.SERVICE_START_DATE;
1998     ELSE
1999     RETURN NULL; 
2000     END IF;
2001 ELSIF p_attr_code =('TAX_DATE') THEN
2002     IF NVL(p_record.TAX_DATE, FND_API.G_MISS_DATE) <> FND_API.G_MISS_DATE THEN
2003     RETURN p_record.TAX_DATE;
2004     ELSE
2005     RETURN NULL; 
2006     END IF;
2007 ELSIF p_attr_code =('ACCOUNTING_RULE_DURATION') THEN
2008     IF NVL(p_record.ACCOUNTING_RULE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2009     RETURN to_date(p_record.ACCOUNTING_RULE_DURATION,'RRRR/MM/DD HH24:MI:SS');
2010     ELSE
2011     RETURN NULL; 
2012     END IF;
2013 ELSIF p_attr_code =('ACCOUNTING_RULE_ID') THEN
2014     IF NVL(p_record.ACCOUNTING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2015     RETURN to_date(p_record.ACCOUNTING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
2016     ELSE
2017     RETURN NULL; 
2018     END IF;
2019 ELSIF p_attr_code =('AGREEMENT_ID') THEN
2020     IF NVL(p_record.AGREEMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2021     RETURN to_date(p_record.AGREEMENT_ID,'RRRR/MM/DD HH24:MI:SS');
2022     ELSE
2023     RETURN NULL; 
2024     END IF;
2025 ELSIF p_attr_code =('ARRIVAL_SET') THEN
2026     IF NVL(p_record.ARRIVAL_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2027     RETURN to_date(p_record.ARRIVAL_SET,'RRRR/MM/DD HH24:MI:SS');
2028     ELSE
2029     RETURN NULL; 
2030     END IF;
2031 ELSIF p_attr_code =('ARRIVAL_SET_ID') THEN
2032     IF NVL(p_record.ARRIVAL_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2033     RETURN to_date(p_record.ARRIVAL_SET_ID,'RRRR/MM/DD HH24:MI:SS');
2034     ELSE
2035     RETURN NULL; 
2036     END IF;
2037 ELSIF p_attr_code =('ATO_LINE_ID') THEN
2038     IF NVL(p_record.ATO_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2039     RETURN to_date(p_record.ATO_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
2040     ELSE
2041     RETURN NULL; 
2042     END IF;
2043 ELSIF p_attr_code =('ATTRIBUTE1') THEN
2044     IF NVL(p_record.ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2045     RETURN to_date(p_record.ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
2046     ELSE
2047     RETURN NULL; 
2048     END IF;
2049 ELSIF p_attr_code =('ATTRIBUTE10') THEN
2050     IF NVL(p_record.ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2051     RETURN to_date(p_record.ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
2052     ELSE
2053     RETURN NULL; 
2054     END IF;
2055 ELSIF p_attr_code =('ATTRIBUTE11') THEN
2056     IF NVL(p_record.ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2057     RETURN to_date(p_record.ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
2058     ELSE
2059     RETURN NULL; 
2060     END IF;
2061 ELSIF p_attr_code =('ATTRIBUTE12') THEN
2062     IF NVL(p_record.ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2063     RETURN to_date(p_record.ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
2064     ELSE
2065     RETURN NULL; 
2066     END IF;
2067 ELSIF p_attr_code =('ATTRIBUTE13') THEN
2068     IF NVL(p_record.ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2069     RETURN to_date(p_record.ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
2070     ELSE
2071     RETURN NULL; 
2072     END IF;
2073 ELSIF p_attr_code =('ATTRIBUTE14') THEN
2074     IF NVL(p_record.ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2075     RETURN to_date(p_record.ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
2076     ELSE
2077     RETURN NULL; 
2078     END IF;
2079 ELSIF p_attr_code =('ATTRIBUTE15') THEN
2080     IF NVL(p_record.ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2081     RETURN to_date(p_record.ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
2082     ELSE
2083     RETURN NULL; 
2084     END IF;
2085 ELSIF p_attr_code =('ATTRIBUTE16') THEN
2086     IF NVL(p_record.ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2087     RETURN to_date(p_record.ATTRIBUTE16,'RRRR/MM/DD HH24:MI:SS');
2088     ELSE
2089     RETURN NULL; 
2090     END IF;
2091 ELSIF p_attr_code =('ATTRIBUTE17') THEN
2092     IF NVL(p_record.ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2093     RETURN to_date(p_record.ATTRIBUTE17,'RRRR/MM/DD HH24:MI:SS');
2094     ELSE
2095     RETURN NULL; 
2096     END IF;
2097 ELSIF p_attr_code =('ATTRIBUTE18') THEN
2098     IF NVL(p_record.ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2099     RETURN to_date(p_record.ATTRIBUTE18,'RRRR/MM/DD HH24:MI:SS');
2100     ELSE
2101     RETURN NULL; 
2102     END IF;
2103 ELSIF p_attr_code =('ATTRIBUTE19') THEN
2104     IF NVL(p_record.ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2105     RETURN to_date(p_record.ATTRIBUTE19,'RRRR/MM/DD HH24:MI:SS');
2106     ELSE
2107     RETURN NULL; 
2108     END IF;
2109 ELSIF p_attr_code =('ATTRIBUTE2') THEN
2110     IF NVL(p_record.ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2111     RETURN to_date(p_record.ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
2112     ELSE
2113     RETURN NULL; 
2114     END IF;
2115 ELSIF p_attr_code =('ATTRIBUTE20') THEN
2116     IF NVL(p_record.ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2117     RETURN to_date(p_record.ATTRIBUTE20,'RRRR/MM/DD HH24:MI:SS');
2118     ELSE
2119     RETURN NULL; 
2120     END IF;
2121 ELSIF p_attr_code =('ATTRIBUTE3') THEN
2122     IF NVL(p_record.ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2123     RETURN to_date(p_record.ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
2124     ELSE
2125     RETURN NULL; 
2126     END IF;
2127 ELSIF p_attr_code =('ATTRIBUTE4') THEN
2128     IF NVL(p_record.ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2129     RETURN to_date(p_record.ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
2130     ELSE
2131     RETURN NULL; 
2132     END IF;
2133 ELSIF p_attr_code =('ATTRIBUTE5') THEN
2134     IF NVL(p_record.ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2135     RETURN to_date(p_record.ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
2136     ELSE
2137     RETURN NULL; 
2138     END IF;
2139 ELSIF p_attr_code =('ATTRIBUTE6') THEN
2140     IF NVL(p_record.ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2141     RETURN to_date(p_record.ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
2142     ELSE
2143     RETURN NULL; 
2144     END IF;
2145 ELSIF p_attr_code =('ATTRIBUTE7') THEN
2146     IF NVL(p_record.ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2147     RETURN to_date(p_record.ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
2148     ELSE
2149     RETURN NULL; 
2150     END IF;
2151 ELSIF p_attr_code =('ATTRIBUTE8') THEN
2152     IF NVL(p_record.ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2153     RETURN to_date(p_record.ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
2154     ELSE
2155     RETURN NULL; 
2156     END IF;
2157 ELSIF p_attr_code =('ATTRIBUTE9') THEN
2158     IF NVL(p_record.ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2159     RETURN to_date(p_record.ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
2160     ELSE
2161     RETURN NULL; 
2162     END IF;
2163 ELSIF p_attr_code =('AUTHORIZED_TO_SHIP_FLAG') THEN
2164     IF NVL(p_record.AUTHORIZED_TO_SHIP_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2165     RETURN to_date(p_record.AUTHORIZED_TO_SHIP_FLAG,'RRRR/MM/DD HH24:MI:SS');
2166     ELSE
2167     RETURN NULL; 
2168     END IF;
2169 ELSIF p_attr_code =('AUTO_SELECTED_QUANTITY') THEN
2170     IF NVL(p_record.AUTO_SELECTED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2171     RETURN to_date(p_record.AUTO_SELECTED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
2172     ELSE
2173     RETURN NULL; 
2174     END IF;
2175 ELSIF p_attr_code =('BLANKET_LINE_NUMBER') THEN
2176     IF NVL(p_record.BLANKET_LINE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2177     RETURN to_date(p_record.BLANKET_LINE_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2178     ELSE
2179     RETURN NULL; 
2180     END IF;
2181 ELSIF p_attr_code =('BLANKET_NUMBER') THEN
2182     IF NVL(p_record.BLANKET_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2183     RETURN to_date(p_record.BLANKET_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2184     ELSE
2185     RETURN NULL; 
2186     END IF;
2187 ELSIF p_attr_code =('BLANKET_VERSION_NUMBER') THEN
2188     IF NVL(p_record.BLANKET_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2189     RETURN to_date(p_record.BLANKET_VERSION_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2190     ELSE
2191     RETURN NULL; 
2192     END IF;
2193 ELSIF p_attr_code =('BOOKED_FLAG') THEN
2194     IF NVL(p_record.BOOKED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2195     RETURN to_date(p_record.BOOKED_FLAG,'RRRR/MM/DD HH24:MI:SS');
2196     ELSE
2197     RETURN NULL; 
2198     END IF;
2199 ELSIF p_attr_code =('CALCULATE_PRICE_FLAG') THEN
2200     IF NVL(p_record.CALCULATE_PRICE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2201     RETURN to_date(p_record.CALCULATE_PRICE_FLAG,'RRRR/MM/DD HH24:MI:SS');
2202     ELSE
2203     RETURN NULL; 
2204     END IF;
2205 ELSIF p_attr_code =('CANCELLED_FLAG') THEN
2206     IF NVL(p_record.CANCELLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2207     RETURN to_date(p_record.CANCELLED_FLAG,'RRRR/MM/DD HH24:MI:SS');
2208     ELSE
2209     RETURN NULL; 
2210     END IF;
2211 ELSIF p_attr_code =('CANCELLED_QUANTITY') THEN
2212     IF NVL(p_record.CANCELLED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2213     RETURN to_date(p_record.CANCELLED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
2214     ELSE
2215     RETURN NULL; 
2216     END IF;
2217 ELSIF p_attr_code =('CANCELLED_QUANTITY2') THEN
2218     IF NVL(p_record.CANCELLED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2219     RETURN to_date(p_record.CANCELLED_QUANTITY2,'RRRR/MM/DD HH24:MI:SS');
2220     ELSE
2221     RETURN NULL; 
2222     END IF;
2223 ELSIF p_attr_code =('CHANGE_COMMENTS') THEN
2224     IF NVL(p_record.CHANGE_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2225     RETURN to_date(p_record.CHANGE_COMMENTS,'RRRR/MM/DD HH24:MI:SS');
2226     ELSE
2227     RETURN NULL; 
2228     END IF;
2229 ELSIF p_attr_code =('CHANGE_REASON') THEN
2230     IF NVL(p_record.CHANGE_REASON, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2231     RETURN to_date(p_record.CHANGE_REASON,'RRRR/MM/DD HH24:MI:SS');
2232     ELSE
2233     RETURN NULL; 
2234     END IF;
2235 ELSIF p_attr_code =('CHARGE_PERIODICITY_CODE') THEN
2236     IF NVL(p_record.CHARGE_PERIODICITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2237     RETURN to_date(p_record.CHARGE_PERIODICITY_CODE,'RRRR/MM/DD HH24:MI:SS');
2238     ELSE
2239     RETURN NULL; 
2240     END IF;
2241 ELSIF p_attr_code =('COMMITMENT_ID') THEN
2242     IF NVL(p_record.COMMITMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2243     RETURN to_date(p_record.COMMITMENT_ID,'RRRR/MM/DD HH24:MI:SS');
2244     ELSE
2245     RETURN NULL; 
2246     END IF;
2247 ELSIF p_attr_code =('COMPONENT_CODE') THEN
2248     IF NVL(p_record.COMPONENT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2249     RETURN to_date(p_record.COMPONENT_CODE,'RRRR/MM/DD HH24:MI:SS');
2250     ELSE
2251     RETURN NULL; 
2252     END IF;
2253 ELSIF p_attr_code =('COMPONENT_NUMBER') THEN
2254     IF NVL(p_record.COMPONENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2255     RETURN to_date(p_record.COMPONENT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2256     ELSE
2257     RETURN NULL; 
2258     END IF;
2259 ELSIF p_attr_code =('COMPONENT_SEQUENCE_ID') THEN
2260     IF NVL(p_record.COMPONENT_SEQUENCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2261     RETURN to_date(p_record.COMPONENT_SEQUENCE_ID,'RRRR/MM/DD HH24:MI:SS');
2262     ELSE
2263     RETURN NULL; 
2264     END IF;
2265 ELSIF p_attr_code =('CONFIGURATION_ID') THEN
2266     IF NVL(p_record.CONFIGURATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2267     RETURN to_date(p_record.CONFIGURATION_ID,'RRRR/MM/DD HH24:MI:SS');
2268     ELSE
2269     RETURN NULL; 
2270     END IF;
2271 ELSIF p_attr_code =('CONFIG_DISPLAY_SEQUENCE') THEN
2272     IF NVL(p_record.CONFIG_DISPLAY_SEQUENCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2273     RETURN to_date(p_record.CONFIG_DISPLAY_SEQUENCE,'RRRR/MM/DD HH24:MI:SS');
2274     ELSE
2275     RETURN NULL; 
2276     END IF;
2277 ELSIF p_attr_code =('CONFIG_HEADER_ID') THEN
2278     IF NVL(p_record.CONFIG_HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2279     RETURN to_date(p_record.CONFIG_HEADER_ID,'RRRR/MM/DD HH24:MI:SS');
2280     ELSE
2281     RETURN NULL; 
2282     END IF;
2283 ELSIF p_attr_code =('CONFIG_REV_NBR') THEN
2284     IF NVL(p_record.CONFIG_REV_NBR, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2285     RETURN to_date(p_record.CONFIG_REV_NBR,'RRRR/MM/DD HH24:MI:SS');
2286     ELSE
2287     RETURN NULL; 
2288     END IF;
2289 ELSIF p_attr_code =('CONTEXT') THEN
2290     IF NVL(p_record.CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2291     RETURN to_date(p_record.CONTEXT,'RRRR/MM/DD HH24:MI:SS');
2292     ELSE
2293     RETURN NULL; 
2294     END IF;
2295 ELSIF p_attr_code =('CONTINGENCY_ID') THEN
2296     IF NVL(p_record.CONTINGENCY_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2297     RETURN to_date(p_record.CONTINGENCY_ID,'RRRR/MM/DD HH24:MI:SS');
2298     ELSE
2299     RETURN NULL; 
2300     END IF;
2301 ELSIF p_attr_code =('CREATED_BY') THEN
2302     IF NVL(p_record.CREATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2303     RETURN to_date(p_record.CREATED_BY,'RRRR/MM/DD HH24:MI:SS');
2304     ELSE
2305     RETURN NULL; 
2306     END IF;
2307 ELSIF p_attr_code =('CREDIT_INVOICE_LINE_ID') THEN
2308     IF NVL(p_record.CREDIT_INVOICE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2309     RETURN to_date(p_record.CREDIT_INVOICE_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
2310     ELSE
2311     RETURN NULL; 
2312     END IF;
2313 ELSIF p_attr_code =('CUSTOMER_DOCK_CODE') THEN
2314     IF NVL(p_record.CUSTOMER_DOCK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2315     RETURN to_date(p_record.CUSTOMER_DOCK_CODE,'RRRR/MM/DD HH24:MI:SS');
2316     ELSE
2317     RETURN NULL; 
2318     END IF;
2319 ELSIF p_attr_code =('CUSTOMER_JOB') THEN
2320     IF NVL(p_record.CUSTOMER_JOB, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2321     RETURN to_date(p_record.CUSTOMER_JOB,'RRRR/MM/DD HH24:MI:SS');
2322     ELSE
2323     RETURN NULL; 
2324     END IF;
2325 ELSIF p_attr_code =('CUSTOMER_LINE_NUMBER') THEN
2326     IF NVL(p_record.CUSTOMER_LINE_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2327     RETURN to_date(p_record.CUSTOMER_LINE_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2328     ELSE
2329     RETURN NULL; 
2330     END IF;
2331 ELSIF p_attr_code =('CUSTOMER_PRODUCTION_LINE') THEN
2332     IF NVL(p_record.CUSTOMER_PRODUCTION_LINE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2333     RETURN to_date(p_record.CUSTOMER_PRODUCTION_LINE,'RRRR/MM/DD HH24:MI:SS');
2334     ELSE
2335     RETURN NULL; 
2336     END IF;
2337 ELSIF p_attr_code =('CUSTOMER_SHIPMENT_NUMBER') THEN
2338     IF NVL(p_record.CUSTOMER_SHIPMENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2339     RETURN to_date(p_record.CUSTOMER_SHIPMENT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2340     ELSE
2341     RETURN NULL; 
2342     END IF;
2343 ELSIF p_attr_code =('CUSTOMER_TRX_LINE_ID') THEN
2344     IF NVL(p_record.CUSTOMER_TRX_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2345     RETURN to_date(p_record.CUSTOMER_TRX_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
2346     ELSE
2347     RETURN NULL; 
2348     END IF;
2349 ELSIF p_attr_code =('CUST_MODEL_SERIAL_NUMBER') THEN
2350     IF NVL(p_record.CUST_MODEL_SERIAL_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2351     RETURN to_date(p_record.CUST_MODEL_SERIAL_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2352     ELSE
2353     RETURN NULL; 
2354     END IF;
2355 ELSIF p_attr_code =('CUST_PO_NUMBER') THEN
2356     IF NVL(p_record.CUST_PO_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2357     RETURN to_date(p_record.CUST_PO_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2358     ELSE
2359     RETURN NULL; 
2360     END IF;
2361 ELSIF p_attr_code =('CUST_PRODUCTION_SEQ_NUM') THEN
2362     IF NVL(p_record.CUST_PRODUCTION_SEQ_NUM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2363     RETURN to_date(p_record.CUST_PRODUCTION_SEQ_NUM,'RRRR/MM/DD HH24:MI:SS');
2364     ELSE
2365     RETURN NULL; 
2366     END IF;
2367 ELSIF p_attr_code =('DB_FLAG') THEN
2368     IF NVL(p_record.DB_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2369     RETURN to_date(p_record.DB_FLAG,'RRRR/MM/DD HH24:MI:SS');
2370     ELSE
2371     RETURN NULL; 
2372     END IF;
2373 ELSIF p_attr_code =('DELIVERY_LEAD_TIME') THEN
2374     IF NVL(p_record.DELIVERY_LEAD_TIME, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2375     RETURN to_date(p_record.DELIVERY_LEAD_TIME,'RRRR/MM/DD HH24:MI:SS');
2376     ELSE
2377     RETURN NULL; 
2378     END IF;
2379 ELSIF p_attr_code =('DELIVER_TO_CONTACT_ID') THEN
2380     IF NVL(p_record.DELIVER_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2381     RETURN to_date(p_record.DELIVER_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
2382     ELSE
2383     RETURN NULL; 
2384     END IF;
2385 ELSIF p_attr_code =('DELIVER_TO_ORG_ID') THEN
2386     IF NVL(p_record.DELIVER_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2387     RETURN to_date(p_record.DELIVER_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
2388     ELSE
2389     RETURN NULL; 
2390     END IF;
2391 ELSIF p_attr_code =('DEMAND_BUCKET_TYPE_CODE') THEN
2392     IF NVL(p_record.DEMAND_BUCKET_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2393     RETURN to_date(p_record.DEMAND_BUCKET_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
2394     ELSE
2395     RETURN NULL; 
2396     END IF;
2397 ELSIF p_attr_code =('DEMAND_CLASS_CODE') THEN
2398     IF NVL(p_record.DEMAND_CLASS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2399     RETURN to_date(p_record.DEMAND_CLASS_CODE,'RRRR/MM/DD HH24:MI:SS');
2400     ELSE
2401     RETURN NULL; 
2402     END IF;
2403 ELSIF p_attr_code =('DEP_PLAN_REQUIRED_FLAG') THEN
2404     IF NVL(p_record.DEP_PLAN_REQUIRED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2405     RETURN to_date(p_record.DEP_PLAN_REQUIRED_FLAG,'RRRR/MM/DD HH24:MI:SS');
2406     ELSE
2407     RETURN NULL; 
2408     END IF;
2409 ELSIF p_attr_code =('END_CUSTOMER_CONTACT_ID') THEN
2410     IF NVL(p_record.END_CUSTOMER_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2411     RETURN to_date(p_record.END_CUSTOMER_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
2412     ELSE
2413     RETURN NULL; 
2414     END IF;
2415 ELSIF p_attr_code =('END_CUSTOMER_ID') THEN
2416     IF NVL(p_record.END_CUSTOMER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2417     RETURN to_date(p_record.END_CUSTOMER_ID,'RRRR/MM/DD HH24:MI:SS');
2418     ELSE
2419     RETURN NULL; 
2420     END IF;
2421 ELSIF p_attr_code =('END_CUSTOMER_SITE_USE_ID') THEN
2422     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2423     RETURN to_date(p_record.END_CUSTOMER_SITE_USE_ID,'RRRR/MM/DD HH24:MI:SS');
2424     ELSE
2425     RETURN NULL; 
2426     END IF;
2427 ELSIF p_attr_code =('END_ITEM_UNIT_NUMBER') THEN
2428     IF NVL(p_record.END_ITEM_UNIT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2429     RETURN to_date(p_record.END_ITEM_UNIT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2430     ELSE
2431     RETURN NULL; 
2432     END IF;
2433 ELSIF p_attr_code =('FIRST_ACK_CODE') THEN
2434     IF NVL(p_record.FIRST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2435     RETURN to_date(p_record.FIRST_ACK_CODE,'RRRR/MM/DD HH24:MI:SS');
2436     ELSE
2437     RETURN NULL; 
2438     END IF;
2439 ELSIF p_attr_code =('FOB_POINT_CODE') THEN
2440     IF NVL(p_record.FOB_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2441     RETURN to_date(p_record.FOB_POINT_CODE,'RRRR/MM/DD HH24:MI:SS');
2442     ELSE
2443     RETURN NULL; 
2444     END IF;
2445 ELSIF p_attr_code =('FREIGHT_CARRIER_CODE') THEN
2446     IF NVL(p_record.FREIGHT_CARRIER_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2447     RETURN to_date(p_record.FREIGHT_CARRIER_CODE,'RRRR/MM/DD HH24:MI:SS');
2448     ELSE
2449     RETURN NULL; 
2450     END IF;
2451 ELSIF p_attr_code =('FREIGHT_TERMS_CODE') THEN
2452     IF NVL(p_record.FREIGHT_TERMS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2453     RETURN to_date(p_record.FREIGHT_TERMS_CODE,'RRRR/MM/DD HH24:MI:SS');
2454     ELSE
2455     RETURN NULL; 
2456     END IF;
2457 ELSIF p_attr_code =('FULFILLED_FLAG') THEN
2458     IF NVL(p_record.FULFILLED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2459     RETURN to_date(p_record.FULFILLED_FLAG,'RRRR/MM/DD HH24:MI:SS');
2460     ELSE
2461     RETURN NULL; 
2462     END IF;
2463 ELSIF p_attr_code =('FULFILLED_QUANTITY') THEN
2464     IF NVL(p_record.FULFILLED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2465     RETURN to_date(p_record.FULFILLED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
2466     ELSE
2467     RETURN NULL; 
2468     END IF;
2469 ELSIF p_attr_code =('FULFILLED_QUANTITY2') THEN
2470     IF NVL(p_record.FULFILLED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2471     RETURN to_date(p_record.FULFILLED_QUANTITY2,'RRRR/MM/DD HH24:MI:SS');
2472     ELSE
2473     RETURN NULL; 
2474     END IF;
2475 ELSIF p_attr_code =('FULFILLMENT_METHOD_CODE') THEN
2476     IF NVL(p_record.FULFILLMENT_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2477     RETURN to_date(p_record.FULFILLMENT_METHOD_CODE,'RRRR/MM/DD HH24:MI:SS');
2478     ELSE
2479     RETURN NULL; 
2480     END IF;
2481 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE1') THEN
2482     IF NVL(p_record.GLOBAL_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2483     RETURN to_date(p_record.GLOBAL_ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
2484     ELSE
2485     RETURN NULL; 
2486     END IF;
2487 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE10') THEN
2488     IF NVL(p_record.GLOBAL_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2489     RETURN to_date(p_record.GLOBAL_ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
2490     ELSE
2491     RETURN NULL; 
2492     END IF;
2493 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE11') THEN
2494     IF NVL(p_record.GLOBAL_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2495     RETURN to_date(p_record.GLOBAL_ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
2496     ELSE
2497     RETURN NULL; 
2498     END IF;
2499 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE12') THEN
2500     IF NVL(p_record.GLOBAL_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2501     RETURN to_date(p_record.GLOBAL_ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
2502     ELSE
2503     RETURN NULL; 
2504     END IF;
2505 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE13') THEN
2506     IF NVL(p_record.GLOBAL_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2507     RETURN to_date(p_record.GLOBAL_ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
2508     ELSE
2509     RETURN NULL; 
2510     END IF;
2511 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE14') THEN
2512     IF NVL(p_record.GLOBAL_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2513     RETURN to_date(p_record.GLOBAL_ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
2514     ELSE
2515     RETURN NULL; 
2516     END IF;
2517 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE15') THEN
2518     IF NVL(p_record.GLOBAL_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2519     RETURN to_date(p_record.GLOBAL_ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
2520     ELSE
2521     RETURN NULL; 
2522     END IF;
2523 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE16') THEN
2524     IF NVL(p_record.GLOBAL_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2525     RETURN to_date(p_record.GLOBAL_ATTRIBUTE16,'RRRR/MM/DD HH24:MI:SS');
2526     ELSE
2527     RETURN NULL; 
2528     END IF;
2529 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE17') THEN
2530     IF NVL(p_record.GLOBAL_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2531     RETURN to_date(p_record.GLOBAL_ATTRIBUTE17,'RRRR/MM/DD HH24:MI:SS');
2532     ELSE
2533     RETURN NULL; 
2534     END IF;
2535 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE18') THEN
2536     IF NVL(p_record.GLOBAL_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2537     RETURN to_date(p_record.GLOBAL_ATTRIBUTE18,'RRRR/MM/DD HH24:MI:SS');
2538     ELSE
2539     RETURN NULL; 
2540     END IF;
2541 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE19') THEN
2542     IF NVL(p_record.GLOBAL_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2543     RETURN to_date(p_record.GLOBAL_ATTRIBUTE19,'RRRR/MM/DD HH24:MI:SS');
2544     ELSE
2545     RETURN NULL; 
2546     END IF;
2547 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE2') THEN
2548     IF NVL(p_record.GLOBAL_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2549     RETURN to_date(p_record.GLOBAL_ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
2550     ELSE
2551     RETURN NULL; 
2552     END IF;
2553 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE20') THEN
2554     IF NVL(p_record.GLOBAL_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2555     RETURN to_date(p_record.GLOBAL_ATTRIBUTE20,'RRRR/MM/DD HH24:MI:SS');
2556     ELSE
2557     RETURN NULL; 
2558     END IF;
2559 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE3') THEN
2560     IF NVL(p_record.GLOBAL_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2561     RETURN to_date(p_record.GLOBAL_ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
2562     ELSE
2563     RETURN NULL; 
2564     END IF;
2565 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE4') THEN
2566     IF NVL(p_record.GLOBAL_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2567     RETURN to_date(p_record.GLOBAL_ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
2568     ELSE
2569     RETURN NULL; 
2570     END IF;
2571 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE5') THEN
2572     IF NVL(p_record.GLOBAL_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2573     RETURN to_date(p_record.GLOBAL_ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
2574     ELSE
2575     RETURN NULL; 
2576     END IF;
2577 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE6') THEN
2578     IF NVL(p_record.GLOBAL_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2579     RETURN to_date(p_record.GLOBAL_ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
2580     ELSE
2581     RETURN NULL; 
2582     END IF;
2583 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE7') THEN
2584     IF NVL(p_record.GLOBAL_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2585     RETURN to_date(p_record.GLOBAL_ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
2586     ELSE
2587     RETURN NULL; 
2588     END IF;
2589 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE8') THEN
2590     IF NVL(p_record.GLOBAL_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2591     RETURN to_date(p_record.GLOBAL_ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
2592     ELSE
2593     RETURN NULL; 
2594     END IF;
2595 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE9') THEN
2596     IF NVL(p_record.GLOBAL_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2597     RETURN to_date(p_record.GLOBAL_ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
2598     ELSE
2599     RETURN NULL; 
2600     END IF;
2601 ELSIF p_attr_code =('GLOBAL_ATTRIBUTE_CATEGORY') THEN
2602     IF NVL(p_record.GLOBAL_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2603     RETURN to_date(p_record.GLOBAL_ATTRIBUTE_CATEGORY,'RRRR/MM/DD HH24:MI:SS');
2604     ELSE
2605     RETURN NULL; 
2606     END IF;
2607 ELSIF p_attr_code =('HEADER_ID') THEN
2608     IF NVL(p_record.HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2609     RETURN to_date(p_record.HEADER_ID,'RRRR/MM/DD HH24:MI:SS');
2610     ELSE
2611     RETURN NULL; 
2612     END IF;
2613 ELSIF p_attr_code =('IB_CURRENT_LOCATION') THEN
2614     IF NVL(p_record.IB_CURRENT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2615     RETURN to_date(p_record.IB_CURRENT_LOCATION,'RRRR/MM/DD HH24:MI:SS');
2616     ELSE
2617     RETURN NULL; 
2618     END IF;
2619 ELSIF p_attr_code =('IB_INSTALLED_AT_LOCATION') THEN
2620     IF NVL(p_record.IB_INSTALLED_AT_LOCATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2621     RETURN to_date(p_record.IB_INSTALLED_AT_LOCATION,'RRRR/MM/DD HH24:MI:SS');
2622     ELSE
2623     RETURN NULL; 
2624     END IF;
2625 ELSIF p_attr_code =('IB_OWNER') THEN
2626     IF NVL(p_record.IB_OWNER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2627     RETURN to_date(p_record.IB_OWNER,'RRRR/MM/DD HH24:MI:SS');
2628     ELSE
2629     RETURN NULL; 
2630     END IF;
2631 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE1') THEN
2632     IF NVL(p_record.INDUSTRY_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2633     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
2634     ELSE
2635     RETURN NULL; 
2636     END IF;
2637 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE10') THEN
2638     IF NVL(p_record.INDUSTRY_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2639     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
2640     ELSE
2641     RETURN NULL; 
2642     END IF;
2643 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE11') THEN
2644     IF NVL(p_record.INDUSTRY_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2645     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
2646     ELSE
2647     RETURN NULL; 
2648     END IF;
2649 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE12') THEN
2650     IF NVL(p_record.INDUSTRY_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2651     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
2652     ELSE
2653     RETURN NULL; 
2654     END IF;
2655 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE13') THEN
2656     IF NVL(p_record.INDUSTRY_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2657     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
2658     ELSE
2659     RETURN NULL; 
2660     END IF;
2661 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE14') THEN
2662     IF NVL(p_record.INDUSTRY_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2663     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
2664     ELSE
2665     RETURN NULL; 
2666     END IF;
2667 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE15') THEN
2668     IF NVL(p_record.INDUSTRY_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2669     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
2670     ELSE
2671     RETURN NULL; 
2672     END IF;
2673 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE16') THEN
2674     IF NVL(p_record.INDUSTRY_ATTRIBUTE16, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2675     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE16,'RRRR/MM/DD HH24:MI:SS');
2676     ELSE
2677     RETURN NULL; 
2678     END IF;
2679 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE17') THEN
2680     IF NVL(p_record.INDUSTRY_ATTRIBUTE17, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2681     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE17,'RRRR/MM/DD HH24:MI:SS');
2682     ELSE
2683     RETURN NULL; 
2684     END IF;
2685 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE18') THEN
2686     IF NVL(p_record.INDUSTRY_ATTRIBUTE18, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2687     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE18,'RRRR/MM/DD HH24:MI:SS');
2688     ELSE
2689     RETURN NULL; 
2690     END IF;
2691 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE19') THEN
2692     IF NVL(p_record.INDUSTRY_ATTRIBUTE19, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2693     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE19,'RRRR/MM/DD HH24:MI:SS');
2694     ELSE
2695     RETURN NULL; 
2696     END IF;
2697 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE2') THEN
2698     IF NVL(p_record.INDUSTRY_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2699     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
2700     ELSE
2701     RETURN NULL; 
2702     END IF;
2703 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE20') THEN
2704     IF NVL(p_record.INDUSTRY_ATTRIBUTE20, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2705     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE20,'RRRR/MM/DD HH24:MI:SS');
2706     ELSE
2707     RETURN NULL; 
2708     END IF;
2709 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE21') THEN
2710     IF NVL(p_record.INDUSTRY_ATTRIBUTE21, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2711     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE21,'RRRR/MM/DD HH24:MI:SS');
2712     ELSE
2713     RETURN NULL; 
2714     END IF;
2715 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE22') THEN
2716     IF NVL(p_record.INDUSTRY_ATTRIBUTE22, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2717     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE22,'RRRR/MM/DD HH24:MI:SS');
2718     ELSE
2719     RETURN NULL; 
2720     END IF;
2721 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE23') THEN
2722     IF NVL(p_record.INDUSTRY_ATTRIBUTE23, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2723     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE23,'RRRR/MM/DD HH24:MI:SS');
2724     ELSE
2725     RETURN NULL; 
2726     END IF;
2727 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE24') THEN
2728     IF NVL(p_record.INDUSTRY_ATTRIBUTE24, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2729     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE24,'RRRR/MM/DD HH24:MI:SS');
2730     ELSE
2731     RETURN NULL; 
2732     END IF;
2733 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE25') THEN
2734     IF NVL(p_record.INDUSTRY_ATTRIBUTE25, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2735     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE25,'RRRR/MM/DD HH24:MI:SS');
2736     ELSE
2737     RETURN NULL; 
2738     END IF;
2739 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE26') THEN
2740     IF NVL(p_record.INDUSTRY_ATTRIBUTE26, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2741     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE26,'RRRR/MM/DD HH24:MI:SS');
2742     ELSE
2743     RETURN NULL; 
2744     END IF;
2745 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE27') THEN
2746     IF NVL(p_record.INDUSTRY_ATTRIBUTE27, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2747     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE27,'RRRR/MM/DD HH24:MI:SS');
2748     ELSE
2749     RETURN NULL; 
2750     END IF;
2751 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE28') THEN
2752     IF NVL(p_record.INDUSTRY_ATTRIBUTE28, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2753     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE28,'RRRR/MM/DD HH24:MI:SS');
2754     ELSE
2755     RETURN NULL; 
2756     END IF;
2757 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE29') THEN
2758     IF NVL(p_record.INDUSTRY_ATTRIBUTE29, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2759     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE29,'RRRR/MM/DD HH24:MI:SS');
2760     ELSE
2761     RETURN NULL; 
2762     END IF;
2763 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE3') THEN
2764     IF NVL(p_record.INDUSTRY_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2765     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
2766     ELSE
2767     RETURN NULL; 
2768     END IF;
2769 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE30') THEN
2770     IF NVL(p_record.INDUSTRY_ATTRIBUTE30, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2771     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE30,'RRRR/MM/DD HH24:MI:SS');
2772     ELSE
2773     RETURN NULL; 
2774     END IF;
2775 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE4') THEN
2776     IF NVL(p_record.INDUSTRY_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2777     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
2778     ELSE
2779     RETURN NULL; 
2780     END IF;
2781 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE5') THEN
2782     IF NVL(p_record.INDUSTRY_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2783     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
2784     ELSE
2785     RETURN NULL; 
2786     END IF;
2787 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE6') THEN
2788     IF NVL(p_record.INDUSTRY_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2789     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
2790     ELSE
2791     RETURN NULL; 
2792     END IF;
2793 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE7') THEN
2794     IF NVL(p_record.INDUSTRY_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2795     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
2796     ELSE
2797     RETURN NULL; 
2798     END IF;
2799 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE8') THEN
2800     IF NVL(p_record.INDUSTRY_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2801     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
2802     ELSE
2803     RETURN NULL; 
2804     END IF;
2805 ELSIF p_attr_code =('INDUSTRY_ATTRIBUTE9') THEN
2806     IF NVL(p_record.INDUSTRY_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2807     RETURN to_date(p_record.INDUSTRY_ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
2808     ELSE
2809     RETURN NULL; 
2810     END IF;
2811 ELSIF p_attr_code =('INDUSTRY_CONTEXT') THEN
2812     IF NVL(p_record.INDUSTRY_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2813     RETURN to_date(p_record.INDUSTRY_CONTEXT,'RRRR/MM/DD HH24:MI:SS');
2814     ELSE
2815     RETURN NULL; 
2816     END IF;
2817 ELSIF p_attr_code =('INTERMED_SHIP_TO_CONTACT_ID') THEN
2818     IF NVL(p_record.INTERMED_SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2819     RETURN to_date(p_record.INTERMED_SHIP_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
2820     ELSE
2821     RETURN NULL; 
2822     END IF;
2823 ELSIF p_attr_code =('INTERMED_SHIP_TO_ORG_ID') THEN
2824     IF NVL(p_record.INTERMED_SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2825     RETURN to_date(p_record.INTERMED_SHIP_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
2826     ELSE
2827     RETURN NULL; 
2828     END IF;
2829 ELSIF p_attr_code =('INVENTORY_ITEM_ID') THEN
2830     IF NVL(p_record.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2831     RETURN to_date(p_record.INVENTORY_ITEM_ID,'RRRR/MM/DD HH24:MI:SS');
2832     ELSE
2833     RETURN NULL; 
2834     END IF;
2835 ELSIF p_attr_code =('INVOICED_QUANTITY') THEN
2836     IF NVL(p_record.INVOICED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2837     RETURN to_date(p_record.INVOICED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
2838     ELSE
2839     RETURN NULL; 
2840     END IF;
2841 ELSIF p_attr_code =('INVOICE_INTERFACE_STATUS_CODE') THEN
2842     IF NVL(p_record.INVOICE_INTERFACE_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2843     RETURN to_date(p_record.INVOICE_INTERFACE_STATUS_CODE,'RRRR/MM/DD HH24:MI:SS');
2844     ELSE
2845     RETURN NULL; 
2846     END IF;
2847 ELSIF p_attr_code =('INVOICE_TO_CONTACT_ID') THEN
2848     IF NVL(p_record.INVOICE_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2849     RETURN to_date(p_record.INVOICE_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
2850     ELSE
2851     RETURN NULL; 
2852     END IF;
2853 ELSIF p_attr_code =('INVOICE_TO_ORG_ID') THEN
2854     IF NVL(p_record.INVOICE_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2855     RETURN to_date(p_record.INVOICE_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
2856     ELSE
2857     RETURN NULL; 
2858     END IF;
2859 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
2860     IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2861     RETURN to_date(p_record.INVOICING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
2862     ELSE
2863     RETURN NULL; 
2864     END IF;
2865 ELSIF p_attr_code =('ITEM_IDENTIFIER_TYPE') THEN
2866     IF NVL(p_record.ITEM_IDENTIFIER_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2867     RETURN to_date(p_record.ITEM_IDENTIFIER_TYPE,'RRRR/MM/DD HH24:MI:SS');
2868     ELSE
2869     RETURN NULL; 
2870     END IF;
2871 ELSIF p_attr_code =('ITEM_REVISION') THEN
2872     IF NVL(p_record.ITEM_REVISION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2873     RETURN to_date(p_record.ITEM_REVISION,'RRRR/MM/DD HH24:MI:SS');
2874     ELSE
2875     RETURN NULL; 
2876     END IF;
2877 ELSIF p_attr_code =('ITEM_TYPE_CODE') THEN
2878     IF NVL(p_record.ITEM_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2879     RETURN to_date(p_record.ITEM_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
2880     ELSE
2881     RETURN NULL; 
2882     END IF;
2883 ELSIF p_attr_code =('LAST_ACK_CODE') THEN
2884     IF NVL(p_record.LAST_ACK_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2885     RETURN to_date(p_record.LAST_ACK_CODE,'RRRR/MM/DD HH24:MI:SS');
2886     ELSE
2887     RETURN NULL; 
2888     END IF;
2889 ELSIF p_attr_code =('LAST_UPDATED_BY') THEN
2890     IF NVL(p_record.LAST_UPDATED_BY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2891     RETURN to_date(p_record.LAST_UPDATED_BY,'RRRR/MM/DD HH24:MI:SS');
2892     ELSE
2893     RETURN NULL; 
2894     END IF;
2895 ELSIF p_attr_code =('LAST_UPDATE_LOGIN') THEN
2896     IF NVL(p_record.LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2897     RETURN to_date(p_record.LAST_UPDATE_LOGIN,'RRRR/MM/DD HH24:MI:SS');
2898     ELSE
2899     RETURN NULL; 
2900     END IF;
2901 ELSIF p_attr_code =('LINE_CATEGORY_CODE') THEN
2902     IF NVL(p_record.LINE_CATEGORY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2903     RETURN to_date(p_record.LINE_CATEGORY_CODE,'RRRR/MM/DD HH24:MI:SS');
2904     ELSE
2905     RETURN NULL; 
2906     END IF;
2907 ELSIF p_attr_code =('LINE_ID') THEN
2908     IF NVL(p_record.LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2909     RETURN to_date(p_record.LINE_ID,'RRRR/MM/DD HH24:MI:SS');
2910     ELSE
2911     RETURN NULL; 
2912     END IF;
2913 ELSIF p_attr_code =('LINE_NUMBER') THEN
2914     IF NVL(p_record.LINE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2915     RETURN to_date(p_record.LINE_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2916     ELSE
2917     RETURN NULL; 
2918     END IF;
2919 ELSIF p_attr_code =('LINE_SET_ID') THEN
2920     IF NVL(p_record.LINE_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2921     RETURN to_date(p_record.LINE_SET_ID,'RRRR/MM/DD HH24:MI:SS');
2922     ELSE
2923     RETURN NULL; 
2924     END IF;
2925 ELSIF p_attr_code =('LINE_TYPE_ID') THEN
2926     IF NVL(p_record.LINE_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2927     RETURN to_date(p_record.LINE_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
2928     ELSE
2929     RETURN NULL; 
2930     END IF;
2931 ELSIF p_attr_code =('LINK_TO_LINE_ID') THEN
2932     IF NVL(p_record.LINK_TO_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2933     RETURN to_date(p_record.LINK_TO_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
2934     ELSE
2935     RETURN NULL; 
2936     END IF;
2937 ELSIF p_attr_code =('MFG_COMPONENT_SEQUENCE_ID') THEN
2938     IF NVL(p_record.MFG_COMPONENT_SEQUENCE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2939     RETURN to_date(p_record.MFG_COMPONENT_SEQUENCE_ID,'RRRR/MM/DD HH24:MI:SS');
2940     ELSE
2941     RETURN NULL; 
2942     END IF;
2943 ELSIF p_attr_code =('MODEL_GROUP_NUMBER') THEN
2944     IF NVL(p_record.MODEL_GROUP_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2945     RETURN to_date(p_record.MODEL_GROUP_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2946     ELSE
2947     RETURN NULL; 
2948     END IF;
2949 ELSIF p_attr_code =('OPEN_FLAG') THEN
2950     IF NVL(p_record.OPEN_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2951     RETURN to_date(p_record.OPEN_FLAG,'RRRR/MM/DD HH24:MI:SS');
2952     ELSE
2953     RETURN NULL; 
2954     END IF;
2955 ELSIF p_attr_code =('OPERATION') THEN
2956     IF NVL(p_record.OPERATION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2957     RETURN to_date(p_record.OPERATION,'RRRR/MM/DD HH24:MI:SS');
2958     ELSE
2959     RETURN NULL; 
2960     END IF;
2961 ELSIF p_attr_code =('OPTION_FLAG') THEN
2962     IF NVL(p_record.OPTION_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2963     RETURN to_date(p_record.OPTION_FLAG,'RRRR/MM/DD HH24:MI:SS');
2964     ELSE
2965     RETURN NULL; 
2966     END IF;
2967 ELSIF p_attr_code =('OPTION_NUMBER') THEN
2968     IF NVL(p_record.OPTION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2969     RETURN to_date(p_record.OPTION_NUMBER,'RRRR/MM/DD HH24:MI:SS');
2970     ELSE
2971     RETURN NULL; 
2972     END IF;
2973 ELSIF p_attr_code =('ORDERED_ITEM') THEN
2974     IF NVL(p_record.ORDERED_ITEM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2975     RETURN to_date(p_record.ORDERED_ITEM,'RRRR/MM/DD HH24:MI:SS');
2976     ELSE
2977     RETURN NULL; 
2978     END IF;
2979 ELSIF p_attr_code =('ORDERED_ITEM_ID') THEN
2980     IF NVL(p_record.ORDERED_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2981     RETURN to_date(p_record.ORDERED_ITEM_ID,'RRRR/MM/DD HH24:MI:SS');
2982     ELSE
2983     RETURN NULL; 
2984     END IF;
2985 ELSIF p_attr_code =('ORDERED_QUANTITY') THEN
2986     IF NVL(p_record.ORDERED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2987     RETURN to_date(p_record.ORDERED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
2988     ELSE
2989     RETURN NULL; 
2990     END IF;
2991 ELSIF p_attr_code =('ORDERED_QUANTITY2') THEN
2992     IF NVL(p_record.ORDERED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
2993     RETURN to_date(p_record.ORDERED_QUANTITY2,'RRRR/MM/DD HH24:MI:SS');
2994     ELSE
2995     RETURN NULL; 
2996     END IF;
2997 ELSIF p_attr_code =('ORDERED_QUANTITY_UOM2') THEN
2998     IF NVL(p_record.ORDERED_QUANTITY_UOM2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
2999     RETURN to_date(p_record.ORDERED_QUANTITY_UOM2,'RRRR/MM/DD HH24:MI:SS');
3000     ELSE
3001     RETURN NULL; 
3002     END IF;
3003 ELSIF p_attr_code =('ORDER_QUANTITY_UOM') THEN
3004     IF NVL(p_record.ORDER_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3005     RETURN to_date(p_record.ORDER_QUANTITY_UOM,'RRRR/MM/DD HH24:MI:SS');
3006     ELSE
3007     RETURN NULL; 
3008     END IF;
3009 ELSIF p_attr_code =('ORG_ID') THEN
3010     IF NVL(p_record.ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3011     RETURN to_date(p_record.ORG_ID,'RRRR/MM/DD HH24:MI:SS');
3012     ELSE
3013     RETURN NULL; 
3014     END IF;
3015 ELSIF p_attr_code =('ORIG_SYS_DOCUMENT_REF') THEN
3016     IF NVL(p_record.ORIG_SYS_DOCUMENT_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3017     RETURN to_date(p_record.ORIG_SYS_DOCUMENT_REF,'RRRR/MM/DD HH24:MI:SS');
3018     ELSE
3019     RETURN NULL; 
3020     END IF;
3021 ELSIF p_attr_code =('ORIG_SYS_LINE_REF') THEN
3022     IF NVL(p_record.ORIG_SYS_LINE_REF, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3023     RETURN to_date(p_record.ORIG_SYS_LINE_REF,'RRRR/MM/DD HH24:MI:SS');
3024     ELSE
3025     RETURN NULL; 
3026     END IF;
3027 ELSIF p_attr_code =('OVER_SHIP_REASON_CODE') THEN
3028     IF NVL(p_record.OVER_SHIP_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3029     RETURN to_date(p_record.OVER_SHIP_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
3030     ELSE
3031     RETURN NULL; 
3032     END IF;
3033 ELSIF p_attr_code =('OVER_SHIP_RESOLVED_FLAG') THEN
3034     IF NVL(p_record.OVER_SHIP_RESOLVED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3035     RETURN to_date(p_record.OVER_SHIP_RESOLVED_FLAG,'RRRR/MM/DD HH24:MI:SS');
3036     ELSE
3037     RETURN NULL; 
3038     END IF;
3039 ELSIF p_attr_code =('PACKING_INSTRUCTIONS') THEN
3040     IF NVL(p_record.PACKING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3041     RETURN to_date(p_record.PACKING_INSTRUCTIONS,'RRRR/MM/DD HH24:MI:SS');
3042     ELSE
3043     RETURN NULL; 
3044     END IF;
3045 ELSIF p_attr_code =('PARTY_TYPE') THEN
3046     IF NVL(p_record.PARTY_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3047     RETURN to_date(p_record.PARTY_TYPE,'RRRR/MM/DD HH24:MI:SS');
3048     ELSE
3049     RETURN NULL; 
3050     END IF;
3051 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
3052     IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3053     RETURN to_date(p_record.PAYMENT_TERM_ID,'RRRR/MM/DD HH24:MI:SS');
3054     ELSE
3055     RETURN NULL; 
3056     END IF;
3057 ELSIF p_attr_code =('PLANNING_PRIORITY') THEN
3058     IF NVL(p_record.PLANNING_PRIORITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3059     RETURN to_date(p_record.PLANNING_PRIORITY,'RRRR/MM/DD HH24:MI:SS');
3060     ELSE
3061     RETURN NULL; 
3062     END IF;
3063 ELSIF p_attr_code =('PREFERRED_GRADE') THEN
3064     IF NVL(p_record.PREFERRED_GRADE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3065     RETURN to_date(p_record.PREFERRED_GRADE,'RRRR/MM/DD HH24:MI:SS');
3066     ELSE
3067     RETURN NULL; 
3068     END IF;
3069 ELSIF p_attr_code =('PRICE_LIST_ID') THEN
3070     IF NVL(p_record.PRICE_LIST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3071     RETURN to_date(p_record.PRICE_LIST_ID,'RRRR/MM/DD HH24:MI:SS');
3072     ELSE
3073     RETURN NULL; 
3074     END IF;
3075 ELSIF p_attr_code =('PRICING_ATTRIBUTE1') THEN
3076     IF NVL(p_record.PRICING_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3077     RETURN to_date(p_record.PRICING_ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
3078     ELSE
3079     RETURN NULL; 
3080     END IF;
3081 ELSIF p_attr_code =('PRICING_ATTRIBUTE10') THEN
3082     IF NVL(p_record.PRICING_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3083     RETURN to_date(p_record.PRICING_ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
3084     ELSE
3085     RETURN NULL; 
3086     END IF;
3087 ELSIF p_attr_code =('PRICING_ATTRIBUTE2') THEN
3088     IF NVL(p_record.PRICING_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3089     RETURN to_date(p_record.PRICING_ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
3090     ELSE
3091     RETURN NULL; 
3092     END IF;
3093 ELSIF p_attr_code =('PRICING_ATTRIBUTE3') THEN
3094     IF NVL(p_record.PRICING_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3095     RETURN to_date(p_record.PRICING_ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
3096     ELSE
3097     RETURN NULL; 
3098     END IF;
3099 ELSIF p_attr_code =('PRICING_ATTRIBUTE4') THEN
3100     IF NVL(p_record.PRICING_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3101     RETURN to_date(p_record.PRICING_ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
3102     ELSE
3103     RETURN NULL; 
3104     END IF;
3105 ELSIF p_attr_code =('PRICING_ATTRIBUTE5') THEN
3106     IF NVL(p_record.PRICING_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3107     RETURN to_date(p_record.PRICING_ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
3108     ELSE
3109     RETURN NULL; 
3110     END IF;
3111 ELSIF p_attr_code =('PRICING_ATTRIBUTE6') THEN
3112     IF NVL(p_record.PRICING_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3113     RETURN to_date(p_record.PRICING_ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
3114     ELSE
3115     RETURN NULL; 
3116     END IF;
3117 ELSIF p_attr_code =('PRICING_ATTRIBUTE7') THEN
3118     IF NVL(p_record.PRICING_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3119     RETURN to_date(p_record.PRICING_ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
3120     ELSE
3121     RETURN NULL; 
3122     END IF;
3123 ELSIF p_attr_code =('PRICING_ATTRIBUTE8') THEN
3124     IF NVL(p_record.PRICING_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3125     RETURN to_date(p_record.PRICING_ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
3126     ELSE
3127     RETURN NULL; 
3128     END IF;
3129 ELSIF p_attr_code =('PRICING_ATTRIBUTE9') THEN
3130     IF NVL(p_record.PRICING_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3131     RETURN to_date(p_record.PRICING_ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
3132     ELSE
3133     RETURN NULL; 
3134     END IF;
3135 ELSIF p_attr_code =('PRICING_CONTEXT') THEN
3136     IF NVL(p_record.PRICING_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3137     RETURN to_date(p_record.PRICING_CONTEXT,'RRRR/MM/DD HH24:MI:SS');
3138     ELSE
3139     RETURN NULL; 
3140     END IF;
3141 ELSIF p_attr_code =('PRICING_QUANTITY') THEN
3142     IF NVL(p_record.PRICING_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3143     RETURN to_date(p_record.PRICING_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
3144     ELSE
3145     RETURN NULL; 
3146     END IF;
3147 ELSIF p_attr_code =('PRICING_QUANTITY_UOM') THEN
3148     IF NVL(p_record.PRICING_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3149     RETURN to_date(p_record.PRICING_QUANTITY_UOM,'RRRR/MM/DD HH24:MI:SS');
3150     ELSE
3151     RETURN NULL; 
3152     END IF;
3153 ELSIF p_attr_code =('PROGRAM_APPLICATION_ID') THEN
3154     IF NVL(p_record.PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3155     RETURN to_date(p_record.PROGRAM_APPLICATION_ID,'RRRR/MM/DD HH24:MI:SS');
3156     ELSE
3157     RETURN NULL; 
3158     END IF;
3159 ELSIF p_attr_code =('PROGRAM_ID') THEN
3160     IF NVL(p_record.PROGRAM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3161     RETURN to_date(p_record.PROGRAM_ID,'RRRR/MM/DD HH24:MI:SS');
3162     ELSE
3163     RETURN NULL; 
3164     END IF;
3165 ELSIF p_attr_code =('PROJECT_ID') THEN
3166     IF NVL(p_record.PROJECT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3167     RETURN to_date(p_record.PROJECT_ID,'RRRR/MM/DD HH24:MI:SS');
3168     ELSE
3169     RETURN NULL; 
3170     END IF;
3171 ELSIF p_attr_code =('REFERENCE_CUSTOMR_TRX_LINE_ID') THEN
3172     IF NVL(p_record.REFERENCE_CUSTOMER_TRX_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3173     RETURN to_date(p_record.REFERENCE_CUSTOMER_TRX_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3174     ELSE
3175     RETURN NULL; 
3176     END IF;
3177 ELSIF p_attr_code =('REFERENCE_HEADER_ID') THEN
3178     IF NVL(p_record.REFERENCE_HEADER_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3179     RETURN to_date(p_record.REFERENCE_HEADER_ID,'RRRR/MM/DD HH24:MI:SS');
3180     ELSE
3181     RETURN NULL; 
3182     END IF;
3183 ELSIF p_attr_code =('REFERENCE_LINE_ID') THEN
3184     IF NVL(p_record.REFERENCE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3185     RETURN to_date(p_record.REFERENCE_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3186     ELSE
3187     RETURN NULL; 
3188     END IF;
3189 ELSIF p_attr_code =('REFERENCE_TYPE') THEN
3190     IF NVL(p_record.REFERENCE_TYPE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3191     RETURN to_date(p_record.REFERENCE_TYPE,'RRRR/MM/DD HH24:MI:SS');
3192     ELSE
3193     RETURN NULL; 
3194     END IF;
3195 ELSIF p_attr_code =('REQUEST_ID') THEN
3196     IF NVL(p_record.REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3197     RETURN to_date(p_record.REQUEST_ID,'RRRR/MM/DD HH24:MI:SS');
3198     ELSE
3199     RETURN NULL; 
3200     END IF;
3201 ELSIF p_attr_code =('RESERVED_QUANTITY') THEN
3202     IF NVL(p_record.RESERVED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3203     RETURN to_date(p_record.RESERVED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
3204     ELSE
3205     RETURN NULL; 
3206     END IF;
3207 ELSIF p_attr_code =('RETROBILL_REQUEST_ID') THEN
3208     IF NVL(p_record.RETROBILL_REQUEST_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3209     RETURN to_date(p_record.RETROBILL_REQUEST_ID,'RRRR/MM/DD HH24:MI:SS');
3210     ELSE
3211     RETURN NULL; 
3212     END IF;
3213 ELSIF p_attr_code =('RETURN_ATTRIBUTE1') THEN
3214     IF NVL(p_record.RETURN_ATTRIBUTE1, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3215     RETURN to_date(p_record.RETURN_ATTRIBUTE1,'RRRR/MM/DD HH24:MI:SS');
3216     ELSE
3217     RETURN NULL; 
3218     END IF;
3219 ELSIF p_attr_code =('RETURN_ATTRIBUTE10') THEN
3220     IF NVL(p_record.RETURN_ATTRIBUTE10, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3221     RETURN to_date(p_record.RETURN_ATTRIBUTE10,'RRRR/MM/DD HH24:MI:SS');
3222     ELSE
3223     RETURN NULL; 
3224     END IF;
3225 ELSIF p_attr_code =('RETURN_ATTRIBUTE11') THEN
3226     IF NVL(p_record.RETURN_ATTRIBUTE11, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3227     RETURN to_date(p_record.RETURN_ATTRIBUTE11,'RRRR/MM/DD HH24:MI:SS');
3228     ELSE
3229     RETURN NULL; 
3230     END IF;
3231 ELSIF p_attr_code =('RETURN_ATTRIBUTE12') THEN
3232     IF NVL(p_record.RETURN_ATTRIBUTE12, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3233     RETURN to_date(p_record.RETURN_ATTRIBUTE12,'RRRR/MM/DD HH24:MI:SS');
3234     ELSE
3235     RETURN NULL; 
3236     END IF;
3237 ELSIF p_attr_code =('RETURN_ATTRIBUTE13') THEN
3238     IF NVL(p_record.RETURN_ATTRIBUTE13, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3239     RETURN to_date(p_record.RETURN_ATTRIBUTE13,'RRRR/MM/DD HH24:MI:SS');
3240     ELSE
3241     RETURN NULL; 
3242     END IF;
3243 ELSIF p_attr_code =('RETURN_ATTRIBUTE14') THEN
3244     IF NVL(p_record.RETURN_ATTRIBUTE14, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3245     RETURN to_date(p_record.RETURN_ATTRIBUTE14,'RRRR/MM/DD HH24:MI:SS');
3246     ELSE
3247     RETURN NULL; 
3248     END IF;
3249 ELSIF p_attr_code =('RETURN_ATTRIBUTE15') THEN
3250     IF NVL(p_record.RETURN_ATTRIBUTE15, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3251     RETURN to_date(p_record.RETURN_ATTRIBUTE15,'RRRR/MM/DD HH24:MI:SS');
3252     ELSE
3253     RETURN NULL; 
3254     END IF;
3255 ELSIF p_attr_code =('RETURN_ATTRIBUTE2') THEN
3256     IF NVL(p_record.RETURN_ATTRIBUTE2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3257     RETURN to_date(p_record.RETURN_ATTRIBUTE2,'RRRR/MM/DD HH24:MI:SS');
3258     ELSE
3259     RETURN NULL; 
3260     END IF;
3261 ELSIF p_attr_code =('RETURN_ATTRIBUTE3') THEN
3262     IF NVL(p_record.RETURN_ATTRIBUTE3, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3263     RETURN to_date(p_record.RETURN_ATTRIBUTE3,'RRRR/MM/DD HH24:MI:SS');
3264     ELSE
3265     RETURN NULL; 
3266     END IF;
3267 ELSIF p_attr_code =('RETURN_ATTRIBUTE4') THEN
3268     IF NVL(p_record.RETURN_ATTRIBUTE4, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3269     RETURN to_date(p_record.RETURN_ATTRIBUTE4,'RRRR/MM/DD HH24:MI:SS');
3270     ELSE
3271     RETURN NULL; 
3272     END IF;
3273 ELSIF p_attr_code =('RETURN_ATTRIBUTE5') THEN
3274     IF NVL(p_record.RETURN_ATTRIBUTE5, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3275     RETURN to_date(p_record.RETURN_ATTRIBUTE5,'RRRR/MM/DD HH24:MI:SS');
3276     ELSE
3277     RETURN NULL; 
3278     END IF;
3279 ELSIF p_attr_code =('RETURN_ATTRIBUTE6') THEN
3280     IF NVL(p_record.RETURN_ATTRIBUTE6, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3281     RETURN to_date(p_record.RETURN_ATTRIBUTE6,'RRRR/MM/DD HH24:MI:SS');
3282     ELSE
3283     RETURN NULL; 
3284     END IF;
3285 ELSIF p_attr_code =('RETURN_ATTRIBUTE7') THEN
3286     IF NVL(p_record.RETURN_ATTRIBUTE7, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3287     RETURN to_date(p_record.RETURN_ATTRIBUTE7,'RRRR/MM/DD HH24:MI:SS');
3288     ELSE
3289     RETURN NULL; 
3290     END IF;
3291 ELSIF p_attr_code =('RETURN_ATTRIBUTE8') THEN
3292     IF NVL(p_record.RETURN_ATTRIBUTE8, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3293     RETURN to_date(p_record.RETURN_ATTRIBUTE8,'RRRR/MM/DD HH24:MI:SS');
3294     ELSE
3295     RETURN NULL; 
3296     END IF;
3297 ELSIF p_attr_code =('RETURN_ATTRIBUTE9') THEN
3298     IF NVL(p_record.RETURN_ATTRIBUTE9, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3299     RETURN to_date(p_record.RETURN_ATTRIBUTE9,'RRRR/MM/DD HH24:MI:SS');
3300     ELSE
3301     RETURN NULL; 
3302     END IF;
3303 ELSIF p_attr_code =('RETURN_CONTEXT') THEN
3304     IF NVL(p_record.RETURN_CONTEXT, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3305     RETURN to_date(p_record.RETURN_CONTEXT,'RRRR/MM/DD HH24:MI:SS');
3306     ELSE
3307     RETURN NULL; 
3308     END IF;
3309 ELSIF p_attr_code =('RETURN_REASON_CODE') THEN
3310     IF NVL(p_record.RETURN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3311     RETURN to_date(p_record.RETURN_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
3312     ELSE
3313     RETURN NULL; 
3314     END IF;
3315 ELSIF p_attr_code =('RETURN_STATUS') THEN
3316     IF NVL(p_record.RETURN_STATUS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3317     RETURN to_date(p_record.RETURN_STATUS,'RRRR/MM/DD HH24:MI:SS');
3318     ELSE
3319     RETURN NULL; 
3320     END IF;
3321 ELSIF p_attr_code =('REVENUE_AMOUNT') THEN
3322     IF NVL(p_record.REVENUE_AMOUNT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3323     RETURN to_date(p_record.REVENUE_AMOUNT,'RRRR/MM/DD HH24:MI:SS');
3324     ELSE
3325     RETURN NULL; 
3326     END IF;
3327 ELSIF p_attr_code =('REVREC_EXPIRATION_DAYS') THEN
3328     IF NVL(p_record.REVREC_EXPIRATION_DAYS, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3329     RETURN to_date(p_record.REVREC_EXPIRATION_DAYS,'RRRR/MM/DD HH24:MI:SS');
3330     ELSE
3331     RETURN NULL; 
3332     END IF;
3333 ELSIF p_attr_code =('RLA_SCHEDULE_TYPE_CODE') THEN
3334     IF NVL(p_record.RLA_SCHEDULE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3335     RETURN to_date(p_record.RLA_SCHEDULE_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
3336     ELSE
3337     RETURN NULL; 
3338     END IF;
3339 ELSIF p_attr_code =('SALESREP_ID') THEN
3340     IF NVL(p_record.SALESREP_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3341     RETURN to_date(p_record.SALESREP_ID,'RRRR/MM/DD HH24:MI:SS');
3342     ELSE
3343     RETURN NULL; 
3344     END IF;
3345 ELSIF p_attr_code =('SCHEDULE_ACTION_CODE') THEN
3346     IF NVL(p_record.SCHEDULE_ACTION_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3347     RETURN to_date(p_record.SCHEDULE_ACTION_CODE,'RRRR/MM/DD HH24:MI:SS');
3348     ELSE
3349     RETURN NULL; 
3350     END IF;
3351 ELSIF p_attr_code =('SCHEDULE_STATUS_CODE') THEN
3352     IF NVL(p_record.SCHEDULE_STATUS_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3353     RETURN to_date(p_record.SCHEDULE_STATUS_CODE,'RRRR/MM/DD HH24:MI:SS');
3354     ELSE
3355     RETURN NULL; 
3356     END IF;
3357 ELSIF p_attr_code =('SERVICE_COTERMINATE_FLAG') THEN
3358     IF NVL(p_record.SERVICE_COTERMINATE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3359     RETURN to_date(p_record.SERVICE_COTERMINATE_FLAG,'RRRR/MM/DD HH24:MI:SS');
3360     ELSE
3361     RETURN NULL; 
3362     END IF;
3363 ELSIF p_attr_code =('SERVICE_DURATION') THEN
3364     IF NVL(p_record.SERVICE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3365     RETURN to_date(p_record.SERVICE_DURATION,'RRRR/MM/DD HH24:MI:SS');
3366     ELSE
3367     RETURN NULL; 
3368     END IF;
3369 ELSIF p_attr_code =('SERVICE_NUMBER') THEN
3370     IF NVL(p_record.SERVICE_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3371     RETURN to_date(p_record.SERVICE_NUMBER,'RRRR/MM/DD HH24:MI:SS');
3372     ELSE
3373     RETURN NULL; 
3374     END IF;
3375 ELSIF p_attr_code =('SERVICE_PERIOD') THEN
3376     IF NVL(p_record.SERVICE_PERIOD, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3377     RETURN to_date(p_record.SERVICE_PERIOD,'RRRR/MM/DD HH24:MI:SS');
3378     ELSE
3379     RETURN NULL; 
3380     END IF;
3381 ELSIF p_attr_code =('SERVICE_REFERENCE_LINE_ID') THEN
3382     IF NVL(p_record.SERVICE_REFERENCE_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3383     RETURN to_date(p_record.SERVICE_REFERENCE_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3384     ELSE
3385     RETURN NULL; 
3386     END IF;
3387 ELSIF p_attr_code =('SERVICE_REFERENCE_SYSTEM_ID') THEN
3388     IF NVL(p_record.SERVICE_REFERENCE_SYSTEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3389     RETURN to_date(p_record.SERVICE_REFERENCE_SYSTEM_ID,'RRRR/MM/DD HH24:MI:SS');
3390     ELSE
3391     RETURN NULL; 
3392     END IF;
3393 ELSIF p_attr_code =('SERVICE_REFERENCE_TYPE_CODE') THEN
3394     IF NVL(p_record.SERVICE_REFERENCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3395     RETURN to_date(p_record.SERVICE_REFERENCE_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
3396     ELSE
3397     RETURN NULL; 
3398     END IF;
3399 ELSIF p_attr_code =('SERVICE_TXN_COMMENTS') THEN
3400     IF NVL(p_record.SERVICE_TXN_COMMENTS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3401     RETURN to_date(p_record.SERVICE_TXN_COMMENTS,'RRRR/MM/DD HH24:MI:SS');
3402     ELSE
3403     RETURN NULL; 
3404     END IF;
3405 ELSIF p_attr_code =('SERVICE_TXN_REASON_CODE') THEN
3406     IF NVL(p_record.SERVICE_TXN_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3407     RETURN to_date(p_record.SERVICE_TXN_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
3408     ELSE
3409     RETURN NULL; 
3410     END IF;
3411 ELSIF p_attr_code =('SHIPMENT_NUMBER') THEN
3412     IF NVL(p_record.SHIPMENT_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3413     RETURN to_date(p_record.SHIPMENT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
3414     ELSE
3415     RETURN NULL; 
3416     END IF;
3417 ELSIF p_attr_code =('SHIPMENT_PRIORITY_CODE') THEN
3418     IF NVL(p_record.SHIPMENT_PRIORITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3419     RETURN to_date(p_record.SHIPMENT_PRIORITY_CODE,'RRRR/MM/DD HH24:MI:SS');
3420     ELSE
3421     RETURN NULL; 
3422     END IF;
3423 ELSIF p_attr_code =('SHIPPED_QUANTITY') THEN
3424     IF NVL(p_record.SHIPPED_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3425     RETURN to_date(p_record.SHIPPED_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
3426     ELSE
3427     RETURN NULL; 
3428     END IF;
3429 ELSIF p_attr_code =('SHIPPED_QUANTITY2') THEN
3430     IF NVL(p_record.SHIPPED_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3431     RETURN to_date(p_record.SHIPPED_QUANTITY2,'RRRR/MM/DD HH24:MI:SS');
3432     ELSE
3433     RETURN NULL; 
3434     END IF;
3435 ELSIF p_attr_code =('SHIPPING_INSTRUCTIONS') THEN
3436     IF NVL(p_record.SHIPPING_INSTRUCTIONS, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3437     RETURN to_date(p_record.SHIPPING_INSTRUCTIONS,'RRRR/MM/DD HH24:MI:SS');
3438     ELSE
3439     RETURN NULL; 
3440     END IF;
3441 ELSIF p_attr_code =('SHIPPING_INTERFACED_FLAG') THEN
3442     IF NVL(p_record.SHIPPING_INTERFACED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3443     RETURN to_date(p_record.SHIPPING_INTERFACED_FLAG,'RRRR/MM/DD HH24:MI:SS');
3444     ELSE
3445     RETURN NULL; 
3446     END IF;
3447 ELSIF p_attr_code =('SHIPPING_METHOD_CODE') THEN
3448     IF NVL(p_record.SHIPPING_METHOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3449     RETURN to_date(p_record.SHIPPING_METHOD_CODE,'RRRR/MM/DD HH24:MI:SS');
3450     ELSE
3451     RETURN NULL; 
3452     END IF;
3453 ELSIF p_attr_code =('SHIPPING_QUANTITY') THEN
3454     IF NVL(p_record.SHIPPING_QUANTITY, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3455     RETURN to_date(p_record.SHIPPING_QUANTITY,'RRRR/MM/DD HH24:MI:SS');
3456     ELSE
3457     RETURN NULL; 
3458     END IF;
3459 ELSIF p_attr_code =('SHIPPING_QUANTITY2') THEN
3460     IF NVL(p_record.SHIPPING_QUANTITY2, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3461     RETURN to_date(p_record.SHIPPING_QUANTITY2,'RRRR/MM/DD HH24:MI:SS');
3462     ELSE
3463     RETURN NULL; 
3464     END IF;
3465 ELSIF p_attr_code =('SHIPPING_QUANTITY_UOM') THEN
3466     IF NVL(p_record.SHIPPING_QUANTITY_UOM, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3467     RETURN to_date(p_record.SHIPPING_QUANTITY_UOM,'RRRR/MM/DD HH24:MI:SS');
3468     ELSE
3469     RETURN NULL; 
3470     END IF;
3471 ELSIF p_attr_code =('SHIPPING_QUANTITY_UOM2') THEN
3472     IF NVL(p_record.SHIPPING_QUANTITY_UOM2, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3473     RETURN to_date(p_record.SHIPPING_QUANTITY_UOM2,'RRRR/MM/DD HH24:MI:SS');
3474     ELSE
3475     RETURN NULL; 
3476     END IF;
3477 ELSIF p_attr_code =('SHIP_FROM_ORG_ID') THEN
3478     IF NVL(p_record.SHIP_FROM_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3479     RETURN to_date(p_record.SHIP_FROM_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
3480     ELSE
3481     RETURN NULL; 
3482     END IF;
3483 ELSIF p_attr_code =('SHIP_MODEL_COMPLETE_FLAG') THEN
3484     IF NVL(p_record.SHIP_MODEL_COMPLETE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3485     RETURN to_date(p_record.SHIP_MODEL_COMPLETE_FLAG,'RRRR/MM/DD HH24:MI:SS');
3486     ELSE
3487     RETURN NULL; 
3488     END IF;
3489 ELSIF p_attr_code =('SHIP_SET') THEN
3490     IF NVL(p_record.SHIP_SET, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3491     RETURN to_date(p_record.SHIP_SET,'RRRR/MM/DD HH24:MI:SS');
3492     ELSE
3493     RETURN NULL; 
3494     END IF;
3495 ELSIF p_attr_code =('SHIP_SET_ID') THEN
3496     IF NVL(p_record.SHIP_SET_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3497     RETURN to_date(p_record.SHIP_SET_ID,'RRRR/MM/DD HH24:MI:SS');
3498     ELSE
3499     RETURN NULL; 
3500     END IF;
3501 ELSIF p_attr_code =('SHIP_TOLERANCE_ABOVE') THEN
3502     IF NVL(p_record.SHIP_TOLERANCE_ABOVE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3503     RETURN to_date(p_record.SHIP_TOLERANCE_ABOVE,'RRRR/MM/DD HH24:MI:SS');
3504     ELSE
3505     RETURN NULL; 
3506     END IF;
3507 ELSIF p_attr_code =('SHIP_TOLERANCE_BELOW') THEN
3508     IF NVL(p_record.SHIP_TOLERANCE_BELOW, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3509     RETURN to_date(p_record.SHIP_TOLERANCE_BELOW,'RRRR/MM/DD HH24:MI:SS');
3510     ELSE
3511     RETURN NULL; 
3512     END IF;
3513 ELSIF p_attr_code =('SHIP_TO_CONTACT_ID') THEN
3514     IF NVL(p_record.SHIP_TO_CONTACT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3515     RETURN to_date(p_record.SHIP_TO_CONTACT_ID,'RRRR/MM/DD HH24:MI:SS');
3516     ELSE
3517     RETURN NULL; 
3518     END IF;
3519 ELSIF p_attr_code =('SHIP_TO_ORG_ID') THEN
3520     IF NVL(p_record.SHIP_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3521     RETURN to_date(p_record.SHIP_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
3522     ELSE
3523     RETURN NULL; 
3524     END IF;
3525 ELSIF p_attr_code =('SOLD_TO_ORG_ID') THEN
3526     IF NVL(p_record.SOLD_TO_ORG_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3527     RETURN to_date(p_record.SOLD_TO_ORG_ID,'RRRR/MM/DD HH24:MI:SS');
3528     ELSE
3529     RETURN NULL; 
3530     END IF;
3531 ELSIF p_attr_code =('SORT_ORDER') THEN
3532     IF NVL(p_record.SORT_ORDER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3533     RETURN to_date(p_record.SORT_ORDER,'RRRR/MM/DD HH24:MI:SS');
3534     ELSE
3535     RETURN NULL; 
3536     END IF;
3537 ELSIF p_attr_code =('SOURCE_DOCUMENT_ID') THEN
3538     IF NVL(p_record.SOURCE_DOCUMENT_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3539     RETURN to_date(p_record.SOURCE_DOCUMENT_ID,'RRRR/MM/DD HH24:MI:SS');
3540     ELSE
3541     RETURN NULL; 
3542     END IF;
3543 ELSIF p_attr_code =('SOURCE_DOCUMENT_LINE_ID') THEN
3544     IF NVL(p_record.SOURCE_DOCUMENT_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3545     RETURN to_date(p_record.SOURCE_DOCUMENT_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3546     ELSE
3547     RETURN NULL; 
3548     END IF;
3549 ELSIF p_attr_code =('SOURCE_DOCUMENT_TYPE_ID') THEN
3550     IF NVL(p_record.SOURCE_DOCUMENT_TYPE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3551     RETURN to_date(p_record.SOURCE_DOCUMENT_TYPE_ID,'RRRR/MM/DD HH24:MI:SS');
3552     ELSE
3553     RETURN NULL; 
3554     END IF;
3555 ELSIF p_attr_code =('SOURCE_DOCUMENT_VERSION_NUMBER') THEN
3556     IF NVL(p_record.SOURCE_DOCUMENT_VERSION_NUMBER, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3557     RETURN to_date(p_record.SOURCE_DOCUMENT_VERSION_NUMBER,'RRRR/MM/DD HH24:MI:SS');
3558     ELSE
3559     RETURN NULL; 
3560     END IF;
3561 ELSIF p_attr_code =('SOURCE_TYPE_CODE') THEN
3562     IF NVL(p_record.SOURCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3563     RETURN to_date(p_record.SOURCE_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
3564     ELSE
3565     RETURN NULL; 
3566     END IF;
3567 ELSIF p_attr_code =('SPLIT_BY') THEN
3568     IF NVL(p_record.SPLIT_BY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3569     RETURN to_date(p_record.SPLIT_BY,'RRRR/MM/DD HH24:MI:SS');
3570     ELSE
3571     RETURN NULL; 
3572     END IF;
3573 ELSIF p_attr_code =('SPLIT_FROM_LINE_ID') THEN
3574     IF NVL(p_record.SPLIT_FROM_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3575     RETURN to_date(p_record.SPLIT_FROM_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3576     ELSE
3577     RETURN NULL; 
3578     END IF;
3579 ELSIF p_attr_code =('SUBINVENTORY') THEN
3580     IF NVL(p_record.SUBINVENTORY, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3581     RETURN to_date(p_record.SUBINVENTORY,'RRRR/MM/DD HH24:MI:SS');
3582     ELSE
3583     RETURN NULL; 
3584     END IF;
3585 ELSIF p_attr_code =('TASK_ID') THEN
3586     IF NVL(p_record.TASK_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3587     RETURN to_date(p_record.TASK_ID,'RRRR/MM/DD HH24:MI:SS');
3588     ELSE
3589     RETURN NULL; 
3590     END IF;
3591 ELSIF p_attr_code =('TAX_CODE') THEN
3592     IF NVL(p_record.TAX_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3593     RETURN to_date(p_record.TAX_CODE,'RRRR/MM/DD HH24:MI:SS');
3594     ELSE
3595     RETURN NULL; 
3596     END IF;
3597 ELSIF p_attr_code =('TAX_EXEMPT_FLAG') THEN
3598     IF NVL(p_record.TAX_EXEMPT_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3599     RETURN to_date(p_record.TAX_EXEMPT_FLAG,'RRRR/MM/DD HH24:MI:SS');
3600     ELSE
3601     RETURN NULL; 
3602     END IF;
3603 ELSIF p_attr_code =('TAX_EXEMPT_NUMBER') THEN
3604     IF NVL(p_record.TAX_EXEMPT_NUMBER, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3605     RETURN to_date(p_record.TAX_EXEMPT_NUMBER,'RRRR/MM/DD HH24:MI:SS');
3606     ELSE
3607     RETURN NULL; 
3608     END IF;
3609 ELSIF p_attr_code =('TAX_EXEMPT_REASON_CODE') THEN
3610     IF NVL(p_record.TAX_EXEMPT_REASON_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3611     RETURN to_date(p_record.TAX_EXEMPT_REASON_CODE,'RRRR/MM/DD HH24:MI:SS');
3612     ELSE
3613     RETURN NULL; 
3614     END IF;
3615 ELSIF p_attr_code =('TAX_POINT_CODE') THEN
3616     IF NVL(p_record.TAX_POINT_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3617     RETURN to_date(p_record.TAX_POINT_CODE,'RRRR/MM/DD HH24:MI:SS');
3618     ELSE
3619     RETURN NULL; 
3620     END IF;
3621 ELSIF p_attr_code =('TAX_RATE') THEN
3622     IF NVL(p_record.TAX_RATE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3623     RETURN to_date(p_record.TAX_RATE,'RRRR/MM/DD HH24:MI:SS');
3624     ELSE
3625     RETURN NULL; 
3626     END IF;
3627 ELSIF p_attr_code =('TAX_VALUE') THEN
3628     IF NVL(p_record.TAX_VALUE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3629     RETURN to_date(p_record.TAX_VALUE,'RRRR/MM/DD HH24:MI:SS');
3630     ELSE
3631     RETURN NULL; 
3632     END IF;
3633 ELSIF p_attr_code =('TOP_MODEL_LINE_ID') THEN
3634     IF NVL(p_record.TOP_MODEL_LINE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3635     RETURN to_date(p_record.TOP_MODEL_LINE_ID,'RRRR/MM/DD HH24:MI:SS');
3636     ELSE
3637     RETURN NULL; 
3638     END IF;
3639 ELSIF p_attr_code =('TRANSACTION_PHASE_CODE') THEN
3640     IF NVL(p_record.TRANSACTION_PHASE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3641     RETURN to_date(p_record.TRANSACTION_PHASE_CODE,'RRRR/MM/DD HH24:MI:SS');
3642     ELSE
3643     RETURN NULL; 
3644     END IF;
3645 ELSIF p_attr_code =('UNIT_LIST_PERCENT') THEN
3646     IF NVL(p_record.UNIT_LIST_PERCENT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3647     RETURN to_date(p_record.UNIT_LIST_PERCENT,'RRRR/MM/DD HH24:MI:SS');
3648     ELSE
3649     RETURN NULL; 
3650     END IF;
3651 ELSIF p_attr_code =('UNIT_LIST_PRICE') THEN
3652     IF NVL(p_record.UNIT_LIST_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3653     RETURN to_date(p_record.UNIT_LIST_PRICE,'RRRR/MM/DD HH24:MI:SS');
3654     ELSE
3655     RETURN NULL; 
3656     END IF;
3657 ELSIF p_attr_code =('UNIT_PERCENT_BASE_PRICE') THEN
3658     IF NVL(p_record.UNIT_PERCENT_BASE_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3659     RETURN to_date(p_record.UNIT_PERCENT_BASE_PRICE,'RRRR/MM/DD HH24:MI:SS');
3660     ELSE
3661     RETURN NULL; 
3662     END IF;
3663 ELSIF p_attr_code =('UNIT_SELLING_PERCENT') THEN
3664     IF NVL(p_record.UNIT_SELLING_PERCENT, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3665     RETURN to_date(p_record.UNIT_SELLING_PERCENT,'RRRR/MM/DD HH24:MI:SS');
3666     ELSE
3667     RETURN NULL; 
3668     END IF;
3669 ELSIF p_attr_code =('UNIT_SELLING_PRICE') THEN
3670     IF NVL(p_record.UNIT_SELLING_PRICE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3671     RETURN to_date(p_record.UNIT_SELLING_PRICE,'RRRR/MM/DD HH24:MI:SS');
3672     ELSE
3673     RETURN NULL; 
3674     END IF;
3675 ELSIF p_attr_code =('UPGRADED_FLAG') THEN
3676     IF NVL(p_record.UPGRADED_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3677     RETURN to_date(p_record.UPGRADED_FLAG,'RRRR/MM/DD HH24:MI:SS');
3678     ELSE
3679     RETURN NULL; 
3680     END IF;
3681 ELSIF p_attr_code =('USER_ITEM_DESCRIPTION') THEN
3682     IF NVL(p_record.USER_ITEM_DESCRIPTION, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3683     RETURN to_date(p_record.USER_ITEM_DESCRIPTION,'RRRR/MM/DD HH24:MI:SS');
3684     ELSE
3685     RETURN NULL; 
3686     END IF;
3687 ELSIF p_attr_code =('VEH_CUS_ITEM_CUM_KEY_ID') THEN
3688     IF NVL(p_record.VEH_CUS_ITEM_CUM_KEY_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
3689     RETURN to_date(p_record.VEH_CUS_ITEM_CUM_KEY_ID,'RRRR/MM/DD HH24:MI:SS');
3690     ELSE
3691     RETURN NULL; 
3692     END IF;
3693 ELSIF p_attr_code =('VISIBLE_DEMAND_FLAG') THEN
3694     IF NVL(p_record.VISIBLE_DEMAND_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
3695     RETURN to_date(p_record.VISIBLE_DEMAND_FLAG,'RRRR/MM/DD HH24:MI:SS');
3696     ELSE
3697     RETURN NULL; 
3698     END IF;
3699 ELSE
3700 RETURN NULL; 
3701 END IF;
3702  
3703 END  Get_Attr_Val_Date;
3704  
3705  
3706   PROCEDURE Clear_LINE_Cache
3707   IS  
3708   BEGIN  
3709   g_cached_record.LINE_ID := null;
3710    END Clear_LINE_Cache;
3711  
3712  
3713 FUNCTION Sync_LINE_Cache
3714 (   p_LINE_ID                       IN  NUMBER
3715  
3716  
3717 ) RETURN NUMBER
3718 IS
3719 CURSOR cache IS 
3720   SELECT * FROM   OE_AK_ORDER_LINES_V
3721   WHERE LINE_ID  = p_LINE_ID
3722   ;
3723 BEGIN
3724  
3725 IF (NVL(p_LINE_ID,FND_API.G_MISS_NUM)  = FND_API.G_MISS_NUM) 
3726 THEN
3727   RETURN 0 ;
3728 ELSIF (NVL(g_cached_record.LINE_ID,FND_API.G_MISS_NUM)  <>  p_LINE_ID) 
3729 THEN
3730   Clear_LINE_Cache;
3731   Open cache;
3732   FETCH cache into g_cached_record;
3733   IF cache%NOTFOUND THEN
3734     RETURN 0;
3735   END IF;
3736   Close cache;
3737   RETURN 1 ;
3738 END IF;
3739  
3740   RETURN 1 ;
3741 EXCEPTION
3742   WHEN OTHERS THEN 
3743   RETURN 0 ;
3744 END Sync_LINE_Cache;
3745  
3746  
3747 FUNCTION Get_Foreign_Attr_Val_Varchar2
3748 (   p_foreign_attr_code             IN  VARCHAR2
3749 ,   p_record                        IN  OE_AK_ORDER_LINES_V%ROWTYPE 
3750 ,   p_foreign_database_object_name  IN  VARCHAR2
3751 ) RETURN VARCHAR2
3752  
3753 IS
3754  
3755 BEGIN
3756  
3757  IF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_ORGS_V') THEN
3758     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3759        OR ( NVL(p_record.ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3760     THEN
3761     RETURN NULL;
3762     END IF;
3763     IF ONT_SOLD_TO_ORG_Def_Util.Sync_SOLD_TO_ORG_Cache(p_ORGANIZATION_ID => p_record.SOLD_TO_ORG_ID,
3764     p_ORG_ID => p_record.ORG_ID) =1 then 
3765     RETURN  ONT_SOLD_TO_ORG_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_SOLD_TO_ORG_Def_Util.g_cached_record); 
3766   END IF;
3767  
3768  ELSIF (p_foreign_database_object_name = 'OE_AK_DEP_PLAN_REQD_V') THEN
3769     IF NVL(p_record.DEP_PLAN_REQUIRED_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3770       RETURN NULL;
3771     END IF;
3772     IF  ONT_DEP_PLANNING_Def_Util.Sync_DEP_PLANNING_Cache
3773       (p_DEP_PLAN_REQUIRED_FLAG => p_record.DEP_PLAN_REQUIRED_FLAG) = 1  then 
3774     RETURN ONT_DEP_PLANNING_Def_Util.Get_Attr_Val_Varchar2
3775       (p_foreign_attr_code,ONT_DEP_PLANNING_Def_Util.g_cached_record); 
3776   END IF;
3777  
3778  ELSIF (p_foreign_database_object_name = 'OE_AK_SALESREPS_V') THEN
3779     IF NVL(p_record.SALESREP_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3780       RETURN NULL;
3781     END IF;
3782     IF  ONT_SALESREP_Def_Util.Sync_SALESREP_Cache
3783       (p_SALESREP_ID => p_record.SALESREP_ID) = 1  then 
3784     RETURN ONT_SALESREP_Def_Util.Get_Attr_Val_Varchar2
3785       (p_foreign_attr_code,ONT_SALESREP_Def_Util.g_cached_record); 
3786   END IF;
3787  
3788  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
3789     IF NVL(p_record.LINE_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3790       RETURN NULL;
3791     END IF;
3792     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
3793       (p_ORDER_CATEGORY_CODE => p_record.LINE_CATEGORY_CODE) = 1  then 
3794     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Varchar2
3795       (p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
3796   END IF;
3797  
3798  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_CUST_ITEMS_V') THEN
3799     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3800        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3801     THEN
3802     RETURN NULL;
3803     END IF;
3804     IF ONT_TOL_CUST_ITEM_Def_Util.Sync_TOL_CUST_ITEM_Cache(p_CUSTOMER_ID => p_record.SOLD_TO_ORG_ID,
3805     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
3806     RETURN  ONT_TOL_CUST_ITEM_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_TOL_CUST_ITEM_Def_Util.g_cached_record); 
3807   END IF;
3808  
3809  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIPPING_METHOD_V') THEN
3810     IF NVL(p_record.SHIPPING_METHOD_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3811       RETURN NULL;
3812     END IF;
3813     IF  ONT_SHIP_METHOD_Def_Util.Sync_SHIP_METHOD_Cache
3814       (p_SHIPPING_METHOD_CODE => p_record.SHIPPING_METHOD_CODE) = 1  then 
3815     RETURN ONT_SHIP_METHOD_Def_Util.Get_Attr_Val_Varchar2
3816       (p_foreign_attr_code,ONT_SHIP_METHOD_Def_Util.g_cached_record); 
3817   END IF;
3818  
3819  ELSIF (p_foreign_database_object_name = 'OE_AGREEMENTS_V') THEN
3820     IF NVL(p_record.AGREEMENT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3821       RETURN NULL;
3822     END IF;
3823     IF  ONT_AGREEMENT_Def_Util.Sync_AGREEMENT_Cache
3824       (p_AGREEMENT_ID => p_record.AGREEMENT_ID) = 1  then 
3825     RETURN ONT_AGREEMENT_Def_Util.Get_Attr_Val_Varchar2
3826       (p_foreign_attr_code,ONT_AGREEMENT_Def_Util.g_cached_record); 
3827   END IF;
3828  
3829  ELSIF (p_foreign_database_object_name = 'OE_AK_DEL_TO_CONTACT_V') THEN
3830     IF NVL(p_record.DELIVER_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3831       RETURN NULL;
3832     END IF;
3833     IF  ONT_DEL_TO_CON_Def_Util.Sync_DEL_TO_CON_Cache
3834       (p_CONTACT_ID => p_record.DELIVER_TO_CONTACT_ID) = 1  then 
3835     RETURN ONT_DEL_TO_CON_Def_Util.Get_Attr_Val_Varchar2
3836       (p_foreign_attr_code,ONT_DEL_TO_CON_Def_Util.g_cached_record); 
3837   END IF;
3838  
3839  ELSIF (p_foreign_database_object_name = 'OE_AK_DEMAND_CLASS_V') THEN
3840     IF NVL(p_record.DEMAND_CLASS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3841       RETURN NULL;
3842     END IF;
3843     IF  ONT_DEM_CLASS_Def_Util.Sync_DEM_CLASS_Cache
3844       (p_DEMAND_CLASS_CODE => p_record.DEMAND_CLASS_CODE) = 1  then 
3845     RETURN ONT_DEM_CLASS_Def_Util.Get_Attr_Val_Varchar2
3846       (p_foreign_attr_code,ONT_DEM_CLASS_Def_Util.g_cached_record); 
3847   END IF;
3848  
3849  ELSIF (p_foreign_database_object_name = 'OE_AK_FOB_POINT_V') THEN
3850     IF NVL(p_record.FOB_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3851       RETURN NULL;
3852     END IF;
3853     IF  ONT_FOB_Def_Util.Sync_FOB_Cache
3854       (p_FOB_POINT_CODE => p_record.FOB_POINT_CODE) = 1  then 
3855     RETURN ONT_FOB_Def_Util.Get_Attr_Val_Varchar2
3856       (p_foreign_attr_code,ONT_FOB_Def_Util.g_cached_record); 
3857   END IF;
3858  
3859  ELSIF (p_foreign_database_object_name = 'OE_AK_FREIGHT_TERMS_V') THEN
3860     IF NVL(p_record.FREIGHT_TERMS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3861       RETURN NULL;
3862     END IF;
3863     IF  ONT_FR_TERM_Def_Util.Sync_FR_TERM_Cache
3864       (p_FREIGHT_TERMS_CODE => p_record.FREIGHT_TERMS_CODE) = 1  then 
3865     RETURN ONT_FR_TERM_Def_Util.Get_Attr_Val_Varchar2
3866       (p_foreign_attr_code,ONT_FR_TERM_Def_Util.g_cached_record); 
3867   END IF;
3868  
3869  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_HEADERS_V') THEN
3870     IF NVL(p_record.HEADER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3871       RETURN NULL;
3872     END IF;
3873     IF  ONT_HEADER_Def_Util.Sync_HEADER_Cache
3874       (p_HEADER_ID => p_record.HEADER_ID) = 1  then 
3875     RETURN ONT_HEADER_Def_Util.Get_Attr_Val_Varchar2
3876       (p_foreign_attr_code,ONT_HEADER_Def_Util.g_cached_record); 
3877   END IF;
3878  
3879  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
3880     IF NVL(p_record.INVOICE_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3881       RETURN NULL;
3882     END IF;
3883     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
3884       (p_CONTACT_ID => p_record.INVOICE_TO_CONTACT_ID) = 1  then 
3885     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Varchar2
3886       (p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
3887   END IF;
3888  
3889  ELSIF (p_foreign_database_object_name = 'OE_AK_ACC_RULES_V') THEN
3890     IF NVL(p_record.ACCOUNTING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3891       RETURN NULL;
3892     END IF;
3893     IF  ONT_ACC_RULE_Def_Util.Sync_ACC_RULE_Cache
3894       (p_ACCOUNTING_RULE_ID => p_record.ACCOUNTING_RULE_ID) = 1  then 
3895     RETURN ONT_ACC_RULE_Def_Util.Get_Attr_Val_Varchar2
3896       (p_foreign_attr_code,ONT_ACC_RULE_Def_Util.g_cached_record); 
3897   END IF;
3898  
3899  ELSIF (p_foreign_database_object_name = 'OE_AK_INVENTORY_ITEMS_V') THEN
3900     IF ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3901        OR ( NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
3902     THEN
3903     RETURN NULL;
3904     END IF;
3905     IF ONT_ITEM_Def_Util.Sync_ITEM_Cache(p_INVENTORY_ITEM_ID => p_record.INVENTORY_ITEM_ID,
3906     p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) =1 then 
3907     RETURN  ONT_ITEM_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_ITEM_Def_Util.g_cached_record); 
3908   END IF;
3909  
3910  ELSIF (p_foreign_database_object_name = 'OE_AK_INVOICE_TO_ORGS_V') THEN
3911     IF NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3912       RETURN NULL;
3913     END IF;
3914     IF  ONT_INV_ORG_Def_Util.Sync_INV_ORG_Cache
3915       (p_ORGANIZATION_ID => p_record.INVOICE_TO_ORG_ID) = 1  then 
3916     RETURN ONT_INV_ORG_Def_Util.Get_Attr_Val_Varchar2
3917       (p_foreign_attr_code,ONT_INV_ORG_Def_Util.g_cached_record); 
3918   END IF;
3919  
3920  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_RULES_V') THEN
3921     IF NVL(p_record.INVOICING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3922       RETURN NULL;
3923     END IF;
3924     IF  ONT_INV_RULE_Def_Util.Sync_INV_RULE_Cache
3925       (p_INVOICING_RULE_ID => p_record.INVOICING_RULE_ID) = 1  then 
3926     RETURN ONT_INV_RULE_Def_Util.Get_Attr_Val_Varchar2
3927       (p_foreign_attr_code,ONT_INV_RULE_Def_Util.g_cached_record); 
3928   END IF;
3929  
3930  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_ORGS_V') THEN
3931     IF NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3932       RETURN NULL;
3933     END IF;
3934     IF  ONT_SHIP_TO_ORG_Def_Util.Sync_SHIP_TO_ORG_Cache
3935       (p_ORGANIZATION_ID => p_record.SHIP_TO_ORG_ID) = 1  then 
3936     RETURN ONT_SHIP_TO_ORG_Def_Util.Get_Attr_Val_Varchar2
3937       (p_foreign_attr_code,ONT_SHIP_TO_ORG_Def_Util.g_cached_record); 
3938   END IF;
3939  
3940  ELSIF (p_foreign_database_object_name = 'OE_AK_PAYMENT_TERM_V') THEN
3941     IF NVL(p_record.PAYMENT_TERM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3942       RETURN NULL;
3943     END IF;
3944     IF  ONT_PAY_TERM_Def_Util.Sync_PAY_TERM_Cache
3945       (p_PAYMENT_TERM_ID => p_record.PAYMENT_TERM_ID) = 1  then 
3946     RETURN ONT_PAY_TERM_Def_Util.Get_Attr_Val_Varchar2
3947       (p_foreign_attr_code,ONT_PAY_TERM_Def_Util.g_cached_record); 
3948   END IF;
3949  
3950  ELSIF (p_foreign_database_object_name = 'OE_PRICE_LISTS_V') THEN
3951     IF NVL(p_record.PRICE_LIST_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
3952       RETURN NULL;
3953     END IF;
3954     IF  ONT_PRICE_LIST_Def_Util.Sync_PRICE_LIST_Cache
3955       (p_PRICE_LIST_ID => p_record.PRICE_LIST_ID) = 1  then 
3956     RETURN ONT_PRICE_LIST_Def_Util.Get_Attr_Val_Varchar2
3957       (p_foreign_attr_code,ONT_PRICE_LIST_Def_Util.g_cached_record); 
3958   END IF;
3959  
3960  ELSIF (p_foreign_database_object_name = 'OE_AK_PRIMARY_UOM_V') THEN
3961     IF NVL(p_record.ORDER_QUANTITY_UOM,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
3962       RETURN NULL;
3963     END IF;
3964     IF  ONT_P_UOM_Def_Util.Sync_P_UOM_Cache
3965       (p_PRIMARY_UOM_CODE => p_record.ORDER_QUANTITY_UOM) = 1  then 
3966     RETURN ONT_P_UOM_Def_Util.Get_Attr_Val_Varchar2
3967       (p_foreign_attr_code,ONT_P_UOM_Def_Util.g_cached_record); 
3968   END IF;
3969  
3970  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
3971     IF NVL(p_record.REQUEST_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
3972       RETURN NULL;
3973     END IF;
3974     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
3975       (p_REQUEST_DATE => p_record.REQUEST_DATE) = 1  then 
3976     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
3977       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
3978   END IF;
3979  
3980  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
3981     IF NVL(p_record.PROMISE_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
3982       RETURN NULL;
3983     END IF;
3984     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
3985       (p_REQUEST_DATE => p_record.PROMISE_DATE) = 1  then 
3986     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
3987       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
3988   END IF;
3989  
3990  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
3991     IF NVL(p_record.SCHEDULE_SHIP_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
3992       RETURN NULL;
3993     END IF;
3994     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
3995       (p_REQUEST_DATE => p_record.SCHEDULE_SHIP_DATE) = 1  then 
3996     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
3997       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
3998   END IF;
3999  
4000  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
4001     IF NVL(p_record.SCHEDULE_ARRIVAL_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4002       RETURN NULL;
4003     END IF;
4004     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
4005       (p_REQUEST_DATE => p_record.SCHEDULE_ARRIVAL_DATE) = 1  then 
4006     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Varchar2
4007       (p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
4008   END IF;
4009  
4010  ELSIF (p_foreign_database_object_name = 'OE_AK_ARRIVAL_SETS_V') THEN
4011     IF NVL(p_record.ARRIVAL_SET_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4012       RETURN NULL;
4013     END IF;
4014     IF  ONT_ARRIVAL_SET_Def_Util.Sync_ARRIVAL_SET_Cache
4015       (p_SET_ID => p_record.ARRIVAL_SET_ID) = 1  then 
4016     RETURN ONT_ARRIVAL_SET_Def_Util.Get_Attr_Val_Varchar2
4017       (p_foreign_attr_code,ONT_ARRIVAL_SET_Def_Util.g_cached_record); 
4018   END IF;
4019  
4020  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PRIORITIES_V') THEN
4021     IF NVL(p_record.SHIPMENT_PRIORITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4022       RETURN NULL;
4023     END IF;
4024     IF  ONT_SHIP_PR_Def_Util.Sync_SHIP_PR_Cache
4025       (p_SHIPMENT_PRIORITY_CODE => p_record.SHIPMENT_PRIORITY_CODE) = 1  then 
4026     RETURN ONT_SHIP_PR_Def_Util.Get_Attr_Val_Varchar2
4027       (p_foreign_attr_code,ONT_SHIP_PR_Def_Util.g_cached_record); 
4028   END IF;
4029  
4030  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_FROM_ORGS_V') THEN
4031     IF NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4032       RETURN NULL;
4033     END IF;
4034     IF  ONT_SHIP_FROM_ORG_Def_Util.Sync_SHIP_FROM_ORG_Cache
4035       (p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) = 1  then 
4036     RETURN ONT_SHIP_FROM_ORG_Def_Util.Get_Attr_Val_Varchar2
4037       (p_foreign_attr_code,ONT_SHIP_FROM_ORG_Def_Util.g_cached_record); 
4038   END IF;
4039  
4040  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_SETS_V') THEN
4041     IF NVL(p_record.SHIP_SET_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4042       RETURN NULL;
4043     END IF;
4044     IF  ONT_SHIP_SET_Def_Util.Sync_SHIP_SET_Cache
4045       (p_SET_ID => p_record.SHIP_SET_ID) = 1  then 
4046     RETURN ONT_SHIP_SET_Def_Util.Get_Attr_Val_Varchar2
4047       (p_foreign_attr_code,ONT_SHIP_SET_Def_Util.g_cached_record); 
4048   END IF;
4049  
4050  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_ABOVE_V') THEN
4051     IF NVL(p_record.SHIP_TOLERANCE_ABOVE,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4052       RETURN NULL;
4053     END IF;
4054     IF  ONT_S_TOL_ABOVE_Def_Util.Sync_S_TOL_ABOVE_Cache
4055       (p_SHIP_TOLERANCE_ABOVE => p_record.SHIP_TOLERANCE_ABOVE) = 1  then 
4056     RETURN ONT_S_TOL_ABOVE_Def_Util.Get_Attr_Val_Varchar2
4057       (p_foreign_attr_code,ONT_S_TOL_ABOVE_Def_Util.g_cached_record); 
4058   END IF;
4059  
4060  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_BELOW_V') THEN
4061     IF NVL(p_record.SHIP_TOLERANCE_BELOW,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4062       RETURN NULL;
4063     END IF;
4064     IF  ONT_S_TOL_BELOW_Def_Util.Sync_S_TOL_BELOW_Cache
4065       (p_SHIP_TOLERANCE_BELOW => p_record.SHIP_TOLERANCE_BELOW) = 1  then 
4066     RETURN ONT_S_TOL_BELOW_Def_Util.Get_Attr_Val_Varchar2
4067       (p_foreign_attr_code,ONT_S_TOL_BELOW_Def_Util.g_cached_record); 
4068   END IF;
4069  
4070  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
4071     IF NVL(p_record.SHIP_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4072       RETURN NULL;
4073     END IF;
4074     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
4075       (p_CONTACT_ID => p_record.SHIP_TO_CONTACT_ID) = 1  then 
4076     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Varchar2
4077       (p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
4078   END IF;
4079  
4080  ELSIF (p_foreign_database_object_name = 'OE_AK_T_EXEMPT_REASON_V') THEN
4081     IF NVL(p_record.TAX_EXEMPT_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4082       RETURN NULL;
4083     END IF;
4084     IF  ONT_T_EXEMPT_REASON_Def_Util.Sync_T_EXEMPT_REASON_Cache
4085       (p_TAX_EXEMPT_REASON_CODE => p_record.TAX_EXEMPT_REASON_CODE) = 1  then 
4086     RETURN ONT_T_EXEMPT_REASON_Def_Util.Get_Attr_Val_Varchar2
4087       (p_foreign_attr_code,ONT_T_EXEMPT_REASON_Def_Util.g_cached_record); 
4088   END IF;
4089  
4090  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_EXEMPT_V') THEN
4091     IF NVL(p_record.TAX_EXEMPT_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4092       RETURN NULL;
4093     END IF;
4094     IF  ONT_TAX_EXEMPT_Def_Util.Sync_TAX_EXEMPT_Cache
4095       (p_TAX_EXEMPT_FLAG => p_record.TAX_EXEMPT_FLAG) = 1  then 
4096     RETURN ONT_TAX_EXEMPT_Def_Util.Get_Attr_Val_Varchar2
4097       (p_foreign_attr_code,ONT_TAX_EXEMPT_Def_Util.g_cached_record); 
4098   END IF;
4099  
4100  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_POINT_V') THEN
4101     IF NVL(p_record.TAX_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4102       RETURN NULL;
4103     END IF;
4104     IF  ONT_TAX_POINT_Def_Util.Sync_TAX_POINT_Cache
4105       (p_TAX_POINT_CODE => p_record.TAX_POINT_CODE) = 1  then 
4106     RETURN ONT_TAX_POINT_Def_Util.Get_Attr_Val_Varchar2
4107       (p_foreign_attr_code,ONT_TAX_POINT_Def_Util.g_cached_record); 
4108   END IF;
4109  
4110  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
4111     IF NVL(p_record.LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4112       RETURN NULL;
4113     END IF;
4114     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
4115       (p_LINE_TYPE_ID => p_record.LINE_TYPE_ID) = 1  then 
4116     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Varchar2
4117       (p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
4118   END IF;
4119  
4120  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
4121     IF NVL(p_record.LINE_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4122       RETURN NULL;
4123     END IF;
4124     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
4125       (p_ORDER_CATEGORY_CODE => p_record.LINE_CATEGORY_CODE) = 1  then 
4126     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Varchar2
4127       (p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
4128   END IF;
4129  
4130  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_ITEM_BILLTO_V') THEN
4131     IF ( NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4132        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4133     THEN
4134     RETURN NULL;
4135     END IF;
4136     IF ONT_ITEM_BILLTO_Def_Util.Sync_ITEM_BILLTO_Cache(p_CUSTOMER_ID => p_record.INVOICE_TO_ORG_ID,
4137     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
4138     RETURN  ONT_ITEM_BILLTO_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_ITEM_BILLTO_Def_Util.g_cached_record); 
4139   END IF;
4140  
4141  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_ITEM_SHIPTO_V') THEN
4142     IF ( NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4143        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4144     THEN
4145     RETURN NULL;
4146     END IF;
4147     IF ONT_ITEM_SHIPTO_Def_Util.Sync_ITEM_SHIPTO_Cache(p_CUSTOMER_ID => p_record.SHIP_TO_ORG_ID,
4148     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
4149     RETURN  ONT_ITEM_SHIPTO_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_ITEM_SHIPTO_Def_Util.g_cached_record); 
4150   END IF;
4151  
4152  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_INST_V') THEN
4153     IF NVL(p_record.SHIPPING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4154       RETURN NULL;
4155     END IF;
4156     IF  ONT_SHIP_INST_Def_Util.Sync_SHIP_INST_Cache
4157       (p_SHIPPING_INSTRUCTIONS => p_record.SHIPPING_INSTRUCTIONS) = 1  then 
4158     RETURN ONT_SHIP_INST_Def_Util.Get_Attr_Val_Varchar2
4159       (p_foreign_attr_code,ONT_SHIP_INST_Def_Util.g_cached_record); 
4160   END IF;
4161  
4162  ELSIF (p_foreign_database_object_name = 'OE_AK_RETURN_REASON_V') THEN
4163     IF NVL(p_record.RETURN_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4164       RETURN NULL;
4165     END IF;
4166     IF  ONT_RET_REASON_Def_Util.Sync_RET_REASON_Cache
4167       (p_RETURN_REASON_CODE => p_record.RETURN_REASON_CODE) = 1  then 
4168     RETURN ONT_RET_REASON_Def_Util.Get_Attr_Val_Varchar2
4169       (p_foreign_attr_code,ONT_RET_REASON_Def_Util.g_cached_record); 
4170   END IF;
4171  
4172  ELSIF (p_foreign_database_object_name = 'OE_AK_PACK_INST_V') THEN
4173     IF NVL(p_record.PACKING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4174       RETURN NULL;
4175     END IF;
4176     IF  ONT_PACK_INST_Def_Util.Sync_PACK_INST_Cache
4177       (p_PACKING_INSTRUCTIONS => p_record.PACKING_INSTRUCTIONS) = 1  then 
4178     RETURN ONT_PACK_INST_Def_Util.Get_Attr_Val_Varchar2
4179       (p_foreign_attr_code,ONT_PACK_INST_Def_Util.g_cached_record); 
4180   END IF;
4181  
4182  ELSIF (p_foreign_database_object_name = 'OE_AK_BLANKET_LINES_V') THEN
4183     IF ( NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4184        OR ( NVL(p_record.BLANKET_LINE_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4185     THEN
4186     RETURN NULL;
4187     END IF;
4188     IF ONT_BLANKET_LINE_Def_Util.Sync_BLANKET_LINE_Cache(p_ORDER_NUMBER => p_record.BLANKET_NUMBER,
4189     p_LINE_NUMBER => p_record.BLANKET_LINE_NUMBER) =1 then 
4190     RETURN  ONT_BLANKET_LINE_Def_Util.Get_Attr_Val_Varchar2(p_foreign_attr_code,ONT_BLANKET_LINE_Def_Util.g_cached_record); 
4191   END IF;
4192  
4193  ELSIF (p_foreign_database_object_name = 'OE_AK_BLANKET_HEADERS_V') THEN
4194     IF NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4195       RETURN NULL;
4196     END IF;
4197     IF  ONT_BLANKET_HEADER_Def_Util.Sync_BLANKET_HEADER_Cache
4198       (p_ORDER_NUMBER => p_record.BLANKET_NUMBER) = 1  then 
4199     RETURN ONT_BLANKET_HEADER_Def_Util.Get_Attr_Val_Varchar2
4200       (p_foreign_attr_code,ONT_BLANKET_HEADER_Def_Util.g_cached_record); 
4201   END IF;
4202  
4203  ELSIF (p_foreign_database_object_name = 'OE_AK_CUST_PO_NUMBER_V') THEN
4204     IF NVL(p_record.CUST_PO_NUMBER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4205       RETURN NULL;
4206     END IF;
4207     IF  ONT_CUST_PO_Def_Util.Sync_CUST_PO_Cache
4208       (p_CUSTOMER_PO_NUMBER => p_record.CUST_PO_NUMBER) = 1  then 
4209     RETURN ONT_CUST_PO_Def_Util.Get_Attr_Val_Varchar2
4210       (p_foreign_attr_code,ONT_CUST_PO_Def_Util.g_cached_record); 
4211   END IF;
4212  
4213  ELSIF (p_foreign_database_object_name = 'OE_AK_SOURCE_TYPE_V') THEN
4214     IF NVL(p_record.SOURCE_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4215       RETURN NULL;
4216     END IF;
4217     IF  ONT_SOURCE_TYPE_Def_Util.Sync_SOURCE_TYPE_Cache
4218       (p_SOURCE_TYPE_CODE => p_record.SOURCE_TYPE_CODE) = 1  then 
4219     RETURN ONT_SOURCE_TYPE_Def_Util.Get_Attr_Val_Varchar2
4220       (p_foreign_attr_code,ONT_SOURCE_TYPE_Def_Util.g_cached_record); 
4221   END IF;
4222  
4223  ELSIF (p_foreign_database_object_name = 'OE_AK_DELIVER_TO_ORGS_V') THEN
4224     IF NVL(p_record.DELIVER_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4225       RETURN NULL;
4226     END IF;
4227     IF  ONT_DEL_TO_ORG_Def_Util.Sync_DEL_TO_ORG_Cache
4228       (p_ORGANIZATION_ID => p_record.DELIVER_TO_ORG_ID) = 1  then 
4229     RETURN ONT_DEL_TO_ORG_Def_Util.Get_Attr_Val_Varchar2
4230       (p_foreign_attr_code,ONT_DEL_TO_ORG_Def_Util.g_cached_record); 
4231   END IF;
4232  
4233  ELSIF (p_foreign_database_object_name = 'OE_AK_CHARGE_PERIODICITY_V') THEN
4234     IF NVL(p_record.CHARGE_PERIODICITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4235       RETURN NULL;
4236     END IF;
4237     IF  ONT_CHG_PRDCTY_CODE_Def_Util.Sync_CHG_PRDCTY_CODE_Cache
4238       (p_UOM_CODE => p_record.CHARGE_PERIODICITY_CODE) = 1  then 
4239     RETURN ONT_CHG_PRDCTY_CODE_Def_Util.Get_Attr_Val_Varchar2
4240       (p_foreign_attr_code,ONT_CHG_PRDCTY_CODE_Def_Util.g_cached_record); 
4241   END IF;
4242  
4243  ELSIF (p_foreign_database_object_name = 'OE_AK_SRV_DURATION_V') THEN
4244     IF NVL(p_record.SERVICE_DURATION,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4245       RETURN NULL;
4246     END IF;
4247     IF  ONT_SRV_DURATION_Def_Util.Sync_SRV_DURATION_Cache
4248       (p_SERVICE_DURATION => p_record.SERVICE_DURATION) = 1  then 
4249     RETURN ONT_SRV_DURATION_Def_Util.Get_Attr_Val_Varchar2
4250       (p_foreign_attr_code,ONT_SRV_DURATION_Def_Util.g_cached_record); 
4251   END IF;
4252  
4253  ELSIF (p_foreign_database_object_name = 'OE_AK_SRV_PERIOD_V') THEN
4254     IF NVL(p_record.SERVICE_PERIOD,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4255       RETURN NULL;
4256     END IF;
4257     IF  ONT_SRV_PERIOD_Def_Util.Sync_SRV_PERIOD_Cache
4258       (p_SERVICE_PERIOD_CODE => p_record.SERVICE_PERIOD) = 1  then 
4259     RETURN ONT_SRV_PERIOD_Def_Util.Get_Attr_Val_Varchar2
4260       (p_foreign_attr_code,ONT_SRV_PERIOD_Def_Util.g_cached_record); 
4261   END IF;
4262  
4263  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_V') THEN
4264     IF NVL(p_record.END_CUSTOMER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4265       RETURN NULL;
4266     END IF;
4267     IF  ONT_END_CUSTOMER_Def_Util.Sync_END_CUSTOMER_Cache
4268       (p_END_CUSTOMER_ID => p_record.END_CUSTOMER_ID) = 1  then 
4269     RETURN ONT_END_CUSTOMER_Def_Util.Get_Attr_Val_Varchar2
4270       (p_foreign_attr_code,ONT_END_CUSTOMER_Def_Util.g_cached_record); 
4271   END IF;
4272  
4273  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_CONT_V') THEN
4274     IF NVL(p_record.END_CUSTOMER_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4275       RETURN NULL;
4276     END IF;
4277     IF  ONT_EC_CONTACT_Def_Util.Sync_EC_CONTACT_Cache
4278       (p_END_CUSTOMER_CONTACT_ID => p_record.END_CUSTOMER_CONTACT_ID) = 1  then 
4279     RETURN ONT_EC_CONTACT_Def_Util.Get_Attr_Val_Varchar2
4280       (p_foreign_attr_code,ONT_EC_CONTACT_Def_Util.g_cached_record); 
4281   END IF;
4282  
4283  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_SITEUSE_V') THEN
4284     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4285       RETURN NULL;
4286     END IF;
4287     IF  ONT_EC_LOCATION_Def_Util.Sync_EC_LOCATION_Cache
4288       (p_END_CUSTOMER_SITE_USE_ID => p_record.END_CUSTOMER_SITE_USE_ID) = 1  then 
4289     RETURN ONT_EC_LOCATION_Def_Util.Get_Attr_Val_Varchar2
4290       (p_foreign_attr_code,ONT_EC_LOCATION_Def_Util.g_cached_record); 
4291   END IF;
4292  
4293  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_OWNER_V') THEN
4294     IF NVL(p_record.IB_OWNER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4295       RETURN NULL;
4296     END IF;
4297     IF  ONT_IB_OWNER_Def_Util.Sync_IB_OWNER_Cache
4298       (p_IB_OWNER => p_record.IB_OWNER) = 1  then 
4299     RETURN ONT_IB_OWNER_Def_Util.Get_Attr_Val_Varchar2
4300       (p_foreign_attr_code,ONT_IB_OWNER_Def_Util.g_cached_record); 
4301   END IF;
4302  
4303  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_INSTALL_LOC_V') THEN
4304     IF NVL(p_record.IB_INSTALLED_AT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4305       RETURN NULL;
4306     END IF;
4307     IF  ONT_IB_INSTALL_LOC_Def_Util.Sync_IB_INSTALL_LOC_Cache
4308       (p_IB_INSTALLED_AT_LOCATION => p_record.IB_INSTALLED_AT_LOCATION) = 1  then 
4309     RETURN ONT_IB_INSTALL_LOC_Def_Util.Get_Attr_Val_Varchar2
4310       (p_foreign_attr_code,ONT_IB_INSTALL_LOC_Def_Util.g_cached_record); 
4311   END IF;
4312  
4313  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_CURR_LOC_V') THEN
4314     IF NVL(p_record.IB_CURRENT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4315       RETURN NULL;
4316     END IF;
4317     IF  ONT_IB_CURR_LOC_Def_Util.Sync_IB_CURR_LOC_Cache
4318       (p_IB_CURRENT_LOCATION => p_record.IB_CURRENT_LOCATION) = 1  then 
4319     RETURN ONT_IB_CURR_LOC_Def_Util.Get_Attr_Val_Varchar2
4320       (p_foreign_attr_code,ONT_IB_CURR_LOC_Def_Util.g_cached_record); 
4321   END IF;
4322  
4323  ELSIF (p_foreign_database_object_name = 'OE_AK_ORD_FIRMED_DATE_V') THEN
4324     IF NVL(p_record.ORDER_FIRMED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4325       RETURN NULL;
4326     END IF;
4327     IF  ONT_ORD_FIRMED_DATE_Def_Util.Sync_ORD_FIRMED_DATE_Cache
4328       (p_ORDER_FIRMED_DATE => p_record.ORDER_FIRMED_DATE) = 1  then 
4329     RETURN ONT_ORD_FIRMED_DATE_Def_Util.Get_Attr_Val_Varchar2
4330       (p_foreign_attr_code,ONT_ORD_FIRMED_DATE_Def_Util.g_cached_record); 
4331   END IF;
4332  
4333  ELSIF (p_foreign_database_object_name = 'OE_AK_MTL_CUST_ITEMS_V') THEN
4334     IF NVL(p_record.ORDERED_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4335       RETURN NULL;
4336     END IF;
4337     IF  ONT_CUST_ITEM_Def_Util.Sync_CUST_ITEM_Cache
4338       (p_CUSTOMER_ITEM_ID => p_record.ORDERED_ITEM_ID) = 1  then 
4339     RETURN ONT_CUST_ITEM_Def_Util.Get_Attr_Val_Varchar2
4340       (p_foreign_attr_code,ONT_CUST_ITEM_Def_Util.g_cached_record); 
4341   END IF;
4342 END IF;
4343  
4344      RETURN NULL;
4345 END Get_Foreign_Attr_Val_Varchar2;
4346  
4347 FUNCTION Get_Foreign_Attr_Val_Date
4348 (   p_foreign_attr_code             IN  VARCHAR2
4349 ,   p_record                        IN  OE_AK_ORDER_LINES_V%ROWTYPE 
4350 ,   p_foreign_database_object_name  IN  VARCHAR2
4351 ) RETURN DATE
4352  
4353 IS
4354 BEGIN
4355  
4356  IF (p_foreign_database_object_name = 'OE_AK_SOLD_TO_ORGS_V') THEN
4357     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4358        OR ( NVL(p_record.ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4359     THEN
4360     RETURN NULL;
4361     END IF;
4362     IF ONT_SOLD_TO_ORG_Def_Util.Sync_SOLD_TO_ORG_Cache(p_ORGANIZATION_ID => p_record.SOLD_TO_ORG_ID,
4363     p_ORG_ID => p_record.ORG_ID) =1 then 
4364     RETURN ONT_SOLD_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SOLD_TO_ORG_Def_Util.g_cached_record); 
4365   END IF;
4366  
4367  ELSIF (p_foreign_database_object_name = 'OE_AK_DEP_PLAN_REQD_V') THEN
4368     IF NVL(p_record.DEP_PLAN_REQUIRED_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4369       RETURN NULL;
4370     END IF;
4371     IF  ONT_DEP_PLANNING_Def_Util.Sync_DEP_PLANNING_Cache
4372       (p_DEP_PLAN_REQUIRED_FLAG => p_record.DEP_PLAN_REQUIRED_FLAG) = 1  then 
4373     RETURN ONT_DEP_PLANNING_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEP_PLANNING_Def_Util.g_cached_record); 
4374   END IF;
4375  
4376  ELSIF (p_foreign_database_object_name = 'OE_AK_SALESREPS_V') THEN
4377     IF NVL(p_record.SALESREP_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4378       RETURN NULL;
4379     END IF;
4380     IF  ONT_SALESREP_Def_Util.Sync_SALESREP_Cache
4381       (p_SALESREP_ID => p_record.SALESREP_ID) = 1  then 
4382     RETURN ONT_SALESREP_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SALESREP_Def_Util.g_cached_record); 
4383   END IF;
4384  
4385  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
4386     IF NVL(p_record.LINE_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4387       RETURN NULL;
4388     END IF;
4389     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
4390       (p_ORDER_CATEGORY_CODE => p_record.LINE_CATEGORY_CODE) = 1  then 
4391     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
4392   END IF;
4393  
4394  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_CUST_ITEMS_V') THEN
4395     IF ( NVL(p_record.SOLD_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4396        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4397     THEN
4398     RETURN NULL;
4399     END IF;
4400     IF ONT_TOL_CUST_ITEM_Def_Util.Sync_TOL_CUST_ITEM_Cache(p_CUSTOMER_ID => p_record.SOLD_TO_ORG_ID,
4401     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
4402     RETURN ONT_TOL_CUST_ITEM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TOL_CUST_ITEM_Def_Util.g_cached_record); 
4403   END IF;
4404  
4405  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIPPING_METHOD_V') THEN
4406     IF NVL(p_record.SHIPPING_METHOD_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4407       RETURN NULL;
4408     END IF;
4409     IF  ONT_SHIP_METHOD_Def_Util.Sync_SHIP_METHOD_Cache
4410       (p_SHIPPING_METHOD_CODE => p_record.SHIPPING_METHOD_CODE) = 1  then 
4411     RETURN ONT_SHIP_METHOD_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_METHOD_Def_Util.g_cached_record); 
4412   END IF;
4413  
4414  ELSIF (p_foreign_database_object_name = 'OE_AGREEMENTS_V') THEN
4415     IF NVL(p_record.AGREEMENT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4416       RETURN NULL;
4417     END IF;
4418     IF  ONT_AGREEMENT_Def_Util.Sync_AGREEMENT_Cache
4419       (p_AGREEMENT_ID => p_record.AGREEMENT_ID) = 1  then 
4420     RETURN ONT_AGREEMENT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_AGREEMENT_Def_Util.g_cached_record); 
4421   END IF;
4422  
4423  ELSIF (p_foreign_database_object_name = 'OE_AK_DEL_TO_CONTACT_V') THEN
4424     IF NVL(p_record.DELIVER_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4425       RETURN NULL;
4426     END IF;
4427     IF  ONT_DEL_TO_CON_Def_Util.Sync_DEL_TO_CON_Cache
4428       (p_CONTACT_ID => p_record.DELIVER_TO_CONTACT_ID) = 1  then 
4429     RETURN ONT_DEL_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEL_TO_CON_Def_Util.g_cached_record); 
4430   END IF;
4431  
4432  ELSIF (p_foreign_database_object_name = 'OE_AK_DEMAND_CLASS_V') THEN
4433     IF NVL(p_record.DEMAND_CLASS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4434       RETURN NULL;
4435     END IF;
4436     IF  ONT_DEM_CLASS_Def_Util.Sync_DEM_CLASS_Cache
4437       (p_DEMAND_CLASS_CODE => p_record.DEMAND_CLASS_CODE) = 1  then 
4438     RETURN ONT_DEM_CLASS_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEM_CLASS_Def_Util.g_cached_record); 
4439   END IF;
4440  
4441  ELSIF (p_foreign_database_object_name = 'OE_AK_FOB_POINT_V') THEN
4442     IF NVL(p_record.FOB_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4443       RETURN NULL;
4444     END IF;
4445     IF  ONT_FOB_Def_Util.Sync_FOB_Cache
4446       (p_FOB_POINT_CODE => p_record.FOB_POINT_CODE) = 1  then 
4447     RETURN ONT_FOB_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_FOB_Def_Util.g_cached_record); 
4448   END IF;
4449  
4450  ELSIF (p_foreign_database_object_name = 'OE_AK_FREIGHT_TERMS_V') THEN
4451     IF NVL(p_record.FREIGHT_TERMS_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4452       RETURN NULL;
4453     END IF;
4454     IF  ONT_FR_TERM_Def_Util.Sync_FR_TERM_Cache
4455       (p_FREIGHT_TERMS_CODE => p_record.FREIGHT_TERMS_CODE) = 1  then 
4456     RETURN ONT_FR_TERM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_FR_TERM_Def_Util.g_cached_record); 
4457   END IF;
4458  
4459  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_HEADERS_V') THEN
4460     IF NVL(p_record.HEADER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4461       RETURN NULL;
4462     END IF;
4463     IF  ONT_HEADER_Def_Util.Sync_HEADER_Cache
4464       (p_HEADER_ID => p_record.HEADER_ID) = 1  then 
4465     RETURN ONT_HEADER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_HEADER_Def_Util.g_cached_record); 
4466   END IF;
4467  
4468  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_TO_CONTACT_V') THEN
4469     IF NVL(p_record.INVOICE_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4470       RETURN NULL;
4471     END IF;
4472     IF  ONT_INV_TO_CON_Def_Util.Sync_INV_TO_CON_Cache
4473       (p_CONTACT_ID => p_record.INVOICE_TO_CONTACT_ID) = 1  then 
4474     RETURN ONT_INV_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_TO_CON_Def_Util.g_cached_record); 
4475   END IF;
4476  
4477  ELSIF (p_foreign_database_object_name = 'OE_AK_ACC_RULES_V') THEN
4478     IF NVL(p_record.ACCOUNTING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4479       RETURN NULL;
4480     END IF;
4481     IF  ONT_ACC_RULE_Def_Util.Sync_ACC_RULE_Cache
4482       (p_ACCOUNTING_RULE_ID => p_record.ACCOUNTING_RULE_ID) = 1  then 
4483     RETURN ONT_ACC_RULE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ACC_RULE_Def_Util.g_cached_record); 
4484   END IF;
4485  
4486  ELSIF (p_foreign_database_object_name = 'OE_AK_INVENTORY_ITEMS_V') THEN
4487     IF ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4488        OR ( NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4489     THEN
4490     RETURN NULL;
4491     END IF;
4492     IF ONT_ITEM_Def_Util.Sync_ITEM_Cache(p_INVENTORY_ITEM_ID => p_record.INVENTORY_ITEM_ID,
4493     p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) =1 then 
4494     RETURN ONT_ITEM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ITEM_Def_Util.g_cached_record); 
4495   END IF;
4496  
4497  ELSIF (p_foreign_database_object_name = 'OE_AK_INVOICE_TO_ORGS_V') THEN
4498     IF NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4499       RETURN NULL;
4500     END IF;
4501     IF  ONT_INV_ORG_Def_Util.Sync_INV_ORG_Cache
4502       (p_ORGANIZATION_ID => p_record.INVOICE_TO_ORG_ID) = 1  then 
4503     RETURN ONT_INV_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_ORG_Def_Util.g_cached_record); 
4504   END IF;
4505  
4506  ELSIF (p_foreign_database_object_name = 'OE_AK_INV_RULES_V') THEN
4507     IF NVL(p_record.INVOICING_RULE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4508       RETURN NULL;
4509     END IF;
4510     IF  ONT_INV_RULE_Def_Util.Sync_INV_RULE_Cache
4511       (p_INVOICING_RULE_ID => p_record.INVOICING_RULE_ID) = 1  then 
4512     RETURN ONT_INV_RULE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_INV_RULE_Def_Util.g_cached_record); 
4513   END IF;
4514  
4515  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_ORGS_V') THEN
4516     IF NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4517       RETURN NULL;
4518     END IF;
4519     IF  ONT_SHIP_TO_ORG_Def_Util.Sync_SHIP_TO_ORG_Cache
4520       (p_ORGANIZATION_ID => p_record.SHIP_TO_ORG_ID) = 1  then 
4521     RETURN ONT_SHIP_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_TO_ORG_Def_Util.g_cached_record); 
4522   END IF;
4523  
4524  ELSIF (p_foreign_database_object_name = 'OE_AK_PAYMENT_TERM_V') THEN
4525     IF NVL(p_record.PAYMENT_TERM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4526       RETURN NULL;
4527     END IF;
4528     IF  ONT_PAY_TERM_Def_Util.Sync_PAY_TERM_Cache
4529       (p_PAYMENT_TERM_ID => p_record.PAYMENT_TERM_ID) = 1  then 
4530     RETURN ONT_PAY_TERM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PAY_TERM_Def_Util.g_cached_record); 
4531   END IF;
4532  
4533  ELSIF (p_foreign_database_object_name = 'OE_PRICE_LISTS_V') THEN
4534     IF NVL(p_record.PRICE_LIST_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4535       RETURN NULL;
4536     END IF;
4537     IF  ONT_PRICE_LIST_Def_Util.Sync_PRICE_LIST_Cache
4538       (p_PRICE_LIST_ID => p_record.PRICE_LIST_ID) = 1  then 
4539     RETURN ONT_PRICE_LIST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PRICE_LIST_Def_Util.g_cached_record); 
4540   END IF;
4541  
4542  ELSIF (p_foreign_database_object_name = 'OE_AK_PRIMARY_UOM_V') THEN
4543     IF NVL(p_record.ORDER_QUANTITY_UOM,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4544       RETURN NULL;
4545     END IF;
4546     IF  ONT_P_UOM_Def_Util.Sync_P_UOM_Cache
4547       (p_PRIMARY_UOM_CODE => p_record.ORDER_QUANTITY_UOM) = 1  then 
4548     RETURN ONT_P_UOM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_P_UOM_Def_Util.g_cached_record); 
4549   END IF;
4550  
4551  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
4552     IF NVL(p_record.REQUEST_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4553       RETURN NULL;
4554     END IF;
4555     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
4556       (p_REQUEST_DATE => p_record.REQUEST_DATE) = 1  then 
4557     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
4558   END IF;
4559  
4560  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
4561     IF NVL(p_record.PROMISE_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4562       RETURN NULL;
4563     END IF;
4564     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
4565       (p_REQUEST_DATE => p_record.PROMISE_DATE) = 1  then 
4566     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
4567   END IF;
4568  
4569  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
4570     IF NVL(p_record.SCHEDULE_SHIP_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4571       RETURN NULL;
4572     END IF;
4573     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
4574       (p_REQUEST_DATE => p_record.SCHEDULE_SHIP_DATE) = 1  then 
4575     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
4576   END IF;
4577  
4578  ELSIF (p_foreign_database_object_name = 'OE_AK_REQUEST_DATE_V') THEN
4579     IF NVL(p_record.SCHEDULE_ARRIVAL_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4580       RETURN NULL;
4581     END IF;
4582     IF  ONT_REQ_DATE_Def_Util.Sync_REQ_DATE_Cache
4583       (p_REQUEST_DATE => p_record.SCHEDULE_ARRIVAL_DATE) = 1  then 
4584     RETURN ONT_REQ_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_REQ_DATE_Def_Util.g_cached_record); 
4585   END IF;
4586  
4587  ELSIF (p_foreign_database_object_name = 'OE_AK_ARRIVAL_SETS_V') THEN
4588     IF NVL(p_record.ARRIVAL_SET_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4589       RETURN NULL;
4590     END IF;
4591     IF  ONT_ARRIVAL_SET_Def_Util.Sync_ARRIVAL_SET_Cache
4592       (p_SET_ID => p_record.ARRIVAL_SET_ID) = 1  then 
4593     RETURN ONT_ARRIVAL_SET_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ARRIVAL_SET_Def_Util.g_cached_record); 
4594   END IF;
4595  
4596  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_PRIORITIES_V') THEN
4597     IF NVL(p_record.SHIPMENT_PRIORITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4598       RETURN NULL;
4599     END IF;
4600     IF  ONT_SHIP_PR_Def_Util.Sync_SHIP_PR_Cache
4601       (p_SHIPMENT_PRIORITY_CODE => p_record.SHIPMENT_PRIORITY_CODE) = 1  then 
4602     RETURN ONT_SHIP_PR_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_PR_Def_Util.g_cached_record); 
4603   END IF;
4604  
4605  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_FROM_ORGS_V') THEN
4606     IF NVL(p_record.SHIP_FROM_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4607       RETURN NULL;
4608     END IF;
4609     IF  ONT_SHIP_FROM_ORG_Def_Util.Sync_SHIP_FROM_ORG_Cache
4610       (p_ORGANIZATION_ID => p_record.SHIP_FROM_ORG_ID) = 1  then 
4611     RETURN ONT_SHIP_FROM_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_FROM_ORG_Def_Util.g_cached_record); 
4612   END IF;
4613  
4614  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_SETS_V') THEN
4615     IF NVL(p_record.SHIP_SET_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4616       RETURN NULL;
4617     END IF;
4618     IF  ONT_SHIP_SET_Def_Util.Sync_SHIP_SET_Cache
4619       (p_SET_ID => p_record.SHIP_SET_ID) = 1  then 
4620     RETURN ONT_SHIP_SET_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_SET_Def_Util.g_cached_record); 
4621   END IF;
4622  
4623  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_ABOVE_V') THEN
4624     IF NVL(p_record.SHIP_TOLERANCE_ABOVE,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4625       RETURN NULL;
4626     END IF;
4627     IF  ONT_S_TOL_ABOVE_Def_Util.Sync_S_TOL_ABOVE_Cache
4628       (p_SHIP_TOLERANCE_ABOVE => p_record.SHIP_TOLERANCE_ABOVE) = 1  then 
4629     RETURN ONT_S_TOL_ABOVE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_S_TOL_ABOVE_Def_Util.g_cached_record); 
4630   END IF;
4631  
4632  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TOL_BELOW_V') THEN
4633     IF NVL(p_record.SHIP_TOLERANCE_BELOW,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4634       RETURN NULL;
4635     END IF;
4636     IF  ONT_S_TOL_BELOW_Def_Util.Sync_S_TOL_BELOW_Cache
4637       (p_SHIP_TOLERANCE_BELOW => p_record.SHIP_TOLERANCE_BELOW) = 1  then 
4638     RETURN ONT_S_TOL_BELOW_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_S_TOL_BELOW_Def_Util.g_cached_record); 
4639   END IF;
4640  
4641  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_TO_CONTACT_V') THEN
4642     IF NVL(p_record.SHIP_TO_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4643       RETURN NULL;
4644     END IF;
4645     IF  ONT_SHIP_TO_CON_Def_Util.Sync_SHIP_TO_CON_Cache
4646       (p_CONTACT_ID => p_record.SHIP_TO_CONTACT_ID) = 1  then 
4647     RETURN ONT_SHIP_TO_CON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_TO_CON_Def_Util.g_cached_record); 
4648   END IF;
4649  
4650  ELSIF (p_foreign_database_object_name = 'OE_AK_T_EXEMPT_REASON_V') THEN
4651     IF NVL(p_record.TAX_EXEMPT_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4652       RETURN NULL;
4653     END IF;
4654     IF  ONT_T_EXEMPT_REASON_Def_Util.Sync_T_EXEMPT_REASON_Cache
4655       (p_TAX_EXEMPT_REASON_CODE => p_record.TAX_EXEMPT_REASON_CODE) = 1  then 
4656     RETURN ONT_T_EXEMPT_REASON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_T_EXEMPT_REASON_Def_Util.g_cached_record); 
4657   END IF;
4658  
4659  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_EXEMPT_V') THEN
4660     IF NVL(p_record.TAX_EXEMPT_FLAG,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4661       RETURN NULL;
4662     END IF;
4663     IF  ONT_TAX_EXEMPT_Def_Util.Sync_TAX_EXEMPT_Cache
4664       (p_TAX_EXEMPT_FLAG => p_record.TAX_EXEMPT_FLAG) = 1  then 
4665     RETURN ONT_TAX_EXEMPT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TAX_EXEMPT_Def_Util.g_cached_record); 
4666   END IF;
4667  
4668  ELSIF (p_foreign_database_object_name = 'OE_AK_TAX_POINT_V') THEN
4669     IF NVL(p_record.TAX_POINT_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4670       RETURN NULL;
4671     END IF;
4672     IF  ONT_TAX_POINT_Def_Util.Sync_TAX_POINT_Cache
4673       (p_TAX_POINT_CODE => p_record.TAX_POINT_CODE) = 1  then 
4674     RETURN ONT_TAX_POINT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_TAX_POINT_Def_Util.g_cached_record); 
4675   END IF;
4676  
4677  ELSIF (p_foreign_database_object_name = 'OE_AK_LINE_TYPES_V') THEN
4678     IF NVL(p_record.LINE_TYPE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4679       RETURN NULL;
4680     END IF;
4681     IF  ONT_LINE_TYPE_Def_Util.Sync_LINE_TYPE_Cache
4682       (p_LINE_TYPE_ID => p_record.LINE_TYPE_ID) = 1  then 
4683     RETURN ONT_LINE_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_LINE_TYPE_Def_Util.g_cached_record); 
4684   END IF;
4685  
4686  ELSIF (p_foreign_database_object_name = 'OE_AK_ORDER_CATEGORY_V') THEN
4687     IF NVL(p_record.LINE_CATEGORY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4688       RETURN NULL;
4689     END IF;
4690     IF  ONT_ORDER_CAT_Def_Util.Sync_ORDER_CAT_Cache
4691       (p_ORDER_CATEGORY_CODE => p_record.LINE_CATEGORY_CODE) = 1  then 
4692     RETURN ONT_ORDER_CAT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORDER_CAT_Def_Util.g_cached_record); 
4693   END IF;
4694  
4695  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_ITEM_BILLTO_V') THEN
4696     IF ( NVL(p_record.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4697        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4698     THEN
4699     RETURN NULL;
4700     END IF;
4701     IF ONT_ITEM_BILLTO_Def_Util.Sync_ITEM_BILLTO_Cache(p_CUSTOMER_ID => p_record.INVOICE_TO_ORG_ID,
4702     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
4703     RETURN ONT_ITEM_BILLTO_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ITEM_BILLTO_Def_Util.g_cached_record); 
4704   END IF;
4705  
4706  ELSIF (p_foreign_database_object_name = 'OE_AK_TOL_ITEM_SHIPTO_V') THEN
4707     IF ( NVL(p_record.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4708        OR ( NVL(p_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4709     THEN
4710     RETURN NULL;
4711     END IF;
4712     IF ONT_ITEM_SHIPTO_Def_Util.Sync_ITEM_SHIPTO_Cache(p_CUSTOMER_ID => p_record.SHIP_TO_ORG_ID,
4713     p_INTERNAL_ITEM_ID => p_record.INVENTORY_ITEM_ID) =1 then 
4714     RETURN ONT_ITEM_SHIPTO_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ITEM_SHIPTO_Def_Util.g_cached_record); 
4715   END IF;
4716  
4717  ELSIF (p_foreign_database_object_name = 'OE_AK_SHIP_INST_V') THEN
4718     IF NVL(p_record.SHIPPING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4719       RETURN NULL;
4720     END IF;
4721     IF  ONT_SHIP_INST_Def_Util.Sync_SHIP_INST_Cache
4722       (p_SHIPPING_INSTRUCTIONS => p_record.SHIPPING_INSTRUCTIONS) = 1  then 
4723     RETURN ONT_SHIP_INST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SHIP_INST_Def_Util.g_cached_record); 
4724   END IF;
4725  
4726  ELSIF (p_foreign_database_object_name = 'OE_AK_RETURN_REASON_V') THEN
4727     IF NVL(p_record.RETURN_REASON_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4728       RETURN NULL;
4729     END IF;
4730     IF  ONT_RET_REASON_Def_Util.Sync_RET_REASON_Cache
4731       (p_RETURN_REASON_CODE => p_record.RETURN_REASON_CODE) = 1  then 
4732     RETURN ONT_RET_REASON_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_RET_REASON_Def_Util.g_cached_record); 
4733   END IF;
4734  
4735  ELSIF (p_foreign_database_object_name = 'OE_AK_PACK_INST_V') THEN
4736     IF NVL(p_record.PACKING_INSTRUCTIONS,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4737       RETURN NULL;
4738     END IF;
4739     IF  ONT_PACK_INST_Def_Util.Sync_PACK_INST_Cache
4740       (p_PACKING_INSTRUCTIONS => p_record.PACKING_INSTRUCTIONS) = 1  then 
4741     RETURN ONT_PACK_INST_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_PACK_INST_Def_Util.g_cached_record); 
4742   END IF;
4743  
4744  ELSIF (p_foreign_database_object_name = 'OE_AK_BLANKET_LINES_V') THEN
4745     IF ( NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4746        OR ( NVL(p_record.BLANKET_LINE_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM )
4747     THEN
4748     RETURN NULL;
4749     END IF;
4750     IF ONT_BLANKET_LINE_Def_Util.Sync_BLANKET_LINE_Cache(p_ORDER_NUMBER => p_record.BLANKET_NUMBER,
4751     p_LINE_NUMBER => p_record.BLANKET_LINE_NUMBER) =1 then 
4752     RETURN ONT_BLANKET_LINE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_BLANKET_LINE_Def_Util.g_cached_record); 
4753   END IF;
4754  
4755  ELSIF (p_foreign_database_object_name = 'OE_AK_BLANKET_HEADERS_V') THEN
4756     IF NVL(p_record.BLANKET_NUMBER,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4757       RETURN NULL;
4758     END IF;
4759     IF  ONT_BLANKET_HEADER_Def_Util.Sync_BLANKET_HEADER_Cache
4760       (p_ORDER_NUMBER => p_record.BLANKET_NUMBER) = 1  then 
4761     RETURN ONT_BLANKET_HEADER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_BLANKET_HEADER_Def_Util.g_cached_record); 
4762   END IF;
4763  
4764  ELSIF (p_foreign_database_object_name = 'OE_AK_CUST_PO_NUMBER_V') THEN
4765     IF NVL(p_record.CUST_PO_NUMBER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4766       RETURN NULL;
4767     END IF;
4768     IF  ONT_CUST_PO_Def_Util.Sync_CUST_PO_Cache
4769       (p_CUSTOMER_PO_NUMBER => p_record.CUST_PO_NUMBER) = 1  then 
4770     RETURN ONT_CUST_PO_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CUST_PO_Def_Util.g_cached_record); 
4771   END IF;
4772  
4773  ELSIF (p_foreign_database_object_name = 'OE_AK_SOURCE_TYPE_V') THEN
4774     IF NVL(p_record.SOURCE_TYPE_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4775       RETURN NULL;
4776     END IF;
4777     IF  ONT_SOURCE_TYPE_Def_Util.Sync_SOURCE_TYPE_Cache
4778       (p_SOURCE_TYPE_CODE => p_record.SOURCE_TYPE_CODE) = 1  then 
4779     RETURN ONT_SOURCE_TYPE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SOURCE_TYPE_Def_Util.g_cached_record); 
4780   END IF;
4781  
4782  ELSIF (p_foreign_database_object_name = 'OE_AK_DELIVER_TO_ORGS_V') THEN
4783     IF NVL(p_record.DELIVER_TO_ORG_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4784       RETURN NULL;
4785     END IF;
4786     IF  ONT_DEL_TO_ORG_Def_Util.Sync_DEL_TO_ORG_Cache
4787       (p_ORGANIZATION_ID => p_record.DELIVER_TO_ORG_ID) = 1  then 
4788     RETURN ONT_DEL_TO_ORG_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_DEL_TO_ORG_Def_Util.g_cached_record); 
4789   END IF;
4790  
4791  ELSIF (p_foreign_database_object_name = 'OE_AK_CHARGE_PERIODICITY_V') THEN
4792     IF NVL(p_record.CHARGE_PERIODICITY_CODE,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4793       RETURN NULL;
4794     END IF;
4795     IF  ONT_CHG_PRDCTY_CODE_Def_Util.Sync_CHG_PRDCTY_CODE_Cache
4796       (p_UOM_CODE => p_record.CHARGE_PERIODICITY_CODE) = 1  then 
4797     RETURN ONT_CHG_PRDCTY_CODE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CHG_PRDCTY_CODE_Def_Util.g_cached_record); 
4798   END IF;
4799  
4800  ELSIF (p_foreign_database_object_name = 'OE_AK_SRV_DURATION_V') THEN
4801     IF NVL(p_record.SERVICE_DURATION,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4802       RETURN NULL;
4803     END IF;
4804     IF  ONT_SRV_DURATION_Def_Util.Sync_SRV_DURATION_Cache
4805       (p_SERVICE_DURATION => p_record.SERVICE_DURATION) = 1  then 
4806     RETURN ONT_SRV_DURATION_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SRV_DURATION_Def_Util.g_cached_record); 
4807   END IF;
4808  
4809  ELSIF (p_foreign_database_object_name = 'OE_AK_SRV_PERIOD_V') THEN
4810     IF NVL(p_record.SERVICE_PERIOD,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4811       RETURN NULL;
4812     END IF;
4813     IF  ONT_SRV_PERIOD_Def_Util.Sync_SRV_PERIOD_Cache
4814       (p_SERVICE_PERIOD_CODE => p_record.SERVICE_PERIOD) = 1  then 
4815     RETURN ONT_SRV_PERIOD_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_SRV_PERIOD_Def_Util.g_cached_record); 
4816   END IF;
4817  
4818  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_V') THEN
4819     IF NVL(p_record.END_CUSTOMER_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4820       RETURN NULL;
4821     END IF;
4822     IF  ONT_END_CUSTOMER_Def_Util.Sync_END_CUSTOMER_Cache
4823       (p_END_CUSTOMER_ID => p_record.END_CUSTOMER_ID) = 1  then 
4824     RETURN ONT_END_CUSTOMER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_END_CUSTOMER_Def_Util.g_cached_record); 
4825   END IF;
4826  
4827  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_CONT_V') THEN
4828     IF NVL(p_record.END_CUSTOMER_CONTACT_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4829       RETURN NULL;
4830     END IF;
4831     IF  ONT_EC_CONTACT_Def_Util.Sync_EC_CONTACT_Cache
4832       (p_END_CUSTOMER_CONTACT_ID => p_record.END_CUSTOMER_CONTACT_ID) = 1  then 
4833     RETURN ONT_EC_CONTACT_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_EC_CONTACT_Def_Util.g_cached_record); 
4834   END IF;
4835  
4836  ELSIF (p_foreign_database_object_name = 'OE_AK_END_CUS_SITEUSE_V') THEN
4837     IF NVL(p_record.END_CUSTOMER_SITE_USE_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4838       RETURN NULL;
4839     END IF;
4840     IF  ONT_EC_LOCATION_Def_Util.Sync_EC_LOCATION_Cache
4841       (p_END_CUSTOMER_SITE_USE_ID => p_record.END_CUSTOMER_SITE_USE_ID) = 1  then 
4842     RETURN ONT_EC_LOCATION_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_EC_LOCATION_Def_Util.g_cached_record); 
4843   END IF;
4844  
4845  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_OWNER_V') THEN
4846     IF NVL(p_record.IB_OWNER,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4847       RETURN NULL;
4848     END IF;
4849     IF  ONT_IB_OWNER_Def_Util.Sync_IB_OWNER_Cache
4850       (p_IB_OWNER => p_record.IB_OWNER) = 1  then 
4851     RETURN ONT_IB_OWNER_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_OWNER_Def_Util.g_cached_record); 
4852   END IF;
4853  
4854  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_INSTALL_LOC_V') THEN
4855     IF NVL(p_record.IB_INSTALLED_AT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4856       RETURN NULL;
4857     END IF;
4858     IF  ONT_IB_INSTALL_LOC_Def_Util.Sync_IB_INSTALL_LOC_Cache
4859       (p_IB_INSTALLED_AT_LOCATION => p_record.IB_INSTALLED_AT_LOCATION) = 1  then 
4860     RETURN ONT_IB_INSTALL_LOC_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_INSTALL_LOC_Def_Util.g_cached_record); 
4861   END IF;
4862  
4863  ELSIF (p_foreign_database_object_name = 'OE_AK_IB_CURR_LOC_V') THEN
4864     IF NVL(p_record.IB_CURRENT_LOCATION,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN 
4865       RETURN NULL;
4866     END IF;
4867     IF  ONT_IB_CURR_LOC_Def_Util.Sync_IB_CURR_LOC_Cache
4868       (p_IB_CURRENT_LOCATION => p_record.IB_CURRENT_LOCATION) = 1  then 
4869     RETURN ONT_IB_CURR_LOC_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_IB_CURR_LOC_Def_Util.g_cached_record); 
4870   END IF;
4871  
4872  ELSIF (p_foreign_database_object_name = 'OE_AK_ORD_FIRMED_DATE_V') THEN
4873     IF NVL(p_record.ORDER_FIRMED_DATE,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE THEN 
4874       RETURN NULL;
4875     END IF;
4876     IF  ONT_ORD_FIRMED_DATE_Def_Util.Sync_ORD_FIRMED_DATE_Cache
4877       (p_ORDER_FIRMED_DATE => p_record.ORDER_FIRMED_DATE) = 1  then 
4878     RETURN ONT_ORD_FIRMED_DATE_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_ORD_FIRMED_DATE_Def_Util.g_cached_record); 
4879   END IF;
4880  
4881  ELSIF (p_foreign_database_object_name = 'OE_AK_MTL_CUST_ITEMS_V') THEN
4882     IF NVL(p_record.ORDERED_ITEM_ID,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM THEN 
4883       RETURN NULL;
4884     END IF;
4885     IF  ONT_CUST_ITEM_Def_Util.Sync_CUST_ITEM_Cache
4886       (p_CUSTOMER_ITEM_ID => p_record.ORDERED_ITEM_ID) = 1  then 
4887     RETURN ONT_CUST_ITEM_Def_Util.Get_Attr_Val_Date(p_foreign_attr_code,ONT_CUST_ITEM_Def_Util.g_cached_record); 
4888   END IF;
4889 END IF;
4890  
4891      RETURN NULL;
4892 END Get_Foreign_Attr_Val_Date;
4893  
4894  
4895 FUNCTION Get_Condition_Index_In_Cache
4896 (   p_condition_id                  IN  NUMBER
4897 ) RETURN NUMBER
4898 IS  
4899 BEGIN  
4900  
4901   FOR i in 0..g_conditions_tbl_cache.COUNT -1  LOOP  
4902     if (g_conditions_tbl_cache(i).condition_id = p_condition_id ) then  
4903       RETURN i; 
4904     END IF;  
4905   END LOOP;  
4906   RETURN -1; 
4907 END Get_Condition_Index_In_Cache;  
4908 FUNCTION Validate_Defaulting_Condition
4909 (   p_condition_id                  IN  NUMBER
4910 ,   p_line_rec                      IN  OE_AK_ORDER_LINES_V%ROWTYPE 
4911 ) RETURN BOOLEAN
4912 IS  
4913   CURSOR CONDNS IS  
4914   SELECT condition_id,group_number,attribute_code,
4915     value_op,value_string
4916   FROM OE_DEF_CONDN_ELEMS
4917   WHERE condition_id = p_condition_id
4918   ORDER BY group_number;
4919  
4920   I         NUMBER;  
4921   l_column_value          VARCHAR2(255);  
4922   l_start_index         NUMBER;  
4923   l_stop_index         NUMBER ;  
4924   l_curr_group         NUMBER;  
4925   l_group_result         BOOLEAN;  
4926   l_element_result         BOOLEAN;  
4927 BEGIN  
4928  
4929   l_start_index := Get_Condition_Index_In_Cache(p_condition_id);
4930 IF (l_start_index = -1) THEN  
4931   l_stop_index := g_conditions_tbl_cache.COUNT;  
4932   l_start_index := l_stop_index;
4933   i := l_start_index;
4934   FOR condns_rec IN CONDNS LOOP  
4935     g_conditions_tbl_cache(i).condition_id := condns_rec.condition_id;
4936     g_conditions_tbl_cache(i).group_number := condns_rec.group_number;
4937     g_conditions_tbl_cache(i).attribute_code := condns_rec.attribute_code;
4938     g_conditions_tbl_cache(i).value_op := condns_rec.value_op;
4939     g_conditions_tbl_cache(i).value_string := condns_rec.value_string;
4940   i := i+1;
4941   END LOOP;  
4942 IF (i = l_start_index) THEN  
4943     Return FALSE;  
4944   END IF;  
4945   END IF;  
4946  
4947  
4948   i := 0;
4949   l_curr_group := g_conditions_tbl_cache(l_start_index).group_number;
4950   l_group_result := TRUE;
4951   l_element_result := FALSE;
4952  
4953  IF g_conditions_tbl_cache.COUNT <> 0 then  
4954 FOR J in l_start_index ..g_conditions_tbl_cache.COUNT -1 LOOP  
4955   IF (g_conditions_tbl_cache(j).condition_id <>  p_condition_id) THEN
4956     EXIT;
4957   END IF;
4958  
4959   IF (l_curr_group <>  g_conditions_tbl_cache(j).group_number) THEN
4960     IF (l_group_result = TRUE) THEN
4961       EXIT;
4962     ELSE
4963       l_group_result := TRUE;
4964     END IF;
4965   END IF;
4966  
4967   l_element_result := ONT_Def_Util.Validate_Value(g_conditions_tbl_cache(j).value_string,
4968   g_conditions_tbl_cache(j).value_op,Get_Attr_Val_Varchar2(g_conditions_tbl_cache(j).attribute_code,p_line_rec ));
4969     l_group_result := l_group_result AND l_element_result;
4970 END LOOP;
4971 ELSE
4972   l_group_result := FALSE;
4973   END IF;
4974   RETURN l_group_result;
4975 END Validate_Defaulting_Condition;
4976  
4977  
4978 PROCEDURE Update_Attr_Rules_Cache
4979 	( p_condn_index		        IN NUMBER
4980 	)
4981 IS
4982 l_index			NUMBER := 0;
4983 l_start_index		NUMBER := 0;
4984 l_attribute_code		VARCHAR2(30);
4985 l_condition_id		NUMBER;
4986     CURSOR DEFSRC IS SELECT
4987     R.SEQUENCE_NO,
4988     R.SRC_TYPE,
4989     R.SRC_ATTRIBUTE_CODE,
4990     R.SRC_DATABASE_OBJECT_NAME,
4991     R.SRC_PARAMETER_NAME,
4992     R.SRC_SYSTEM_VARIABLE_EXPR,
4993     R.SRC_PROFILE_OPTION,
4994     R.SRC_API_PKG||'.'||R.SRC_API_FN SRC_API_NAME,
4995     R.SRC_CONSTANT_VALUE,
4996     R.SRC_SEQUENCE_NAME
4997     FROM OE_DEF_ATTR_DEF_RULES R, OE_DEF_ATTR_CONDNS C
4998     WHERE R.database_object_name = g_database_object_name
4999     AND R.attribute_code = l_attribute_code
5000     AND C.database_object_name = g_database_object_name
5001     AND C.attribute_code = l_attribute_code
5002     AND R.attr_def_condition_id = C.attr_def_condition_id
5003     AND C.CONDITION_ID = l_condition_id
5004     AND C.ENABLED_FLAG = 'Y'
5005     ORDER BY SEQUENCE_NO;
5006 BEGIN
5007  
5008       l_attribute_code := g_attr_condns_cache(p_condn_index).attribute_code;
5009       l_condition_id := g_attr_condns_cache(p_condn_index).condition_id;
5010       l_start_index := g_attr_rules_cache.COUNT + 1;
5011  
5012     FOR DEFSRC_rec IN DEFSRC LOOP
5013 	l_index := g_attr_rules_cache.COUNT + 1; 
5014 	g_attr_rules_cache(l_index).SRC_TYPE 
5015 			:= DEFSRC_rec.SRC_TYPE; 
5016 	g_attr_rules_cache(l_index).SRC_ATTRIBUTE_CODE 
5017 			:= DEFSRC_rec.SRC_ATTRIBUTE_CODE; 
5018 	g_attr_rules_cache(l_index).SRC_DATABASE_OBJECT_NAME 
5019 			:= DEFSRC_rec.SRC_DATABASE_OBJECT_NAME; 
5020 	g_attr_rules_cache(l_index).SRC_PARAMETER_NAME 
5021 			:= DEFSRC_rec.SRC_PARAMETER_NAME; 
5022 	g_attr_rules_cache(l_index).SRC_SYSTEM_VARIABLE_EXPR 
5023 			:= DEFSRC_rec.SRC_SYSTEM_VARIABLE_EXPR; 
5024 	g_attr_rules_cache(l_index).SRC_PROFILE_OPTION
5025 			:= DEFSRC_rec.SRC_PROFILE_OPTION; 
5026 	g_attr_rules_cache(l_index).SRC_API_NAME
5027 			:= DEFSRC_rec.SRC_API_NAME; 
5028 	g_attr_rules_cache(l_index).SRC_CONSTANT_VALUE
5029 			:= DEFSRC_rec.SRC_CONSTANT_VALUE; 
5030 	g_attr_rules_cache(l_index).SRC_SEQUENCE_NAME
5031 			:= DEFSRC_rec.SRC_SEQUENCE_NAME; 
5032    END LOOP;
5033  
5034    IF l_index > 0 THEN
5035 	g_attr_condns_cache(p_condn_index).rules_start_index := l_start_index;
5036 	g_attr_condns_cache(p_condn_index).rules_stop_index := l_index;
5037    ELSE
5038 	g_attr_condns_cache(p_condn_index).rules_start_index := -1;
5039    END IF;
5040  
5041 EXCEPTION
5042 	WHEN OTHERS THEN
5043         IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5044         THEN
5045             OE_MSG_PUB.Add_Exc_Msg
5046             (   G_PKG_NAME          ,
5047 		'Update_Attr_Rules_Cache: '||l_attribute_code
5048             );
5049         END IF;
5050         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5051 END Update_Attr_Rules_Cache;
5052  
5053  
5054 PROCEDURE Get_Valid_Defaulting_Rules
5055 (   p_attr_code                     IN  VARCHAR2
5056 ,   p_attr_id                       IN  NUMBER
5057 ,   p_line_rec                      IN  OE_AK_ORDER_LINES_V%ROWTYPE
5058 ,   x_rules_start_index_tbl         OUT OE_GLOBALS.NUMBER_TBL_Type
5059 ,   x_rules_stop_index_tbl          OUT OE_GLOBALS.NUMBER_TBL_Type
5060 ) IS
5061 l_condn_index     			NUMBER; 
5062 l_index     				NUMBER := 0; 
5063 l_valid_condn_index_tbl		OE_GLOBALS.Number_TBL_Type; 
5064 condns_cached				BOOLEAN := FALSE;
5065 num_attr_condns			NUMBER := 0;
5066 CURSOR ATTRC IS    
5067     SELECT condition_id  
5068     FROM OE_DEF_ATTR_CONDNS    
5069     WHERE attribute_code = p_attr_code  
5070       AND database_object_name = g_database_object_name  
5071       AND enabled_flag = 'Y'
5072     ORDER BY precedence;
5073 BEGIN  
5074  
5075   l_condn_index := p_attr_id * ONT_Def_Util.G_MAX_ATTR_CONDNS;
5076  
5077   -- Check in the cache
5078   WHILE g_attr_condns_cache.EXISTS(l_condn_index) LOOP
5079     condns_cached := TRUE;
5080     IF g_attr_condns_cache(l_condn_index).conditions_defined = 'N' THEN
5081       EXIT;
5082     ELSE
5083       IF (g_attr_condns_cache(l_condn_index).condition_id = 0 OR
5084          Validate_Defaulting_Condition
5085 	       (g_attr_condns_cache(l_condn_index).condition_id,p_line_rec)= TRUE) THEN 
5086 	     l_index := l_index + 1;
5087 	     l_valid_condn_index_tbl(l_index) := l_condn_index;
5088       END IF;
5089     END IF;
5090     l_condn_index := l_condn_index + 1;
5091   END LOOP;
5092  
5093   -- If the conditions were cached for this attribute, 
5094   -- then return rules for valid conditions
5095   IF condns_cached THEN
5096  
5097       GOTO Return_Rules;
5098  
5099   -- If the conditions were NOT cached for this attribute,
5100   -- then cache them AND get the conditions that are valid
5101   -- for the current record
5102   ELSE
5103     FOR c_rec IN ATTRC LOOP  
5104       -- Put it in the cache
5105       g_attr_condns_cache(l_condn_index).attribute_code
5106         := p_attr_code;
5107       g_attr_condns_cache(l_condn_index).condition_id
5108         := c_rec.condition_id;
5109       g_attr_condns_cache(l_condn_index).conditions_defined
5110         := 'Y';
5111 	  IF (c_rec.condition_id = 0 OR
5112 	         Validate_Defaulting_Condition
5113 		  (c_rec.condition_id,p_line_rec)= TRUE) THEN 
5114 	     l_index := l_index + 1;
5115 	     l_valid_condn_index_tbl(l_index) := l_condn_index;
5116       END IF;
5117       l_condn_index := l_condn_index + 1;
5118       num_attr_condns := num_attr_condns + 1;
5119     END LOOP;
5120  
5121     -- No defaulting conditions defined for this attribute,
5122     -- insert a new record in the cache with conditions_defined = 'N'
5123     IF num_attr_condns = 0 THEN
5124       g_attr_condns_cache(l_condn_index).attribute_code
5125         := p_attr_code;
5126       g_attr_condns_cache(l_condn_index).conditions_defined
5127         := 'N';
5128     END IF;
5129  
5130   END IF;
5131  
5132   <<Return_Rules>>
5133 FOR I IN 1..l_index LOOP
5134   IF g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_start_index IS NULL THEN
5135      Update_Attr_Rules_Cache(l_valid_condn_index_tbl(I));
5136   END IF;
5137   x_rules_start_index_tbl(I) := g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_start_index;
5138   x_rules_stop_index_tbl(I) := g_attr_condns_cache(l_valid_condn_index_tbl(I)).rules_stop_index;
5139 END LOOP;
5140  
5141 EXCEPTION
5142 	WHEN OTHERS THEN
5143         IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5144         THEN
5145             OE_MSG_PUB.Add_Exc_Msg
5146             (   G_PKG_NAME          ,
5147 		'Get_Valid_Defaulting_Rules :'||p_attr_code
5148             );
5149         END IF;
5150         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5151 END Get_Valid_Defaulting_Rules;
5152  
5153  
5154 END ONT_LINE_Def_Util;