DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_HEADER_DEF_HDLR

Source


1 PACKAGE BODY ONT_HEADER_Def_Hdlr AS
2 /* $Header: OEXDFWKB.pls 115.0 13-AUG-13 23:23:31 appldev ship $ */
3  
4 --  
5 --  Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 --  All rights reserved.
7 --  
8 --  FILENAME
9 --  
10 --      ONT_HEADER_Def_Hdlr
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_HEADER_Def_Hdlr
15 --  
16 --  NOTES
17 --  
18 --  HISTORY
19 --  
20 --  13-AUG-13 Created
21 --  
22  
23 --  Global constant holding the package name
24 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'ONT_HEADER_Def_Hdlr';
25  
26   g_entity_code  varchar2(15) := 'HEADER';
27   g_database_object_name varchar2(30) :='OE_AK_ORDER_HEADERS_V';
28  
29 --  Default_Record
30 PROCEDURE Default_Record
31   (   p_x_rec                         IN OUT NOCOPY  OE_AK_ORDER_HEADERS_V%ROWTYPE
32 ,   p_initial_rec                   IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
33 ,   p_in_old_rec                    IN  OE_AK_ORDER_HEADERS_V%ROWTYPE 
34 ,   p_iteration                     IN  NUMBER default 1
35 )
36 IS
37 l_action  NUMBER;
38 l_attr  VARCHAR2(200);
39 BEGIN
40  
41 oe_debug_pub.ADD('Enter ONT_HEADER_Def_Hdlr.Default_Record');
42  
43 IF p_iteration =1 THEN
44 OE_HEADER_Security.G_Is_Caller_Defaulting := 'Y';
45   g_record := p_x_rec;
46 END IF;
47  
48 --  if max. iteration is reached exit
49 IF p_iteration > ONT_DEF_UTIL.G_MAX_DEF_ITERATIONS THEN
50     FND_MESSAGE.SET_NAME('ONT','OE_DEF_MAX_ITERATIONS');
51     OE_MSG_PUB.ADD;
52     RAISE FND_API.G_EXC_ERROR;
53 END IF;
54  
55 --  Default missing attributes
56 l_attr:= 'SOLD_TO_ORG_ID';
57  
58 IF g_record.SOLD_TO_ORG_ID = FND_API.G_MISS_NUM THEN
59 --  Get the defaulting api registered in the AK AND default
60     l_attr:=l_attr||' 1';
61     g_record.SOLD_TO_ORG_ID := ONT_D1_SOLD_TO_ORG_ID.Get_Default_Value(g_record);
62     l_attr:=l_attr||' 2';
63   IF g_record.SOLD_TO_ORG_ID IS NULL 
64    AND p_in_old_rec.SOLD_TO_ORG_ID <> FND_API.G_MISS_NUM THEN 
65   g_record.SOLD_TO_ORG_ID := p_in_old_rec.SOLD_TO_ORG_ID;
66   END IF;
67   -- For UPDATE operations, check security if new defaulted value is not equal to old value
68   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
69     l_attr:=l_attr||' 3';
70     IF NOT OE_GLOBALS.Equal(g_record.sold_to_org_id, p_in_old_rec.sold_to_org_id) THEN
71       IF OE_HEADER_SECURITY.SOLD_TO_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
72       -- Raise error if security returns YES, operation IS CONSTRAINED
73         RAISE FND_API.G_EXC_ERROR;
74       END IF;
75       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
76     END IF;
77   END IF;
78   IF g_record.SOLD_TO_ORG_ID IS NOT NULL THEN
79     l_attr:=l_attr||' 4';
80     -- Validate defaulted value if not null
81     IF OE_VALIDATE.SOLD_TO_ORG(g_record.SOLD_TO_ORG_ID) THEN  
82       -- if valid, clear dependent attributes
83       OE_HEADER_CL_DEP_ATTR.SOLD_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
84     ELSE
85       g_record.SOLD_TO_ORG_ID := NULL;
86       l_attr:=l_attr||' 6';
87     END IF;
88   END IF;
89 END IF;
90 l_attr:= 'SHIP_TO_ORG_ID';
91  
92 IF g_record.SHIP_TO_ORG_ID = FND_API.G_MISS_NUM THEN
93 --  Get the defaulting api registered in the AK AND default
94     l_attr:=l_attr||' 1';
95     g_record.SHIP_TO_ORG_ID := ONT_D1_SHIP_TO_ORG_ID.Get_Default_Value(g_record);
96     l_attr:=l_attr||' 2';
97   -- For UPDATE operations, check security if new defaulted value is not equal to old value
98   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
99     l_attr:=l_attr||' 3';
100     IF NOT OE_GLOBALS.Equal(g_record.ship_to_org_id, p_in_old_rec.ship_to_org_id) THEN
101       IF OE_HEADER_SECURITY.SHIP_TO_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
102       -- Raise error if security returns YES, operation IS CONSTRAINED
103         RAISE FND_API.G_EXC_ERROR;
104       END IF;
105       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
106     END IF;
107   END IF;
108   IF g_record.SHIP_TO_ORG_ID IS NOT NULL THEN
109     l_attr:=l_attr||' 4';
110     -- Validate defaulted value if not null
111     IF OE_VALIDATE.SHIP_TO_ORG(g_record.SHIP_TO_ORG_ID) THEN  
112       -- if valid, clear dependent attributes
113       OE_HEADER_CL_DEP_ATTR.SHIP_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
114     ELSE
115       g_record.SHIP_TO_ORG_ID := NULL;
116       l_attr:=l_attr||' 6';
117     END IF;
118   END IF;
119 END IF;
120 l_attr:= 'DELIVER_TO_ORG_ID';
121  
122 IF g_record.DELIVER_TO_ORG_ID = FND_API.G_MISS_NUM THEN
123 --  Get the defaulting api registered in the AK AND default
124     l_attr:=l_attr||' 1';
125     g_record.DELIVER_TO_ORG_ID := ONT_D1_DELIVER_TO_ORG_ID.Get_Default_Value(g_record);
126     l_attr:=l_attr||' 2';
127   -- For UPDATE operations, check security if new defaulted value is not equal to old value
128   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
129     l_attr:=l_attr||' 3';
130     IF NOT OE_GLOBALS.Equal(g_record.deliver_to_org_id, p_in_old_rec.deliver_to_org_id) THEN
131       IF OE_HEADER_SECURITY.DELIVER_TO_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
132       -- Raise error if security returns YES, operation IS CONSTRAINED
133         RAISE FND_API.G_EXC_ERROR;
134       END IF;
135       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
136     END IF;
137   END IF;
138   IF g_record.DELIVER_TO_ORG_ID IS NOT NULL THEN
139     l_attr:=l_attr||' 4';
140     -- Validate defaulted value if not null
141     IF OE_VALIDATE.DELIVER_TO_ORG(g_record.DELIVER_TO_ORG_ID) THEN  
142       -- if valid, clear dependent attributes
143       OE_HEADER_CL_DEP_ATTR.DELIVER_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
144     ELSE
145       g_record.DELIVER_TO_ORG_ID := NULL;
146       l_attr:=l_attr||' 6';
147     END IF;
148   END IF;
149 END IF;
150 l_attr:= 'AGREEMENT_ID';
151  
152 IF g_record.AGREEMENT_ID = FND_API.G_MISS_NUM THEN
153 --  Get the defaulting api registered in the AK AND default
154     l_attr:=l_attr||' 1';
155     g_record.AGREEMENT_ID := ONT_D1_AGREEMENT_ID.Get_Default_Value(g_record);
156     l_attr:=l_attr||' 2';
157   -- For UPDATE operations, check security if new defaulted value is not equal to old value
158   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
159     l_attr:=l_attr||' 3';
160     IF NOT OE_GLOBALS.Equal(g_record.agreement_id, p_in_old_rec.agreement_id) THEN
161       IF OE_HEADER_SECURITY.AGREEMENT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
162       -- Raise error if security returns YES, operation IS CONSTRAINED
163         RAISE FND_API.G_EXC_ERROR;
164       END IF;
165       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
166     END IF;
167   END IF;
168   IF g_record.AGREEMENT_ID IS NOT NULL THEN
169     l_attr:=l_attr||' 4';
170     -- Validate defaulted value if not null
171     IF OE_VALIDATE.AGREEMENT(g_record.AGREEMENT_ID) THEN  
172       -- if valid, clear dependent attributes
173       OE_HEADER_CL_DEP_ATTR.AGREEMENT(p_initial_rec, p_in_old_rec, g_record);
174     ELSE
175       g_record.AGREEMENT_ID := NULL;
176       l_attr:=l_attr||' 6';
177     END IF;
178   END IF;
179 END IF;
180 l_attr:= 'INVOICE_TO_ORG_ID';
181  
182 IF g_record.INVOICE_TO_ORG_ID = FND_API.G_MISS_NUM THEN
183 --  Get the defaulting api registered in the AK AND default
184     l_attr:=l_attr||' 1';
185     g_record.INVOICE_TO_ORG_ID := ONT_D1_INVOICE_TO_ORG_ID.Get_Default_Value(g_record);
186     l_attr:=l_attr||' 2';
187   -- For UPDATE operations, check security if new defaulted value is not equal to old value
188   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
189     l_attr:=l_attr||' 3';
190     IF NOT OE_GLOBALS.Equal(g_record.invoice_to_org_id, p_in_old_rec.invoice_to_org_id) THEN
191       IF OE_HEADER_SECURITY.INVOICE_TO_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
192       -- Raise error if security returns YES, operation IS CONSTRAINED
193         RAISE FND_API.G_EXC_ERROR;
194       END IF;
195       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
196     END IF;
197   END IF;
198   IF g_record.INVOICE_TO_ORG_ID IS NOT NULL THEN
199     l_attr:=l_attr||' 4';
200     -- Validate defaulted value if not null
201     IF OE_VALIDATE.INVOICE_TO_ORG(g_record.INVOICE_TO_ORG_ID) THEN  
202       -- if valid, clear dependent attributes
203       OE_HEADER_CL_DEP_ATTR.INVOICE_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
204     ELSE
205       g_record.INVOICE_TO_ORG_ID := NULL;
206       l_attr:=l_attr||' 6';
207     END IF;
208   END IF;
209 END IF;
210 l_attr:= 'PRICE_LIST_ID';
211  
212 IF g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM THEN
213 --  Get the defaulting api registered in the AK AND default
214     l_attr:=l_attr||' 1';
215     g_record.PRICE_LIST_ID := ONT_D1_PRICE_LIST_ID.Get_Default_Value(g_record);
216     l_attr:=l_attr||' 2';
217   IF g_record.PRICE_LIST_ID IS NULL 
218    AND p_in_old_rec.PRICE_LIST_ID <> FND_API.G_MISS_NUM THEN 
219   g_record.PRICE_LIST_ID := p_in_old_rec.PRICE_LIST_ID;
220   END IF;
221   -- For UPDATE operations, check security if new defaulted value is not equal to old value
222   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
223     l_attr:=l_attr||' 3';
224     IF NOT OE_GLOBALS.Equal(g_record.price_list_id, p_in_old_rec.price_list_id) THEN
225       IF OE_HEADER_SECURITY.PRICE_LIST(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
226       -- Raise error if security returns YES, operation IS CONSTRAINED
227         RAISE FND_API.G_EXC_ERROR;
228       END IF;
229       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
230     END IF;
231   END IF;
232   IF g_record.PRICE_LIST_ID IS NOT NULL THEN
233     l_attr:=l_attr||' 4';
234     -- Validate defaulted value if not null
235     IF OE_VALIDATE.PRICE_LIST(g_record.PRICE_LIST_ID) THEN  
236       -- if valid, clear dependent attributes
237       OE_HEADER_CL_DEP_ATTR.PRICE_LIST(p_initial_rec, p_in_old_rec, g_record);
238     ELSE
239       g_record.PRICE_LIST_ID := NULL;
240       l_attr:=l_attr||' 6';
241     END IF;
242   END IF;
243 END IF;
244 l_attr:= 'PAYMENT_TYPE_CODE';
245  
246 IF g_record.PAYMENT_TYPE_CODE = FND_API.G_MISS_CHAR THEN
247   -- Attribute is NOT defaulting enabled, return NULL if MISSING
248   g_record.PAYMENT_TYPE_CODE := NULL;
249 END IF;
250 l_attr:= 'REQUEST_DATE';
251  
252 IF g_record.REQUEST_DATE = FND_API.G_MISS_DATE THEN
253 --  Get the defaulting api registered in the AK AND default
254     l_attr:=l_attr||' 1';
255     g_record.REQUEST_DATE := ONT_D1_REQUEST_DATE.Get_Default_Value(g_record);
256     l_attr:=l_attr||' 2';
257   -- For UPDATE operations, check security if new defaulted value is not equal to old value
258   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
259     l_attr:=l_attr||' 3';
260     IF NOT OE_GLOBALS.Equal(g_record.request_date, p_in_old_rec.request_date) THEN
261       IF OE_HEADER_SECURITY.REQUEST_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
262       -- Raise error if security returns YES, operation IS CONSTRAINED
263         RAISE FND_API.G_EXC_ERROR;
264       END IF;
265       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
266     END IF;
267   END IF;
268   IF g_record.REQUEST_DATE IS NOT NULL THEN
269     l_attr:=l_attr||' 4';
270     -- Validate defaulted value if not null
271     IF OE_VALIDATE.REQUEST_DATE(g_record.REQUEST_DATE) THEN  
272       -- if valid, clear dependent attributes
273       OE_HEADER_CL_DEP_ATTR.REQUEST_DATE(p_initial_rec, p_in_old_rec, g_record);
274     ELSE
275       g_record.REQUEST_DATE := NULL;
276       l_attr:=l_attr||' 6';
277     END IF;
278   END IF;
279 END IF;
280 l_attr:= 'CREDIT_CARD_NUMBER';
281  
282 IF g_record.CREDIT_CARD_NUMBER = FND_API.G_MISS_CHAR THEN
283 --  Get the defaulting api registered in the AK AND default
284     l_attr:=l_attr||' 1';
285     g_record.CREDIT_CARD_NUMBER := ONT_D1_CREDIT_CARD_NUMBER.Get_Default_Value(g_record);
286     l_attr:=l_attr||' 2';
287 -- There is no security api registered in the AK dictionary  
288       -- There is no validation api registered in the AK dictionary  
289 END IF;
290 l_attr:= 'ACCOUNTING_RULE_ID';
291  
292 IF g_record.ACCOUNTING_RULE_ID = FND_API.G_MISS_NUM THEN
293 --  Get the defaulting api registered in the AK AND default
294     l_attr:=l_attr||' 1';
295     g_record.ACCOUNTING_RULE_ID := ONT_D1_ACCOUNTING_RULE_ID.Get_Default_Value(g_record);
296     l_attr:=l_attr||' 2';
297   -- For UPDATE operations, check security if new defaulted value is not equal to old value
298   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
299     l_attr:=l_attr||' 3';
300     IF NOT OE_GLOBALS.Equal(g_record.accounting_rule_id, p_in_old_rec.accounting_rule_id) THEN
301       IF OE_HEADER_SECURITY.ACCOUNTING_RULE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
302       -- Raise error if security returns YES, operation IS CONSTRAINED
303         RAISE FND_API.G_EXC_ERROR;
304       END IF;
305       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
306     END IF;
307   END IF;
308   IF g_record.ACCOUNTING_RULE_ID IS NOT NULL THEN
309     l_attr:=l_attr||' 4';
310     -- Validate defaulted value if not null
311     IF OE_VALIDATE.ACCOUNTING_RULE(g_record.ACCOUNTING_RULE_ID) THEN  
312       -- There is no dependent api registered in the AK dictionary  
313       NULL;
314       l_attr:=l_attr||' 5';
315     ELSE
316       g_record.ACCOUNTING_RULE_ID := NULL;
317       l_attr:=l_attr||' 6';
318     END IF;
319   END IF;
320 END IF;
321 l_attr:= 'ACCOUNTING_RULE_DURATION';
322  
323 IF g_record.ACCOUNTING_RULE_DURATION = FND_API.G_MISS_NUM THEN
324 --  Get the defaulting api registered in the AK AND default
325     l_attr:=l_attr||' 1';
326     g_record.ACCOUNTING_RULE_DURATION := ONT_D1_ACCOUNTING_RULE_DURA.Get_Default_Value(g_record);
327     l_attr:=l_attr||' 2';
328   -- For UPDATE operations, check security if new defaulted value is not equal to old value
329   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
330     l_attr:=l_attr||' 3';
331     IF NOT OE_GLOBALS.Equal(g_record.accounting_rule_duration, p_in_old_rec.accounting_rule_duration) THEN
332       IF OE_HEADER_SECURITY.ACCOUNTING_RULE_DURATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
333       -- Raise error if security returns YES, operation IS CONSTRAINED
334         RAISE FND_API.G_EXC_ERROR;
335       END IF;
336       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
337     END IF;
338   END IF;
339   IF g_record.ACCOUNTING_RULE_DURATION IS NOT NULL THEN
340     l_attr:=l_attr||' 4';
341     -- Validate defaulted value if not null
342     IF OE_VALIDATE.ACCOUNTING_RULE_DURATION(g_record.ACCOUNTING_RULE_DURATION) THEN  
343       -- if valid, clear dependent attributes
344       OE_HEADER_CL_DEP_ATTR.ACCOUNTING_RULE_DURATION(p_initial_rec, p_in_old_rec, g_record);
345     ELSE
346       g_record.ACCOUNTING_RULE_DURATION := NULL;
347       l_attr:=l_attr||' 6';
348     END IF;
349   END IF;
350 END IF;
351 l_attr:= 'ATTRIBUTE1';
352  
353 IF g_record.ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
354   -- Attribute is NOT defaulting enabled, return NULL if MISSING
355   g_record.ATTRIBUTE1 := NULL;
356 END IF;
357 l_attr:= 'ATTRIBUTE10';
358  
359 IF g_record.ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
360   -- Attribute is NOT defaulting enabled, return NULL if MISSING
361   g_record.ATTRIBUTE10 := NULL;
362 END IF;
363 l_attr:= 'ATTRIBUTE11';
364  
365 IF g_record.ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
366   -- Attribute is NOT defaulting enabled, return NULL if MISSING
367   g_record.ATTRIBUTE11 := NULL;
368 END IF;
369 l_attr:= 'ATTRIBUTE12';
370  
371 IF g_record.ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
372   -- Attribute is NOT defaulting enabled, return NULL if MISSING
373   g_record.ATTRIBUTE12 := NULL;
374 END IF;
375 l_attr:= 'ATTRIBUTE13';
376  
377 IF g_record.ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
378   -- Attribute is NOT defaulting enabled, return NULL if MISSING
379   g_record.ATTRIBUTE13 := NULL;
380 END IF;
381 l_attr:= 'ATTRIBUTE14';
382  
383 IF g_record.ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
384   -- Attribute is NOT defaulting enabled, return NULL if MISSING
385   g_record.ATTRIBUTE14 := NULL;
386 END IF;
387 l_attr:= 'ATTRIBUTE15';
388  
389 IF g_record.ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
390   -- Attribute is NOT defaulting enabled, return NULL if MISSING
391   g_record.ATTRIBUTE15 := NULL;
392 END IF;
393 l_attr:= 'ATTRIBUTE16';
394  
395 IF g_record.ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN
396   -- Attribute is NOT defaulting enabled, return NULL if MISSING
397   g_record.ATTRIBUTE16 := NULL;
398 END IF;
399 l_attr:= 'ATTRIBUTE17';
400  
401 IF g_record.ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN
402   -- Attribute is NOT defaulting enabled, return NULL if MISSING
403   g_record.ATTRIBUTE17 := NULL;
404 END IF;
405 l_attr:= 'ATTRIBUTE18';
406  
407 IF g_record.ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN
408   -- Attribute is NOT defaulting enabled, return NULL if MISSING
409   g_record.ATTRIBUTE18 := NULL;
410 END IF;
411 l_attr:= 'ATTRIBUTE19';
412  
413 IF g_record.ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN
414   -- Attribute is NOT defaulting enabled, return NULL if MISSING
415   g_record.ATTRIBUTE19 := NULL;
416 END IF;
417 l_attr:= 'ATTRIBUTE2';
418  
419 IF g_record.ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
420   -- Attribute is NOT defaulting enabled, return NULL if MISSING
421   g_record.ATTRIBUTE2 := NULL;
422 END IF;
423 l_attr:= 'ATTRIBUTE20';
424  
425 IF g_record.ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN
426   -- Attribute is NOT defaulting enabled, return NULL if MISSING
427   g_record.ATTRIBUTE20 := NULL;
428 END IF;
429 l_attr:= 'ATTRIBUTE3';
430  
431 IF g_record.ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
432   -- Attribute is NOT defaulting enabled, return NULL if MISSING
433   g_record.ATTRIBUTE3 := NULL;
434 END IF;
435 l_attr:= 'ATTRIBUTE4';
436  
437 IF g_record.ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
438   -- Attribute is NOT defaulting enabled, return NULL if MISSING
439   g_record.ATTRIBUTE4 := NULL;
440 END IF;
441 l_attr:= 'ATTRIBUTE5';
442  
443 IF g_record.ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
444   -- Attribute is NOT defaulting enabled, return NULL if MISSING
445   g_record.ATTRIBUTE5 := NULL;
446 END IF;
447 l_attr:= 'ATTRIBUTE6';
448  
449 IF g_record.ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
450   -- Attribute is NOT defaulting enabled, return NULL if MISSING
451   g_record.ATTRIBUTE6 := NULL;
452 END IF;
453 l_attr:= 'ATTRIBUTE7';
454  
455 IF g_record.ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
456   -- Attribute is NOT defaulting enabled, return NULL if MISSING
457   g_record.ATTRIBUTE7 := NULL;
458 END IF;
459 l_attr:= 'ATTRIBUTE8';
460  
461 IF g_record.ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
462   -- Attribute is NOT defaulting enabled, return NULL if MISSING
463   g_record.ATTRIBUTE8 := NULL;
464 END IF;
465 l_attr:= 'ATTRIBUTE9';
466  
467 IF g_record.ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
468   -- Attribute is NOT defaulting enabled, return NULL if MISSING
469   g_record.ATTRIBUTE9 := NULL;
470 END IF;
471 l_attr:= 'INVOICE_TO_CONTACT_ID';
472  
473 IF g_record.INVOICE_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
474 --  Get the defaulting api registered in the AK AND default
475     l_attr:=l_attr||' 1';
476     g_record.INVOICE_TO_CONTACT_ID := ONT_D1_INVOICE_TO_CONTACT_I.Get_Default_Value(g_record);
477     l_attr:=l_attr||' 2';
478   -- For UPDATE operations, check security if new defaulted value is not equal to old value
479   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
480     l_attr:=l_attr||' 3';
481     IF NOT OE_GLOBALS.Equal(g_record.invoice_to_contact_id, p_in_old_rec.invoice_to_contact_id) THEN
482       IF OE_HEADER_SECURITY.INVOICE_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
483       -- Raise error if security returns YES, operation IS CONSTRAINED
484         RAISE FND_API.G_EXC_ERROR;
485       END IF;
486       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
487     END IF;
488   END IF;
489   IF g_record.INVOICE_TO_CONTACT_ID IS NOT NULL THEN
490     l_attr:=l_attr||' 4';
491     -- Validate defaulted value if not null
492     IF OE_VALIDATE.INVOICE_TO_CONTACT(g_record.INVOICE_TO_CONTACT_ID) THEN  
493       -- if valid, clear dependent attributes
494       OE_HEADER_CL_DEP_ATTR.INVOICE_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
495     ELSE
496       g_record.INVOICE_TO_CONTACT_ID := NULL;
497       l_attr:=l_attr||' 6';
498     END IF;
499   END IF;
500 END IF;
501 l_attr:= 'BOOKED_FLAG';
502  
503 IF g_record.BOOKED_FLAG = FND_API.G_MISS_CHAR THEN
504   -- Attribute is NOT defaulting enabled, return NULL if MISSING
505   g_record.BOOKED_FLAG := NULL;
506 END IF;
507 l_attr:= 'BOOKED_DATE';
508  
509 IF g_record.BOOKED_DATE = FND_API.G_MISS_DATE THEN
510   -- Attribute is NOT defaulting enabled, return NULL if MISSING
511   g_record.BOOKED_DATE := NULL;
512 END IF;
513 l_attr:= 'CANCELLED_FLAG';
514  
515 IF g_record.CANCELLED_FLAG = FND_API.G_MISS_CHAR THEN
516   -- Attribute is NOT defaulting enabled, return NULL if MISSING
517   g_record.CANCELLED_FLAG := NULL;
518 END IF;
519 l_attr:= 'CHANGE_COMMENTS';
520  
521 IF g_record.CHANGE_COMMENTS = FND_API.G_MISS_CHAR THEN
522   -- Attribute is NOT defaulting enabled, return NULL if MISSING
523   g_record.CHANGE_COMMENTS := NULL;
524 END IF;
525 l_attr:= 'CHANGE_REASON';
526  
527 IF g_record.CHANGE_REASON = FND_API.G_MISS_CHAR THEN
528   -- Attribute is NOT defaulting enabled, return NULL if MISSING
529   g_record.CHANGE_REASON := NULL;
530 END IF;
531 l_attr:= 'CHECK_NUMBER';
532  
533 IF g_record.CHECK_NUMBER = FND_API.G_MISS_CHAR THEN
534   -- Attribute is NOT defaulting enabled, return NULL if MISSING
535   g_record.CHECK_NUMBER := NULL;
536 END IF;
537 l_attr:= 'SOLD_TO_CONTACT_ID';
538  
539 IF g_record.SOLD_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
540 --  Get the defaulting api registered in the AK AND default
541     l_attr:=l_attr||' 1';
542     g_record.SOLD_TO_CONTACT_ID := ONT_D1_SOLD_TO_CONTACT_ID.Get_Default_Value(g_record);
543     l_attr:=l_attr||' 2';
544   -- For UPDATE operations, check security if new defaulted value is not equal to old value
545   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
546     l_attr:=l_attr||' 3';
547     IF NOT OE_GLOBALS.Equal(g_record.sold_to_contact_id, p_in_old_rec.sold_to_contact_id) THEN
548       IF OE_HEADER_SECURITY.SOLD_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
549       -- Raise error if security returns YES, operation IS CONSTRAINED
550         RAISE FND_API.G_EXC_ERROR;
551       END IF;
552       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
553     END IF;
554   END IF;
555   IF g_record.SOLD_TO_CONTACT_ID IS NOT NULL THEN
556     l_attr:=l_attr||' 4';
557     -- Validate defaulted value if not null
558     IF OE_VALIDATE.SOLD_TO_CONTACT(g_record.SOLD_TO_CONTACT_ID) THEN  
559       -- if valid, clear dependent attributes
560       OE_HEADER_CL_DEP_ATTR.SOLD_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
561     ELSE
562       g_record.SOLD_TO_CONTACT_ID := NULL;
563       l_attr:=l_attr||' 6';
564     END IF;
565   END IF;
566 END IF;
567 l_attr:= 'CONTEXT';
568  
569 IF g_record.CONTEXT = FND_API.G_MISS_CHAR THEN
570   -- Attribute is NOT defaulting enabled, return NULL if MISSING
571   g_record.CONTEXT := NULL;
572 END IF;
573 l_attr:= 'CONTRACT_TERMS';
574  
575 IF g_record.CONTRACT_TERMS = FND_API.G_MISS_NUM THEN
576   -- Attribute is NOT defaulting enabled, return NULL if MISSING
577   g_record.CONTRACT_TERMS := NULL;
578 END IF;
579 l_attr:= 'CONVERSION_RATE';
580  
581 IF g_record.CONVERSION_RATE = FND_API.G_MISS_NUM THEN
582   -- Attribute is NOT defaulting enabled, return NULL if MISSING
583   g_record.CONVERSION_RATE := NULL;
584 END IF;
585 l_attr:= 'CONVERSION_RATE_DATE';
586  
587 IF g_record.CONVERSION_RATE_DATE = FND_API.G_MISS_DATE THEN
588 --  Get the defaulting api registered in the AK AND default
589     l_attr:=l_attr||' 1';
590     g_record.CONVERSION_RATE_DATE := ONT_D1_CONVERSION_RATE_DATE.Get_Default_Value(g_record);
591     l_attr:=l_attr||' 2';
592   -- For UPDATE operations, check security if new defaulted value is not equal to old value
593   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
594     l_attr:=l_attr||' 3';
595     IF NOT OE_GLOBALS.Equal(g_record.conversion_rate_date, p_in_old_rec.conversion_rate_date) THEN
596       IF OE_HEADER_SECURITY.CONVERSION_RATE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
597       -- Raise error if security returns YES, operation IS CONSTRAINED
598         RAISE FND_API.G_EXC_ERROR;
599       END IF;
600       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
601     END IF;
602   END IF;
603   IF g_record.CONVERSION_RATE_DATE IS NOT NULL THEN
604     l_attr:=l_attr||' 4';
605     -- Validate defaulted value if not null
606     IF OE_VALIDATE.CONVERSION_RATE_DATE(g_record.CONVERSION_RATE_DATE) THEN  
607       -- There is no dependent api registered in the AK dictionary  
608       NULL;
609       l_attr:=l_attr||' 5';
610     ELSE
611       g_record.CONVERSION_RATE_DATE := NULL;
612       l_attr:=l_attr||' 6';
613     END IF;
614   END IF;
615 END IF;
616 l_attr:= 'CONVERSION_TYPE_CODE';
617  
618 IF g_record.CONVERSION_TYPE_CODE = FND_API.G_MISS_CHAR THEN
619 --  Get the defaulting api registered in the AK AND default
620     l_attr:=l_attr||' 1';
621     g_record.CONVERSION_TYPE_CODE := ONT_D1_CONVERSION_TYPE_CODE.Get_Default_Value(g_record);
622     l_attr:=l_attr||' 2';
623   -- For UPDATE operations, check security if new defaulted value is not equal to old value
624   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
625     l_attr:=l_attr||' 3';
626     IF NOT OE_GLOBALS.Equal(g_record.conversion_type_code, p_in_old_rec.conversion_type_code) THEN
627       IF OE_HEADER_SECURITY.CONVERSION_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
628       -- Raise error if security returns YES, operation IS CONSTRAINED
629         RAISE FND_API.G_EXC_ERROR;
630       END IF;
631       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
632     END IF;
633   END IF;
634   IF g_record.CONVERSION_TYPE_CODE IS NOT NULL THEN
635     l_attr:=l_attr||' 4';
636     -- Validate defaulted value if not null
637     IF OE_VALIDATE.CONVERSION_TYPE(g_record.CONVERSION_TYPE_CODE) THEN  
638       -- There is no dependent api registered in the AK dictionary  
639       NULL;
640       l_attr:=l_attr||' 5';
641     ELSE
642       g_record.CONVERSION_TYPE_CODE := NULL;
643       l_attr:=l_attr||' 6';
644     END IF;
645   END IF;
646 END IF;
647 l_attr:= 'CREATED_BY';
648  
649 IF g_record.CREATED_BY = FND_API.G_MISS_NUM THEN
650   -- Attribute is NOT defaulting enabled, return NULL if MISSING
651   g_record.CREATED_BY := NULL;
652 END IF;
653 l_attr:= 'CREATION_DATE';
654  
655 IF g_record.CREATION_DATE = FND_API.G_MISS_DATE THEN
656   -- Attribute is NOT defaulting enabled, return NULL if MISSING
657   g_record.CREATION_DATE := NULL;
658 END IF;
659 l_attr:= 'CREDIT_CARD_CODE';
660  
661 IF g_record.CREDIT_CARD_CODE = FND_API.G_MISS_CHAR THEN
662   -- Attribute is NOT defaulting enabled, return NULL if MISSING
663   g_record.CREDIT_CARD_CODE := NULL;
664 END IF;
665 l_attr:= 'CREDIT_CARD_APPROVAL_CODE';
666  
667 IF g_record.CREDIT_CARD_APPROVAL_CODE = FND_API.G_MISS_CHAR THEN
668   -- Attribute is NOT defaulting enabled, return NULL if MISSING
669   g_record.CREDIT_CARD_APPROVAL_CODE := NULL;
670 END IF;
671 l_attr:= 'CREDIT_CARD_EXPIRATION_DATE';
672  
673 IF g_record.CREDIT_CARD_EXPIRATION_DATE = FND_API.G_MISS_DATE THEN
674 --  Get the defaulting api registered in the AK AND default
675     l_attr:=l_attr||' 1';
676     g_record.CREDIT_CARD_EXPIRATION_DATE := ONT_D1_CREDIT_CARD_EXPIRATI.Get_Default_Value(g_record);
677     l_attr:=l_attr||' 2';
678 -- There is no security api registered in the AK dictionary  
679       -- There is no validation api registered in the AK dictionary  
680 END IF;
681 l_attr:= 'CREDIT_CARD_HOLDER_NAME';
682  
683 IF g_record.CREDIT_CARD_HOLDER_NAME = FND_API.G_MISS_CHAR THEN
684 --  Get the defaulting api registered in the AK AND default
685     l_attr:=l_attr||' 1';
686     g_record.CREDIT_CARD_HOLDER_NAME := ONT_D1_CREDIT_CARD_HOLDER_N.Get_Default_Value(g_record);
687     l_attr:=l_attr||' 2';
688 -- There is no security api registered in the AK dictionary  
689       -- There is no validation api registered in the AK dictionary  
690 END IF;
691 l_attr:= 'TRANSACTIONAL_CURR_CODE';
692  
693 IF g_record.TRANSACTIONAL_CURR_CODE = FND_API.G_MISS_CHAR THEN
694 --  Get the defaulting api registered in the AK AND default
695     l_attr:=l_attr||' 1';
696     g_record.TRANSACTIONAL_CURR_CODE := ONT_D1_TRANSACTIONAL_CURR_C.Get_Default_Value(g_record);
697     l_attr:=l_attr||' 2';
698   -- For UPDATE operations, check security if new defaulted value is not equal to old value
699   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
700     l_attr:=l_attr||' 3';
701     IF NOT OE_GLOBALS.Equal(g_record.transactional_curr_code, p_in_old_rec.transactional_curr_code) THEN
702       IF OE_HEADER_SECURITY.TRANSACTIONAL_CURR(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
703       -- Raise error if security returns YES, operation IS CONSTRAINED
704         RAISE FND_API.G_EXC_ERROR;
705       END IF;
706       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
707     END IF;
708   END IF;
709   IF g_record.TRANSACTIONAL_CURR_CODE IS NOT NULL THEN
710     l_attr:=l_attr||' 4';
711     -- Validate defaulted value if not null
712     IF OE_VALIDATE.TRANSACTIONAL_CURR(g_record.TRANSACTIONAL_CURR_CODE) THEN  
713       -- There is no dependent api registered in the AK dictionary  
714       NULL;
715       l_attr:=l_attr||' 5';
716     ELSE
717       g_record.TRANSACTIONAL_CURR_CODE := NULL;
718       l_attr:=l_attr||' 6';
719     END IF;
720   END IF;
721 END IF;
722 l_attr:= 'IB_CURRENT_LOCATION';
723  
724 IF g_record.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR THEN
725 --  Get the defaulting api registered in the AK AND default
726     l_attr:=l_attr||' 1';
727     g_record.IB_CURRENT_LOCATION := ONT_D1_IB_CURRENT_LOCATION.Get_Default_Value(g_record);
728     l_attr:=l_attr||' 2';
729   -- For UPDATE operations, check security if new defaulted value is not equal to old value
730   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
731     l_attr:=l_attr||' 3';
732     IF NOT OE_GLOBALS.Equal(g_record.ib_current_location, p_in_old_rec.ib_current_location) THEN
733       IF OE_HEADER_SECURITY.IB_CURRENT_LOCATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
734       -- Raise error if security returns YES, operation IS CONSTRAINED
735         RAISE FND_API.G_EXC_ERROR;
736       END IF;
737       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
738     END IF;
739   END IF;
740   IF g_record.IB_CURRENT_LOCATION IS NOT NULL THEN
741     l_attr:=l_attr||' 4';
742       -- if valid, clear dependent attributes
743       OE_HEADER_CL_DEP_ATTR.IB_CURRENT_LOCATION(p_initial_rec, p_in_old_rec, g_record);
744   END IF;
745 END IF;
746 l_attr:= 'SOLD_TO_SITE_USE_ID';
747  
748 IF g_record.SOLD_TO_SITE_USE_ID = FND_API.G_MISS_NUM THEN
749 --  Get the defaulting api registered in the AK AND default
750     l_attr:=l_attr||' 1';
751     g_record.SOLD_TO_SITE_USE_ID := ONT_D1_SOLD_TO_SITE_USE_ID.Get_Default_Value(g_record);
752     l_attr:=l_attr||' 2';
753   -- For UPDATE operations, check security if new defaulted value is not equal to old value
754   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
755     l_attr:=l_attr||' 3';
756     IF NOT OE_GLOBALS.Equal(g_record.sold_to_site_use_id, p_in_old_rec.sold_to_site_use_id) THEN
757       IF OE_HEADER_SECURITY.SOLD_TO_SITE_USE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
758       -- Raise error if security returns YES, operation IS CONSTRAINED
759         RAISE FND_API.G_EXC_ERROR;
760       END IF;
761       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
762     END IF;
763   END IF;
764       -- There is no validation api registered in the AK dictionary  
765 END IF;
766 l_attr:= 'CUST_PO_NUMBER';
767  
768 IF g_record.CUST_PO_NUMBER = FND_API.G_MISS_CHAR THEN
769 --  Get the defaulting api registered in the AK AND default
770     l_attr:=l_attr||' 1';
771     g_record.CUST_PO_NUMBER := ONT_D1_CUST_PO_NUMBER.Get_Default_Value(g_record);
772     l_attr:=l_attr||' 2';
773   IF g_record.CUST_PO_NUMBER IS NULL 
774    AND p_in_old_rec.CUST_PO_NUMBER <> FND_API.G_MISS_CHAR THEN 
775   g_record.CUST_PO_NUMBER := p_in_old_rec.CUST_PO_NUMBER;
776   END IF;
777   -- For UPDATE operations, check security if new defaulted value is not equal to old value
778   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
779     l_attr:=l_attr||' 3';
780     IF NOT OE_GLOBALS.Equal(g_record.cust_po_number, p_in_old_rec.cust_po_number) THEN
781       IF OE_HEADER_SECURITY.CUST_PO_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
782       -- Raise error if security returns YES, operation IS CONSTRAINED
783         RAISE FND_API.G_EXC_ERROR;
784       END IF;
785       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
786     END IF;
787   END IF;
788   IF g_record.CUST_PO_NUMBER IS NOT NULL THEN
789     l_attr:=l_attr||' 4';
790     -- Validate defaulted value if not null
791     IF OE_VALIDATE.CUST_PO_NUMBER(g_record.CUST_PO_NUMBER) THEN  
792       -- There is no dependent api registered in the AK dictionary  
793       NULL;
794       l_attr:=l_attr||' 5';
795     ELSE
796       g_record.CUST_PO_NUMBER := NULL;
797       l_attr:=l_attr||' 6';
798     END IF;
799   END IF;
800 END IF;
801 l_attr:= 'CUSTOMER_SIGNATURE';
802  
803 IF g_record.CUSTOMER_SIGNATURE = FND_API.G_MISS_CHAR THEN
804   -- Attribute is NOT defaulting enabled, return NULL if MISSING
805   g_record.CUSTOMER_SIGNATURE := NULL;
806 END IF;
807 l_attr:= 'CUSTOMER_SIGNATURE_DATE';
808  
809 IF g_record.CUSTOMER_SIGNATURE_DATE = FND_API.G_MISS_DATE THEN
810   -- Attribute is NOT defaulting enabled, return NULL if MISSING
811   g_record.CUSTOMER_SIGNATURE_DATE := NULL;
812 END IF;
813 l_attr:= 'DB_FLAG';
814  
815 IF g_record.DB_FLAG = FND_API.G_MISS_CHAR THEN
816   -- Attribute is NOT defaulting enabled, return NULL if MISSING
817   g_record.DB_FLAG := NULL;
818 END IF;
819 l_attr:= 'DEFAULT_INBOUND_LINE_TYPE_ID';
820  
821 IF g_record.DEFAULT_INBOUND_LINE_TYPE_ID = FND_API.G_MISS_NUM THEN
822   -- Attribute is NOT defaulting enabled, return NULL if MISSING
823   g_record.DEFAULT_INBOUND_LINE_TYPE_ID := NULL;
824 END IF;
825 l_attr:= 'DEFAULT_OUTBOUND_LINE_TYPE_ID';
826  
827 IF g_record.DEFAULT_OUTBOUND_LINE_TYPE_ID = FND_API.G_MISS_NUM THEN
828   -- Attribute is NOT defaulting enabled, return NULL if MISSING
829   g_record.DEFAULT_OUTBOUND_LINE_TYPE_ID := NULL;
830 END IF;
831 l_attr:= 'DELIVER_TO_CONTACT_ID';
832  
833 IF g_record.DELIVER_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
834 --  Get the defaulting api registered in the AK AND default
835     l_attr:=l_attr||' 1';
836     g_record.DELIVER_TO_CONTACT_ID := ONT_D1_DELIVER_TO_CONTACT_I.Get_Default_Value(g_record);
837     l_attr:=l_attr||' 2';
838   -- For UPDATE operations, check security if new defaulted value is not equal to old value
839   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
840     l_attr:=l_attr||' 3';
841     IF NOT OE_GLOBALS.Equal(g_record.deliver_to_contact_id, p_in_old_rec.deliver_to_contact_id) THEN
842       IF OE_HEADER_SECURITY.DELIVER_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
843       -- Raise error if security returns YES, operation IS CONSTRAINED
844         RAISE FND_API.G_EXC_ERROR;
845       END IF;
846       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
847     END IF;
848   END IF;
849   IF g_record.DELIVER_TO_CONTACT_ID IS NOT NULL THEN
850     l_attr:=l_attr||' 4';
851     -- Validate defaulted value if not null
852     IF OE_VALIDATE.DELIVER_TO_CONTACT(g_record.DELIVER_TO_CONTACT_ID) THEN  
853       -- if valid, clear dependent attributes
854       OE_HEADER_CL_DEP_ATTR.DELIVER_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
855     ELSE
856       g_record.DELIVER_TO_CONTACT_ID := NULL;
857       l_attr:=l_attr||' 6';
858     END IF;
859   END IF;
860 END IF;
861 l_attr:= 'DEMAND_CLASS_CODE';
862  
863 IF g_record.DEMAND_CLASS_CODE = FND_API.G_MISS_CHAR THEN
864 --  Get the defaulting api registered in the AK AND default
865     l_attr:=l_attr||' 1';
866     g_record.DEMAND_CLASS_CODE := ONT_D1_DEMAND_CLASS_CODE.Get_Default_Value(g_record);
867     l_attr:=l_attr||' 2';
868   -- For UPDATE operations, check security if new defaulted value is not equal to old value
869   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
870     l_attr:=l_attr||' 3';
871     IF NOT OE_GLOBALS.Equal(g_record.demand_class_code, p_in_old_rec.demand_class_code) THEN
872       IF OE_HEADER_SECURITY.DEMAND_CLASS(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
873       -- Raise error if security returns YES, operation IS CONSTRAINED
874         RAISE FND_API.G_EXC_ERROR;
875       END IF;
876       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
877     END IF;
878   END IF;
879   IF g_record.DEMAND_CLASS_CODE IS NOT NULL THEN
880     l_attr:=l_attr||' 4';
881     -- Validate defaulted value if not null
882     IF OE_VALIDATE.DEMAND_CLASS(g_record.DEMAND_CLASS_CODE) THEN  
883       -- There is no dependent api registered in the AK dictionary  
884       NULL;
885       l_attr:=l_attr||' 5';
886     ELSE
887       g_record.DEMAND_CLASS_CODE := NULL;
888       l_attr:=l_attr||' 6';
889     END IF;
890   END IF;
891 END IF;
892 l_attr:= 'DRAFT_SUBMITTED_FLAG';
893  
894 IF g_record.DRAFT_SUBMITTED_FLAG = FND_API.G_MISS_CHAR THEN
895   -- Attribute is NOT defaulting enabled, return NULL if MISSING
896   g_record.DRAFT_SUBMITTED_FLAG := NULL;
897 END IF;
898 l_attr:= 'EARLIEST_SCHEDULE_LIMIT';
899  
900 IF g_record.EARLIEST_SCHEDULE_LIMIT = FND_API.G_MISS_NUM THEN
901 --  Get the defaulting api registered in the AK AND default
902     l_attr:=l_attr||' 1';
903     g_record.EARLIEST_SCHEDULE_LIMIT := ONT_D1_EARLIEST_SCHEDULE_LI.Get_Default_Value(g_record);
904     l_attr:=l_attr||' 2';
905 -- There is no security api registered in the AK dictionary  
906   IF g_record.EARLIEST_SCHEDULE_LIMIT IS NOT NULL THEN
907     l_attr:=l_attr||' 4';
908     -- Validate defaulted value if not null
909     IF OE_VALIDATE.EARLIEST_SCHEDULE_LIMIT(g_record.EARLIEST_SCHEDULE_LIMIT) THEN  
910       -- There is no dependent api registered in the AK dictionary  
911       NULL;
912       l_attr:=l_attr||' 5';
913     ELSE
914       g_record.EARLIEST_SCHEDULE_LIMIT := NULL;
915       l_attr:=l_attr||' 6';
916     END IF;
917   END IF;
918 END IF;
919 l_attr:= 'END_CUSTOMER_ID';
920  
921 IF g_record.END_CUSTOMER_ID = FND_API.G_MISS_NUM THEN
922 --  Get the defaulting api registered in the AK AND default
923     l_attr:=l_attr||' 1';
924     g_record.END_CUSTOMER_ID := ONT_D1_END_CUSTOMER_ID.Get_Default_Value(g_record);
925     l_attr:=l_attr||' 2';
926   -- For UPDATE operations, check security if new defaulted value is not equal to old value
927   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
928     l_attr:=l_attr||' 3';
929     IF NOT OE_GLOBALS.Equal(g_record.end_customer_id, p_in_old_rec.end_customer_id) THEN
930       IF OE_HEADER_SECURITY.END_CUSTOMER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
931       -- Raise error if security returns YES, operation IS CONSTRAINED
932         RAISE FND_API.G_EXC_ERROR;
933       END IF;
934       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
935     END IF;
936   END IF;
937   IF g_record.END_CUSTOMER_ID IS NOT NULL THEN
938     l_attr:=l_attr||' 4';
939       -- if valid, clear dependent attributes
940       OE_HEADER_CL_DEP_ATTR.END_CUSTOMER(p_initial_rec, p_in_old_rec, g_record);
941   END IF;
942 END IF;
943 l_attr:= 'END_CUSTOMER_CONTACT_ID';
944  
945 IF g_record.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM THEN
946 --  Get the defaulting api registered in the AK AND default
947     l_attr:=l_attr||' 1';
948     g_record.END_CUSTOMER_CONTACT_ID := ONT_D1_END_CUSTOMER_CONTACT.Get_Default_Value(g_record);
949     l_attr:=l_attr||' 2';
950   -- For UPDATE operations, check security if new defaulted value is not equal to old value
951   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
952     l_attr:=l_attr||' 3';
953     IF NOT OE_GLOBALS.Equal(g_record.end_customer_contact_id, p_in_old_rec.end_customer_contact_id) THEN
954       IF OE_HEADER_SECURITY.END_CUSTOMER_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
955       -- Raise error if security returns YES, operation IS CONSTRAINED
956         RAISE FND_API.G_EXC_ERROR;
957       END IF;
958       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
959     END IF;
960   END IF;
961   IF g_record.END_CUSTOMER_CONTACT_ID IS NOT NULL THEN
962     l_attr:=l_attr||' 4';
963       -- if valid, clear dependent attributes
964       OE_HEADER_CL_DEP_ATTR.END_CUSTOMER_CONTACT(p_initial_rec, p_in_old_rec, g_record);
965   END IF;
966 END IF;
967 l_attr:= 'END_CUSTOMER_SITE_USE_ID';
968  
969 IF g_record.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM THEN
970 --  Get the defaulting api registered in the AK AND default
971     l_attr:=l_attr||' 1';
972     g_record.END_CUSTOMER_SITE_USE_ID := ONT_D1_END_CUSTOMER_SITE_US.Get_Default_Value(g_record);
973     l_attr:=l_attr||' 2';
974   -- For UPDATE operations, check security if new defaulted value is not equal to old value
975   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
976     l_attr:=l_attr||' 3';
977     IF NOT OE_GLOBALS.Equal(g_record.end_customer_site_use_id, p_in_old_rec.end_customer_site_use_id) THEN
978       IF OE_HEADER_SECURITY.END_CUSTOMER_SITE_USE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
979       -- Raise error if security returns YES, operation IS CONSTRAINED
980         RAISE FND_API.G_EXC_ERROR;
981       END IF;
982       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
983     END IF;
984   END IF;
985   IF g_record.END_CUSTOMER_SITE_USE_ID IS NOT NULL THEN
986     l_attr:=l_attr||' 4';
987       -- if valid, clear dependent attributes
988       OE_HEADER_CL_DEP_ATTR.END_CUSTOMER_SITE_USE(p_initial_rec, p_in_old_rec, g_record);
989   END IF;
990 END IF;
991 l_attr:= 'EXPIRATION_DATE';
992  
993 IF g_record.EXPIRATION_DATE = FND_API.G_MISS_DATE THEN
994 --  Get the defaulting api registered in the AK AND default
995     l_attr:=l_attr||' 1';
996     g_record.EXPIRATION_DATE := ONT_D1_EXPIRATION_DATE.Get_Default_Value(g_record);
997     l_attr:=l_attr||' 2';
998   -- For UPDATE operations, check security if new defaulted value is not equal to old value
999   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1000     l_attr:=l_attr||' 3';
1001     IF NOT OE_GLOBALS.Equal(g_record.expiration_date, p_in_old_rec.expiration_date) THEN
1002       IF OE_HEADER_SECURITY.EXPIRATION_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1003       -- Raise error if security returns YES, operation IS CONSTRAINED
1004         RAISE FND_API.G_EXC_ERROR;
1005       END IF;
1006       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1007     END IF;
1008   END IF;
1009   IF g_record.EXPIRATION_DATE IS NOT NULL THEN
1010     l_attr:=l_attr||' 4';
1011     -- Validate defaulted value if not null
1012     IF OE_VALIDATE.EXPIRATION_DATE(g_record.EXPIRATION_DATE) THEN  
1013       -- if valid, clear dependent attributes
1014       OE_HEADER_CL_DEP_ATTR.EXPIRATION_DATE(p_initial_rec, p_in_old_rec, g_record);
1015     ELSE
1016       g_record.EXPIRATION_DATE := NULL;
1017       l_attr:=l_attr||' 6';
1018     END IF;
1019   END IF;
1020 END IF;
1021 l_attr:= 'FOB_POINT_CODE';
1022  
1023 IF g_record.FOB_POINT_CODE = FND_API.G_MISS_CHAR THEN
1024 --  Get the defaulting api registered in the AK AND default
1025     l_attr:=l_attr||' 1';
1026     g_record.FOB_POINT_CODE := ONT_D1_FOB_POINT_CODE.Get_Default_Value(g_record);
1027     l_attr:=l_attr||' 2';
1028   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1029   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1030     l_attr:=l_attr||' 3';
1031     IF NOT OE_GLOBALS.Equal(g_record.fob_point_code, p_in_old_rec.fob_point_code) THEN
1032       IF OE_HEADER_SECURITY.FOB_POINT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1033       -- Raise error if security returns YES, operation IS CONSTRAINED
1034         RAISE FND_API.G_EXC_ERROR;
1035       END IF;
1036       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1037     END IF;
1038   END IF;
1039   IF g_record.FOB_POINT_CODE IS NOT NULL THEN
1040     l_attr:=l_attr||' 4';
1041     -- Validate defaulted value if not null
1042     IF OE_VALIDATE.FOB_POINT(g_record.FOB_POINT_CODE) THEN  
1043       -- There is no dependent api registered in the AK dictionary  
1044       NULL;
1045       l_attr:=l_attr||' 5';
1046     ELSE
1047       g_record.FOB_POINT_CODE := NULL;
1048       l_attr:=l_attr||' 6';
1049     END IF;
1050   END IF;
1051 END IF;
1052 l_attr:= 'FIRST_ACK_CODE';
1053  
1054 IF g_record.FIRST_ACK_CODE = FND_API.G_MISS_CHAR THEN
1055   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1056   g_record.FIRST_ACK_CODE := NULL;
1057 END IF;
1058 l_attr:= 'FIRST_ACK_DATE';
1059  
1060 IF g_record.FIRST_ACK_DATE = FND_API.G_MISS_DATE THEN
1061   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1062   g_record.FIRST_ACK_DATE := NULL;
1063 END IF;
1064 l_attr:= 'FREIGHT_CARRIER_CODE';
1065  
1066 IF g_record.FREIGHT_CARRIER_CODE = FND_API.G_MISS_CHAR THEN
1067   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1068   g_record.FREIGHT_CARRIER_CODE := NULL;
1069 END IF;
1070 l_attr:= 'FREIGHT_TERMS_CODE';
1071  
1072 IF g_record.FREIGHT_TERMS_CODE = FND_API.G_MISS_CHAR THEN
1073 --  Get the defaulting api registered in the AK AND default
1074     l_attr:=l_attr||' 1';
1075     g_record.FREIGHT_TERMS_CODE := ONT_D1_FREIGHT_TERMS_CODE.Get_Default_Value(g_record);
1076     l_attr:=l_attr||' 2';
1077   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1078   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1079     l_attr:=l_attr||' 3';
1080     IF NOT OE_GLOBALS.Equal(g_record.freight_terms_code, p_in_old_rec.freight_terms_code) THEN
1081       IF OE_HEADER_SECURITY.FREIGHT_TERMS(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1082       -- Raise error if security returns YES, operation IS CONSTRAINED
1083         RAISE FND_API.G_EXC_ERROR;
1084       END IF;
1085       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1086     END IF;
1087   END IF;
1088   IF g_record.FREIGHT_TERMS_CODE IS NOT NULL THEN
1089     l_attr:=l_attr||' 4';
1090     -- Validate defaulted value if not null
1091     IF OE_VALIDATE.FREIGHT_TERMS(g_record.FREIGHT_TERMS_CODE) THEN  
1092       -- There is no dependent api registered in the AK dictionary  
1093       NULL;
1094       l_attr:=l_attr||' 5';
1095     ELSE
1096       g_record.FREIGHT_TERMS_CODE := NULL;
1097       l_attr:=l_attr||' 6';
1098     END IF;
1099   END IF;
1100 END IF;
1101 l_attr:= 'DEFAULT_FULFILLMENT_SET';
1102  
1103 IF g_record.DEFAULT_FULFILLMENT_SET = FND_API.G_MISS_CHAR THEN
1104 --  Get the defaulting api registered in the AK AND default
1105     l_attr:=l_attr||' 1';
1106     g_record.DEFAULT_FULFILLMENT_SET := ONT_D1_DEFAULT_FULFILLMENT.Get_Default_Value(g_record);
1107     l_attr:=l_attr||' 2';
1108 -- There is no security api registered in the AK dictionary  
1109   IF g_record.DEFAULT_FULFILLMENT_SET IS NOT NULL THEN
1110     l_attr:=l_attr||' 4';
1111     -- Validate defaulted value if not null
1112     IF OE_VALIDATE.DEFAULT_FULFILLMENT_SET(g_record.DEFAULT_FULFILLMENT_SET) THEN  
1113       -- if valid, clear dependent attributes
1114       OE_HEADER_CL_DEP_ATTR.DEFAULT_FULFILLMENT_SET(p_initial_rec, p_in_old_rec, g_record);
1115     ELSE
1116       g_record.DEFAULT_FULFILLMENT_SET := NULL;
1117       l_attr:=l_attr||' 6';
1118     END IF;
1119   END IF;
1120 END IF;
1121 l_attr:= 'GLOBAL_ATTRIBUTE_CATEGORY';
1122  
1123 IF g_record.GLOBAL_ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR THEN
1124   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1125   g_record.GLOBAL_ATTRIBUTE_CATEGORY := NULL;
1126 END IF;
1127 l_attr:= 'GLOBAL_ATTRIBUTE1';
1128  
1129 IF g_record.GLOBAL_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
1130   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1131   g_record.GLOBAL_ATTRIBUTE1 := NULL;
1132 END IF;
1133 l_attr:= 'GLOBAL_ATTRIBUTE10';
1134  
1135 IF g_record.GLOBAL_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
1136   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1137   g_record.GLOBAL_ATTRIBUTE10 := NULL;
1138 END IF;
1139 l_attr:= 'GLOBAL_ATTRIBUTE11';
1140  
1141 IF g_record.GLOBAL_ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
1142   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1143   g_record.GLOBAL_ATTRIBUTE11 := NULL;
1144 END IF;
1145 l_attr:= 'GLOBAL_ATTRIBUTE12';
1146  
1147 IF g_record.GLOBAL_ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
1148   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1149   g_record.GLOBAL_ATTRIBUTE12 := NULL;
1150 END IF;
1151 l_attr:= 'GLOBAL_ATTRIBUTE13';
1152  
1153 IF g_record.GLOBAL_ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
1154   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1155   g_record.GLOBAL_ATTRIBUTE13 := NULL;
1156 END IF;
1157 l_attr:= 'GLOBAL_ATTRIBUTE14';
1158  
1159 IF g_record.GLOBAL_ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
1160   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1161   g_record.GLOBAL_ATTRIBUTE14 := NULL;
1162 END IF;
1163 l_attr:= 'GLOBAL_ATTRIBUTE15';
1164  
1165 IF g_record.GLOBAL_ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
1166   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1167   g_record.GLOBAL_ATTRIBUTE15 := NULL;
1168 END IF;
1169 l_attr:= 'GLOBAL_ATTRIBUTE16';
1170  
1171 IF g_record.GLOBAL_ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN
1172   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1173   g_record.GLOBAL_ATTRIBUTE16 := NULL;
1174 END IF;
1175 l_attr:= 'GLOBAL_ATTRIBUTE17';
1176  
1177 IF g_record.GLOBAL_ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN
1178   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1179   g_record.GLOBAL_ATTRIBUTE17 := NULL;
1180 END IF;
1181 l_attr:= 'GLOBAL_ATTRIBUTE18';
1182  
1183 IF g_record.GLOBAL_ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN
1184   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1185   g_record.GLOBAL_ATTRIBUTE18 := NULL;
1186 END IF;
1187 l_attr:= 'GLOBAL_ATTRIBUTE19';
1188  
1189 IF g_record.GLOBAL_ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN
1190   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1191   g_record.GLOBAL_ATTRIBUTE19 := NULL;
1192 END IF;
1193 l_attr:= 'GLOBAL_ATTRIBUTE2';
1194  
1195 IF g_record.GLOBAL_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
1196   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1197   g_record.GLOBAL_ATTRIBUTE2 := NULL;
1198 END IF;
1199 l_attr:= 'GLOBAL_ATTRIBUTE20';
1200  
1201 IF g_record.GLOBAL_ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN
1202   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1203   g_record.GLOBAL_ATTRIBUTE20 := NULL;
1204 END IF;
1205 l_attr:= 'GLOBAL_ATTRIBUTE3';
1206  
1207 IF g_record.GLOBAL_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
1208   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1209   g_record.GLOBAL_ATTRIBUTE3 := NULL;
1210 END IF;
1211 l_attr:= 'GLOBAL_ATTRIBUTE4';
1212  
1213 IF g_record.GLOBAL_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
1214   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1215   g_record.GLOBAL_ATTRIBUTE4 := NULL;
1216 END IF;
1217 l_attr:= 'GLOBAL_ATTRIBUTE5';
1218  
1219 IF g_record.GLOBAL_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
1220   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1221   g_record.GLOBAL_ATTRIBUTE5 := NULL;
1222 END IF;
1223 l_attr:= 'GLOBAL_ATTRIBUTE6';
1224  
1225 IF g_record.GLOBAL_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
1226   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1227   g_record.GLOBAL_ATTRIBUTE6 := NULL;
1228 END IF;
1229 l_attr:= 'GLOBAL_ATTRIBUTE7';
1230  
1231 IF g_record.GLOBAL_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
1232   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1233   g_record.GLOBAL_ATTRIBUTE7 := NULL;
1234 END IF;
1235 l_attr:= 'GLOBAL_ATTRIBUTE8';
1236  
1237 IF g_record.GLOBAL_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
1238   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1239   g_record.GLOBAL_ATTRIBUTE8 := NULL;
1240 END IF;
1241 l_attr:= 'GLOBAL_ATTRIBUTE9';
1242  
1243 IF g_record.GLOBAL_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
1244   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1245   g_record.GLOBAL_ATTRIBUTE9 := NULL;
1246 END IF;
1247 l_attr:= 'HEADER_ID';
1248  
1249 IF g_record.HEADER_ID = FND_API.G_MISS_NUM THEN
1250   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1251   g_record.HEADER_ID := NULL;
1252 END IF;
1253 l_attr:= 'IB_INSTALLED_AT_LOCATION';
1254  
1255 IF g_record.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR THEN
1256 --  Get the defaulting api registered in the AK AND default
1257     l_attr:=l_attr||' 1';
1258     g_record.IB_INSTALLED_AT_LOCATION := ONT_D1_IB_INSTALLED_AT_LOCA.Get_Default_Value(g_record);
1259     l_attr:=l_attr||' 2';
1260   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1261   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1262     l_attr:=l_attr||' 3';
1263     IF NOT OE_GLOBALS.Equal(g_record.ib_installed_at_location, p_in_old_rec.ib_installed_at_location) THEN
1264       IF OE_HEADER_SECURITY.IB_INSTALLED_AT_LOCATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1265       -- Raise error if security returns YES, operation IS CONSTRAINED
1266         RAISE FND_API.G_EXC_ERROR;
1267       END IF;
1268       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1269     END IF;
1270   END IF;
1271   IF g_record.IB_INSTALLED_AT_LOCATION IS NOT NULL THEN
1272     l_attr:=l_attr||' 4';
1273       -- if valid, clear dependent attributes
1274       OE_HEADER_CL_DEP_ATTR.IB_INSTALLED_AT_LOCATION(p_initial_rec, p_in_old_rec, g_record);
1275   END IF;
1276 END IF;
1277 l_attr:= 'INVOICING_RULE_ID';
1278  
1279 IF g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM THEN
1280 --  Get the defaulting api registered in the AK AND default
1281     l_attr:=l_attr||' 1';
1282     g_record.INVOICING_RULE_ID := ONT_D1_INVOICING_RULE_ID.Get_Default_Value(g_record);
1283     l_attr:=l_attr||' 2';
1284   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1285   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1286     l_attr:=l_attr||' 3';
1287     IF NOT OE_GLOBALS.Equal(g_record.invoicing_rule_id, p_in_old_rec.invoicing_rule_id) THEN
1288       IF OE_HEADER_SECURITY.INVOICING_RULE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1289       -- Raise error if security returns YES, operation IS CONSTRAINED
1290         RAISE FND_API.G_EXC_ERROR;
1291       END IF;
1292       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1293     END IF;
1294   END IF;
1295   IF g_record.INVOICING_RULE_ID IS NOT NULL THEN
1296     l_attr:=l_attr||' 4';
1297     -- Validate defaulted value if not null
1298     IF OE_VALIDATE.INVOICING_RULE(g_record.INVOICING_RULE_ID) THEN  
1299       -- There is no dependent api registered in the AK dictionary  
1300       NULL;
1301       l_attr:=l_attr||' 5';
1302     ELSE
1303       g_record.INVOICING_RULE_ID := NULL;
1304       l_attr:=l_attr||' 6';
1305     END IF;
1306   END IF;
1307 END IF;
1308 l_attr:= 'LAST_ACK_CODE';
1309  
1310 IF g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR THEN
1311   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1312   g_record.LAST_ACK_CODE := NULL;
1313 END IF;
1314 l_attr:= 'LAST_ACK_DATE';
1315  
1316 IF g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE THEN
1317   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1318   g_record.LAST_ACK_DATE := NULL;
1319 END IF;
1320 l_attr:= 'LAST_UPDATE_DATE';
1321  
1322 IF g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE THEN
1323   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1324   g_record.LAST_UPDATE_DATE := NULL;
1325 END IF;
1326 l_attr:= 'LAST_UPDATE_LOGIN';
1327  
1328 IF g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM THEN
1329   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1330   g_record.LAST_UPDATE_LOGIN := NULL;
1331 END IF;
1332 l_attr:= 'LAST_UPDATED_BY';
1333  
1334 IF g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM THEN
1335   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1336   g_record.LAST_UPDATED_BY := NULL;
1337 END IF;
1338 l_attr:= 'LATEST_SCHEDULE_LIMIT';
1339  
1340 IF g_record.LATEST_SCHEDULE_LIMIT = FND_API.G_MISS_NUM THEN
1341 --  Get the defaulting api registered in the AK AND default
1342     l_attr:=l_attr||' 1';
1343     g_record.LATEST_SCHEDULE_LIMIT := ONT_D1_LATEST_SCHEDULE_LIMI.Get_Default_Value(g_record);
1344     l_attr:=l_attr||' 2';
1345 -- There is no security api registered in the AK dictionary  
1346   IF g_record.LATEST_SCHEDULE_LIMIT IS NOT NULL THEN
1347     l_attr:=l_attr||' 4';
1348     -- Validate defaulted value if not null
1349     IF OE_VALIDATE.LATEST_SCHEDULE_LIMIT(g_record.LATEST_SCHEDULE_LIMIT) THEN  
1350       -- There is no dependent api registered in the AK dictionary  
1351       NULL;
1352       l_attr:=l_attr||' 5';
1353     ELSE
1354       g_record.LATEST_SCHEDULE_LIMIT := NULL;
1355       l_attr:=l_attr||' 6';
1356     END IF;
1357   END IF;
1358 END IF;
1359 l_attr:= 'DEFAULT_LINE_SET';
1360  
1361 IF g_record.CUSTOMER_PREFERENCE_SET_CODE = FND_API.G_MISS_CHAR THEN
1362 --  Get the defaulting api registered in the AK AND default
1363     l_attr:=l_attr||' 1';
1364     g_record.CUSTOMER_PREFERENCE_SET_CODE := ONT_D1_DEFAULT_LINE_SET.Get_Default_Value(g_record);
1365     l_attr:=l_attr||' 2';
1366 -- There is no security api registered in the AK dictionary  
1367   IF g_record.CUSTOMER_PREFERENCE_SET_CODE IS NOT NULL THEN
1368     l_attr:=l_attr||' 4';
1369     -- Validate defaulted value if not null
1370     IF OE_VALIDATE.CUSTOMER_PREFERENCE_SET(g_record.CUSTOMER_PREFERENCE_SET_CODE) THEN  
1371       -- if valid, clear dependent attributes
1372       OE_HEADER_CL_DEP_ATTR.CUSTOMER_PREFERENCE_SET(p_initial_rec, p_in_old_rec, g_record);
1373     ELSE
1374       g_record.CUSTOMER_PREFERENCE_SET_CODE := NULL;
1375       l_attr:=l_attr||' 6';
1376     END IF;
1377   END IF;
1378 END IF;
1379 l_attr:= 'SALES_DOCUMENT_NAME';
1380  
1381 IF g_record.SALES_DOCUMENT_NAME = FND_API.G_MISS_CHAR THEN
1382   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1383   g_record.SALES_DOCUMENT_NAME := NULL;
1384 END IF;
1385 l_attr:= 'OPEN_FLAG';
1386  
1387 IF g_record.OPEN_FLAG = FND_API.G_MISS_CHAR THEN
1388   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1389   g_record.OPEN_FLAG := NULL;
1390 END IF;
1391 l_attr:= 'OPERATION';
1392  
1393 IF g_record.OPERATION = FND_API.G_MISS_CHAR THEN
1394   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1395   g_record.OPERATION := NULL;
1396 END IF;
1397 l_attr:= 'ORDER_CATEGORY_CODE';
1398  
1399 IF g_record.ORDER_CATEGORY_CODE = FND_API.G_MISS_CHAR THEN
1400   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1401   g_record.ORDER_CATEGORY_CODE := NULL;
1402 END IF;
1403 l_attr:= 'ORDER_DATE_TYPE_CODE';
1404  
1405 IF g_record.ORDER_DATE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
1406 --  Get the defaulting api registered in the AK AND default
1407     l_attr:=l_attr||' 1';
1408     g_record.ORDER_DATE_TYPE_CODE := ONT_D1_ORDER_DATE_TYPE_CODE.Get_Default_Value(g_record);
1409     l_attr:=l_attr||' 2';
1410 -- There is no security api registered in the AK dictionary  
1411   IF g_record.ORDER_DATE_TYPE_CODE IS NOT NULL THEN
1412     l_attr:=l_attr||' 4';
1413     -- Validate defaulted value if not null
1414     IF OE_VALIDATE.ORDER_DATE_TYPE_CODE(g_record.ORDER_DATE_TYPE_CODE) THEN  
1415       -- There is no dependent api registered in the AK dictionary  
1416       NULL;
1417       l_attr:=l_attr||' 5';
1418     ELSE
1419       g_record.ORDER_DATE_TYPE_CODE := NULL;
1420       l_attr:=l_attr||' 6';
1421     END IF;
1422   END IF;
1423 END IF;
1424 l_attr:= 'ORDER_FIRMED_DATE';
1425  
1426 IF g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE THEN
1427 --  Get the defaulting api registered in the AK AND default
1428     l_attr:=l_attr||' 1';
1429     g_record.ORDER_FIRMED_DATE := ONT_D1_ORDER_FIRMED_DATE.Get_Default_Value(g_record);
1430     l_attr:=l_attr||' 2';
1431 -- There is no security api registered in the AK dictionary  
1432       -- There is no validation api registered in the AK dictionary  
1433 END IF;
1434 l_attr:= 'ORDER_NUMBER';
1435  
1436 IF g_record.ORDER_NUMBER = FND_API.G_MISS_NUM THEN
1437   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1438   g_record.ORDER_NUMBER := NULL;
1439 END IF;
1440 l_attr:= 'ORDER_SOURCE_ID';
1441  
1442 IF g_record.ORDER_SOURCE_ID = FND_API.G_MISS_NUM THEN
1443   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1444   g_record.ORDER_SOURCE_ID := NULL;
1445 END IF;
1446 l_attr:= 'ORDER_TYPE_ID';
1447  
1448 IF g_record.ORDER_TYPE_ID = FND_API.G_MISS_NUM THEN
1449 --  Get the defaulting api registered in the AK AND default
1450     l_attr:=l_attr||' 1';
1451     g_record.ORDER_TYPE_ID := ONT_D1_ORDER_TYPE_ID.Get_Default_Value(g_record);
1452     l_attr:=l_attr||' 2';
1453   IF g_record.ORDER_TYPE_ID IS NULL 
1454    AND p_in_old_rec.ORDER_TYPE_ID <> FND_API.G_MISS_NUM THEN 
1455   g_record.ORDER_TYPE_ID := p_in_old_rec.ORDER_TYPE_ID;
1456   END IF;
1457   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1458   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1459     l_attr:=l_attr||' 3';
1460     IF NOT OE_GLOBALS.Equal(g_record.order_type_id, p_in_old_rec.order_type_id) THEN
1461       IF OE_HEADER_SECURITY.ORDER_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1462       -- Raise error if security returns YES, operation IS CONSTRAINED
1463         RAISE FND_API.G_EXC_ERROR;
1464       END IF;
1465       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1466     END IF;
1467   END IF;
1468   IF g_record.ORDER_TYPE_ID IS NOT NULL THEN
1469     l_attr:=l_attr||' 4';
1470     -- Validate defaulted value if not null
1471     IF OE_VALIDATE.ORDER_TYPE(g_record.ORDER_TYPE_ID) THEN  
1472       -- if valid, clear dependent attributes
1473       OE_HEADER_CL_DEP_ATTR.ORDER_TYPE(p_initial_rec, p_in_old_rec, g_record);
1474     ELSE
1475       g_record.ORDER_TYPE_ID := NULL;
1476       l_attr:=l_attr||' 6';
1477     END IF;
1478   END IF;
1479 END IF;
1480 l_attr:= 'ORDERED_DATE';
1481  
1482 IF g_record.ORDERED_DATE = FND_API.G_MISS_DATE THEN
1483 --  Get the defaulting api registered in the AK AND default
1484     l_attr:=l_attr||' 1';
1485     g_record.ORDERED_DATE := ONT_D1_ORDERED_DATE.Get_Default_Value(g_record);
1486     l_attr:=l_attr||' 2';
1487   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1488   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1489     l_attr:=l_attr||' 3';
1490     IF NOT OE_GLOBALS.Equal(g_record.ordered_date, p_in_old_rec.ordered_date) THEN
1491       IF OE_HEADER_SECURITY.ORDERED_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1492       -- Raise error if security returns YES, operation IS CONSTRAINED
1493         RAISE FND_API.G_EXC_ERROR;
1494       END IF;
1495       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1496     END IF;
1497   END IF;
1498   IF g_record.ORDERED_DATE IS NOT NULL THEN
1499     l_attr:=l_attr||' 4';
1500     -- Validate defaulted value if not null
1501     IF OE_VALIDATE.ORDERED_DATE(g_record.ORDERED_DATE) THEN  
1502       -- There is no dependent api registered in the AK dictionary  
1503       NULL;
1504       l_attr:=l_attr||' 5';
1505     ELSE
1506       g_record.ORDERED_DATE := NULL;
1507       l_attr:=l_attr||' 6';
1508     END IF;
1509   END IF;
1510 END IF;
1511 l_attr:= 'ORG_ID';
1512  
1513 IF g_record.ORG_ID = FND_API.G_MISS_NUM THEN
1514   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1515   g_record.ORG_ID := NULL;
1516 END IF;
1517 l_attr:= 'ORIG_SYS_DOCUMENT_REF';
1518  
1519 IF g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR THEN
1520   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1521   g_record.ORIG_SYS_DOCUMENT_REF := NULL;
1522 END IF;
1523 l_attr:= 'IB_OWNER';
1524  
1525 IF g_record.IB_OWNER = FND_API.G_MISS_CHAR THEN
1526 --  Get the defaulting api registered in the AK AND default
1527     l_attr:=l_attr||' 1';
1528     g_record.IB_OWNER := ONT_D1_IB_OWNER.Get_Default_Value(g_record);
1529     l_attr:=l_attr||' 2';
1530   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1531   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1532     l_attr:=l_attr||' 3';
1533     IF NOT OE_GLOBALS.Equal(g_record.ib_owner, p_in_old_rec.ib_owner) THEN
1534       IF OE_HEADER_SECURITY.IB_OWNER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1535       -- Raise error if security returns YES, operation IS CONSTRAINED
1536         RAISE FND_API.G_EXC_ERROR;
1537       END IF;
1538       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1539     END IF;
1540   END IF;
1541   IF g_record.IB_OWNER IS NOT NULL THEN
1542     l_attr:=l_attr||' 4';
1543       -- if valid, clear dependent attributes
1544       OE_HEADER_CL_DEP_ATTR.IB_OWNER(p_initial_rec, p_in_old_rec, g_record);
1545   END IF;
1546 END IF;
1547 l_attr:= 'PACKING_INSTRUCTIONS';
1548  
1549 IF g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
1550 --  Get the defaulting api registered in the AK AND default
1551     l_attr:=l_attr||' 1';
1552     g_record.PACKING_INSTRUCTIONS := ONT_D1_PACKING_INSTRUCTIONS.Get_Default_Value(g_record);
1553     l_attr:=l_attr||' 2';
1554 -- There is no security api registered in the AK dictionary  
1555   IF g_record.PACKING_INSTRUCTIONS IS NOT NULL THEN
1556     l_attr:=l_attr||' 4';
1557     -- Validate defaulted value if not null
1558     IF OE_VALIDATE.PACKING_INSTRUCTIONS(g_record.PACKING_INSTRUCTIONS) THEN  
1559       -- There is no dependent api registered in the AK dictionary  
1560       NULL;
1561       l_attr:=l_attr||' 5';
1562     ELSE
1563       g_record.PACKING_INSTRUCTIONS := NULL;
1564       l_attr:=l_attr||' 6';
1565     END IF;
1566   END IF;
1567 END IF;
1568 l_attr:= 'PARTIAL_SHIPMENTS_ALLOWED';
1569  
1570 IF g_record.PARTIAL_SHIPMENTS_ALLOWED = FND_API.G_MISS_CHAR THEN
1571   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1572   g_record.PARTIAL_SHIPMENTS_ALLOWED := NULL;
1573 END IF;
1574 l_attr:= 'PARTY_TYPE';
1575  
1576 IF g_record.PARTY_TYPE = FND_API.G_MISS_CHAR THEN
1577   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1578   g_record.PARTY_TYPE := NULL;
1579 END IF;
1580 l_attr:= 'PAYMENT_AMOUNT';
1581  
1582 IF g_record.PAYMENT_AMOUNT = FND_API.G_MISS_NUM THEN
1583   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1584   g_record.PAYMENT_AMOUNT := NULL;
1585 END IF;
1586 l_attr:= 'PAYMENT_TERM_ID';
1587  
1588 IF g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM THEN
1589 --  Get the defaulting api registered in the AK AND default
1590     l_attr:=l_attr||' 1';
1591     g_record.PAYMENT_TERM_ID := ONT_D1_PAYMENT_TERM_ID.Get_Default_Value(g_record);
1592     l_attr:=l_attr||' 2';
1593   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1594   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1595     l_attr:=l_attr||' 3';
1596     IF NOT OE_GLOBALS.Equal(g_record.payment_term_id, p_in_old_rec.payment_term_id) THEN
1597       IF OE_HEADER_SECURITY.PAYMENT_TERM(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1598       -- Raise error if security returns YES, operation IS CONSTRAINED
1599         RAISE FND_API.G_EXC_ERROR;
1600       END IF;
1601       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1602     END IF;
1603   END IF;
1604   IF g_record.PAYMENT_TERM_ID IS NOT NULL THEN
1605     l_attr:=l_attr||' 4';
1606     -- Validate defaulted value if not null
1607     IF OE_VALIDATE.PAYMENT_TERM(g_record.PAYMENT_TERM_ID) THEN  
1608       -- There is no dependent api registered in the AK dictionary  
1609       NULL;
1610       l_attr:=l_attr||' 5';
1611     ELSE
1612       g_record.PAYMENT_TERM_ID := NULL;
1613       l_attr:=l_attr||' 6';
1614     END IF;
1615   END IF;
1616 END IF;
1617 l_attr:= 'PRICING_DATE';
1618  
1619 IF g_record.PRICING_DATE = FND_API.G_MISS_DATE THEN
1620 --  Get the defaulting api registered in the AK AND default
1621     l_attr:=l_attr||' 1';
1622     g_record.PRICING_DATE := ONT_D1_PRICING_DATE.Get_Default_Value(g_record);
1623     l_attr:=l_attr||' 2';
1624   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1625   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1626     l_attr:=l_attr||' 3';
1627     IF NOT OE_GLOBALS.Equal(g_record.pricing_date, p_in_old_rec.pricing_date) THEN
1628       IF OE_HEADER_SECURITY.PRICING_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1629       -- Raise error if security returns YES, operation IS CONSTRAINED
1630         RAISE FND_API.G_EXC_ERROR;
1631       END IF;
1632       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1633     END IF;
1634   END IF;
1635   IF g_record.PRICING_DATE IS NOT NULL THEN
1636     l_attr:=l_attr||' 4';
1637     -- Validate defaulted value if not null
1638     IF OE_VALIDATE.PRICING_DATE(g_record.PRICING_DATE) THEN  
1639       -- There is no dependent api registered in the AK dictionary  
1640       NULL;
1641       l_attr:=l_attr||' 5';
1642     ELSE
1643       g_record.PRICING_DATE := NULL;
1644       l_attr:=l_attr||' 6';
1645     END IF;
1646   END IF;
1647 END IF;
1648 l_attr:= 'PROGRAM_ID';
1649  
1650 IF g_record.PROGRAM_ID = FND_API.G_MISS_NUM THEN
1651   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1652   g_record.PROGRAM_ID := NULL;
1653 END IF;
1654 l_attr:= 'PROGRAM_APPLICATION_ID';
1655  
1656 IF g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM THEN
1657   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1658   g_record.PROGRAM_APPLICATION_ID := NULL;
1659 END IF;
1660 l_attr:= 'PROGRAM_UPDATE_DATE';
1661  
1662 IF g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE THEN
1663   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1664   g_record.PROGRAM_UPDATE_DATE := NULL;
1665 END IF;
1666 l_attr:= 'QUOTE_DATE';
1667  
1668 IF g_record.QUOTE_DATE = FND_API.G_MISS_DATE THEN
1669 --  Get the defaulting api registered in the AK AND default
1670     l_attr:=l_attr||' 1';
1671     g_record.QUOTE_DATE := ONT_D1_QUOTE_DATE.Get_Default_Value(g_record);
1672     l_attr:=l_attr||' 2';
1673   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1674   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1675     l_attr:=l_attr||' 3';
1676     IF NOT OE_GLOBALS.Equal(g_record.quote_date, p_in_old_rec.quote_date) THEN
1677       IF OE_HEADER_SECURITY.QUOTE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1678       -- Raise error if security returns YES, operation IS CONSTRAINED
1679         RAISE FND_API.G_EXC_ERROR;
1680       END IF;
1681       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1682     END IF;
1683   END IF;
1684       -- There is no validation api registered in the AK dictionary  
1685 END IF;
1686 l_attr:= 'QUOTE_NUMBER';
1687  
1688 IF g_record.QUOTE_NUMBER = FND_API.G_MISS_NUM THEN
1689   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1690   g_record.QUOTE_NUMBER := NULL;
1691 END IF;
1692 l_attr:= 'REQUEST_ID';
1693  
1694 IF g_record.REQUEST_ID = FND_API.G_MISS_NUM THEN
1695   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1696   g_record.REQUEST_ID := NULL;
1697 END IF;
1698 l_attr:= 'RETURN_REASON_CODE';
1699  
1700 IF g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR THEN
1701   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1702   g_record.RETURN_REASON_CODE := NULL;
1703 END IF;
1704 l_attr:= 'RETURN_STATUS';
1705  
1706 IF g_record.RETURN_STATUS = FND_API.G_MISS_CHAR THEN
1707   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1708   g_record.RETURN_STATUS := NULL;
1709 END IF;
1710 l_attr:= 'BLANKET_NUMBER';
1711  
1712 IF g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM THEN
1713 --  Get the defaulting api registered in the AK AND default
1714     l_attr:=l_attr||' 1';
1715     g_record.BLANKET_NUMBER := ONT_D1_BLANKET_NUMBER.Get_Default_Value(g_record);
1716     l_attr:=l_attr||' 2';
1717   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1718   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1719     l_attr:=l_attr||' 3';
1720     IF NOT OE_GLOBALS.Equal(g_record.blanket_number, p_in_old_rec.blanket_number) THEN
1721       IF OE_HEADER_SECURITY.BLANKET_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1722       -- Raise error if security returns YES, operation IS CONSTRAINED
1723         RAISE FND_API.G_EXC_ERROR;
1724       END IF;
1725       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1726     END IF;
1727   END IF;
1728   IF g_record.BLANKET_NUMBER IS NOT NULL THEN
1729     l_attr:=l_attr||' 4';
1730     -- Validate defaulted value if not null
1731     IF OE_VALIDATE.Blanket_Number(g_record.BLANKET_NUMBER) THEN  
1732       -- if valid, clear dependent attributes
1733       OE_HEADER_CL_DEP_ATTR.BLANKET_NUMBER(p_initial_rec, p_in_old_rec, g_record);
1734     ELSE
1735       g_record.BLANKET_NUMBER := NULL;
1736       l_attr:=l_attr||' 6';
1737     END IF;
1738   END IF;
1739 END IF;
1740 l_attr:= 'SALES_CHANNEL_CODE';
1741  
1742 IF g_record.SALES_CHANNEL_CODE = FND_API.G_MISS_CHAR THEN
1743 --  Get the defaulting api registered in the AK AND default
1744     l_attr:=l_attr||' 1';
1745     g_record.SALES_CHANNEL_CODE := ONT_D1_SALES_CHANNEL_CODE.Get_Default_Value(g_record);
1746     l_attr:=l_attr||' 2';
1747   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1748   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1749     l_attr:=l_attr||' 3';
1750     IF NOT OE_GLOBALS.Equal(g_record.sales_channel_code, p_in_old_rec.sales_channel_code) THEN
1751       IF OE_HEADER_SECURITY.SALES_CHANNEL_CODE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1752       -- Raise error if security returns YES, operation IS CONSTRAINED
1753         RAISE FND_API.G_EXC_ERROR;
1754       END IF;
1755       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1756     END IF;
1757   END IF;
1758   IF g_record.SALES_CHANNEL_CODE IS NOT NULL THEN
1759     l_attr:=l_attr||' 4';
1760     -- Validate defaulted value if not null
1761     IF OE_VALIDATE.SALES_CHANNEL(g_record.SALES_CHANNEL_CODE) THEN  
1762       -- There is no dependent api registered in the AK dictionary  
1763       NULL;
1764       l_attr:=l_attr||' 5';
1765     ELSE
1766       g_record.SALES_CHANNEL_CODE := NULL;
1767       l_attr:=l_attr||' 6';
1768     END IF;
1769   END IF;
1770 END IF;
1771 l_attr:= 'SALESREP_ID';
1772  
1773 IF g_record.SALESREP_ID = FND_API.G_MISS_NUM THEN
1774 --  Get the defaulting api registered in the AK AND default
1775     l_attr:=l_attr||' 1';
1776     g_record.SALESREP_ID := ONT_D1_SALESREP_ID.Get_Default_Value(g_record);
1777     l_attr:=l_attr||' 2';
1778   IF g_record.SALESREP_ID IS NULL 
1779    AND p_in_old_rec.SALESREP_ID <> FND_API.G_MISS_NUM THEN 
1780   g_record.SALESREP_ID := p_in_old_rec.SALESREP_ID;
1781   END IF;
1782   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1783   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1784     l_attr:=l_attr||' 3';
1785     IF NOT OE_GLOBALS.Equal(g_record.salesrep_id, p_in_old_rec.salesrep_id) THEN
1786       IF OE_HEADER_SECURITY.SALESREP(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1787       -- Raise error if security returns YES, operation IS CONSTRAINED
1788         RAISE FND_API.G_EXC_ERROR;
1789       END IF;
1790       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1791     END IF;
1792   END IF;
1793   IF g_record.SALESREP_ID IS NOT NULL THEN
1794     l_attr:=l_attr||' 4';
1795     -- Validate defaulted value if not null
1796     IF OE_VALIDATE.SALESREP(g_record.SALESREP_ID) THEN  
1797       -- There is no dependent api registered in the AK dictionary  
1798       NULL;
1799       l_attr:=l_attr||' 5';
1800     ELSE
1801       g_record.SALESREP_ID := NULL;
1802       l_attr:=l_attr||' 6';
1803     END IF;
1804   END IF;
1805 END IF;
1806 l_attr:= 'SOLD_FROM_ORG_ID';
1807  
1808 IF g_record.SOLD_FROM_ORG_ID = FND_API.G_MISS_NUM THEN
1809   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1810   g_record.SOLD_FROM_ORG_ID := NULL;
1811 END IF;
1812 l_attr:= 'SHIP_TO_CONTACT_ID';
1813  
1814 IF g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
1815 --  Get the defaulting api registered in the AK AND default
1816     l_attr:=l_attr||' 1';
1817     g_record.SHIP_TO_CONTACT_ID := ONT_D1_SHIP_TO_CONTACT_ID.Get_Default_Value(g_record);
1818     l_attr:=l_attr||' 2';
1819   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1820   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1821     l_attr:=l_attr||' 3';
1822     IF NOT OE_GLOBALS.Equal(g_record.ship_to_contact_id, p_in_old_rec.ship_to_contact_id) THEN
1823       IF OE_HEADER_SECURITY.SHIP_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1824       -- Raise error if security returns YES, operation IS CONSTRAINED
1825         RAISE FND_API.G_EXC_ERROR;
1826       END IF;
1827       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1828     END IF;
1829   END IF;
1830   IF g_record.SHIP_TO_CONTACT_ID IS NOT NULL THEN
1831     l_attr:=l_attr||' 4';
1832     -- Validate defaulted value if not null
1833     IF OE_VALIDATE.SHIP_TO_CONTACT(g_record.SHIP_TO_CONTACT_ID) THEN  
1834       -- if valid, clear dependent attributes
1835       OE_HEADER_CL_DEP_ATTR.SHIP_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
1836     ELSE
1837       g_record.SHIP_TO_CONTACT_ID := NULL;
1838       l_attr:=l_attr||' 6';
1839     END IF;
1840   END IF;
1841 END IF;
1842 l_attr:= 'SHIP_TOLERANCE_ABOVE';
1843  
1844 IF g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM THEN
1845 --  Get the defaulting api registered in the AK AND default
1846     l_attr:=l_attr||' 1';
1847     g_record.SHIP_TOLERANCE_ABOVE := ONT_D1_SHIP_TOLERANCE_ABOVE.Get_Default_Value(g_record);
1848     l_attr:=l_attr||' 2';
1849   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1850   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1851     l_attr:=l_attr||' 3';
1852     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_above, p_in_old_rec.ship_tolerance_above) THEN
1853       IF OE_HEADER_SECURITY.SHIP_TOLERANCE_ABOVE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1854       -- Raise error if security returns YES, operation IS CONSTRAINED
1855         RAISE FND_API.G_EXC_ERROR;
1856       END IF;
1857       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1858     END IF;
1859   END IF;
1860   IF g_record.SHIP_TOLERANCE_ABOVE IS NOT NULL THEN
1861     l_attr:=l_attr||' 4';
1862     -- Validate defaulted value if not null
1863     IF OE_VALIDATE.SHIP_TOLERANCE_ABOVE(g_record.SHIP_TOLERANCE_ABOVE) THEN  
1864       -- There is no dependent api registered in the AK dictionary  
1865       NULL;
1866       l_attr:=l_attr||' 5';
1867     ELSE
1868       g_record.SHIP_TOLERANCE_ABOVE := NULL;
1869       l_attr:=l_attr||' 6';
1870     END IF;
1871   END IF;
1872 END IF;
1873 l_attr:= 'SHIP_TOLERANCE_BELOW';
1874  
1875 IF g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM THEN
1876 --  Get the defaulting api registered in the AK AND default
1877     l_attr:=l_attr||' 1';
1878     g_record.SHIP_TOLERANCE_BELOW := ONT_D1_SHIP_TOLERANCE_BELOW.Get_Default_Value(g_record);
1879     l_attr:=l_attr||' 2';
1880   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1881   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1882     l_attr:=l_attr||' 3';
1883     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_below, p_in_old_rec.ship_tolerance_below) THEN
1884       IF OE_HEADER_SECURITY.SHIP_TOLERANCE_BELOW(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1885       -- Raise error if security returns YES, operation IS CONSTRAINED
1886         RAISE FND_API.G_EXC_ERROR;
1887       END IF;
1888       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1889     END IF;
1890   END IF;
1891   IF g_record.SHIP_TOLERANCE_BELOW IS NOT NULL THEN
1892     l_attr:=l_attr||' 4';
1893     -- Validate defaulted value if not null
1894     IF OE_VALIDATE.SHIP_TOLERANCE_BELOW(g_record.SHIP_TOLERANCE_BELOW) THEN  
1895       -- There is no dependent api registered in the AK dictionary  
1896       NULL;
1897       l_attr:=l_attr||' 5';
1898     ELSE
1899       g_record.SHIP_TOLERANCE_BELOW := NULL;
1900       l_attr:=l_attr||' 6';
1901     END IF;
1902   END IF;
1903 END IF;
1904 l_attr:= 'SHIPMENT_PRIORITY_CODE';
1905  
1906 IF g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR THEN
1907 --  Get the defaulting api registered in the AK AND default
1908     l_attr:=l_attr||' 1';
1909     g_record.SHIPMENT_PRIORITY_CODE := ONT_D1_SHIPMENT_PRIORITY_CO.Get_Default_Value(g_record);
1910     l_attr:=l_attr||' 2';
1911   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1912   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1913     l_attr:=l_attr||' 3';
1914     IF NOT OE_GLOBALS.Equal(g_record.shipment_priority_code, p_in_old_rec.shipment_priority_code) THEN
1915       IF OE_HEADER_SECURITY.SHIPMENT_PRIORITY(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1916       -- Raise error if security returns YES, operation IS CONSTRAINED
1917         RAISE FND_API.G_EXC_ERROR;
1918       END IF;
1919       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1920     END IF;
1921   END IF;
1922   IF g_record.SHIPMENT_PRIORITY_CODE IS NOT NULL THEN
1923     l_attr:=l_attr||' 4';
1924     -- Validate defaulted value if not null
1925     IF OE_VALIDATE.SHIPMENT_PRIORITY(g_record.SHIPMENT_PRIORITY_CODE) THEN  
1926       -- There is no dependent api registered in the AK dictionary  
1927       NULL;
1928       l_attr:=l_attr||' 5';
1929     ELSE
1930       g_record.SHIPMENT_PRIORITY_CODE := NULL;
1931       l_attr:=l_attr||' 6';
1932     END IF;
1933   END IF;
1934 END IF;
1935 l_attr:= 'SHIPPING_INSTRUCTIONS';
1936  
1937 IF g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
1938 --  Get the defaulting api registered in the AK AND default
1939     l_attr:=l_attr||' 1';
1940     g_record.SHIPPING_INSTRUCTIONS := ONT_D1_SHIPPING_INSTRUCTION.Get_Default_Value(g_record);
1941     l_attr:=l_attr||' 2';
1942 -- There is no security api registered in the AK dictionary  
1943   IF g_record.SHIPPING_INSTRUCTIONS IS NOT NULL THEN
1944     l_attr:=l_attr||' 4';
1945     -- Validate defaulted value if not null
1946     IF OE_VALIDATE.SHIPPING_INSTRUCTIONS(g_record.SHIPPING_INSTRUCTIONS) THEN  
1947       -- There is no dependent api registered in the AK dictionary  
1948       NULL;
1949       l_attr:=l_attr||' 5';
1950     ELSE
1951       g_record.SHIPPING_INSTRUCTIONS := NULL;
1952       l_attr:=l_attr||' 6';
1953     END IF;
1954   END IF;
1955 END IF;
1956 l_attr:= 'SHIPPING_METHOD_CODE';
1957  
1958 IF g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR THEN
1959 --  Get the defaulting api registered in the AK AND default
1960     l_attr:=l_attr||' 1';
1961     g_record.SHIPPING_METHOD_CODE := ONT_D1_SHIPPING_METHOD_CODE.Get_Default_Value(g_record);
1962     l_attr:=l_attr||' 2';
1963 -- There is no security api registered in the AK dictionary  
1964   IF g_record.SHIPPING_METHOD_CODE IS NOT NULL THEN
1965     l_attr:=l_attr||' 4';
1966     -- Validate defaulted value if not null
1967     IF OE_VALIDATE.SHIPPING_METHOD(g_record.SHIPPING_METHOD_CODE) THEN  
1968       -- There is no dependent api registered in the AK dictionary  
1969       NULL;
1970       l_attr:=l_attr||' 5';
1971     ELSE
1972       g_record.SHIPPING_METHOD_CODE := NULL;
1973       l_attr:=l_attr||' 6';
1974     END IF;
1975   END IF;
1976 END IF;
1977 l_attr:= 'SOURCE_DOCUMENT_ID';
1978  
1979 IF g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM THEN
1980   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1981   g_record.SOURCE_DOCUMENT_ID := NULL;
1982 END IF;
1983 l_attr:= 'SOURCE_DOCUMENT_TYPE_ID';
1984  
1985 IF g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM THEN
1986   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1987   g_record.SOURCE_DOCUMENT_TYPE_ID := NULL;
1988 END IF;
1989 l_attr:= 'SOURCE_DOCUMENT_VERSION_NUMBER';
1990  
1991 IF g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM THEN
1992   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1993   g_record.SOURCE_DOCUMENT_VERSION_NUMBER := NULL;
1994 END IF;
1995 l_attr:= 'FLOW_STATUS_CODE';
1996  
1997 IF g_record.FLOW_STATUS_CODE = FND_API.G_MISS_CHAR THEN
1998   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1999   g_record.FLOW_STATUS_CODE := NULL;
2000 END IF;
2001 l_attr:= 'SUPPLIER_SIGNATURE';
2002  
2003 IF g_record.SUPPLIER_SIGNATURE = FND_API.G_MISS_CHAR THEN
2004   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2005   g_record.SUPPLIER_SIGNATURE := NULL;
2006 END IF;
2007 l_attr:= 'SUPPLIER_SIGNATURE_DATE';
2008  
2009 IF g_record.SUPPLIER_SIGNATURE_DATE = FND_API.G_MISS_DATE THEN
2010   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2011   g_record.SUPPLIER_SIGNATURE_DATE := NULL;
2012 END IF;
2013 l_attr:= 'TAX_EXEMPT_FLAG';
2014  
2015 IF g_record.TAX_EXEMPT_FLAG = FND_API.G_MISS_CHAR THEN
2016 --  Get the defaulting api registered in the AK AND default
2017     l_attr:=l_attr||' 1';
2018     g_record.TAX_EXEMPT_FLAG := ONT_D1_TAX_EXEMPT_FLAG.Get_Default_Value(g_record);
2019     l_attr:=l_attr||' 2';
2020   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2021   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2022     l_attr:=l_attr||' 3';
2023     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_flag, p_in_old_rec.tax_exempt_flag) THEN
2024       IF OE_HEADER_SECURITY.TAX_EXEMPT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2025       -- Raise error if security returns YES, operation IS CONSTRAINED
2026         RAISE FND_API.G_EXC_ERROR;
2027       END IF;
2028       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2029     END IF;
2030   END IF;
2031   IF g_record.TAX_EXEMPT_FLAG IS NOT NULL THEN
2032     l_attr:=l_attr||' 4';
2033     -- Validate defaulted value if not null
2034     IF OE_VALIDATE.TAX_EXEMPT(g_record.TAX_EXEMPT_FLAG) THEN  
2035       -- if valid, clear dependent attributes
2036       OE_HEADER_CL_DEP_ATTR.TAX_EXEMPT(p_initial_rec, p_in_old_rec, g_record);
2037     ELSE
2038       g_record.TAX_EXEMPT_FLAG := NULL;
2039       l_attr:=l_attr||' 6';
2040     END IF;
2041   END IF;
2042 END IF;
2043 l_attr:= 'TAX_EXEMPT_NUMBER';
2044  
2045 IF g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR THEN
2046 --  Get the defaulting api registered in the AK AND default
2047     l_attr:=l_attr||' 1';
2048     g_record.TAX_EXEMPT_NUMBER := ONT_D1_TAX_EXEMPT_NUMBER.Get_Default_Value(g_record);
2049     l_attr:=l_attr||' 2';
2050   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2051   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2052     l_attr:=l_attr||' 3';
2053     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_number, p_in_old_rec.tax_exempt_number) THEN
2054       IF OE_HEADER_SECURITY.TAX_EXEMPT_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2055       -- Raise error if security returns YES, operation IS CONSTRAINED
2056         RAISE FND_API.G_EXC_ERROR;
2057       END IF;
2058       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2059     END IF;
2060   END IF;
2061   IF g_record.TAX_EXEMPT_NUMBER IS NOT NULL THEN
2062     l_attr:=l_attr||' 4';
2063     -- Validate defaulted value if not null
2064     IF OE_VALIDATE.TAX_EXEMPT_NUMBER(g_record.TAX_EXEMPT_NUMBER) THEN  
2065       -- There is no dependent api registered in the AK dictionary  
2066       NULL;
2067       l_attr:=l_attr||' 5';
2068     ELSE
2069       g_record.TAX_EXEMPT_NUMBER := NULL;
2070       l_attr:=l_attr||' 6';
2071     END IF;
2072   END IF;
2073 END IF;
2074 l_attr:= 'TAX_EXEMPT_REASON_CODE';
2075  
2076 IF g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR THEN
2077 --  Get the defaulting api registered in the AK AND default
2078     l_attr:=l_attr||' 1';
2079     g_record.TAX_EXEMPT_REASON_CODE := ONT_D1_TAX_EXEMPT_REASON_CO.Get_Default_Value(g_record);
2080     l_attr:=l_attr||' 2';
2081   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2082   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2083     l_attr:=l_attr||' 3';
2084     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_reason_code, p_in_old_rec.tax_exempt_reason_code) THEN
2085       IF OE_HEADER_SECURITY.TAX_EXEMPT_REASON(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2086       -- Raise error if security returns YES, operation IS CONSTRAINED
2087         RAISE FND_API.G_EXC_ERROR;
2088       END IF;
2089       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2090     END IF;
2091   END IF;
2092   IF g_record.TAX_EXEMPT_REASON_CODE IS NOT NULL THEN
2093     l_attr:=l_attr||' 4';
2094     -- Validate defaulted value if not null
2095     IF OE_VALIDATE.TAX_EXEMPT_REASON(g_record.TAX_EXEMPT_REASON_CODE) THEN  
2096       -- There is no dependent api registered in the AK dictionary  
2097       NULL;
2098       l_attr:=l_attr||' 5';
2099     ELSE
2100       g_record.TAX_EXEMPT_REASON_CODE := NULL;
2101       l_attr:=l_attr||' 6';
2102     END IF;
2103   END IF;
2104 END IF;
2105 l_attr:= 'TAX_POINT_CODE';
2106  
2107 IF g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR THEN
2108   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2109   g_record.TAX_POINT_CODE := NULL;
2110 END IF;
2111 l_attr:= 'TRANSACTION_PHASE_CODE';
2112  
2113 IF g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR THEN
2114 --  Get the defaulting api registered in the AK AND default
2115     l_attr:=l_attr||' 1';
2116     g_record.TRANSACTION_PHASE_CODE := ONT_D1_TRANSACTION_PHASE_CO.Get_Default_Value(g_record);
2117     l_attr:=l_attr||' 2';
2118   IF g_record.TRANSACTION_PHASE_CODE IS NULL 
2119    AND p_in_old_rec.TRANSACTION_PHASE_CODE <> FND_API.G_MISS_CHAR THEN 
2120   g_record.TRANSACTION_PHASE_CODE := p_in_old_rec.TRANSACTION_PHASE_CODE;
2121   END IF;
2122   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2123   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2124     l_attr:=l_attr||' 3';
2125     IF NOT OE_GLOBALS.Equal(g_record.transaction_phase_code, p_in_old_rec.transaction_phase_code) THEN
2126       IF OE_HEADER_SECURITY.TRANSACTION_PHASE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2127       -- Raise error if security returns YES, operation IS CONSTRAINED
2128         RAISE FND_API.G_EXC_ERROR;
2129       END IF;
2130       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2131     END IF;
2132   END IF;
2133   IF g_record.TRANSACTION_PHASE_CODE IS NOT NULL THEN
2134     l_attr:=l_attr||' 4';
2135     -- Validate defaulted value if not null
2136     IF OE_VALIDATE.TRANSACTION_PHASE(g_record.TRANSACTION_PHASE_CODE) THEN  
2137       -- if valid, clear dependent attributes
2138       OE_HEADER_CL_DEP_ATTR.TRANSACTION_PHASE(p_initial_rec, p_in_old_rec, g_record);
2139     ELSE
2140       g_record.TRANSACTION_PHASE_CODE := NULL;
2141       l_attr:=l_attr||' 6';
2142     END IF;
2143   END IF;
2144 END IF;
2145 l_attr:= 'UPGRADED_FLAG';
2146  
2147 IF g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR THEN
2148   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2149   g_record.UPGRADED_FLAG := NULL;
2150 END IF;
2151 l_attr:= 'USER_STATUS_CODE';
2152  
2153 IF g_record.USER_STATUS_CODE = FND_API.G_MISS_CHAR THEN
2154   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2155   g_record.USER_STATUS_CODE := NULL;
2156 END IF;
2157 l_attr:= 'VERSION_NUMBER';
2158  
2159 IF g_record.VERSION_NUMBER = FND_API.G_MISS_NUM THEN
2160   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2161   g_record.VERSION_NUMBER := NULL;
2162 END IF;
2163 l_attr:= 'SHIP_FROM_ORG_ID';
2164  
2165 IF g_record.SHIP_FROM_ORG_ID = FND_API.G_MISS_NUM THEN
2166 --  Get the defaulting api registered in the AK AND default
2167     l_attr:=l_attr||' 1';
2168     g_record.SHIP_FROM_ORG_ID := ONT_D1_SHIP_FROM_ORG_ID.Get_Default_Value(g_record);
2169     l_attr:=l_attr||' 2';
2170   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2171   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2172     l_attr:=l_attr||' 3';
2173     IF NOT OE_GLOBALS.Equal(g_record.ship_from_org_id, p_in_old_rec.ship_from_org_id) THEN
2174       IF OE_HEADER_SECURITY.SHIP_FROM_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2175       -- Raise error if security returns YES, operation IS CONSTRAINED
2176         RAISE FND_API.G_EXC_ERROR;
2177       END IF;
2178       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2179     END IF;
2180   END IF;
2181   IF g_record.SHIP_FROM_ORG_ID IS NOT NULL THEN
2182     l_attr:=l_attr||' 4';
2183     -- Validate defaulted value if not null
2184     IF OE_VALIDATE.SHIP_FROM_ORG(g_record.SHIP_FROM_ORG_ID) THEN  
2185       -- if valid, clear dependent attributes
2186       OE_HEADER_CL_DEP_ATTR.SHIP_FROM_ORG(p_initial_rec, p_in_old_rec, g_record);
2187     ELSE
2188       g_record.SHIP_FROM_ORG_ID := NULL;
2189       l_attr:=l_attr||' 6';
2190     END IF;
2191   END IF;
2192 END IF;
2193  
2194     --  CHeck if there are any missing values for attrs
2195     --  If there are any missing call Default_Record again AND repeat till all the values 
2196     --  are defaulted or till the max. iterations are reached
2197  
2198      IF( 
2199       (g_record.SOLD_TO_ORG_ID =FND_API.G_MISS_NUM)  
2200      OR (g_record.SHIP_TO_ORG_ID = FND_API.G_MISS_NUM)  
2201      OR (g_record.DELIVER_TO_ORG_ID = FND_API.G_MISS_NUM)  
2202      OR (g_record.AGREEMENT_ID = FND_API.G_MISS_NUM)  
2203      OR (g_record.INVOICE_TO_ORG_ID = FND_API.G_MISS_NUM)  
2204      OR (g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM)  
2205      OR (g_record.PAYMENT_TYPE_CODE = FND_API.G_MISS_CHAR)  
2206      OR (g_record.REQUEST_DATE = FND_API.G_MISS_DATE)  
2207      OR (g_record.CREDIT_CARD_NUMBER = FND_API.G_MISS_CHAR)  
2208      OR (g_record.ACCOUNTING_RULE_ID = FND_API.G_MISS_NUM)  
2209      OR (g_record.ACCOUNTING_RULE_DURATION = FND_API.G_MISS_NUM)  
2210      OR (g_record.ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
2211      OR (g_record.ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
2212      OR (g_record.ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
2213      OR (g_record.ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
2214      OR (g_record.ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
2215      OR (g_record.ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
2216      OR (g_record.ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
2217      OR (g_record.ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
2218      OR (g_record.ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
2219      OR (g_record.ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
2220      OR (g_record.ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
2221      OR (g_record.ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
2222      OR (g_record.ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
2223      OR (g_record.ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
2224      OR (g_record.ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
2225      OR (g_record.ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
2226      OR (g_record.ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
2227      OR (g_record.ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
2228      OR (g_record.ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
2229      OR (g_record.ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
2230      OR (g_record.INVOICE_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
2231      OR (g_record.BOOKED_FLAG = FND_API.G_MISS_CHAR)  
2232      OR (g_record.BOOKED_DATE = FND_API.G_MISS_DATE)  
2233      OR (g_record.CANCELLED_FLAG = FND_API.G_MISS_CHAR)  
2234      OR (g_record.CHANGE_COMMENTS = FND_API.G_MISS_CHAR)  
2235      OR (g_record.CHANGE_REASON = FND_API.G_MISS_CHAR)  
2236      OR (g_record.CHECK_NUMBER = FND_API.G_MISS_CHAR)  
2237      OR (g_record.SOLD_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
2238      OR (g_record.CONTEXT = FND_API.G_MISS_CHAR)  
2239      OR (g_record.CONTRACT_TERMS = FND_API.G_MISS_NUM)  
2240      OR (g_record.CONVERSION_RATE = FND_API.G_MISS_NUM)  
2241      OR (g_record.CONVERSION_RATE_DATE = FND_API.G_MISS_DATE)  
2242      OR (g_record.CONVERSION_TYPE_CODE = FND_API.G_MISS_CHAR)  
2243      OR (g_record.CREATED_BY = FND_API.G_MISS_NUM)  
2244      OR (g_record.CREATION_DATE = FND_API.G_MISS_DATE)  
2245      OR (g_record.CREDIT_CARD_CODE = FND_API.G_MISS_CHAR)  
2246      OR (g_record.CREDIT_CARD_APPROVAL_CODE = FND_API.G_MISS_CHAR)  
2247      OR (g_record.CREDIT_CARD_EXPIRATION_DATE = FND_API.G_MISS_DATE)  
2248      OR (g_record.CREDIT_CARD_HOLDER_NAME = FND_API.G_MISS_CHAR)  
2249      OR (g_record.TRANSACTIONAL_CURR_CODE = FND_API.G_MISS_CHAR)  
2250      OR (g_record.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR)  
2251      OR (g_record.SOLD_TO_SITE_USE_ID = FND_API.G_MISS_NUM)  
2252      OR (g_record.CUST_PO_NUMBER = FND_API.G_MISS_CHAR)  
2253      OR (g_record.CUSTOMER_SIGNATURE = FND_API.G_MISS_CHAR)  
2254      OR (g_record.CUSTOMER_SIGNATURE_DATE = FND_API.G_MISS_DATE)  
2255      OR (g_record.DB_FLAG = FND_API.G_MISS_CHAR)  
2256      OR (g_record.DEFAULT_INBOUND_LINE_TYPE_ID = FND_API.G_MISS_NUM)  
2257      OR (g_record.DEFAULT_OUTBOUND_LINE_TYPE_ID = FND_API.G_MISS_NUM)  
2258      OR (g_record.DELIVER_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
2259      OR (g_record.DEMAND_CLASS_CODE = FND_API.G_MISS_CHAR)  
2260      OR (g_record.DRAFT_SUBMITTED_FLAG = FND_API.G_MISS_CHAR)  
2261      OR (g_record.EARLIEST_SCHEDULE_LIMIT = FND_API.G_MISS_NUM)  
2262      OR (g_record.END_CUSTOMER_ID = FND_API.G_MISS_NUM)  
2263      OR (g_record.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM)  
2264      OR (g_record.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM)  
2265      OR (g_record.EXPIRATION_DATE = FND_API.G_MISS_DATE)  
2266      OR (g_record.FOB_POINT_CODE = FND_API.G_MISS_CHAR)  
2267      OR (g_record.FIRST_ACK_CODE = FND_API.G_MISS_CHAR)  
2268      OR (g_record.FIRST_ACK_DATE = FND_API.G_MISS_DATE)  
2269      OR (g_record.FREIGHT_CARRIER_CODE = FND_API.G_MISS_CHAR)  
2270      OR (g_record.FREIGHT_TERMS_CODE = FND_API.G_MISS_CHAR)  
2271      OR (g_record.DEFAULT_FULFILLMENT_SET = FND_API.G_MISS_CHAR)  
2272      OR (g_record.GLOBAL_ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR)  
2273      OR (g_record.GLOBAL_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
2274      OR (g_record.GLOBAL_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
2275      OR (g_record.GLOBAL_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
2276      OR (g_record.GLOBAL_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
2277      OR (g_record.GLOBAL_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
2278      OR (g_record.GLOBAL_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
2279      OR (g_record.GLOBAL_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
2280      OR (g_record.GLOBAL_ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
2281      OR (g_record.GLOBAL_ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
2282      OR (g_record.GLOBAL_ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
2283      OR (g_record.GLOBAL_ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
2284      OR (g_record.GLOBAL_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
2285      OR (g_record.GLOBAL_ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
2286      OR (g_record.GLOBAL_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
2287      OR (g_record.GLOBAL_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
2288      OR (g_record.GLOBAL_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
2289      OR (g_record.GLOBAL_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
2290      OR (g_record.GLOBAL_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
2291      OR (g_record.GLOBAL_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
2292      OR (g_record.GLOBAL_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
2293      OR (g_record.HEADER_ID = FND_API.G_MISS_NUM)  
2294      OR (g_record.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR)  
2295      OR (g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM)  
2296      OR (g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR)  
2297      OR (g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE)  
2298      OR (g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE)  
2299      OR (g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM)  
2300      OR (g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM)  
2301      OR (g_record.LATEST_SCHEDULE_LIMIT = FND_API.G_MISS_NUM)  
2302      OR (g_record.CUSTOMER_PREFERENCE_SET_CODE = FND_API.G_MISS_CHAR)  
2303      OR (g_record.SALES_DOCUMENT_NAME = FND_API.G_MISS_CHAR)  
2304      OR (g_record.OPEN_FLAG = FND_API.G_MISS_CHAR)  
2305      OR (g_record.OPERATION = FND_API.G_MISS_CHAR)  
2306      OR (g_record.ORDER_CATEGORY_CODE = FND_API.G_MISS_CHAR)  
2307      OR (g_record.ORDER_DATE_TYPE_CODE = FND_API.G_MISS_CHAR)  
2308      OR (g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE)  
2309      OR (g_record.ORDER_NUMBER = FND_API.G_MISS_NUM)  
2310      OR (g_record.ORDER_SOURCE_ID = FND_API.G_MISS_NUM)  
2311      OR (g_record.ORDER_TYPE_ID = FND_API.G_MISS_NUM)  
2312      OR (g_record.ORDERED_DATE = FND_API.G_MISS_DATE)  
2313      OR (g_record.ORG_ID = FND_API.G_MISS_NUM)  
2314      OR (g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR)  
2315      OR (g_record.IB_OWNER = FND_API.G_MISS_CHAR)  
2316      OR (g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
2317      OR (g_record.PARTIAL_SHIPMENTS_ALLOWED = FND_API.G_MISS_CHAR)  
2318      OR (g_record.PARTY_TYPE = FND_API.G_MISS_CHAR)  
2319      OR (g_record.PAYMENT_AMOUNT = FND_API.G_MISS_NUM)  
2320      OR (g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM)  
2321      OR (g_record.PRICING_DATE = FND_API.G_MISS_DATE)  
2322      OR (g_record.PROGRAM_ID = FND_API.G_MISS_NUM)  
2323      OR (g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM)  
2324      OR (g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE)  
2325      OR (g_record.QUOTE_DATE = FND_API.G_MISS_DATE)  
2326      OR (g_record.QUOTE_NUMBER = FND_API.G_MISS_NUM)  
2327      OR (g_record.REQUEST_ID = FND_API.G_MISS_NUM)  
2328      OR (g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR)  
2329      OR (g_record.RETURN_STATUS = FND_API.G_MISS_CHAR)  
2330      OR (g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM)  
2331      OR (g_record.SALES_CHANNEL_CODE = FND_API.G_MISS_CHAR)  
2332      OR (g_record.SALESREP_ID = FND_API.G_MISS_NUM)  
2333      OR (g_record.SOLD_FROM_ORG_ID = FND_API.G_MISS_NUM)  
2334      OR (g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
2335      OR (g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM)  
2336      OR (g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM)  
2337      OR (g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR)  
2338      OR (g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
2339      OR (g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR)  
2340      OR (g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM)  
2341      OR (g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM)  
2342      OR (g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM)  
2343      OR (g_record.FLOW_STATUS_CODE = FND_API.G_MISS_CHAR)  
2344      OR (g_record.SUPPLIER_SIGNATURE = FND_API.G_MISS_CHAR)  
2345      OR (g_record.SUPPLIER_SIGNATURE_DATE = FND_API.G_MISS_DATE)  
2346      OR (g_record.TAX_EXEMPT_FLAG = FND_API.G_MISS_CHAR)  
2347      OR (g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR)  
2348      OR (g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR)  
2349      OR (g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR)  
2350      OR (g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR)  
2351      OR (g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR)  
2352      OR (g_record.USER_STATUS_CODE = FND_API.G_MISS_CHAR)  
2353      OR (g_record.VERSION_NUMBER = FND_API.G_MISS_NUM)  
2354      OR (g_record.SHIP_FROM_ORG_ID = FND_API.G_MISS_NUM)  
2355     ) THEN   
2356     ONT_HEADER_Def_Hdlr.Default_Record(
2357      p_x_rec => g_record,
2358      p_initial_rec => p_initial_rec,
2359      p_in_old_rec => p_in_old_rec,
2360       p_iteration => p_iteration+1 );
2361     END IF;
2362  
2363 IF p_iteration =1 THEN
2364 OE_HEADER_Security.G_Is_Caller_Defaulting := 'N';
2365   p_x_rec := g_record;
2366 END IF;
2367  
2368 oe_debug_pub.ADD('Exit ONT_HEADER_Def_Hdlr.Default_Record');
2369  
2370 EXCEPTION
2371  
2372   WHEN FND_API.G_EXC_ERROR THEN
2373     OE_HEADER_Security.G_Is_Caller_Defaulting := 'N';
2374     RAISE FND_API.G_EXC_ERROR;
2375   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2376     OE_HEADER_Security.G_Is_Caller_Defaulting := 'N';
2377     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2378   WHEN OTHERS THEN
2379     IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2380     THEN
2381       OE_MSG_PUB.Add_Exc_Msg
2382       ( G_PKG_NAME
2383       ,'Default_Record: '||l_attr
2384       );
2385     END IF;
2386     OE_HEADER_Security.G_Is_Caller_Defaulting := 'N';
2387     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2388  
2389 END Default_Record;
2390  
2391 END ONT_HEADER_Def_Hdlr;