DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_LINE_DEF_HDLR

Source


1 PACKAGE BODY ONT_LINE_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_LINE_Def_Hdlr
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_LINE_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_LINE_Def_Hdlr';
25  
26   g_entity_code  varchar2(15) := 'LINE';
27   g_database_object_name varchar2(30) :='OE_AK_ORDER_LINES_V';
28  
29 --  Default_Record
30 PROCEDURE Default_Record
31   (   p_x_rec                         IN OUT NOCOPY  OE_AK_ORDER_LINES_V%ROWTYPE
32 ,   p_initial_rec                   IN  OE_AK_ORDER_LINES_V%ROWTYPE 
33 ,   p_in_old_rec                    IN  OE_AK_ORDER_LINES_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_LINE_Def_Hdlr.Default_Record');
42  
43 IF p_iteration =1 THEN
44 OE_LINE_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:= 'LINE_TYPE_ID';
57  
58 IF g_record.LINE_TYPE_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.LINE_TYPE_ID := ONT_D2_LINE_TYPE_ID.Get_Default_Value(g_record);
62     l_attr:=l_attr||' 2';
63   -- For UPDATE operations, check security if new defaulted value is not equal to old value
64   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
65     l_attr:=l_attr||' 3';
66     IF NOT OE_GLOBALS.Equal(g_record.line_type_id, p_in_old_rec.line_type_id) THEN
67       IF OE_LINE_SECURITY.LINE_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
68       -- Raise error if security returns YES, operation IS CONSTRAINED
69         RAISE FND_API.G_EXC_ERROR;
70       END IF;
71       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
72     END IF;
73   END IF;
74   IF g_record.LINE_TYPE_ID IS NOT NULL THEN
75     l_attr:=l_attr||' 4';
76     -- Validate defaulted value if not null
77     IF OE_VALIDATE.LINE_TYPE(g_record.LINE_TYPE_ID) THEN  
78       -- if valid, clear dependent attributes
79       OE_LINE_CL_DEP_ATTR.LINE_TYPE(p_initial_rec, p_in_old_rec, g_record);
80     ELSE
81       g_record.LINE_TYPE_ID := NULL;
82       l_attr:=l_attr||' 6';
83     END IF;
84   END IF;
85 END IF;
86 l_attr:= 'AGREEMENT_ID';
87  
88 IF g_record.AGREEMENT_ID = FND_API.G_MISS_NUM THEN
89 --  Get the defaulting api registered in the AK AND default
90     l_attr:=l_attr||' 1';
91     g_record.AGREEMENT_ID := ONT_D2_AGREEMENT_ID.Get_Default_Value(g_record);
92     l_attr:=l_attr||' 2';
93   -- For UPDATE operations, check security if new defaulted value is not equal to old value
94   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
95     l_attr:=l_attr||' 3';
96     IF NOT OE_GLOBALS.Equal(g_record.agreement_id, p_in_old_rec.agreement_id) THEN
97       IF OE_LINE_SECURITY.AGREEMENT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
98       -- Raise error if security returns YES, operation IS CONSTRAINED
99         RAISE FND_API.G_EXC_ERROR;
100       END IF;
101       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
102     END IF;
103   END IF;
104   IF g_record.AGREEMENT_ID IS NOT NULL THEN
105     l_attr:=l_attr||' 4';
106     -- Validate defaulted value if not null
107     IF OE_VALIDATE.AGREEMENT(g_record.AGREEMENT_ID) THEN  
108       -- if valid, clear dependent attributes
109       OE_LINE_CL_DEP_ATTR.AGREEMENT(p_initial_rec, p_in_old_rec, g_record);
110     ELSE
111       g_record.AGREEMENT_ID := NULL;
112       l_attr:=l_attr||' 6';
113     END IF;
114   END IF;
115 END IF;
116 l_attr:= 'SOLD_TO_ORG_ID';
117  
118 IF g_record.SOLD_TO_ORG_ID = FND_API.G_MISS_NUM THEN
119 --  Get the defaulting api registered in the AK AND default
120     l_attr:=l_attr||' 1';
121     g_record.SOLD_TO_ORG_ID := ONT_D2_SOLD_TO_ORG_ID.Get_Default_Value(g_record);
122     l_attr:=l_attr||' 2';
123   IF g_record.SOLD_TO_ORG_ID IS NULL 
124    AND p_in_old_rec.SOLD_TO_ORG_ID <> FND_API.G_MISS_NUM THEN 
125   g_record.SOLD_TO_ORG_ID := p_in_old_rec.SOLD_TO_ORG_ID;
126   END IF;
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.sold_to_org_id, p_in_old_rec.sold_to_org_id) THEN
131       IF OE_LINE_SECURITY.SOLD_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.SOLD_TO_ORG_ID IS NOT NULL THEN
139     l_attr:=l_attr||' 4';
140     -- Validate defaulted value if not null
141     IF OE_VALIDATE.SOLD_TO_ORG(g_record.SOLD_TO_ORG_ID) THEN  
142       -- if valid, clear dependent attributes
143       OE_LINE_CL_DEP_ATTR.SOLD_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
144     ELSE
145       g_record.SOLD_TO_ORG_ID := NULL;
146       l_attr:=l_attr||' 6';
147     END IF;
148   END IF;
149 END IF;
150 l_attr:= 'SHIP_TO_ORG_ID';
151  
152 IF g_record.SHIP_TO_ORG_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.SHIP_TO_ORG_ID := ONT_D2_SHIP_TO_ORG_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.ship_to_org_id, p_in_old_rec.ship_to_org_id) THEN
161       IF OE_LINE_SECURITY.SHIP_TO_ORG(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.SHIP_TO_ORG_ID IS NOT NULL THEN
169     l_attr:=l_attr||' 4';
170     -- Validate defaulted value if not null
171     IF OE_VALIDATE.SHIP_TO_ORG(g_record.SHIP_TO_ORG_ID) THEN  
172       -- if valid, clear dependent attributes
173       OE_LINE_CL_DEP_ATTR.SHIP_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
174     ELSE
175       g_record.SHIP_TO_ORG_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_D2_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_LINE_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_LINE_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:= 'DELIVER_TO_ORG_ID';
211  
212 IF g_record.DELIVER_TO_ORG_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.DELIVER_TO_ORG_ID := ONT_D2_DELIVER_TO_ORG_ID.Get_Default_Value(g_record);
216     l_attr:=l_attr||' 2';
217   -- For UPDATE operations, check security if new defaulted value is not equal to old value
218   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
219     l_attr:=l_attr||' 3';
220     IF NOT OE_GLOBALS.Equal(g_record.deliver_to_org_id, p_in_old_rec.deliver_to_org_id) THEN
221       IF OE_LINE_SECURITY.DELIVER_TO_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
222       -- Raise error if security returns YES, operation IS CONSTRAINED
223         RAISE FND_API.G_EXC_ERROR;
224       END IF;
225       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
226     END IF;
227   END IF;
228   IF g_record.DELIVER_TO_ORG_ID IS NOT NULL THEN
229     l_attr:=l_attr||' 4';
230     -- Validate defaulted value if not null
231     IF OE_VALIDATE.DELIVER_TO_ORG(g_record.DELIVER_TO_ORG_ID) THEN  
232       -- if valid, clear dependent attributes
233       OE_LINE_CL_DEP_ATTR.DELIVER_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
234     ELSE
235       g_record.DELIVER_TO_ORG_ID := NULL;
236       l_attr:=l_attr||' 6';
237     END IF;
238   END IF;
239 END IF;
240 l_attr:= 'REQUEST_DATE';
241  
242 IF g_record.REQUEST_DATE = FND_API.G_MISS_DATE THEN
243 --  Get the defaulting api registered in the AK AND default
244     l_attr:=l_attr||' 1';
245     g_record.REQUEST_DATE := ONT_D2_REQUEST_DATE.Get_Default_Value(g_record);
246     l_attr:=l_attr||' 2';
247   -- For UPDATE operations, check security if new defaulted value is not equal to old value
248   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
249     l_attr:=l_attr||' 3';
250     IF NOT OE_GLOBALS.Equal(g_record.request_date, p_in_old_rec.request_date) THEN
251       IF OE_LINE_SECURITY.REQUEST_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
252       -- Raise error if security returns YES, operation IS CONSTRAINED
253         RAISE FND_API.G_EXC_ERROR;
254       END IF;
255       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
256     END IF;
257   END IF;
258   IF g_record.REQUEST_DATE IS NOT NULL THEN
259     l_attr:=l_attr||' 4';
260     -- Validate defaulted value if not null
261     IF OE_VALIDATE.REQUEST_DATE(g_record.REQUEST_DATE) THEN  
262       -- if valid, clear dependent attributes
263       OE_LINE_CL_DEP_ATTR.REQUEST_DATE(p_initial_rec, p_in_old_rec, g_record);
264     ELSE
265       g_record.REQUEST_DATE := NULL;
266       l_attr:=l_attr||' 6';
267     END IF;
268   END IF;
269 END IF;
270 l_attr:= 'SCHEDULE_SHIP_DATE';
271  
272 IF g_record.SCHEDULE_SHIP_DATE = FND_API.G_MISS_DATE THEN
273 --  Get the defaulting api registered in the AK AND default
274     l_attr:=l_attr||' 1';
275     g_record.SCHEDULE_SHIP_DATE := ONT_D2_SCHEDULE_SHIP_DATE.Get_Default_Value(g_record);
276     l_attr:=l_attr||' 2';
277 -- There is no security api registered in the AK dictionary  
278   IF g_record.SCHEDULE_SHIP_DATE IS NOT NULL THEN
279     l_attr:=l_attr||' 4';
280     -- Validate defaulted value if not null
281     IF OE_VALIDATE.SCHEDULE_SHIP_DATE(g_record.SCHEDULE_SHIP_DATE) THEN  
282       -- There is no dependent api registered in the AK dictionary  
283       NULL;
284       l_attr:=l_attr||' 5';
285     ELSE
286       g_record.SCHEDULE_SHIP_DATE := NULL;
287       l_attr:=l_attr||' 6';
288     END IF;
289   END IF;
290 END IF;
291 l_attr:= 'PROMISE_DATE';
292  
293 IF g_record.PROMISE_DATE = FND_API.G_MISS_DATE THEN
294 --  Get the defaulting api registered in the AK AND default
295     l_attr:=l_attr||' 1';
296     g_record.PROMISE_DATE := ONT_D2_PROMISE_DATE.Get_Default_Value(g_record);
297     l_attr:=l_attr||' 2';
298   -- For UPDATE operations, check security if new defaulted value is not equal to old value
299   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
300     l_attr:=l_attr||' 3';
301     IF NOT OE_GLOBALS.Equal(g_record.promise_date, p_in_old_rec.promise_date) THEN
302       IF OE_LINE_SECURITY.PROMISE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
303       -- Raise error if security returns YES, operation IS CONSTRAINED
304         RAISE FND_API.G_EXC_ERROR;
305       END IF;
306       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
307     END IF;
308   END IF;
309   IF g_record.PROMISE_DATE IS NOT NULL THEN
310     l_attr:=l_attr||' 4';
311     -- Validate defaulted value if not null
312     IF OE_VALIDATE.PROMISE_DATE(g_record.PROMISE_DATE) THEN  
313       -- if valid, clear dependent attributes
314       OE_LINE_CL_DEP_ATTR.PROMISE_DATE(p_initial_rec, p_in_old_rec, g_record);
315     ELSE
316       g_record.PROMISE_DATE := NULL;
317       l_attr:=l_attr||' 6';
318     END IF;
319   END IF;
320 END IF;
321 l_attr:= 'TAX_DATE';
322  
323 IF g_record.TAX_DATE = FND_API.G_MISS_DATE THEN
324 --  Get the defaulting api registered in the AK AND default
325     l_attr:=l_attr||' 1';
326     g_record.TAX_DATE := ONT_D2_TAX_DATE.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.tax_date, p_in_old_rec.tax_date) THEN
332       IF OE_LINE_SECURITY.TAX_DATE(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.TAX_DATE IS NOT NULL THEN
340     l_attr:=l_attr||' 4';
341     -- Validate defaulted value if not null
342     IF OE_VALIDATE.TAX_DATE(g_record.TAX_DATE) THEN  
343       -- if valid, clear dependent attributes
344       OE_LINE_CL_DEP_ATTR.TAX_DATE(p_initial_rec, p_in_old_rec, g_record);
345     ELSE
346       g_record.TAX_DATE := NULL;
347       l_attr:=l_attr||' 6';
348     END IF;
349   END IF;
350 END IF;
351 l_attr:= 'TAX_CODE';
352  
353 IF g_record.TAX_CODE = FND_API.G_MISS_CHAR THEN
354 --  Get the defaulting api registered in the AK AND default
355     l_attr:=l_attr||' 1';
356     g_record.TAX_CODE := ONT_D2_TAX_CODE.Get_Default_Value(g_record);
357     l_attr:=l_attr||' 2';
358   -- For UPDATE operations, check security if new defaulted value is not equal to old value
359   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
360     l_attr:=l_attr||' 3';
361     IF NOT OE_GLOBALS.Equal(g_record.tax_code, p_in_old_rec.tax_code) THEN
362       IF OE_LINE_SECURITY.TAX(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
363       -- Raise error if security returns YES, operation IS CONSTRAINED
364         RAISE FND_API.G_EXC_ERROR;
365       END IF;
366       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
367     END IF;
368   END IF;
369   IF g_record.TAX_CODE IS NOT NULL THEN
370     l_attr:=l_attr||' 4';
371     -- Validate defaulted value if not null
372     IF OE_VALIDATE.TAX(g_record.TAX_CODE) THEN  
373       -- if valid, clear dependent attributes
374       OE_LINE_CL_DEP_ATTR.TAX(p_initial_rec, p_in_old_rec, g_record);
375     ELSE
376       g_record.TAX_CODE := NULL;
377       l_attr:=l_attr||' 6';
378     END IF;
379   END IF;
380 END IF;
381 l_attr:= 'TAX_EXEMPT_FLAG';
382  
383 IF g_record.TAX_EXEMPT_FLAG = FND_API.G_MISS_CHAR THEN
384 --  Get the defaulting api registered in the AK AND default
385     l_attr:=l_attr||' 1';
386     g_record.TAX_EXEMPT_FLAG := ONT_D2_TAX_EXEMPT_FLAG.Get_Default_Value(g_record);
387     l_attr:=l_attr||' 2';
388   -- For UPDATE operations, check security if new defaulted value is not equal to old value
389   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
390     l_attr:=l_attr||' 3';
391     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_flag, p_in_old_rec.tax_exempt_flag) THEN
392       IF OE_LINE_SECURITY.TAX_EXEMPT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
393       -- Raise error if security returns YES, operation IS CONSTRAINED
394         RAISE FND_API.G_EXC_ERROR;
395       END IF;
396       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
397     END IF;
398   END IF;
399   IF g_record.TAX_EXEMPT_FLAG IS NOT NULL THEN
400     l_attr:=l_attr||' 4';
401     -- Validate defaulted value if not null
402     IF OE_VALIDATE.TAX_EXEMPT(g_record.TAX_EXEMPT_FLAG) THEN  
403       -- if valid, clear dependent attributes
404       OE_LINE_CL_DEP_ATTR.TAX_EXEMPT(p_initial_rec, p_in_old_rec, g_record);
405     ELSE
406       g_record.TAX_EXEMPT_FLAG := NULL;
407       l_attr:=l_attr||' 6';
408     END IF;
409   END IF;
410 END IF;
411 l_attr:= 'SHIP_FROM_ORG_ID';
412  
413 IF g_record.SHIP_FROM_ORG_ID = FND_API.G_MISS_NUM THEN
414 --  Get the defaulting api registered in the AK AND default
415     l_attr:=l_attr||' 1';
416     g_record.SHIP_FROM_ORG_ID := ONT_D2_SHIP_FROM_ORG_ID.Get_Default_Value(g_record);
417     l_attr:=l_attr||' 2';
418   -- For UPDATE operations, check security if new defaulted value is not equal to old value
419   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
420     l_attr:=l_attr||' 3';
421     IF NOT OE_GLOBALS.Equal(g_record.ship_from_org_id, p_in_old_rec.ship_from_org_id) THEN
422       IF OE_LINE_SECURITY.SHIP_FROM_ORG(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
423       -- Raise error if security returns YES, operation IS CONSTRAINED
424         RAISE FND_API.G_EXC_ERROR;
425       END IF;
426       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
427     END IF;
428   END IF;
429   IF g_record.SHIP_FROM_ORG_ID IS NOT NULL THEN
430     l_attr:=l_attr||' 4';
431     -- Validate defaulted value if not null
432     IF OE_VALIDATE.SHIP_FROM_ORG(g_record.SHIP_FROM_ORG_ID) THEN  
433       -- if valid, clear dependent attributes
434       OE_LINE_CL_DEP_ATTR.SHIP_FROM_ORG(p_initial_rec, p_in_old_rec, g_record);
435     ELSE
436       g_record.SHIP_FROM_ORG_ID := NULL;
437       l_attr:=l_attr||' 6';
438     END IF;
439   END IF;
440 END IF;
441 l_attr:= 'ATO_LINE_ID';
442  
443 IF g_record.ATO_LINE_ID = FND_API.G_MISS_NUM THEN
444   -- Attribute is NOT defaulting enabled, return NULL if MISSING
445   g_record.ATO_LINE_ID := NULL;
446 END IF;
447 l_attr:= 'ACCOUNTING_RULE_ID';
448  
449 IF g_record.ACCOUNTING_RULE_ID = FND_API.G_MISS_NUM THEN
450 --  Get the defaulting api registered in the AK AND default
451     l_attr:=l_attr||' 1';
452     g_record.ACCOUNTING_RULE_ID := ONT_D2_ACCOUNTING_RULE_ID.Get_Default_Value(g_record);
453     l_attr:=l_attr||' 2';
454   -- For UPDATE operations, check security if new defaulted value is not equal to old value
455   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
456     l_attr:=l_attr||' 3';
457     IF NOT OE_GLOBALS.Equal(g_record.accounting_rule_id, p_in_old_rec.accounting_rule_id) THEN
458       IF OE_LINE_SECURITY.ACCOUNTING_RULE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
459       -- Raise error if security returns YES, operation IS CONSTRAINED
460         RAISE FND_API.G_EXC_ERROR;
461       END IF;
462       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
463     END IF;
464   END IF;
465   IF g_record.ACCOUNTING_RULE_ID IS NOT NULL THEN
466     l_attr:=l_attr||' 4';
467     -- Validate defaulted value if not null
468     IF OE_VALIDATE.ACCOUNTING_RULE(g_record.ACCOUNTING_RULE_ID) THEN  
469       -- There is no dependent api registered in the AK dictionary  
470       NULL;
471       l_attr:=l_attr||' 5';
472     ELSE
473       g_record.ACCOUNTING_RULE_ID := NULL;
474       l_attr:=l_attr||' 6';
475     END IF;
476   END IF;
477 END IF;
478 l_attr:= 'ACCOUNTING_RULE_DURATION';
479  
480 IF g_record.ACCOUNTING_RULE_DURATION = FND_API.G_MISS_NUM THEN
481 --  Get the defaulting api registered in the AK AND default
482     l_attr:=l_attr||' 1';
483     g_record.ACCOUNTING_RULE_DURATION := ONT_D2_ACCOUNTING_RULE_DURA.Get_Default_Value(g_record);
484     l_attr:=l_attr||' 2';
485   -- For UPDATE operations, check security if new defaulted value is not equal to old value
486   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
487     l_attr:=l_attr||' 3';
488     IF NOT OE_GLOBALS.Equal(g_record.accounting_rule_duration, p_in_old_rec.accounting_rule_duration) THEN
489       IF OE_LINE_SECURITY.ACCOUNTING_RULE_DURATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
490       -- Raise error if security returns YES, operation IS CONSTRAINED
491         RAISE FND_API.G_EXC_ERROR;
492       END IF;
493       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
494     END IF;
495   END IF;
496   IF g_record.ACCOUNTING_RULE_DURATION IS NOT NULL THEN
497     l_attr:=l_attr||' 4';
498     -- Validate defaulted value if not null
499     IF OE_VALIDATE.ACCOUNTING_RULE_DURATION(g_record.ACCOUNTING_RULE_DURATION) THEN  
500       -- if valid, clear dependent attributes
501       OE_LINE_CL_DEP_ATTR.ACCOUNTING_RULE_DURATION(p_initial_rec, p_in_old_rec, g_record);
502     ELSE
503       g_record.ACCOUNTING_RULE_DURATION := NULL;
504       l_attr:=l_attr||' 6';
505     END IF;
506   END IF;
507 END IF;
508 l_attr:= 'ACTUAL_ARRIVAL_DATE';
509  
510 IF g_record.ACTUAL_ARRIVAL_DATE = FND_API.G_MISS_DATE THEN
511   -- Attribute is NOT defaulting enabled, return NULL if MISSING
512   g_record.ACTUAL_ARRIVAL_DATE := NULL;
513 END IF;
514 l_attr:= 'ACTUAL_FULFILLMENT_DATE';
515  
516 IF g_record.ACTUAL_FULFILLMENT_DATE = FND_API.G_MISS_DATE THEN
517   -- Attribute is NOT defaulting enabled, return NULL if MISSING
518   g_record.ACTUAL_FULFILLMENT_DATE := NULL;
519 END IF;
520 l_attr:= 'ACTUAL_SHIPMENT_DATE';
521  
522 IF g_record.ACTUAL_SHIPMENT_DATE = FND_API.G_MISS_DATE THEN
523   -- Attribute is NOT defaulting enabled, return NULL if MISSING
524   g_record.ACTUAL_SHIPMENT_DATE := NULL;
525 END IF;
526 l_attr:= 'ARRIVAL_SET_ID';
527  
528 IF g_record.ARRIVAL_SET_ID = FND_API.G_MISS_NUM THEN
529   -- Attribute is NOT defaulting enabled, return NULL if MISSING
530   g_record.ARRIVAL_SET_ID := NULL;
531 END IF;
532 l_attr:= 'ARRIVAL_SET';
533  
534 IF g_record.ARRIVAL_SET = FND_API.G_MISS_CHAR THEN
535   -- Attribute is NOT defaulting enabled, return NULL if MISSING
536   g_record.ARRIVAL_SET := NULL;
537 END IF;
538 l_attr:= 'ATTRIBUTE1';
539  
540 IF g_record.ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
541   -- Attribute is NOT defaulting enabled, return NULL if MISSING
542   g_record.ATTRIBUTE1 := NULL;
543 END IF;
544 l_attr:= 'ATTRIBUTE10';
545  
546 IF g_record.ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
547   -- Attribute is NOT defaulting enabled, return NULL if MISSING
548   g_record.ATTRIBUTE10 := NULL;
549 END IF;
550 l_attr:= 'ATTRIBUTE11';
551  
552 IF g_record.ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
553   -- Attribute is NOT defaulting enabled, return NULL if MISSING
554   g_record.ATTRIBUTE11 := NULL;
555 END IF;
556 l_attr:= 'ATTRIBUTE12';
557  
558 IF g_record.ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
559   -- Attribute is NOT defaulting enabled, return NULL if MISSING
560   g_record.ATTRIBUTE12 := NULL;
561 END IF;
562 l_attr:= 'ATTRIBUTE13';
563  
564 IF g_record.ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
565   -- Attribute is NOT defaulting enabled, return NULL if MISSING
566   g_record.ATTRIBUTE13 := NULL;
567 END IF;
568 l_attr:= 'ATTRIBUTE14';
569  
570 IF g_record.ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
571   -- Attribute is NOT defaulting enabled, return NULL if MISSING
572   g_record.ATTRIBUTE14 := NULL;
573 END IF;
574 l_attr:= 'ATTRIBUTE15';
575  
576 IF g_record.ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
577   -- Attribute is NOT defaulting enabled, return NULL if MISSING
578   g_record.ATTRIBUTE15 := NULL;
579 END IF;
580 l_attr:= 'ATTRIBUTE16';
581  
582 IF g_record.ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN
583   -- Attribute is NOT defaulting enabled, return NULL if MISSING
584   g_record.ATTRIBUTE16 := NULL;
585 END IF;
586 l_attr:= 'ATTRIBUTE17';
587  
588 IF g_record.ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN
589   -- Attribute is NOT defaulting enabled, return NULL if MISSING
590   g_record.ATTRIBUTE17 := NULL;
591 END IF;
592 l_attr:= 'ATTRIBUTE18';
593  
594 IF g_record.ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN
595   -- Attribute is NOT defaulting enabled, return NULL if MISSING
596   g_record.ATTRIBUTE18 := NULL;
597 END IF;
598 l_attr:= 'ATTRIBUTE19';
599  
600 IF g_record.ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN
601   -- Attribute is NOT defaulting enabled, return NULL if MISSING
602   g_record.ATTRIBUTE19 := NULL;
603 END IF;
604 l_attr:= 'ATTRIBUTE2';
605  
606 IF g_record.ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
607   -- Attribute is NOT defaulting enabled, return NULL if MISSING
608   g_record.ATTRIBUTE2 := NULL;
609 END IF;
610 l_attr:= 'ATTRIBUTE20';
611  
612 IF g_record.ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN
613   -- Attribute is NOT defaulting enabled, return NULL if MISSING
614   g_record.ATTRIBUTE20 := NULL;
615 END IF;
616 l_attr:= 'ATTRIBUTE3';
617  
618 IF g_record.ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
619   -- Attribute is NOT defaulting enabled, return NULL if MISSING
620   g_record.ATTRIBUTE3 := NULL;
621 END IF;
622 l_attr:= 'ATTRIBUTE4';
623  
624 IF g_record.ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
625   -- Attribute is NOT defaulting enabled, return NULL if MISSING
626   g_record.ATTRIBUTE4 := NULL;
627 END IF;
628 l_attr:= 'ATTRIBUTE5';
629  
630 IF g_record.ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
631   -- Attribute is NOT defaulting enabled, return NULL if MISSING
632   g_record.ATTRIBUTE5 := NULL;
633 END IF;
634 l_attr:= 'ATTRIBUTE6';
635  
636 IF g_record.ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
637   -- Attribute is NOT defaulting enabled, return NULL if MISSING
638   g_record.ATTRIBUTE6 := NULL;
639 END IF;
640 l_attr:= 'ATTRIBUTE7';
641  
642 IF g_record.ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
643   -- Attribute is NOT defaulting enabled, return NULL if MISSING
644   g_record.ATTRIBUTE7 := NULL;
645 END IF;
646 l_attr:= 'ATTRIBUTE8';
647  
648 IF g_record.ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
649   -- Attribute is NOT defaulting enabled, return NULL if MISSING
650   g_record.ATTRIBUTE8 := NULL;
651 END IF;
652 l_attr:= 'ATTRIBUTE9';
653  
654 IF g_record.ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
655   -- Attribute is NOT defaulting enabled, return NULL if MISSING
656   g_record.ATTRIBUTE9 := NULL;
657 END IF;
658 l_attr:= 'AUTHORIZED_TO_SHIP_FLAG';
659  
660 IF g_record.AUTHORIZED_TO_SHIP_FLAG = FND_API.G_MISS_CHAR THEN
661   -- Attribute is NOT defaulting enabled, return NULL if MISSING
662   g_record.AUTHORIZED_TO_SHIP_FLAG := NULL;
663 END IF;
664 l_attr:= 'AUTO_SELECTED_QUANTITY';
665  
666 IF g_record.AUTO_SELECTED_QUANTITY = FND_API.G_MISS_NUM THEN
667   -- Attribute is NOT defaulting enabled, return NULL if MISSING
668   g_record.AUTO_SELECTED_QUANTITY := NULL;
669 END IF;
670 l_attr:= 'INVOICE_TO_CONTACT_ID';
671  
672 IF g_record.INVOICE_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
673 --  Get the defaulting api registered in the AK AND default
674     l_attr:=l_attr||' 1';
675     g_record.INVOICE_TO_CONTACT_ID := ONT_D2_INVOICE_TO_CONTACT_I.Get_Default_Value(g_record);
676     l_attr:=l_attr||' 2';
677   -- For UPDATE operations, check security if new defaulted value is not equal to old value
678   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
679     l_attr:=l_attr||' 3';
680     IF NOT OE_GLOBALS.Equal(g_record.invoice_to_contact_id, p_in_old_rec.invoice_to_contact_id) THEN
681       IF OE_LINE_SECURITY.INVOICE_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
682       -- Raise error if security returns YES, operation IS CONSTRAINED
683         RAISE FND_API.G_EXC_ERROR;
684       END IF;
685       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
686     END IF;
687   END IF;
688   IF g_record.INVOICE_TO_CONTACT_ID IS NOT NULL THEN
689     l_attr:=l_attr||' 4';
690     -- Validate defaulted value if not null
691     IF OE_VALIDATE.INVOICE_TO_CONTACT(g_record.INVOICE_TO_CONTACT_ID) THEN  
692       -- if valid, clear dependent attributes
693       OE_LINE_CL_DEP_ATTR.INVOICE_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
694     ELSE
695       g_record.INVOICE_TO_CONTACT_ID := NULL;
696       l_attr:=l_attr||' 6';
697     END IF;
698   END IF;
699 END IF;
700 l_attr:= 'BOOKED_FLAG';
701  
702 IF g_record.BOOKED_FLAG = FND_API.G_MISS_CHAR THEN
703   -- Attribute is NOT defaulting enabled, return NULL if MISSING
704   g_record.BOOKED_FLAG := NULL;
705 END IF;
706 l_attr:= 'CALCULATE_PRICE_FLAG';
707  
708 IF g_record.CALCULATE_PRICE_FLAG = FND_API.G_MISS_CHAR THEN
709 --  Get the defaulting api registered in the AK AND default
710     l_attr:=l_attr||' 1';
711     g_record.CALCULATE_PRICE_FLAG := ONT_D2_CALCULATE_PRICE_FLAG.Get_Default_Value(g_record);
712     l_attr:=l_attr||' 2';
713 -- There is no security api registered in the AK dictionary  
714       -- There is no validation api registered in the AK dictionary  
715 END IF;
716 l_attr:= 'CANCELLED_FLAG';
717  
718 IF g_record.CANCELLED_FLAG = FND_API.G_MISS_CHAR THEN
719   -- Attribute is NOT defaulting enabled, return NULL if MISSING
720   g_record.CANCELLED_FLAG := NULL;
721 END IF;
722 l_attr:= 'CANCELLED_QUANTITY';
723  
724 IF g_record.CANCELLED_QUANTITY = FND_API.G_MISS_NUM THEN
725   -- Attribute is NOT defaulting enabled, return NULL if MISSING
726   g_record.CANCELLED_QUANTITY := NULL;
727 END IF;
728 l_attr:= 'CHANGE_COMMENTS';
729  
730 IF g_record.CHANGE_COMMENTS = FND_API.G_MISS_CHAR THEN
731   -- Attribute is NOT defaulting enabled, return NULL if MISSING
732   g_record.CHANGE_COMMENTS := NULL;
733 END IF;
734 l_attr:= 'CHANGE_REASON';
735  
736 IF g_record.CHANGE_REASON = FND_API.G_MISS_CHAR THEN
737   -- Attribute is NOT defaulting enabled, return NULL if MISSING
738   g_record.CHANGE_REASON := NULL;
739 END IF;
740 l_attr:= 'CHARGE_PERIODICITY_CODE';
741  
742 IF g_record.CHARGE_PERIODICITY_CODE = FND_API.G_MISS_CHAR THEN
743 --  Get the defaulting api registered in the AK AND default
744     l_attr:=l_attr||' 1';
745     g_record.CHARGE_PERIODICITY_CODE := ONT_D2_CHARGE_PERIODICITY_C.Get_Default_Value(g_record);
746     l_attr:=l_attr||' 2';
747 -- There is no security api registered in the AK dictionary  
748       -- There is no validation api registered in the AK dictionary  
749 END IF;
750 l_attr:= 'COMMITMENT_ID';
751  
752 IF g_record.COMMITMENT_ID = FND_API.G_MISS_NUM THEN
753 --  Get the defaulting api registered in the AK AND default
754     l_attr:=l_attr||' 1';
755     g_record.COMMITMENT_ID := ONT_D2_COMMITMENT_ID.Get_Default_Value(g_record);
756     l_attr:=l_attr||' 2';
757 -- There is no security api registered in the AK dictionary  
758       -- There is no validation api registered in the AK dictionary  
759 END IF;
760 l_attr:= 'COMPONENT_CODE';
761  
762 IF g_record.COMPONENT_CODE = FND_API.G_MISS_CHAR THEN
763   -- Attribute is NOT defaulting enabled, return NULL if MISSING
764   g_record.COMPONENT_CODE := NULL;
765 END IF;
766 l_attr:= 'COMPONENT_NUMBER';
767  
768 IF g_record.COMPONENT_NUMBER = FND_API.G_MISS_NUM THEN
769   -- Attribute is NOT defaulting enabled, return NULL if MISSING
770   g_record.COMPONENT_NUMBER := NULL;
771 END IF;
772 l_attr:= 'COMPONENT_SEQUENCE_ID';
773  
774 IF g_record.COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM THEN
775   -- Attribute is NOT defaulting enabled, return NULL if MISSING
776   g_record.COMPONENT_SEQUENCE_ID := NULL;
777 END IF;
778 l_attr:= 'CONFIG_DISPLAY_SEQUENCE';
779  
780 IF g_record.CONFIG_DISPLAY_SEQUENCE = FND_API.G_MISS_NUM THEN
781   -- Attribute is NOT defaulting enabled, return NULL if MISSING
782   g_record.CONFIG_DISPLAY_SEQUENCE := NULL;
783 END IF;
784 l_attr:= 'CONFIG_HEADER_ID';
785  
786 IF g_record.CONFIG_HEADER_ID = FND_API.G_MISS_NUM THEN
787   -- Attribute is NOT defaulting enabled, return NULL if MISSING
788   g_record.CONFIG_HEADER_ID := NULL;
789 END IF;
790 l_attr:= 'CONFIG_REV_NBR';
791  
792 IF g_record.CONFIG_REV_NBR = FND_API.G_MISS_NUM THEN
793   -- Attribute is NOT defaulting enabled, return NULL if MISSING
794   g_record.CONFIG_REV_NBR := NULL;
795 END IF;
796 l_attr:= 'CONFIGURATION_ID';
797  
798 IF g_record.CONFIGURATION_ID = FND_API.G_MISS_NUM THEN
799   -- Attribute is NOT defaulting enabled, return NULL if MISSING
800   g_record.CONFIGURATION_ID := NULL;
801 END IF;
802 l_attr:= 'CONTEXT';
803  
804 IF g_record.CONTEXT = FND_API.G_MISS_CHAR THEN
805   -- Attribute is NOT defaulting enabled, return NULL if MISSING
806   g_record.CONTEXT := NULL;
807 END IF;
808 l_attr:= 'CONTINGENCY_ID';
809  
810 IF g_record.CONTINGENCY_ID = FND_API.G_MISS_NUM THEN
811   -- Attribute is NOT defaulting enabled, return NULL if MISSING
812   g_record.CONTINGENCY_ID := NULL;
813 END IF;
814 l_attr:= 'CREATED_BY';
815  
816 IF g_record.CREATED_BY = FND_API.G_MISS_NUM THEN
817   -- Attribute is NOT defaulting enabled, return NULL if MISSING
818   g_record.CREATED_BY := NULL;
819 END IF;
820 l_attr:= 'CREATION_DATE';
821  
822 IF g_record.CREATION_DATE = FND_API.G_MISS_DATE THEN
823   -- Attribute is NOT defaulting enabled, return NULL if MISSING
824   g_record.CREATION_DATE := NULL;
825 END IF;
826 l_attr:= 'CREDIT_INVOICE_LINE_ID';
827  
828 IF g_record.CREDIT_INVOICE_LINE_ID = FND_API.G_MISS_NUM THEN
829   -- Attribute is NOT defaulting enabled, return NULL if MISSING
830   g_record.CREDIT_INVOICE_LINE_ID := NULL;
831 END IF;
832 l_attr:= 'IB_CURRENT_LOCATION';
833  
834 IF g_record.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR THEN
835 --  Get the defaulting api registered in the AK AND default
836     l_attr:=l_attr||' 1';
837     g_record.IB_CURRENT_LOCATION := ONT_D2_IB_CURRENT_LOCATION.Get_Default_Value(g_record);
838     l_attr:=l_attr||' 2';
839   -- For UPDATE operations, check security if new defaulted value is not equal to old value
840   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
841     l_attr:=l_attr||' 3';
842     IF NOT OE_GLOBALS.Equal(g_record.ib_current_location, p_in_old_rec.ib_current_location) THEN
843       IF OE_LINE_SECURITY.IB_CURRENT_LOCATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
844       -- Raise error if security returns YES, operation IS CONSTRAINED
845         RAISE FND_API.G_EXC_ERROR;
846       END IF;
847       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
848     END IF;
849   END IF;
850   IF g_record.IB_CURRENT_LOCATION IS NOT NULL THEN
851     l_attr:=l_attr||' 4';
852       -- if valid, clear dependent attributes
853       OE_LINE_CL_DEP_ATTR.IB_CURRENT_LOCATION(p_initial_rec, p_in_old_rec, g_record);
854   END IF;
855 END IF;
856 l_attr:= 'CUST_MODEL_SERIAL_NUMBER';
857  
858 IF g_record.CUST_MODEL_SERIAL_NUMBER = FND_API.G_MISS_CHAR THEN
859   -- Attribute is NOT defaulting enabled, return NULL if MISSING
860   g_record.CUST_MODEL_SERIAL_NUMBER := NULL;
861 END IF;
862 l_attr:= 'CUSTOMER_DOCK_CODE';
863  
864 IF g_record.CUSTOMER_DOCK_CODE = FND_API.G_MISS_CHAR THEN
865   -- Attribute is NOT defaulting enabled, return NULL if MISSING
866   g_record.CUSTOMER_DOCK_CODE := NULL;
867 END IF;
868 l_attr:= 'CUSTOMER_JOB';
869  
870 IF g_record.CUSTOMER_JOB = FND_API.G_MISS_CHAR THEN
871   -- Attribute is NOT defaulting enabled, return NULL if MISSING
872   g_record.CUSTOMER_JOB := NULL;
873 END IF;
874 l_attr:= 'CUST_PO_NUMBER';
875  
876 IF g_record.CUST_PO_NUMBER = FND_API.G_MISS_CHAR THEN
877 --  Get the defaulting api registered in the AK AND default
878     l_attr:=l_attr||' 1';
879     g_record.CUST_PO_NUMBER := ONT_D2_CUST_PO_NUMBER.Get_Default_Value(g_record);
880     l_attr:=l_attr||' 2';
881   IF g_record.CUST_PO_NUMBER IS NULL 
882    AND p_in_old_rec.CUST_PO_NUMBER <> FND_API.G_MISS_CHAR THEN 
883   g_record.CUST_PO_NUMBER := p_in_old_rec.CUST_PO_NUMBER;
884   END IF;
885   -- For UPDATE operations, check security if new defaulted value is not equal to old value
886   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
887     l_attr:=l_attr||' 3';
888     IF NOT OE_GLOBALS.Equal(g_record.cust_po_number, p_in_old_rec.cust_po_number) THEN
889       IF OE_LINE_SECURITY.CUST_PO_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
890       -- Raise error if security returns YES, operation IS CONSTRAINED
891         RAISE FND_API.G_EXC_ERROR;
892       END IF;
893       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
894     END IF;
895   END IF;
896   IF g_record.CUST_PO_NUMBER IS NOT NULL THEN
897     l_attr:=l_attr||' 4';
898     -- Validate defaulted value if not null
899     IF OE_VALIDATE.CUST_PO_NUMBER(g_record.CUST_PO_NUMBER) THEN  
900       -- There is no dependent api registered in the AK dictionary  
901       NULL;
902       l_attr:=l_attr||' 5';
903     ELSE
904       g_record.CUST_PO_NUMBER := NULL;
905       l_attr:=l_attr||' 6';
906     END IF;
907   END IF;
908 END IF;
909 l_attr:= 'CUSTOMER_LINE_NUMBER';
910  
911 IF g_record.CUSTOMER_LINE_NUMBER = FND_API.G_MISS_CHAR THEN
912 --  Get the defaulting api registered in the AK AND default
913     l_attr:=l_attr||' 1';
914     g_record.CUSTOMER_LINE_NUMBER := ONT_D2_CUSTOMER_LINE_NUMBER.Get_Default_Value(g_record);
915     l_attr:=l_attr||' 2';
916   -- For UPDATE operations, check security if new defaulted value is not equal to old value
917   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
918     l_attr:=l_attr||' 3';
919     IF NOT OE_GLOBALS.Equal(g_record.customer_line_number, p_in_old_rec.customer_line_number) THEN
920       IF OE_LINE_SECURITY.CUSTOMER_LINE_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
921       -- Raise error if security returns YES, operation IS CONSTRAINED
922         RAISE FND_API.G_EXC_ERROR;
923       END IF;
924       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
925     END IF;
926   END IF;
927       -- There is no validation api registered in the AK dictionary  
928 END IF;
929 l_attr:= 'CUSTOMER_PRODUCTION_LINE';
930  
931 IF g_record.CUSTOMER_PRODUCTION_LINE = FND_API.G_MISS_CHAR THEN
932   -- Attribute is NOT defaulting enabled, return NULL if MISSING
933   g_record.CUSTOMER_PRODUCTION_LINE := NULL;
934 END IF;
935 l_attr:= 'CUST_PRODUCTION_SEQ_NUM';
936  
937 IF g_record.CUST_PRODUCTION_SEQ_NUM = FND_API.G_MISS_CHAR THEN
938   -- Attribute is NOT defaulting enabled, return NULL if MISSING
939   g_record.CUST_PRODUCTION_SEQ_NUM := NULL;
940 END IF;
941 l_attr:= 'CUSTOMER_SHIPMENT_NUMBER';
942  
943 IF g_record.CUSTOMER_SHIPMENT_NUMBER = FND_API.G_MISS_CHAR THEN
944 --  Get the defaulting api registered in the AK AND default
945     l_attr:=l_attr||' 1';
946     g_record.CUSTOMER_SHIPMENT_NUMBER := ONT_D2_CUSTOMER_SHIPMENT_NU.Get_Default_Value(g_record);
947     l_attr:=l_attr||' 2';
948 -- There is no security api registered in the AK dictionary  
949   IF g_record.CUSTOMER_SHIPMENT_NUMBER IS NOT NULL THEN
950     l_attr:=l_attr||' 4';
951     -- Validate defaulted value if not null
952     IF OE_VALIDATE.CUSTOMER_SHIPMENT_NUMBER(g_record.CUSTOMER_SHIPMENT_NUMBER) THEN  
953       -- There is no dependent api registered in the AK dictionary  
954       NULL;
955       l_attr:=l_attr||' 5';
956     ELSE
957       g_record.CUSTOMER_SHIPMENT_NUMBER := NULL;
958       l_attr:=l_attr||' 6';
959     END IF;
960   END IF;
961 END IF;
962 l_attr:= 'CUSTOMER_TRX_LINE_ID';
963  
964 IF g_record.CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM THEN
965   -- Attribute is NOT defaulting enabled, return NULL if MISSING
966   g_record.CUSTOMER_TRX_LINE_ID := NULL;
967 END IF;
968 l_attr:= 'DB_FLAG';
969  
970 IF g_record.DB_FLAG = FND_API.G_MISS_CHAR THEN
971   -- Attribute is NOT defaulting enabled, return NULL if MISSING
972   g_record.DB_FLAG := NULL;
973 END IF;
974 l_attr:= 'DELIVER_TO_CONTACT_ID';
975  
976 IF g_record.DELIVER_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
977 --  Get the defaulting api registered in the AK AND default
978     l_attr:=l_attr||' 1';
979     g_record.DELIVER_TO_CONTACT_ID := ONT_D2_DELIVER_TO_CONTACT_I.Get_Default_Value(g_record);
980     l_attr:=l_attr||' 2';
981   -- For UPDATE operations, check security if new defaulted value is not equal to old value
982   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
983     l_attr:=l_attr||' 3';
984     IF NOT OE_GLOBALS.Equal(g_record.deliver_to_contact_id, p_in_old_rec.deliver_to_contact_id) THEN
985       IF OE_LINE_SECURITY.DELIVER_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
986       -- Raise error if security returns YES, operation IS CONSTRAINED
987         RAISE FND_API.G_EXC_ERROR;
988       END IF;
989       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
990     END IF;
991   END IF;
992   IF g_record.DELIVER_TO_CONTACT_ID IS NOT NULL THEN
993     l_attr:=l_attr||' 4';
994     -- Validate defaulted value if not null
995     IF OE_VALIDATE.DELIVER_TO_CONTACT(g_record.DELIVER_TO_CONTACT_ID) THEN  
996       -- if valid, clear dependent attributes
997       OE_LINE_CL_DEP_ATTR.DELIVER_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
998     ELSE
999       g_record.DELIVER_TO_CONTACT_ID := NULL;
1000       l_attr:=l_attr||' 6';
1001     END IF;
1002   END IF;
1003 END IF;
1004 l_attr:= 'DELIVERY_LEAD_TIME';
1005  
1006 IF g_record.DELIVERY_LEAD_TIME = FND_API.G_MISS_NUM THEN
1007   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1008   g_record.DELIVERY_LEAD_TIME := NULL;
1009 END IF;
1010 l_attr:= 'DEMAND_BUCKET_TYPE_CODE';
1011  
1012 IF g_record.DEMAND_BUCKET_TYPE_CODE = FND_API.G_MISS_CHAR THEN
1013   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1014   g_record.DEMAND_BUCKET_TYPE_CODE := NULL;
1015 END IF;
1016 l_attr:= 'DEMAND_CLASS_CODE';
1017  
1018 IF g_record.DEMAND_CLASS_CODE = FND_API.G_MISS_CHAR THEN
1019 --  Get the defaulting api registered in the AK AND default
1020     l_attr:=l_attr||' 1';
1021     g_record.DEMAND_CLASS_CODE := ONT_D2_DEMAND_CLASS_CODE.Get_Default_Value(g_record);
1022     l_attr:=l_attr||' 2';
1023   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1024   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1025     l_attr:=l_attr||' 3';
1026     IF NOT OE_GLOBALS.Equal(g_record.demand_class_code, p_in_old_rec.demand_class_code) THEN
1027       IF OE_LINE_SECURITY.DEMAND_CLASS(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1028       -- Raise error if security returns YES, operation IS CONSTRAINED
1029         RAISE FND_API.G_EXC_ERROR;
1030       END IF;
1031       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1032     END IF;
1033   END IF;
1034   IF g_record.DEMAND_CLASS_CODE IS NOT NULL THEN
1035     l_attr:=l_attr||' 4';
1036     -- Validate defaulted value if not null
1037     IF OE_VALIDATE.DEMAND_CLASS(g_record.DEMAND_CLASS_CODE) THEN  
1038       -- There is no dependent api registered in the AK dictionary  
1039       NULL;
1040       l_attr:=l_attr||' 5';
1041     ELSE
1042       g_record.DEMAND_CLASS_CODE := NULL;
1043       l_attr:=l_attr||' 6';
1044     END IF;
1045   END IF;
1046 END IF;
1047 l_attr:= 'DEP_PLAN_REQUIRED_FLAG';
1048  
1049 IF g_record.DEP_PLAN_REQUIRED_FLAG = FND_API.G_MISS_CHAR THEN
1050 --  Get the defaulting api registered in the AK AND default
1051     l_attr:=l_attr||' 1';
1052     g_record.DEP_PLAN_REQUIRED_FLAG := ONT_D2_DEP_PLAN_REQUIRED_FL.Get_Default_Value(g_record);
1053     l_attr:=l_attr||' 2';
1054   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1055   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1056     l_attr:=l_attr||' 3';
1057     IF NOT OE_GLOBALS.Equal(g_record.dep_plan_required_flag, p_in_old_rec.dep_plan_required_flag) THEN
1058       IF OE_LINE_SECURITY.DEP_PLAN_REQUIRED(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1059       -- Raise error if security returns YES, operation IS CONSTRAINED
1060         RAISE FND_API.G_EXC_ERROR;
1061       END IF;
1062       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1063     END IF;
1064   END IF;
1065   IF g_record.DEP_PLAN_REQUIRED_FLAG IS NOT NULL THEN
1066     l_attr:=l_attr||' 4';
1067     -- Validate defaulted value if not null
1068     IF OE_VALIDATE.DEP_PLAN_REQUIRED(g_record.DEP_PLAN_REQUIRED_FLAG) THEN  
1069       -- There is no dependent api registered in the AK dictionary  
1070       NULL;
1071       l_attr:=l_attr||' 5';
1072     ELSE
1073       g_record.DEP_PLAN_REQUIRED_FLAG := NULL;
1074       l_attr:=l_attr||' 6';
1075     END IF;
1076   END IF;
1077 END IF;
1078 l_attr:= 'EARLIEST_ACCEPTABLE_DATE';
1079  
1080 IF g_record.EARLIEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE THEN
1081 --  Get the defaulting api registered in the AK AND default
1082     l_attr:=l_attr||' 1';
1083     g_record.EARLIEST_ACCEPTABLE_DATE := ONT_D2_EARLIEST_ACCEPTABLE.Get_Default_Value(g_record);
1084     l_attr:=l_attr||' 2';
1085   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1086   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1087     l_attr:=l_attr||' 3';
1088     IF NOT OE_GLOBALS.Equal(g_record.earliest_acceptable_date, p_in_old_rec.earliest_acceptable_date) THEN
1089       IF OE_LINE_SECURITY.EARLIEST_ACCEPTABLE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1090       -- Raise error if security returns YES, operation IS CONSTRAINED
1091         RAISE FND_API.G_EXC_ERROR;
1092       END IF;
1093       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1094     END IF;
1095   END IF;
1096   IF g_record.EARLIEST_ACCEPTABLE_DATE IS NOT NULL THEN
1097     l_attr:=l_attr||' 4';
1098     -- Validate defaulted value if not null
1099     IF OE_VALIDATE.EARLIEST_ACCEPTABLE_DATE(g_record.EARLIEST_ACCEPTABLE_DATE) THEN  
1100       -- There is no dependent api registered in the AK dictionary  
1101       NULL;
1102       l_attr:=l_attr||' 5';
1103     ELSE
1104       g_record.EARLIEST_ACCEPTABLE_DATE := NULL;
1105       l_attr:=l_attr||' 6';
1106     END IF;
1107   END IF;
1108 END IF;
1109 l_attr:= 'END_CUSTOMER_ID';
1110  
1111 IF g_record.END_CUSTOMER_ID = FND_API.G_MISS_NUM THEN
1112 --  Get the defaulting api registered in the AK AND default
1113     l_attr:=l_attr||' 1';
1114     g_record.END_CUSTOMER_ID := ONT_D2_END_CUSTOMER_ID.Get_Default_Value(g_record);
1115     l_attr:=l_attr||' 2';
1116   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1117   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1118     l_attr:=l_attr||' 3';
1119     IF NOT OE_GLOBALS.Equal(g_record.end_customer_id, p_in_old_rec.end_customer_id) THEN
1120       IF OE_LINE_SECURITY.END_CUSTOMER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1121       -- Raise error if security returns YES, operation IS CONSTRAINED
1122         RAISE FND_API.G_EXC_ERROR;
1123       END IF;
1124       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1125     END IF;
1126   END IF;
1127   IF g_record.END_CUSTOMER_ID IS NOT NULL THEN
1128     l_attr:=l_attr||' 4';
1129       -- if valid, clear dependent attributes
1130       OE_LINE_CL_DEP_ATTR.END_CUSTOMER(p_initial_rec, p_in_old_rec, g_record);
1131   END IF;
1132 END IF;
1133 l_attr:= 'END_CUSTOMER_CONTACT_ID';
1134  
1135 IF g_record.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM THEN
1136 --  Get the defaulting api registered in the AK AND default
1137     l_attr:=l_attr||' 1';
1138     g_record.END_CUSTOMER_CONTACT_ID := ONT_D2_END_CUSTOMER_CONTACT.Get_Default_Value(g_record);
1139     l_attr:=l_attr||' 2';
1140   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1141   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1142     l_attr:=l_attr||' 3';
1143     IF NOT OE_GLOBALS.Equal(g_record.end_customer_contact_id, p_in_old_rec.end_customer_contact_id) THEN
1144       IF OE_LINE_SECURITY.END_CUSTOMER_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1145       -- Raise error if security returns YES, operation IS CONSTRAINED
1146         RAISE FND_API.G_EXC_ERROR;
1147       END IF;
1148       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1149     END IF;
1150   END IF;
1151   IF g_record.END_CUSTOMER_CONTACT_ID IS NOT NULL THEN
1152     l_attr:=l_attr||' 4';
1153       -- if valid, clear dependent attributes
1154       OE_LINE_CL_DEP_ATTR.END_CUSTOMER_CONTACT(p_initial_rec, p_in_old_rec, g_record);
1155   END IF;
1156 END IF;
1157 l_attr:= 'END_CUSTOMER_SITE_USE_ID';
1158  
1159 IF g_record.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM THEN
1160 --  Get the defaulting api registered in the AK AND default
1161     l_attr:=l_attr||' 1';
1162     g_record.END_CUSTOMER_SITE_USE_ID := ONT_D2_END_CUSTOMER_SITE_US.Get_Default_Value(g_record);
1163     l_attr:=l_attr||' 2';
1164   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1165   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1166     l_attr:=l_attr||' 3';
1167     IF NOT OE_GLOBALS.Equal(g_record.end_customer_site_use_id, p_in_old_rec.end_customer_site_use_id) THEN
1168       IF OE_LINE_SECURITY.END_CUSTOMER_SITE_USE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1169       -- Raise error if security returns YES, operation IS CONSTRAINED
1170         RAISE FND_API.G_EXC_ERROR;
1171       END IF;
1172       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1173     END IF;
1174   END IF;
1175   IF g_record.END_CUSTOMER_SITE_USE_ID IS NOT NULL THEN
1176     l_attr:=l_attr||' 4';
1177       -- if valid, clear dependent attributes
1178       OE_LINE_CL_DEP_ATTR.END_CUSTOMER_SITE_USE(p_initial_rec, p_in_old_rec, g_record);
1179   END IF;
1180 END IF;
1181 l_attr:= 'END_ITEM_UNIT_NUMBER';
1182  
1183 IF g_record.END_ITEM_UNIT_NUMBER = FND_API.G_MISS_CHAR THEN
1184 --  Get the defaulting api registered in the AK AND default
1185     l_attr:=l_attr||' 1';
1186     g_record.END_ITEM_UNIT_NUMBER := ONT_D2_END_ITEM_UNIT_NUMBER.Get_Default_Value(g_record);
1187     l_attr:=l_attr||' 2';
1188 -- There is no security api registered in the AK dictionary  
1189   IF g_record.END_ITEM_UNIT_NUMBER IS NOT NULL THEN
1190     l_attr:=l_attr||' 4';
1191     -- Validate defaulted value if not null
1192     IF OE_VALIDATE.END_ITEM_UNIT_NUMBER(g_record.END_ITEM_UNIT_NUMBER) THEN  
1193       -- There is no dependent api registered in the AK dictionary  
1194       NULL;
1195       l_attr:=l_attr||' 5';
1196     ELSE
1197       g_record.END_ITEM_UNIT_NUMBER := NULL;
1198       l_attr:=l_attr||' 6';
1199     END IF;
1200   END IF;
1201 END IF;
1202 l_attr:= 'EXPLOSION_DATE';
1203  
1204 IF g_record.EXPLOSION_DATE = FND_API.G_MISS_DATE THEN
1205   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1206   g_record.EXPLOSION_DATE := NULL;
1207 END IF;
1208 l_attr:= 'FOB_POINT_CODE';
1209  
1210 IF g_record.FOB_POINT_CODE = FND_API.G_MISS_CHAR THEN
1211 --  Get the defaulting api registered in the AK AND default
1212     l_attr:=l_attr||' 1';
1213     g_record.FOB_POINT_CODE := ONT_D2_FOB_POINT_CODE.Get_Default_Value(g_record);
1214     l_attr:=l_attr||' 2';
1215   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1216   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1217     l_attr:=l_attr||' 3';
1218     IF NOT OE_GLOBALS.Equal(g_record.fob_point_code, p_in_old_rec.fob_point_code) THEN
1219       IF OE_LINE_SECURITY.FOB_POINT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1220       -- Raise error if security returns YES, operation IS CONSTRAINED
1221         RAISE FND_API.G_EXC_ERROR;
1222       END IF;
1223       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1224     END IF;
1225   END IF;
1226   IF g_record.FOB_POINT_CODE IS NOT NULL THEN
1227     l_attr:=l_attr||' 4';
1228     -- Validate defaulted value if not null
1229     IF OE_VALIDATE.FOB_POINT(g_record.FOB_POINT_CODE) THEN  
1230       -- There is no dependent api registered in the AK dictionary  
1231       NULL;
1232       l_attr:=l_attr||' 5';
1233     ELSE
1234       g_record.FOB_POINT_CODE := NULL;
1235       l_attr:=l_attr||' 6';
1236     END IF;
1237   END IF;
1238 END IF;
1239 l_attr:= 'FIRST_ACK_CODE';
1240  
1241 IF g_record.FIRST_ACK_CODE = FND_API.G_MISS_CHAR THEN
1242   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1243   g_record.FIRST_ACK_CODE := NULL;
1244 END IF;
1245 l_attr:= 'FIRST_ACK_DATE';
1246  
1247 IF g_record.FIRST_ACK_DATE = FND_API.G_MISS_DATE THEN
1248   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1249   g_record.FIRST_ACK_DATE := NULL;
1250 END IF;
1251 l_attr:= 'FREIGHT_CARRIER_CODE';
1252  
1253 IF g_record.FREIGHT_CARRIER_CODE = FND_API.G_MISS_CHAR THEN
1254   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1255   g_record.FREIGHT_CARRIER_CODE := NULL;
1256 END IF;
1257 l_attr:= 'FREIGHT_TERMS_CODE';
1258  
1259 IF g_record.FREIGHT_TERMS_CODE = FND_API.G_MISS_CHAR THEN
1260 --  Get the defaulting api registered in the AK AND default
1261     l_attr:=l_attr||' 1';
1262     g_record.FREIGHT_TERMS_CODE := ONT_D2_FREIGHT_TERMS_CODE.Get_Default_Value(g_record);
1263     l_attr:=l_attr||' 2';
1264   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1265   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1266     l_attr:=l_attr||' 3';
1267     IF NOT OE_GLOBALS.Equal(g_record.freight_terms_code, p_in_old_rec.freight_terms_code) THEN
1268       IF OE_LINE_SECURITY.FREIGHT_TERMS(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1269       -- Raise error if security returns YES, operation IS CONSTRAINED
1270         RAISE FND_API.G_EXC_ERROR;
1271       END IF;
1272       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1273     END IF;
1274   END IF;
1275   IF g_record.FREIGHT_TERMS_CODE IS NOT NULL THEN
1276     l_attr:=l_attr||' 4';
1277     -- Validate defaulted value if not null
1278     IF OE_VALIDATE.FREIGHT_TERMS(g_record.FREIGHT_TERMS_CODE) THEN  
1279       -- There is no dependent api registered in the AK dictionary  
1280       NULL;
1281       l_attr:=l_attr||' 5';
1282     ELSE
1283       g_record.FREIGHT_TERMS_CODE := NULL;
1284       l_attr:=l_attr||' 6';
1285     END IF;
1286   END IF;
1287 END IF;
1288 l_attr:= 'FULFILLED_FLAG';
1289  
1290 IF g_record.FULFILLED_FLAG = FND_API.G_MISS_CHAR THEN
1291   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1292   g_record.FULFILLED_FLAG := NULL;
1293 END IF;
1294 l_attr:= 'FULFILLED_QUANTITY';
1295  
1296 IF g_record.FULFILLED_QUANTITY = FND_API.G_MISS_NUM THEN
1297   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1298   g_record.FULFILLED_QUANTITY := NULL;
1299 END IF;
1300 l_attr:= 'FULFILLMENT_DATE';
1301  
1302 IF g_record.FULFILLMENT_DATE = FND_API.G_MISS_DATE THEN
1303   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1304   g_record.FULFILLMENT_DATE := NULL;
1305 END IF;
1306 l_attr:= 'FULFILLMENT_METHOD_CODE';
1307  
1308 IF g_record.FULFILLMENT_METHOD_CODE = FND_API.G_MISS_CHAR THEN
1309   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1310   g_record.FULFILLMENT_METHOD_CODE := NULL;
1311 END IF;
1312 l_attr:= 'GLOBAL_ATTRIBUTE_CATEGORY';
1313  
1314 IF g_record.GLOBAL_ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR THEN
1315   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1316   g_record.GLOBAL_ATTRIBUTE_CATEGORY := NULL;
1317 END IF;
1318 l_attr:= 'GLOBAL_ATTRIBUTE1';
1319  
1320 IF g_record.GLOBAL_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
1321   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1322   g_record.GLOBAL_ATTRIBUTE1 := NULL;
1323 END IF;
1324 l_attr:= 'GLOBAL_ATTRIBUTE10';
1325  
1326 IF g_record.GLOBAL_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
1327   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1328   g_record.GLOBAL_ATTRIBUTE10 := NULL;
1329 END IF;
1330 l_attr:= 'GLOBAL_ATTRIBUTE11';
1331  
1332 IF g_record.GLOBAL_ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
1333   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1334   g_record.GLOBAL_ATTRIBUTE11 := NULL;
1335 END IF;
1336 l_attr:= 'GLOBAL_ATTRIBUTE12';
1337  
1338 IF g_record.GLOBAL_ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
1339   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1340   g_record.GLOBAL_ATTRIBUTE12 := NULL;
1341 END IF;
1342 l_attr:= 'GLOBAL_ATTRIBUTE13';
1343  
1344 IF g_record.GLOBAL_ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
1345   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1346   g_record.GLOBAL_ATTRIBUTE13 := NULL;
1347 END IF;
1348 l_attr:= 'GLOBAL_ATTRIBUTE14';
1349  
1350 IF g_record.GLOBAL_ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
1351   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1352   g_record.GLOBAL_ATTRIBUTE14 := NULL;
1353 END IF;
1354 l_attr:= 'GLOBAL_ATTRIBUTE15';
1355  
1356 IF g_record.GLOBAL_ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
1357   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1358   g_record.GLOBAL_ATTRIBUTE15 := NULL;
1359 END IF;
1360 l_attr:= 'GLOBAL_ATTRIBUTE16';
1361  
1362 IF g_record.GLOBAL_ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN
1363   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1364   g_record.GLOBAL_ATTRIBUTE16 := NULL;
1365 END IF;
1366 l_attr:= 'GLOBAL_ATTRIBUTE17';
1367  
1368 IF g_record.GLOBAL_ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN
1369   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1370   g_record.GLOBAL_ATTRIBUTE17 := NULL;
1371 END IF;
1372 l_attr:= 'GLOBAL_ATTRIBUTE18';
1373  
1374 IF g_record.GLOBAL_ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN
1375   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1376   g_record.GLOBAL_ATTRIBUTE18 := NULL;
1377 END IF;
1378 l_attr:= 'GLOBAL_ATTRIBUTE19';
1379  
1380 IF g_record.GLOBAL_ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN
1381   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1382   g_record.GLOBAL_ATTRIBUTE19 := NULL;
1383 END IF;
1384 l_attr:= 'GLOBAL_ATTRIBUTE2';
1385  
1386 IF g_record.GLOBAL_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
1387   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1388   g_record.GLOBAL_ATTRIBUTE2 := NULL;
1389 END IF;
1390 l_attr:= 'GLOBAL_ATTRIBUTE20';
1391  
1392 IF g_record.GLOBAL_ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN
1393   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1394   g_record.GLOBAL_ATTRIBUTE20 := NULL;
1395 END IF;
1396 l_attr:= 'GLOBAL_ATTRIBUTE3';
1397  
1398 IF g_record.GLOBAL_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
1399   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1400   g_record.GLOBAL_ATTRIBUTE3 := NULL;
1401 END IF;
1402 l_attr:= 'GLOBAL_ATTRIBUTE4';
1403  
1404 IF g_record.GLOBAL_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
1405   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1406   g_record.GLOBAL_ATTRIBUTE4 := NULL;
1407 END IF;
1408 l_attr:= 'GLOBAL_ATTRIBUTE5';
1409  
1410 IF g_record.GLOBAL_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
1411   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1412   g_record.GLOBAL_ATTRIBUTE5 := NULL;
1413 END IF;
1414 l_attr:= 'GLOBAL_ATTRIBUTE6';
1415  
1416 IF g_record.GLOBAL_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
1417   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1418   g_record.GLOBAL_ATTRIBUTE6 := NULL;
1419 END IF;
1420 l_attr:= 'GLOBAL_ATTRIBUTE7';
1421  
1422 IF g_record.GLOBAL_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
1423   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1424   g_record.GLOBAL_ATTRIBUTE7 := NULL;
1425 END IF;
1426 l_attr:= 'GLOBAL_ATTRIBUTE8';
1427  
1428 IF g_record.GLOBAL_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
1429   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1430   g_record.GLOBAL_ATTRIBUTE8 := NULL;
1431 END IF;
1432 l_attr:= 'GLOBAL_ATTRIBUTE9';
1433  
1434 IF g_record.GLOBAL_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
1435   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1436   g_record.GLOBAL_ATTRIBUTE9 := NULL;
1437 END IF;
1438 l_attr:= 'PREFERRED_GRADE';
1439  
1440 IF g_record.PREFERRED_GRADE = FND_API.G_MISS_CHAR THEN
1441 --  Get the defaulting api registered in the AK AND default
1442     l_attr:=l_attr||' 1';
1443     g_record.PREFERRED_GRADE := ONT_D2_PREFERRED_GRADE.Get_Default_Value(g_record);
1444     l_attr:=l_attr||' 2';
1445 -- There is no security api registered in the AK dictionary  
1446       -- There is no validation api registered in the AK dictionary  
1447 END IF;
1448 l_attr:= 'HEADER_ID';
1449  
1450 IF g_record.HEADER_ID = FND_API.G_MISS_NUM THEN
1451   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1452   g_record.HEADER_ID := NULL;
1453 END IF;
1454 l_attr:= 'INDUSTRY_ATTRIBUTE16';
1455  
1456 IF g_record.INDUSTRY_ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN
1457   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1458   g_record.INDUSTRY_ATTRIBUTE16 := NULL;
1459 END IF;
1460 l_attr:= 'INDUSTRY_ATTRIBUTE17';
1461  
1462 IF g_record.INDUSTRY_ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN
1463   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1464   g_record.INDUSTRY_ATTRIBUTE17 := NULL;
1465 END IF;
1466 l_attr:= 'INDUSTRY_ATTRIBUTE18';
1467  
1468 IF g_record.INDUSTRY_ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN
1469   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1470   g_record.INDUSTRY_ATTRIBUTE18 := NULL;
1471 END IF;
1472 l_attr:= 'INDUSTRY_ATTRIBUTE19';
1473  
1474 IF g_record.INDUSTRY_ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN
1475   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1476   g_record.INDUSTRY_ATTRIBUTE19 := NULL;
1477 END IF;
1478 l_attr:= 'INDUSTRY_ATTRIBUTE20';
1479  
1480 IF g_record.INDUSTRY_ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN
1481   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1482   g_record.INDUSTRY_ATTRIBUTE20 := NULL;
1483 END IF;
1484 l_attr:= 'INDUSTRY_ATTRIBUTE21';
1485  
1486 IF g_record.INDUSTRY_ATTRIBUTE21 = FND_API.G_MISS_CHAR THEN
1487   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1488   g_record.INDUSTRY_ATTRIBUTE21 := NULL;
1489 END IF;
1490 l_attr:= 'INDUSTRY_ATTRIBUTE22';
1491  
1492 IF g_record.INDUSTRY_ATTRIBUTE22 = FND_API.G_MISS_CHAR THEN
1493   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1494   g_record.INDUSTRY_ATTRIBUTE22 := NULL;
1495 END IF;
1496 l_attr:= 'INDUSTRY_ATTRIBUTE23';
1497  
1498 IF g_record.INDUSTRY_ATTRIBUTE23 = FND_API.G_MISS_CHAR THEN
1499   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1500   g_record.INDUSTRY_ATTRIBUTE23 := NULL;
1501 END IF;
1502 l_attr:= 'INDUSTRY_ATTRIBUTE24';
1503  
1504 IF g_record.INDUSTRY_ATTRIBUTE24 = FND_API.G_MISS_CHAR THEN
1505   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1506   g_record.INDUSTRY_ATTRIBUTE24 := NULL;
1507 END IF;
1508 l_attr:= 'INDUSTRY_ATTRIBUTE25';
1509  
1510 IF g_record.INDUSTRY_ATTRIBUTE25 = FND_API.G_MISS_CHAR THEN
1511   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1512   g_record.INDUSTRY_ATTRIBUTE25 := NULL;
1513 END IF;
1514 l_attr:= 'INDUSTRY_ATTRIBUTE26';
1515  
1516 IF g_record.INDUSTRY_ATTRIBUTE26 = FND_API.G_MISS_CHAR THEN
1517   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1518   g_record.INDUSTRY_ATTRIBUTE26 := NULL;
1519 END IF;
1520 l_attr:= 'INDUSTRY_ATTRIBUTE27';
1521  
1522 IF g_record.INDUSTRY_ATTRIBUTE27 = FND_API.G_MISS_CHAR THEN
1523   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1524   g_record.INDUSTRY_ATTRIBUTE27 := NULL;
1525 END IF;
1526 l_attr:= 'INDUSTRY_ATTRIBUTE28';
1527  
1528 IF g_record.INDUSTRY_ATTRIBUTE28 = FND_API.G_MISS_CHAR THEN
1529   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1530   g_record.INDUSTRY_ATTRIBUTE28 := NULL;
1531 END IF;
1532 l_attr:= 'INDUSTRY_ATTRIBUTE29';
1533  
1534 IF g_record.INDUSTRY_ATTRIBUTE29 = FND_API.G_MISS_CHAR THEN
1535   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1536   g_record.INDUSTRY_ATTRIBUTE29 := NULL;
1537 END IF;
1538 l_attr:= 'INDUSTRY_ATTRIBUTE30';
1539  
1540 IF g_record.INDUSTRY_ATTRIBUTE30 = FND_API.G_MISS_CHAR THEN
1541   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1542   g_record.INDUSTRY_ATTRIBUTE30 := NULL;
1543 END IF;
1544 l_attr:= 'INDUSTRY_ATTRIBUTE1';
1545  
1546 IF g_record.INDUSTRY_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
1547   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1548   g_record.INDUSTRY_ATTRIBUTE1 := NULL;
1549 END IF;
1550 l_attr:= 'INDUSTRY_ATTRIBUTE10';
1551  
1552 IF g_record.INDUSTRY_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
1553   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1554   g_record.INDUSTRY_ATTRIBUTE10 := NULL;
1555 END IF;
1556 l_attr:= 'INDUSTRY_ATTRIBUTE11';
1557  
1558 IF g_record.INDUSTRY_ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
1559   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1560   g_record.INDUSTRY_ATTRIBUTE11 := NULL;
1561 END IF;
1562 l_attr:= 'INDUSTRY_ATTRIBUTE12';
1563  
1564 IF g_record.INDUSTRY_ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
1565   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1566   g_record.INDUSTRY_ATTRIBUTE12 := NULL;
1567 END IF;
1568 l_attr:= 'INDUSTRY_ATTRIBUTE13';
1569  
1570 IF g_record.INDUSTRY_ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
1571   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1572   g_record.INDUSTRY_ATTRIBUTE13 := NULL;
1573 END IF;
1574 l_attr:= 'INDUSTRY_ATTRIBUTE14';
1575  
1576 IF g_record.INDUSTRY_ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
1577   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1578   g_record.INDUSTRY_ATTRIBUTE14 := NULL;
1579 END IF;
1580 l_attr:= 'INDUSTRY_ATTRIBUTE15';
1581  
1582 IF g_record.INDUSTRY_ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
1583   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1584   g_record.INDUSTRY_ATTRIBUTE15 := NULL;
1585 END IF;
1586 l_attr:= 'INDUSTRY_ATTRIBUTE2';
1587  
1588 IF g_record.INDUSTRY_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
1589   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1590   g_record.INDUSTRY_ATTRIBUTE2 := NULL;
1591 END IF;
1592 l_attr:= 'INDUSTRY_ATTRIBUTE3';
1593  
1594 IF g_record.INDUSTRY_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
1595   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1596   g_record.INDUSTRY_ATTRIBUTE3 := NULL;
1597 END IF;
1598 l_attr:= 'INDUSTRY_ATTRIBUTE4';
1599  
1600 IF g_record.INDUSTRY_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
1601   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1602   g_record.INDUSTRY_ATTRIBUTE4 := NULL;
1603 END IF;
1604 l_attr:= 'INDUSTRY_ATTRIBUTE5';
1605  
1606 IF g_record.INDUSTRY_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
1607   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1608   g_record.INDUSTRY_ATTRIBUTE5 := NULL;
1609 END IF;
1610 l_attr:= 'INDUSTRY_ATTRIBUTE6';
1611  
1612 IF g_record.INDUSTRY_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
1613   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1614   g_record.INDUSTRY_ATTRIBUTE6 := NULL;
1615 END IF;
1616 l_attr:= 'INDUSTRY_ATTRIBUTE7';
1617  
1618 IF g_record.INDUSTRY_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
1619   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1620   g_record.INDUSTRY_ATTRIBUTE7 := NULL;
1621 END IF;
1622 l_attr:= 'INDUSTRY_ATTRIBUTE8';
1623  
1624 IF g_record.INDUSTRY_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
1625   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1626   g_record.INDUSTRY_ATTRIBUTE8 := NULL;
1627 END IF;
1628 l_attr:= 'INDUSTRY_ATTRIBUTE9';
1629  
1630 IF g_record.INDUSTRY_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
1631   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1632   g_record.INDUSTRY_ATTRIBUTE9 := NULL;
1633 END IF;
1634 l_attr:= 'INDUSTRY_CONTEXT';
1635  
1636 IF g_record.INDUSTRY_CONTEXT = FND_API.G_MISS_CHAR THEN
1637   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1638   g_record.INDUSTRY_CONTEXT := NULL;
1639 END IF;
1640 l_attr:= 'IB_INSTALLED_AT_LOCATION';
1641  
1642 IF g_record.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR THEN
1643 --  Get the defaulting api registered in the AK AND default
1644     l_attr:=l_attr||' 1';
1645     g_record.IB_INSTALLED_AT_LOCATION := ONT_D2_IB_INSTALLED_AT_LOCA.Get_Default_Value(g_record);
1646     l_attr:=l_attr||' 2';
1647   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1648   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1649     l_attr:=l_attr||' 3';
1650     IF NOT OE_GLOBALS.Equal(g_record.ib_installed_at_location, p_in_old_rec.ib_installed_at_location) THEN
1651       IF OE_LINE_SECURITY.IB_INSTALLED_AT_LOCATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1652       -- Raise error if security returns YES, operation IS CONSTRAINED
1653         RAISE FND_API.G_EXC_ERROR;
1654       END IF;
1655       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1656     END IF;
1657   END IF;
1658   IF g_record.IB_INSTALLED_AT_LOCATION IS NOT NULL THEN
1659     l_attr:=l_attr||' 4';
1660       -- if valid, clear dependent attributes
1661       OE_LINE_CL_DEP_ATTR.IB_INSTALLED_AT_LOCATION(p_initial_rec, p_in_old_rec, g_record);
1662   END IF;
1663 END IF;
1664 l_attr:= 'INTERMED_SHIP_TO_CONTACT_ID';
1665  
1666 IF g_record.INTERMED_SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
1667   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1668   g_record.INTERMED_SHIP_TO_CONTACT_ID := NULL;
1669 END IF;
1670 l_attr:= 'INTERMED_SHIP_TO_ORG_ID';
1671  
1672 IF g_record.INTERMED_SHIP_TO_ORG_ID = FND_API.G_MISS_NUM THEN
1673 --  Get the defaulting api registered in the AK AND default
1674     l_attr:=l_attr||' 1';
1675     g_record.INTERMED_SHIP_TO_ORG_ID := ONT_D2_INTERMED_SHIP_TO_ORG.Get_Default_Value(g_record);
1676     l_attr:=l_attr||' 2';
1677 -- There is no security api registered in the AK dictionary  
1678   IF g_record.INTERMED_SHIP_TO_ORG_ID IS NOT NULL THEN
1679     l_attr:=l_attr||' 4';
1680     -- Validate defaulted value if not null
1681     IF OE_VALIDATE.INTERMED_SHIP_TO_ORG(g_record.INTERMED_SHIP_TO_ORG_ID) THEN  
1682       -- if valid, clear dependent attributes
1683       OE_LINE_CL_DEP_ATTR.INTERMED_SHIP_TO_ORG(p_initial_rec, p_in_old_rec, g_record);
1684     ELSE
1685       g_record.INTERMED_SHIP_TO_ORG_ID := NULL;
1686       l_attr:=l_attr||' 6';
1687     END IF;
1688   END IF;
1689 END IF;
1690 l_attr:= 'INVENTORY_ITEM_ID';
1691  
1692 IF g_record.INVENTORY_ITEM_ID = FND_API.G_MISS_NUM THEN
1693   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1694   g_record.INVENTORY_ITEM_ID := NULL;
1695 END IF;
1696 l_attr:= 'INVOICE_INTERFACE_STATUS_CODE';
1697  
1698 IF g_record.INVOICE_INTERFACE_STATUS_CODE = FND_API.G_MISS_CHAR THEN
1699   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1700   g_record.INVOICE_INTERFACE_STATUS_CODE := NULL;
1701 END IF;
1702 l_attr:= 'INVOICED_QUANTITY';
1703  
1704 IF g_record.INVOICED_QUANTITY = FND_API.G_MISS_NUM THEN
1705   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1706   g_record.INVOICED_QUANTITY := NULL;
1707 END IF;
1708 l_attr:= 'INVOICING_RULE_ID';
1709  
1710 IF g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM THEN
1711 --  Get the defaulting api registered in the AK AND default
1712     l_attr:=l_attr||' 1';
1713     g_record.INVOICING_RULE_ID := ONT_D2_INVOICING_RULE_ID.Get_Default_Value(g_record);
1714     l_attr:=l_attr||' 2';
1715   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1716   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1717     l_attr:=l_attr||' 3';
1718     IF NOT OE_GLOBALS.Equal(g_record.invoicing_rule_id, p_in_old_rec.invoicing_rule_id) THEN
1719       IF OE_LINE_SECURITY.INVOICING_RULE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1720       -- Raise error if security returns YES, operation IS CONSTRAINED
1721         RAISE FND_API.G_EXC_ERROR;
1722       END IF;
1723       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1724     END IF;
1725   END IF;
1726   IF g_record.INVOICING_RULE_ID IS NOT NULL THEN
1727     l_attr:=l_attr||' 4';
1728     -- Validate defaulted value if not null
1729     IF OE_VALIDATE.INVOICING_RULE(g_record.INVOICING_RULE_ID) THEN  
1730       -- There is no dependent api registered in the AK dictionary  
1731       NULL;
1732       l_attr:=l_attr||' 5';
1733     ELSE
1734       g_record.INVOICING_RULE_ID := NULL;
1735       l_attr:=l_attr||' 6';
1736     END IF;
1737   END IF;
1738 END IF;
1739 l_attr:= 'ITEM_IDENTIFIER_TYPE';
1740  
1741 IF g_record.ITEM_IDENTIFIER_TYPE = FND_API.G_MISS_CHAR THEN
1742 --  Get the defaulting api registered in the AK AND default
1743     l_attr:=l_attr||' 1';
1744     g_record.ITEM_IDENTIFIER_TYPE := ONT_D2_ITEM_IDENTIFIER_TYPE.Get_Default_Value(g_record);
1745     l_attr:=l_attr||' 2';
1746 -- There is no security api registered in the AK dictionary  
1747       -- There is no validation api registered in the AK dictionary  
1748 END IF;
1749 l_attr:= 'ITEM_REVISION';
1750  
1751 IF g_record.ITEM_REVISION = FND_API.G_MISS_CHAR THEN
1752 --  Get the defaulting api registered in the AK AND default
1753     l_attr:=l_attr||' 1';
1754     g_record.ITEM_REVISION := ONT_D2_ITEM_REVISION.Get_Default_Value(g_record);
1755     l_attr:=l_attr||' 2';
1756   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1757   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1758     l_attr:=l_attr||' 3';
1759     IF NOT OE_GLOBALS.Equal(g_record.item_revision, p_in_old_rec.item_revision) THEN
1760       IF OE_LINE_SECURITY.ITEM_REVISION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1761       -- Raise error if security returns YES, operation IS CONSTRAINED
1762         RAISE FND_API.G_EXC_ERROR;
1763       END IF;
1764       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1765     END IF;
1766   END IF;
1767   IF g_record.ITEM_REVISION IS NOT NULL THEN
1768     l_attr:=l_attr||' 4';
1769     -- Validate defaulted value if not null
1770     IF OE_VALIDATE.ITEM_REVISION(g_record.ITEM_REVISION) THEN  
1771       -- There is no dependent api registered in the AK dictionary  
1772       NULL;
1773       l_attr:=l_attr||' 5';
1774     ELSE
1775       g_record.ITEM_REVISION := NULL;
1776       l_attr:=l_attr||' 6';
1777     END IF;
1778   END IF;
1779 END IF;
1780 l_attr:= 'ITEM_TYPE_CODE';
1781  
1782 IF g_record.ITEM_TYPE_CODE = FND_API.G_MISS_CHAR THEN
1783   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1784   g_record.ITEM_TYPE_CODE := NULL;
1785 END IF;
1786 l_attr:= 'LAST_ACK_CODE';
1787  
1788 IF g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR THEN
1789   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1790   g_record.LAST_ACK_CODE := NULL;
1791 END IF;
1792 l_attr:= 'LAST_ACK_DATE';
1793  
1794 IF g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE THEN
1795   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1796   g_record.LAST_ACK_DATE := NULL;
1797 END IF;
1798 l_attr:= 'LAST_UPDATE_DATE';
1799  
1800 IF g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE THEN
1801   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1802   g_record.LAST_UPDATE_DATE := NULL;
1803 END IF;
1804 l_attr:= 'LAST_UPDATE_LOGIN';
1805  
1806 IF g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM THEN
1807   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1808   g_record.LAST_UPDATE_LOGIN := NULL;
1809 END IF;
1810 l_attr:= 'LAST_UPDATED_BY';
1811  
1812 IF g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM THEN
1813   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1814   g_record.LAST_UPDATED_BY := NULL;
1815 END IF;
1816 l_attr:= 'LATEST_ACCEPTABLE_DATE';
1817  
1818 IF g_record.LATEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE THEN
1819 --  Get the defaulting api registered in the AK AND default
1820     l_attr:=l_attr||' 1';
1821     g_record.LATEST_ACCEPTABLE_DATE := ONT_D2_LATEST_ACCEPTABLE_DA.Get_Default_Value(g_record);
1822     l_attr:=l_attr||' 2';
1823   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1824   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1825     l_attr:=l_attr||' 3';
1826     IF NOT OE_GLOBALS.Equal(g_record.latest_acceptable_date, p_in_old_rec.latest_acceptable_date) THEN
1827       IF OE_LINE_SECURITY.LATEST_ACCEPTABLE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1828       -- Raise error if security returns YES, operation IS CONSTRAINED
1829         RAISE FND_API.G_EXC_ERROR;
1830       END IF;
1831       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1832     END IF;
1833   END IF;
1834   IF g_record.LATEST_ACCEPTABLE_DATE IS NOT NULL THEN
1835     l_attr:=l_attr||' 4';
1836     -- Validate defaulted value if not null
1837     IF OE_VALIDATE.LATEST_ACCEPTABLE_DATE(g_record.LATEST_ACCEPTABLE_DATE) THEN  
1838       -- There is no dependent api registered in the AK dictionary  
1839       NULL;
1840       l_attr:=l_attr||' 5';
1841     ELSE
1842       g_record.LATEST_ACCEPTABLE_DATE := NULL;
1843       l_attr:=l_attr||' 6';
1844     END IF;
1845   END IF;
1846 END IF;
1847 l_attr:= 'LINE_ID';
1848  
1849 IF g_record.LINE_ID = FND_API.G_MISS_NUM THEN
1850   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1851   g_record.LINE_ID := NULL;
1852 END IF;
1853 l_attr:= 'LINE_CATEGORY_CODE';
1854  
1855 IF g_record.LINE_CATEGORY_CODE = FND_API.G_MISS_CHAR THEN
1856   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1857   g_record.LINE_CATEGORY_CODE := NULL;
1858 END IF;
1859 l_attr:= 'LINE_NUMBER';
1860  
1861 IF g_record.LINE_NUMBER = FND_API.G_MISS_NUM THEN
1862   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1863   g_record.LINE_NUMBER := NULL;
1864 END IF;
1865 l_attr:= 'LINE_SET_ID';
1866  
1867 IF g_record.LINE_SET_ID = FND_API.G_MISS_NUM THEN
1868   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1869   g_record.LINE_SET_ID := NULL;
1870 END IF;
1871 l_attr:= 'LINK_TO_LINE_ID';
1872  
1873 IF g_record.LINK_TO_LINE_ID = FND_API.G_MISS_NUM THEN
1874   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1875   g_record.LINK_TO_LINE_ID := NULL;
1876 END IF;
1877 l_attr:= 'MFG_COMPONENT_SEQUENCE_ID';
1878  
1879 IF g_record.MFG_COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM THEN
1880   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1881   g_record.MFG_COMPONENT_SEQUENCE_ID := NULL;
1882 END IF;
1883 l_attr:= 'MODEL_GROUP_NUMBER';
1884  
1885 IF g_record.MODEL_GROUP_NUMBER = FND_API.G_MISS_NUM THEN
1886   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1887   g_record.MODEL_GROUP_NUMBER := NULL;
1888 END IF;
1889 l_attr:= 'OPEN_FLAG';
1890  
1891 IF g_record.OPEN_FLAG = FND_API.G_MISS_CHAR THEN
1892   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1893   g_record.OPEN_FLAG := NULL;
1894 END IF;
1895 l_attr:= 'OPERATION';
1896  
1897 IF g_record.OPERATION = FND_API.G_MISS_CHAR THEN
1898   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1899   g_record.OPERATION := NULL;
1900 END IF;
1901 l_attr:= 'OPTION_FLAG';
1902  
1903 IF g_record.OPTION_FLAG = FND_API.G_MISS_CHAR THEN
1904   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1905   g_record.OPTION_FLAG := NULL;
1906 END IF;
1907 l_attr:= 'OPTION_NUMBER';
1908  
1909 IF g_record.OPTION_NUMBER = FND_API.G_MISS_NUM THEN
1910   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1911   g_record.OPTION_NUMBER := NULL;
1912 END IF;
1913 l_attr:= 'ORDER_FIRMED_DATE';
1914  
1915 IF g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE THEN
1916 --  Get the defaulting api registered in the AK AND default
1917     l_attr:=l_attr||' 1';
1918     g_record.ORDER_FIRMED_DATE := ONT_D2_ORDER_FIRMED_DATE.Get_Default_Value(g_record);
1919     l_attr:=l_attr||' 2';
1920 -- There is no security api registered in the AK dictionary  
1921       -- There is no validation api registered in the AK dictionary  
1922 END IF;
1923 l_attr:= 'ORDER_QUANTITY_UOM';
1924  
1925 IF g_record.ORDER_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
1926 --  Get the defaulting api registered in the AK AND default
1927     l_attr:=l_attr||' 1';
1928     g_record.ORDER_QUANTITY_UOM := ONT_D2_ORDER_QUANTITY_UOM.Get_Default_Value(g_record);
1929     l_attr:=l_attr||' 2';
1930   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1931   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1932     l_attr:=l_attr||' 3';
1933     IF NOT OE_GLOBALS.Equal(g_record.order_quantity_uom, p_in_old_rec.order_quantity_uom) THEN
1934       IF OE_LINE_SECURITY.ORDER_QUANTITY_UOM(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1935       -- Raise error if security returns YES, operation IS CONSTRAINED
1936         RAISE FND_API.G_EXC_ERROR;
1937       END IF;
1938       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1939     END IF;
1940   END IF;
1941   IF g_record.ORDER_QUANTITY_UOM IS NOT NULL THEN
1942     l_attr:=l_attr||' 4';
1943     -- Validate defaulted value if not null
1944     IF OE_VALIDATE.ORDER_QUANTITY_UOM(g_record.ORDER_QUANTITY_UOM) THEN  
1945       -- if valid, clear dependent attributes
1946       OE_LINE_CL_DEP_ATTR.ORDER_QUANTITY_UOM(p_initial_rec, p_in_old_rec, g_record);
1947     ELSE
1948       g_record.ORDER_QUANTITY_UOM := NULL;
1949       l_attr:=l_attr||' 6';
1950     END IF;
1951   END IF;
1952 END IF;
1953 l_attr:= 'ORDERED_ITEM';
1954  
1955 IF g_record.ORDERED_ITEM = FND_API.G_MISS_CHAR THEN
1956   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1957   g_record.ORDERED_ITEM := NULL;
1958 END IF;
1959 l_attr:= 'ORDERED_ITEM_ID';
1960  
1961 IF g_record.ORDERED_ITEM_ID = FND_API.G_MISS_NUM THEN
1962   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1963   g_record.ORDERED_ITEM_ID := NULL;
1964 END IF;
1965 l_attr:= 'ORDERED_QUANTITY';
1966  
1967 IF g_record.ORDERED_QUANTITY = FND_API.G_MISS_NUM THEN
1968 --  Get the defaulting api registered in the AK AND default
1969     l_attr:=l_attr||' 1';
1970     g_record.ORDERED_QUANTITY := ONT_D2_ORDERED_QUANTITY.Get_Default_Value(g_record);
1971     l_attr:=l_attr||' 2';
1972   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1973   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1974     l_attr:=l_attr||' 3';
1975     IF NOT OE_GLOBALS.Equal(g_record.ordered_quantity, p_in_old_rec.ordered_quantity) THEN
1976       IF OE_LINE_SECURITY.ORDERED_QUANTITY(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1977       -- Raise error if security returns YES, operation IS CONSTRAINED
1978         RAISE FND_API.G_EXC_ERROR;
1979       END IF;
1980       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1981     END IF;
1982   END IF;
1983   IF g_record.ORDERED_QUANTITY IS NOT NULL THEN
1984     l_attr:=l_attr||' 4';
1985     -- Validate defaulted value if not null
1986     IF OE_VALIDATE.ORDERED_QUANTITY(g_record.ORDERED_QUANTITY) THEN  
1987       -- if valid, clear dependent attributes
1988       OE_LINE_CL_DEP_ATTR.ORDERED_QUANTITY(p_initial_rec, p_in_old_rec, g_record);
1989     ELSE
1990       g_record.ORDERED_QUANTITY := NULL;
1991       l_attr:=l_attr||' 6';
1992     END IF;
1993   END IF;
1994 END IF;
1995 l_attr:= 'ORG_ID';
1996  
1997 IF g_record.ORG_ID = FND_API.G_MISS_NUM THEN
1998   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1999   g_record.ORG_ID := NULL;
2000 END IF;
2001 l_attr:= 'ORIG_SYS_DOCUMENT_REF';
2002  
2003 IF g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR THEN
2004   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2005   g_record.ORIG_SYS_DOCUMENT_REF := NULL;
2006 END IF;
2007 l_attr:= 'ORIG_SYS_LINE_REF';
2008  
2009 IF g_record.ORIG_SYS_LINE_REF = FND_API.G_MISS_CHAR THEN
2010   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2011   g_record.ORIG_SYS_LINE_REF := NULL;
2012 END IF;
2013 l_attr:= 'OVER_SHIP_REASON_CODE';
2014  
2015 IF g_record.OVER_SHIP_REASON_CODE = FND_API.G_MISS_CHAR THEN
2016   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2017   g_record.OVER_SHIP_REASON_CODE := NULL;
2018 END IF;
2019 l_attr:= 'OVER_SHIP_RESOLVED_FLAG';
2020  
2021 IF g_record.OVER_SHIP_RESOLVED_FLAG = FND_API.G_MISS_CHAR THEN
2022   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2023   g_record.OVER_SHIP_RESOLVED_FLAG := NULL;
2024 END IF;
2025 l_attr:= 'IB_OWNER';
2026  
2027 IF g_record.IB_OWNER = FND_API.G_MISS_CHAR THEN
2028 --  Get the defaulting api registered in the AK AND default
2029     l_attr:=l_attr||' 1';
2030     g_record.IB_OWNER := ONT_D2_IB_OWNER.Get_Default_Value(g_record);
2031     l_attr:=l_attr||' 2';
2032   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2033   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2034     l_attr:=l_attr||' 3';
2035     IF NOT OE_GLOBALS.Equal(g_record.ib_owner, p_in_old_rec.ib_owner) THEN
2036       IF OE_LINE_SECURITY.IB_OWNER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2037       -- Raise error if security returns YES, operation IS CONSTRAINED
2038         RAISE FND_API.G_EXC_ERROR;
2039       END IF;
2040       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2041     END IF;
2042   END IF;
2043   IF g_record.IB_OWNER IS NOT NULL THEN
2044     l_attr:=l_attr||' 4';
2045       -- if valid, clear dependent attributes
2046       OE_LINE_CL_DEP_ATTR.IB_OWNER(p_initial_rec, p_in_old_rec, g_record);
2047   END IF;
2048 END IF;
2049 l_attr:= 'PACKING_INSTRUCTIONS';
2050  
2051 IF g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
2052 --  Get the defaulting api registered in the AK AND default
2053     l_attr:=l_attr||' 1';
2054     g_record.PACKING_INSTRUCTIONS := ONT_D2_PACKING_INSTRUCTIONS.Get_Default_Value(g_record);
2055     l_attr:=l_attr||' 2';
2056 -- There is no security api registered in the AK dictionary  
2057   IF g_record.PACKING_INSTRUCTIONS IS NOT NULL THEN
2058     l_attr:=l_attr||' 4';
2059     -- Validate defaulted value if not null
2060     IF OE_VALIDATE.PACKING_INSTRUCTIONS(g_record.PACKING_INSTRUCTIONS) THEN  
2061       -- There is no dependent api registered in the AK dictionary  
2062       NULL;
2063       l_attr:=l_attr||' 5';
2064     ELSE
2065       g_record.PACKING_INSTRUCTIONS := NULL;
2066       l_attr:=l_attr||' 6';
2067     END IF;
2068   END IF;
2069 END IF;
2070 l_attr:= 'PARTY_TYPE';
2071  
2072 IF g_record.PARTY_TYPE = FND_API.G_MISS_CHAR THEN
2073   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2074   g_record.PARTY_TYPE := NULL;
2075 END IF;
2076 l_attr:= 'PAYMENT_TERM_ID';
2077  
2078 IF g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM THEN
2079 --  Get the defaulting api registered in the AK AND default
2080     l_attr:=l_attr||' 1';
2081     g_record.PAYMENT_TERM_ID := ONT_D2_PAYMENT_TERM_ID.Get_Default_Value(g_record);
2082     l_attr:=l_attr||' 2';
2083   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2084   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2085     l_attr:=l_attr||' 3';
2086     IF NOT OE_GLOBALS.Equal(g_record.payment_term_id, p_in_old_rec.payment_term_id) THEN
2087       IF OE_LINE_SECURITY.PAYMENT_TERM(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2088       -- Raise error if security returns YES, operation IS CONSTRAINED
2089         RAISE FND_API.G_EXC_ERROR;
2090       END IF;
2091       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2092     END IF;
2093   END IF;
2094   IF g_record.PAYMENT_TERM_ID IS NOT NULL THEN
2095     l_attr:=l_attr||' 4';
2096     -- Validate defaulted value if not null
2097     IF OE_VALIDATE.PAYMENT_TERM(g_record.PAYMENT_TERM_ID) THEN  
2098       -- There is no dependent api registered in the AK dictionary  
2099       NULL;
2100       l_attr:=l_attr||' 5';
2101     ELSE
2102       g_record.PAYMENT_TERM_ID := NULL;
2103       l_attr:=l_attr||' 6';
2104     END IF;
2105   END IF;
2106 END IF;
2107 l_attr:= 'PLANNING_PRIORITY';
2108  
2109 IF g_record.PLANNING_PRIORITY = FND_API.G_MISS_NUM THEN
2110   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2111   g_record.PLANNING_PRIORITY := NULL;
2112 END IF;
2113 l_attr:= 'PRICE_LIST_ID';
2114  
2115 IF g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM THEN
2116 --  Get the defaulting api registered in the AK AND default
2117     l_attr:=l_attr||' 1';
2118     g_record.PRICE_LIST_ID := ONT_D2_PRICE_LIST_ID.Get_Default_Value(g_record);
2119     l_attr:=l_attr||' 2';
2120   IF g_record.PRICE_LIST_ID IS NULL 
2121    AND p_in_old_rec.PRICE_LIST_ID <> FND_API.G_MISS_NUM THEN 
2122   g_record.PRICE_LIST_ID := p_in_old_rec.PRICE_LIST_ID;
2123   END IF;
2124   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2125   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2126     l_attr:=l_attr||' 3';
2127     IF NOT OE_GLOBALS.Equal(g_record.price_list_id, p_in_old_rec.price_list_id) THEN
2128       IF OE_LINE_SECURITY.PRICE_LIST(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2129       -- Raise error if security returns YES, operation IS CONSTRAINED
2130         RAISE FND_API.G_EXC_ERROR;
2131       END IF;
2132       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2133     END IF;
2134   END IF;
2135   IF g_record.PRICE_LIST_ID IS NOT NULL THEN
2136     l_attr:=l_attr||' 4';
2137     -- Validate defaulted value if not null
2138     IF OE_VALIDATE.PRICE_LIST(g_record.PRICE_LIST_ID) THEN  
2139       -- if valid, clear dependent attributes
2140       OE_LINE_CL_DEP_ATTR.PRICE_LIST(p_initial_rec, p_in_old_rec, g_record);
2141     ELSE
2142       g_record.PRICE_LIST_ID := NULL;
2143       l_attr:=l_attr||' 6';
2144     END IF;
2145   END IF;
2146 END IF;
2147 l_attr:= 'PRICING_ATTRIBUTE1';
2148  
2149 IF g_record.PRICING_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
2150   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2151   g_record.PRICING_ATTRIBUTE1 := NULL;
2152 END IF;
2153 l_attr:= 'PRICING_ATTRIBUTE10';
2154  
2155 IF g_record.PRICING_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
2156   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2157   g_record.PRICING_ATTRIBUTE10 := NULL;
2158 END IF;
2159 l_attr:= 'PRICING_ATTRIBUTE2';
2160  
2161 IF g_record.PRICING_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
2162   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2163   g_record.PRICING_ATTRIBUTE2 := NULL;
2164 END IF;
2165 l_attr:= 'PRICING_ATTRIBUTE3';
2166  
2167 IF g_record.PRICING_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
2168   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2169   g_record.PRICING_ATTRIBUTE3 := NULL;
2170 END IF;
2171 l_attr:= 'PRICING_ATTRIBUTE4';
2172  
2173 IF g_record.PRICING_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
2174   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2175   g_record.PRICING_ATTRIBUTE4 := NULL;
2176 END IF;
2177 l_attr:= 'PRICING_ATTRIBUTE5';
2178  
2179 IF g_record.PRICING_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
2180   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2181   g_record.PRICING_ATTRIBUTE5 := NULL;
2182 END IF;
2183 l_attr:= 'PRICING_ATTRIBUTE6';
2184  
2185 IF g_record.PRICING_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
2186   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2187   g_record.PRICING_ATTRIBUTE6 := NULL;
2188 END IF;
2189 l_attr:= 'PRICING_ATTRIBUTE7';
2190  
2191 IF g_record.PRICING_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
2192   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2193   g_record.PRICING_ATTRIBUTE7 := NULL;
2194 END IF;
2195 l_attr:= 'PRICING_ATTRIBUTE8';
2196  
2197 IF g_record.PRICING_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
2198   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2199   g_record.PRICING_ATTRIBUTE8 := NULL;
2200 END IF;
2201 l_attr:= 'PRICING_ATTRIBUTE9';
2202  
2203 IF g_record.PRICING_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
2204   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2205   g_record.PRICING_ATTRIBUTE9 := NULL;
2206 END IF;
2207 l_attr:= 'PRICING_CONTEXT';
2208  
2209 IF g_record.PRICING_CONTEXT = FND_API.G_MISS_CHAR THEN
2210   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2211   g_record.PRICING_CONTEXT := NULL;
2212 END IF;
2213 l_attr:= 'PRICING_DATE';
2214  
2215 IF g_record.PRICING_DATE = FND_API.G_MISS_DATE THEN
2216 --  Get the defaulting api registered in the AK AND default
2217     l_attr:=l_attr||' 1';
2218     g_record.PRICING_DATE := ONT_D2_PRICING_DATE.Get_Default_Value(g_record);
2219     l_attr:=l_attr||' 2';
2220   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2221   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2222     l_attr:=l_attr||' 3';
2223     IF NOT OE_GLOBALS.Equal(g_record.pricing_date, p_in_old_rec.pricing_date) THEN
2224       IF OE_LINE_SECURITY.PRICING_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2225       -- Raise error if security returns YES, operation IS CONSTRAINED
2226         RAISE FND_API.G_EXC_ERROR;
2227       END IF;
2228       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2229     END IF;
2230   END IF;
2231   IF g_record.PRICING_DATE IS NOT NULL THEN
2232     l_attr:=l_attr||' 4';
2233     -- Validate defaulted value if not null
2234     IF OE_VALIDATE.PRICING_DATE(g_record.PRICING_DATE) THEN  
2235       -- There is no dependent api registered in the AK dictionary  
2236       NULL;
2237       l_attr:=l_attr||' 5';
2238     ELSE
2239       g_record.PRICING_DATE := NULL;
2240       l_attr:=l_attr||' 6';
2241     END IF;
2242   END IF;
2243 END IF;
2244 l_attr:= 'PRICING_QUANTITY';
2245  
2246 IF g_record.PRICING_QUANTITY = FND_API.G_MISS_NUM THEN
2247   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2248   g_record.PRICING_QUANTITY := NULL;
2249 END IF;
2250 l_attr:= 'PRICING_QUANTITY_UOM';
2251  
2252 IF g_record.PRICING_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
2253   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2254   g_record.PRICING_QUANTITY_UOM := NULL;
2255 END IF;
2256 l_attr:= 'PROGRAM_ID';
2257  
2258 IF g_record.PROGRAM_ID = FND_API.G_MISS_NUM THEN
2259   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2260   g_record.PROGRAM_ID := NULL;
2261 END IF;
2262 l_attr:= 'PROGRAM_APPLICATION_ID';
2263  
2264 IF g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM THEN
2265   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2266   g_record.PROGRAM_APPLICATION_ID := NULL;
2267 END IF;
2268 l_attr:= 'PROGRAM_UPDATE_DATE';
2269  
2270 IF g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE THEN
2271   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2272   g_record.PROGRAM_UPDATE_DATE := NULL;
2273 END IF;
2274 l_attr:= 'PROJECT_ID';
2275  
2276 IF g_record.PROJECT_ID = FND_API.G_MISS_NUM THEN
2277   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2278   g_record.PROJECT_ID := NULL;
2279 END IF;
2280 l_attr:= 'REFERENCE_CUSTOMR_TRX_LINE_ID';
2281  
2282 IF g_record.REFERENCE_CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM THEN
2283   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2284   g_record.REFERENCE_CUSTOMER_TRX_LINE_ID := NULL;
2285 END IF;
2286 l_attr:= 'REFERENCE_HEADER_ID';
2287  
2288 IF g_record.REFERENCE_HEADER_ID = FND_API.G_MISS_NUM THEN
2289   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2290   g_record.REFERENCE_HEADER_ID := NULL;
2291 END IF;
2292 l_attr:= 'REFERENCE_LINE_ID';
2293  
2294 IF g_record.REFERENCE_LINE_ID = FND_API.G_MISS_NUM THEN
2295   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2296   g_record.REFERENCE_LINE_ID := NULL;
2297 END IF;
2298 l_attr:= 'REFERENCE_TYPE';
2299  
2300 IF g_record.REFERENCE_TYPE = FND_API.G_MISS_CHAR THEN
2301   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2302   g_record.REFERENCE_TYPE := NULL;
2303 END IF;
2304 l_attr:= 'REQUEST_ID';
2305  
2306 IF g_record.REQUEST_ID = FND_API.G_MISS_NUM THEN
2307   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2308   g_record.REQUEST_ID := NULL;
2309 END IF;
2310 l_attr:= 'RESERVED_QUANTITY';
2311  
2312 IF g_record.RESERVED_QUANTITY = FND_API.G_MISS_NUM THEN
2313   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2314   g_record.RESERVED_QUANTITY := NULL;
2315 END IF;
2316 l_attr:= 'RETROBILL_REQUEST_ID';
2317  
2318 IF g_record.RETROBILL_REQUEST_ID = FND_API.G_MISS_NUM THEN
2319   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2320   g_record.RETROBILL_REQUEST_ID := NULL;
2321 END IF;
2322 l_attr:= 'RETURN_ATTRIBUTE1';
2323  
2324 IF g_record.RETURN_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
2325   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2326   g_record.RETURN_ATTRIBUTE1 := NULL;
2327 END IF;
2328 l_attr:= 'RETURN_ATTRIBUTE10';
2329  
2330 IF g_record.RETURN_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
2331   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2332   g_record.RETURN_ATTRIBUTE10 := NULL;
2333 END IF;
2334 l_attr:= 'RETURN_ATTRIBUTE11';
2335  
2336 IF g_record.RETURN_ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
2337   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2338   g_record.RETURN_ATTRIBUTE11 := NULL;
2339 END IF;
2340 l_attr:= 'RETURN_ATTRIBUTE12';
2341  
2342 IF g_record.RETURN_ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
2343   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2344   g_record.RETURN_ATTRIBUTE12 := NULL;
2345 END IF;
2346 l_attr:= 'RETURN_ATTRIBUTE13';
2347  
2348 IF g_record.RETURN_ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
2349   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2350   g_record.RETURN_ATTRIBUTE13 := NULL;
2351 END IF;
2352 l_attr:= 'RETURN_ATTRIBUTE14';
2353  
2354 IF g_record.RETURN_ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
2355   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2356   g_record.RETURN_ATTRIBUTE14 := NULL;
2357 END IF;
2358 l_attr:= 'RETURN_ATTRIBUTE15';
2359  
2360 IF g_record.RETURN_ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
2361   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2362   g_record.RETURN_ATTRIBUTE15 := NULL;
2363 END IF;
2364 l_attr:= 'RETURN_ATTRIBUTE2';
2365  
2366 IF g_record.RETURN_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
2367   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2368   g_record.RETURN_ATTRIBUTE2 := NULL;
2369 END IF;
2370 l_attr:= 'RETURN_ATTRIBUTE3';
2371  
2372 IF g_record.RETURN_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
2373   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2374   g_record.RETURN_ATTRIBUTE3 := NULL;
2375 END IF;
2376 l_attr:= 'RETURN_ATTRIBUTE4';
2377  
2378 IF g_record.RETURN_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
2379   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2380   g_record.RETURN_ATTRIBUTE4 := NULL;
2381 END IF;
2382 l_attr:= 'RETURN_ATTRIBUTE5';
2383  
2384 IF g_record.RETURN_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
2385   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2386   g_record.RETURN_ATTRIBUTE5 := NULL;
2387 END IF;
2388 l_attr:= 'RETURN_ATTRIBUTE6';
2389  
2390 IF g_record.RETURN_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
2391   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2392   g_record.RETURN_ATTRIBUTE6 := NULL;
2393 END IF;
2394 l_attr:= 'RETURN_ATTRIBUTE7';
2395  
2396 IF g_record.RETURN_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
2397   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2398   g_record.RETURN_ATTRIBUTE7 := NULL;
2399 END IF;
2400 l_attr:= 'RETURN_ATTRIBUTE8';
2401  
2402 IF g_record.RETURN_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
2403   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2404   g_record.RETURN_ATTRIBUTE8 := NULL;
2405 END IF;
2406 l_attr:= 'RETURN_ATTRIBUTE9';
2407  
2408 IF g_record.RETURN_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
2409   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2410   g_record.RETURN_ATTRIBUTE9 := NULL;
2411 END IF;
2412 l_attr:= 'RETURN_CONTEXT';
2413  
2414 IF g_record.RETURN_CONTEXT = FND_API.G_MISS_CHAR THEN
2415   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2416   g_record.RETURN_CONTEXT := NULL;
2417 END IF;
2418 l_attr:= 'RETURN_REASON_CODE';
2419  
2420 IF g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR THEN
2421 --  Get the defaulting api registered in the AK AND default
2422     l_attr:=l_attr||' 1';
2423     g_record.RETURN_REASON_CODE := ONT_D2_RETURN_REASON_CODE.Get_Default_Value(g_record);
2424     l_attr:=l_attr||' 2';
2425   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2426   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2427     l_attr:=l_attr||' 3';
2428     IF NOT OE_GLOBALS.Equal(g_record.return_reason_code, p_in_old_rec.return_reason_code) THEN
2429       IF OE_LINE_SECURITY.RETURN_REASON(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2430       -- Raise error if security returns YES, operation IS CONSTRAINED
2431         RAISE FND_API.G_EXC_ERROR;
2432       END IF;
2433       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2434     END IF;
2435   END IF;
2436   IF g_record.RETURN_REASON_CODE IS NOT NULL THEN
2437     l_attr:=l_attr||' 4';
2438     -- Validate defaulted value if not null
2439     IF OE_VALIDATE.RETURN_REASON(g_record.RETURN_REASON_CODE) THEN  
2440       -- There is no dependent api registered in the AK dictionary  
2441       NULL;
2442       l_attr:=l_attr||' 5';
2443     ELSE
2444       g_record.RETURN_REASON_CODE := NULL;
2445       l_attr:=l_attr||' 6';
2446     END IF;
2447   END IF;
2448 END IF;
2449 l_attr:= 'RETURN_STATUS';
2450  
2451 IF g_record.RETURN_STATUS = FND_API.G_MISS_CHAR THEN
2452   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2453   g_record.RETURN_STATUS := NULL;
2454 END IF;
2455 l_attr:= 'REVENUE_AMOUNT';
2456  
2457 IF g_record.REVENUE_AMOUNT = FND_API.G_MISS_NUM THEN
2458   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2459   g_record.REVENUE_AMOUNT := NULL;
2460 END IF;
2461 l_attr:= 'REVREC_EXPIRATION_DAYS';
2462  
2463 IF g_record.REVREC_EXPIRATION_DAYS = FND_API.G_MISS_NUM THEN
2464   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2465   g_record.REVREC_EXPIRATION_DAYS := NULL;
2466 END IF;
2467 l_attr:= 'RLA_SCHEDULE_TYPE_CODE';
2468  
2469 IF g_record.RLA_SCHEDULE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
2470   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2471   g_record.RLA_SCHEDULE_TYPE_CODE := NULL;
2472 END IF;
2473 l_attr:= 'BLANKET_LINE_NUMBER';
2474  
2475 IF g_record.BLANKET_LINE_NUMBER = FND_API.G_MISS_NUM THEN
2476   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2477   g_record.BLANKET_LINE_NUMBER := NULL;
2478 END IF;
2479 l_attr:= 'BLANKET_NUMBER';
2480  
2481 IF g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM THEN
2482 --  Get the defaulting api registered in the AK AND default
2483     l_attr:=l_attr||' 1';
2484     g_record.BLANKET_NUMBER := ONT_D2_BLANKET_NUMBER.Get_Default_Value(g_record);
2485     l_attr:=l_attr||' 2';
2486   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2487   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2488     l_attr:=l_attr||' 3';
2489     IF NOT OE_GLOBALS.Equal(g_record.blanket_number, p_in_old_rec.blanket_number) THEN
2490       IF OE_LINE_SECURITY.BLANKET_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2491       -- Raise error if security returns YES, operation IS CONSTRAINED
2492         RAISE FND_API.G_EXC_ERROR;
2493       END IF;
2494       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2495     END IF;
2496   END IF;
2497   IF g_record.BLANKET_NUMBER IS NOT NULL THEN
2498     l_attr:=l_attr||' 4';
2499     -- Validate defaulted value if not null
2500     IF OE_VALIDATE.Blanket_Number(g_record.BLANKET_NUMBER) THEN  
2501       -- if valid, clear dependent attributes
2502       OE_LINE_CL_DEP_ATTR.BLANKET_NUMBER(p_initial_rec, p_in_old_rec, g_record);
2503     ELSE
2504       g_record.BLANKET_NUMBER := NULL;
2505       l_attr:=l_attr||' 6';
2506     END IF;
2507   END IF;
2508 END IF;
2509 l_attr:= 'BLANKET_VERSION_NUMBER';
2510  
2511 IF g_record.BLANKET_VERSION_NUMBER = FND_API.G_MISS_NUM THEN
2512   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2513   g_record.BLANKET_VERSION_NUMBER := NULL;
2514 END IF;
2515 l_attr:= 'SALESREP_ID';
2516  
2517 IF g_record.SALESREP_ID = FND_API.G_MISS_NUM THEN
2518 --  Get the defaulting api registered in the AK AND default
2519     l_attr:=l_attr||' 1';
2520     g_record.SALESREP_ID := ONT_D2_SALESREP_ID.Get_Default_Value(g_record);
2521     l_attr:=l_attr||' 2';
2522   IF g_record.SALESREP_ID IS NULL 
2523    AND p_in_old_rec.SALESREP_ID <> FND_API.G_MISS_NUM THEN 
2524   g_record.SALESREP_ID := p_in_old_rec.SALESREP_ID;
2525   END IF;
2526   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2527   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2528     l_attr:=l_attr||' 3';
2529     IF NOT OE_GLOBALS.Equal(g_record.salesrep_id, p_in_old_rec.salesrep_id) THEN
2530       IF OE_LINE_SECURITY.SALESREP(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2531       -- Raise error if security returns YES, operation IS CONSTRAINED
2532         RAISE FND_API.G_EXC_ERROR;
2533       END IF;
2534       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2535     END IF;
2536   END IF;
2537   IF g_record.SALESREP_ID IS NOT NULL THEN
2538     l_attr:=l_attr||' 4';
2539     -- Validate defaulted value if not null
2540     IF OE_VALIDATE.SALESREP(g_record.SALESREP_ID) THEN  
2541       -- There is no dependent api registered in the AK dictionary  
2542       NULL;
2543       l_attr:=l_attr||' 5';
2544     ELSE
2545       g_record.SALESREP_ID := NULL;
2546       l_attr:=l_attr||' 6';
2547     END IF;
2548   END IF;
2549 END IF;
2550 l_attr:= 'SCHEDULE_ACTION_CODE';
2551  
2552 IF g_record.SCHEDULE_ACTION_CODE = FND_API.G_MISS_CHAR THEN
2553   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2554   g_record.SCHEDULE_ACTION_CODE := NULL;
2555 END IF;
2556 l_attr:= 'SCHEDULE_ARRIVAL_DATE';
2557  
2558 IF g_record.SCHEDULE_ARRIVAL_DATE = FND_API.G_MISS_DATE THEN
2559 --  Get the defaulting api registered in the AK AND default
2560     l_attr:=l_attr||' 1';
2561     g_record.SCHEDULE_ARRIVAL_DATE := ONT_D2_SCHEDULE_ARRIVAL_DAT.Get_Default_Value(g_record);
2562     l_attr:=l_attr||' 2';
2563   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2564   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2565     l_attr:=l_attr||' 3';
2566     IF NOT OE_GLOBALS.Equal(g_record.schedule_arrival_date, p_in_old_rec.schedule_arrival_date) THEN
2567       IF OE_LINE_SECURITY.SCHEDULE_ARRIVAL_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2568       -- Raise error if security returns YES, operation IS CONSTRAINED
2569         RAISE FND_API.G_EXC_ERROR;
2570       END IF;
2571       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2572     END IF;
2573   END IF;
2574   IF g_record.SCHEDULE_ARRIVAL_DATE IS NOT NULL THEN
2575     l_attr:=l_attr||' 4';
2576     -- Validate defaulted value if not null
2577     IF OE_VALIDATE.SCHEDULE_ARRIVAL_DATE(g_record.SCHEDULE_ARRIVAL_DATE) THEN  
2578       -- There is no dependent api registered in the AK dictionary  
2579       NULL;
2580       l_attr:=l_attr||' 5';
2581     ELSE
2582       g_record.SCHEDULE_ARRIVAL_DATE := NULL;
2583       l_attr:=l_attr||' 6';
2584     END IF;
2585   END IF;
2586 END IF;
2587 l_attr:= 'SCHEDULE_STATUS_CODE';
2588  
2589 IF g_record.SCHEDULE_STATUS_CODE = FND_API.G_MISS_CHAR THEN
2590   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2591   g_record.SCHEDULE_STATUS_CODE := NULL;
2592 END IF;
2593 l_attr:= 'CANCELLED_QUANTITY2';
2594  
2595 IF g_record.CANCELLED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2596   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2597   g_record.CANCELLED_QUANTITY2 := NULL;
2598 END IF;
2599 l_attr:= 'FULFILLED_QUANTITY2';
2600  
2601 IF g_record.FULFILLED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2602   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2603   g_record.FULFILLED_QUANTITY2 := NULL;
2604 END IF;
2605 l_attr:= 'ORDERED_QUANTITY2';
2606  
2607 IF g_record.ORDERED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2608 --  Get the defaulting api registered in the AK AND default
2609     l_attr:=l_attr||' 1';
2610     g_record.ORDERED_QUANTITY2 := ONT_D2_ORDERED_QUANTITY2.Get_Default_Value(g_record);
2611     l_attr:=l_attr||' 2';
2612   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2613   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2614     l_attr:=l_attr||' 3';
2615     IF NOT OE_GLOBALS.Equal(g_record.ordered_quantity2, p_in_old_rec.ordered_quantity2) THEN
2616       IF OE_LINE_SECURITY.ORDERED_QUANTITY2(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2617       -- Raise error if security returns YES, operation IS CONSTRAINED
2618         RAISE FND_API.G_EXC_ERROR;
2619       END IF;
2620       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2621     END IF;
2622   END IF;
2623       -- There is no validation api registered in the AK dictionary  
2624 END IF;
2625 l_attr:= 'SHIPPED_QUANTITY2';
2626  
2627 IF g_record.SHIPPED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2628   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2629   g_record.SHIPPED_QUANTITY2 := NULL;
2630 END IF;
2631 l_attr:= 'SHIPPING_QUANTITY2';
2632  
2633 IF g_record.SHIPPING_QUANTITY2 = FND_API.G_MISS_NUM THEN
2634   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2635   g_record.SHIPPING_QUANTITY2 := NULL;
2636 END IF;
2637 l_attr:= 'SHIPPING_QUANTITY_UOM2';
2638  
2639 IF g_record.SHIPPING_QUANTITY_UOM2 = FND_API.G_MISS_CHAR THEN
2640   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2641   g_record.SHIPPING_QUANTITY_UOM2 := NULL;
2642 END IF;
2643 l_attr:= 'ORDERED_QUANTITY_UOM2';
2644  
2645 IF g_record.ORDERED_QUANTITY_UOM2 = FND_API.G_MISS_CHAR THEN
2646 --  Get the defaulting api registered in the AK AND default
2647     l_attr:=l_attr||' 1';
2648     g_record.ORDERED_QUANTITY_UOM2 := ONT_D2_ORDERED_QUANTITY_UOM.Get_Default_Value(g_record);
2649     l_attr:=l_attr||' 2';
2650 -- There is no security api registered in the AK dictionary  
2651       -- There is no validation api registered in the AK dictionary  
2652 END IF;
2653 l_attr:= 'SERVICE_BILL_OPTION_CODE';
2654  
2655 IF g_record.SERVICE_BILL_OPTION_CODE = FND_API.G_MISS_CHAR THEN
2656 --  Get the defaulting api registered in the AK AND default
2657     l_attr:=l_attr||' 1';
2658     g_record.SERVICE_BILL_OPTION_CODE := ONT_D2_SERVICE_BILL_OPTION.Get_Default_Value(g_record);
2659     l_attr:=l_attr||' 2';
2660 -- There is no security api registered in the AK dictionary  
2661   IF g_record.SERVICE_BILL_OPTION_CODE IS NOT NULL THEN
2662     l_attr:=l_attr||' 4';
2663     -- Validate defaulted value if not null
2664     IF OE_VALIDATE.SERVICE_BILL_OPTION(g_record.SERVICE_BILL_OPTION_CODE) THEN  
2665       -- There is no dependent api registered in the AK dictionary  
2666       NULL;
2667       l_attr:=l_attr||' 5';
2668     ELSE
2669       g_record.SERVICE_BILL_OPTION_CODE := NULL;
2670       l_attr:=l_attr||' 6';
2671     END IF;
2672   END IF;
2673 END IF;
2674 l_attr:= 'SERVICE_BILL_PROFILE_ID';
2675  
2676 IF g_record.SERVICE_BILL_PROFILE_ID = FND_API.G_MISS_NUM THEN
2677 --  Get the defaulting api registered in the AK AND default
2678     l_attr:=l_attr||' 1';
2679     g_record.SERVICE_BILL_PROFILE_ID := ONT_D2_SERVICE_BILL_PROFILE.Get_Default_Value(g_record);
2680     l_attr:=l_attr||' 2';
2681 -- There is no security api registered in the AK dictionary  
2682   IF g_record.SERVICE_BILL_PROFILE_ID IS NOT NULL THEN
2683     l_attr:=l_attr||' 4';
2684     -- Validate defaulted value if not null
2685     IF OE_VALIDATE.SERVICE_BILLING_PROFILE(g_record.SERVICE_BILL_PROFILE_ID) THEN  
2686       -- There is no dependent api registered in the AK dictionary  
2687       NULL;
2688       l_attr:=l_attr||' 5';
2689     ELSE
2690       g_record.SERVICE_BILL_PROFILE_ID := NULL;
2691       l_attr:=l_attr||' 6';
2692     END IF;
2693   END IF;
2694 END IF;
2695 l_attr:= 'SERVICE_COTERMINATE_FLAG';
2696  
2697 IF g_record.SERVICE_COTERMINATE_FLAG = FND_API.G_MISS_CHAR THEN
2698   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2699   g_record.SERVICE_COTERMINATE_FLAG := NULL;
2700 END IF;
2701 l_attr:= 'SERVICE_COV_TEMPLATE_ID';
2702  
2703 IF g_record.SERVICE_COV_TEMPLATE_ID = FND_API.G_MISS_NUM THEN
2704 --  Get the defaulting api registered in the AK AND default
2705     l_attr:=l_attr||' 1';
2706     g_record.SERVICE_COV_TEMPLATE_ID := ONT_D2_SERVICE_COV_TEMPLATE.Get_Default_Value(g_record);
2707     l_attr:=l_attr||' 2';
2708 -- There is no security api registered in the AK dictionary  
2709   IF g_record.SERVICE_COV_TEMPLATE_ID IS NOT NULL THEN
2710     l_attr:=l_attr||' 4';
2711     -- Validate defaulted value if not null
2712     IF OE_VALIDATE.SERVICE_COV_TEMPLATE_ID(g_record.SERVICE_COV_TEMPLATE_ID) THEN  
2713       -- There is no dependent api registered in the AK dictionary  
2714       NULL;
2715       l_attr:=l_attr||' 5';
2716     ELSE
2717       g_record.SERVICE_COV_TEMPLATE_ID := NULL;
2718       l_attr:=l_attr||' 6';
2719     END IF;
2720   END IF;
2721 END IF;
2722 l_attr:= 'SERVICE_DURATION';
2723  
2724 IF g_record.SERVICE_DURATION = FND_API.G_MISS_NUM THEN
2725 --  Get the defaulting api registered in the AK AND default
2726     l_attr:=l_attr||' 1';
2727     g_record.SERVICE_DURATION := ONT_D2_SERVICE_DURATION.Get_Default_Value(g_record);
2728     l_attr:=l_attr||' 2';
2729   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2730   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2731     l_attr:=l_attr||' 3';
2732     IF NOT OE_GLOBALS.Equal(g_record.service_duration, p_in_old_rec.service_duration) THEN
2733       IF OE_LINE_SECURITY.SERVICE_DURATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2734       -- Raise error if security returns YES, operation IS CONSTRAINED
2735         RAISE FND_API.G_EXC_ERROR;
2736       END IF;
2737       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2738     END IF;
2739   END IF;
2740   IF g_record.SERVICE_DURATION IS NOT NULL THEN
2741     l_attr:=l_attr||' 4';
2742     -- Validate defaulted value if not null
2743     IF OE_VALIDATE.SERVICE_DURATION(g_record.SERVICE_DURATION) THEN  
2744       -- There is no dependent api registered in the AK dictionary  
2745       NULL;
2746       l_attr:=l_attr||' 5';
2747     ELSE
2748       g_record.SERVICE_DURATION := NULL;
2749       l_attr:=l_attr||' 6';
2750     END IF;
2751   END IF;
2752 END IF;
2753 l_attr:= 'SERVICE_END_DATE';
2754  
2755 IF g_record.SERVICE_END_DATE = FND_API.G_MISS_DATE THEN
2756   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2757   g_record.SERVICE_END_DATE := NULL;
2758 END IF;
2759 l_attr:= 'SERVICE_NUMBER';
2760  
2761 IF g_record.SERVICE_NUMBER = FND_API.G_MISS_NUM THEN
2762   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2763   g_record.SERVICE_NUMBER := NULL;
2764 END IF;
2765 l_attr:= 'SERVICE_PERIOD';
2766  
2767 IF g_record.SERVICE_PERIOD = FND_API.G_MISS_CHAR THEN
2768 --  Get the defaulting api registered in the AK AND default
2769     l_attr:=l_attr||' 1';
2770     g_record.SERVICE_PERIOD := ONT_D2_SERVICE_PERIOD.Get_Default_Value(g_record);
2771     l_attr:=l_attr||' 2';
2772   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2773   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2774     l_attr:=l_attr||' 3';
2775     IF NOT OE_GLOBALS.Equal(g_record.service_period, p_in_old_rec.service_period) THEN
2776       IF OE_LINE_SECURITY.SERVICE_PERIOD(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2777       -- Raise error if security returns YES, operation IS CONSTRAINED
2778         RAISE FND_API.G_EXC_ERROR;
2779       END IF;
2780       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2781     END IF;
2782   END IF;
2783   IF g_record.SERVICE_PERIOD IS NOT NULL THEN
2784     l_attr:=l_attr||' 4';
2785     -- Validate defaulted value if not null
2786     IF OE_VALIDATE.SERVICE_PERIOD(g_record.SERVICE_PERIOD) THEN  
2787       -- There is no dependent api registered in the AK dictionary  
2788       NULL;
2789       l_attr:=l_attr||' 5';
2790     ELSE
2791       g_record.SERVICE_PERIOD := NULL;
2792       l_attr:=l_attr||' 6';
2793     END IF;
2794   END IF;
2795 END IF;
2796 l_attr:= 'SERVICE_REFERENCE_LINE_ID';
2797  
2798 IF g_record.SERVICE_REFERENCE_LINE_ID = FND_API.G_MISS_NUM THEN
2799   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2800   g_record.SERVICE_REFERENCE_LINE_ID := NULL;
2801 END IF;
2802 l_attr:= 'SERVICE_REFERENCE_SYSTEM_ID';
2803  
2804 IF g_record.SERVICE_REFERENCE_SYSTEM_ID = FND_API.G_MISS_NUM THEN
2805   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2806   g_record.SERVICE_REFERENCE_SYSTEM_ID := NULL;
2807 END IF;
2808 l_attr:= 'SERVICE_REFERENCE_TYPE_CODE';
2809  
2810 IF g_record.SERVICE_REFERENCE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
2811 --  Get the defaulting api registered in the AK AND default
2812     l_attr:=l_attr||' 1';
2813     g_record.SERVICE_REFERENCE_TYPE_CODE := ONT_D2_SERVICE_REFERENCE_TY.Get_Default_Value(g_record);
2814     l_attr:=l_attr||' 2';
2815   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2816   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2817     l_attr:=l_attr||' 3';
2818     IF NOT OE_GLOBALS.Equal(g_record.service_reference_type_code, p_in_old_rec.service_reference_type_code) THEN
2819       IF OE_LINE_SECURITY.SERVICE_REFERENCE_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2820       -- Raise error if security returns YES, operation IS CONSTRAINED
2821         RAISE FND_API.G_EXC_ERROR;
2822       END IF;
2823       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2824     END IF;
2825   END IF;
2826   IF g_record.SERVICE_REFERENCE_TYPE_CODE IS NOT NULL THEN
2827     l_attr:=l_attr||' 4';
2828     -- Validate defaulted value if not null
2829     IF OE_VALIDATE.SERVICE_REFERENCE_TYPE(g_record.SERVICE_REFERENCE_TYPE_CODE) THEN  
2830       -- There is no dependent api registered in the AK dictionary  
2831       NULL;
2832       l_attr:=l_attr||' 5';
2833     ELSE
2834       g_record.SERVICE_REFERENCE_TYPE_CODE := NULL;
2835       l_attr:=l_attr||' 6';
2836     END IF;
2837   END IF;
2838 END IF;
2839 l_attr:= 'SERVICE_START_DATE';
2840  
2841 IF g_record.SERVICE_START_DATE = FND_API.G_MISS_DATE THEN
2842 --  Get the defaulting api registered in the AK AND default
2843     l_attr:=l_attr||' 1';
2844     g_record.SERVICE_START_DATE := ONT_D2_SERVICE_START_DATE.Get_Default_Value(g_record);
2845     l_attr:=l_attr||' 2';
2846   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2847   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2848     l_attr:=l_attr||' 3';
2849     IF NOT OE_GLOBALS.Equal(g_record.service_start_date, p_in_old_rec.service_start_date) THEN
2850       IF OE_LINE_SECURITY.SERVICE_START_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2851       -- Raise error if security returns YES, operation IS CONSTRAINED
2852         RAISE FND_API.G_EXC_ERROR;
2853       END IF;
2854       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2855     END IF;
2856   END IF;
2857   IF g_record.SERVICE_START_DATE IS NOT NULL THEN
2858     l_attr:=l_attr||' 4';
2859     -- Validate defaulted value if not null
2860     IF OE_VALIDATE.SERVICE_START_DATE(g_record.SERVICE_START_DATE) THEN  
2861       -- There is no dependent api registered in the AK dictionary  
2862       NULL;
2863       l_attr:=l_attr||' 5';
2864     ELSE
2865       g_record.SERVICE_START_DATE := NULL;
2866       l_attr:=l_attr||' 6';
2867     END IF;
2868   END IF;
2869 END IF;
2870 l_attr:= 'SERVICE_SUBS_TEMPLATE_ID';
2871  
2872 IF g_record.SERVICE_SUBS_TEMPLATE_ID = FND_API.G_MISS_NUM THEN
2873 --  Get the defaulting api registered in the AK AND default
2874     l_attr:=l_attr||' 1';
2875     g_record.SERVICE_SUBS_TEMPLATE_ID := ONT_D2_SERVICE_SUBS_TEMPLAT.Get_Default_Value(g_record);
2876     l_attr:=l_attr||' 2';
2877 -- There is no security api registered in the AK dictionary  
2878   IF g_record.SERVICE_SUBS_TEMPLATE_ID IS NOT NULL THEN
2879     l_attr:=l_attr||' 4';
2880     -- Validate defaulted value if not null
2881     IF OE_VALIDATE.SERVICE_SUBS_TEMPLATE_ID(g_record.SERVICE_SUBS_TEMPLATE_ID) THEN  
2882       -- There is no dependent api registered in the AK dictionary  
2883       NULL;
2884       l_attr:=l_attr||' 5';
2885     ELSE
2886       g_record.SERVICE_SUBS_TEMPLATE_ID := NULL;
2887       l_attr:=l_attr||' 6';
2888     END IF;
2889   END IF;
2890 END IF;
2891 l_attr:= 'SERVICE_TXN_COMMENTS';
2892  
2893 IF g_record.SERVICE_TXN_COMMENTS = FND_API.G_MISS_CHAR THEN
2894   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2895   g_record.SERVICE_TXN_COMMENTS := NULL;
2896 END IF;
2897 l_attr:= 'SERVICE_TXN_REASON_CODE';
2898  
2899 IF g_record.SERVICE_TXN_REASON_CODE = FND_API.G_MISS_CHAR THEN
2900   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2901   g_record.SERVICE_TXN_REASON_CODE := NULL;
2902 END IF;
2903 l_attr:= 'SHIP_MODEL_COMPLETE_FLAG';
2904  
2905 IF g_record.SHIP_MODEL_COMPLETE_FLAG = FND_API.G_MISS_CHAR THEN
2906   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2907   g_record.SHIP_MODEL_COMPLETE_FLAG := NULL;
2908 END IF;
2909 l_attr:= 'SHIP_SET_ID';
2910  
2911 IF g_record.SHIP_SET_ID = FND_API.G_MISS_NUM THEN
2912   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2913   g_record.SHIP_SET_ID := NULL;
2914 END IF;
2915 l_attr:= 'SHIP_SET';
2916  
2917 IF g_record.SHIP_SET = FND_API.G_MISS_CHAR THEN
2918   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2919   g_record.SHIP_SET := NULL;
2920 END IF;
2921 l_attr:= 'SHIP_TO_CONTACT_ID';
2922  
2923 IF g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
2924 --  Get the defaulting api registered in the AK AND default
2925     l_attr:=l_attr||' 1';
2926     g_record.SHIP_TO_CONTACT_ID := ONT_D2_SHIP_TO_CONTACT_ID.Get_Default_Value(g_record);
2927     l_attr:=l_attr||' 2';
2928   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2929   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2930     l_attr:=l_attr||' 3';
2931     IF NOT OE_GLOBALS.Equal(g_record.ship_to_contact_id, p_in_old_rec.ship_to_contact_id) THEN
2932       IF OE_LINE_SECURITY.SHIP_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2933       -- Raise error if security returns YES, operation IS CONSTRAINED
2934         RAISE FND_API.G_EXC_ERROR;
2935       END IF;
2936       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2937     END IF;
2938   END IF;
2939   IF g_record.SHIP_TO_CONTACT_ID IS NOT NULL THEN
2940     l_attr:=l_attr||' 4';
2941     -- Validate defaulted value if not null
2942     IF OE_VALIDATE.SHIP_TO_CONTACT(g_record.SHIP_TO_CONTACT_ID) THEN  
2943       -- if valid, clear dependent attributes
2944       OE_LINE_CL_DEP_ATTR.SHIP_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
2945     ELSE
2946       g_record.SHIP_TO_CONTACT_ID := NULL;
2947       l_attr:=l_attr||' 6';
2948     END IF;
2949   END IF;
2950 END IF;
2951 l_attr:= 'SHIP_TOLERANCE_ABOVE';
2952  
2953 IF g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM THEN
2954 --  Get the defaulting api registered in the AK AND default
2955     l_attr:=l_attr||' 1';
2956     g_record.SHIP_TOLERANCE_ABOVE := ONT_D2_SHIP_TOLERANCE_ABOVE.Get_Default_Value(g_record);
2957     l_attr:=l_attr||' 2';
2958   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2959   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2960     l_attr:=l_attr||' 3';
2961     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_above, p_in_old_rec.ship_tolerance_above) THEN
2962       IF OE_LINE_SECURITY.SHIP_TOLERANCE_ABOVE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2963       -- Raise error if security returns YES, operation IS CONSTRAINED
2964         RAISE FND_API.G_EXC_ERROR;
2965       END IF;
2966       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2967     END IF;
2968   END IF;
2969   IF g_record.SHIP_TOLERANCE_ABOVE IS NOT NULL THEN
2970     l_attr:=l_attr||' 4';
2971     -- Validate defaulted value if not null
2972     IF OE_VALIDATE.SHIP_TOLERANCE_ABOVE(g_record.SHIP_TOLERANCE_ABOVE) THEN  
2973       -- There is no dependent api registered in the AK dictionary  
2974       NULL;
2975       l_attr:=l_attr||' 5';
2976     ELSE
2977       g_record.SHIP_TOLERANCE_ABOVE := NULL;
2978       l_attr:=l_attr||' 6';
2979     END IF;
2980   END IF;
2981 END IF;
2982 l_attr:= 'SHIP_TOLERANCE_BELOW';
2983  
2984 IF g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM THEN
2985 --  Get the defaulting api registered in the AK AND default
2986     l_attr:=l_attr||' 1';
2987     g_record.SHIP_TOLERANCE_BELOW := ONT_D2_SHIP_TOLERANCE_BELOW.Get_Default_Value(g_record);
2988     l_attr:=l_attr||' 2';
2989   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2990   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2991     l_attr:=l_attr||' 3';
2992     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_below, p_in_old_rec.ship_tolerance_below) THEN
2993       IF OE_LINE_SECURITY.SHIP_TOLERANCE_BELOW(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2994       -- Raise error if security returns YES, operation IS CONSTRAINED
2995         RAISE FND_API.G_EXC_ERROR;
2996       END IF;
2997       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2998     END IF;
2999   END IF;
3000   IF g_record.SHIP_TOLERANCE_BELOW IS NOT NULL THEN
3001     l_attr:=l_attr||' 4';
3002     -- Validate defaulted value if not null
3003     IF OE_VALIDATE.SHIP_TOLERANCE_BELOW(g_record.SHIP_TOLERANCE_BELOW) THEN  
3004       -- There is no dependent api registered in the AK dictionary  
3005       NULL;
3006       l_attr:=l_attr||' 5';
3007     ELSE
3008       g_record.SHIP_TOLERANCE_BELOW := NULL;
3009       l_attr:=l_attr||' 6';
3010     END IF;
3011   END IF;
3012 END IF;
3013 l_attr:= 'SHIPMENT_NUMBER';
3014  
3015 IF g_record.SHIPMENT_NUMBER = FND_API.G_MISS_NUM THEN
3016   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3017   g_record.SHIPMENT_NUMBER := NULL;
3018 END IF;
3019 l_attr:= 'SHIPMENT_PRIORITY_CODE';
3020  
3021 IF g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR THEN
3022 --  Get the defaulting api registered in the AK AND default
3023     l_attr:=l_attr||' 1';
3024     g_record.SHIPMENT_PRIORITY_CODE := ONT_D2_SHIPMENT_PRIORITY_CO.Get_Default_Value(g_record);
3025     l_attr:=l_attr||' 2';
3026   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3027   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3028     l_attr:=l_attr||' 3';
3029     IF NOT OE_GLOBALS.Equal(g_record.shipment_priority_code, p_in_old_rec.shipment_priority_code) THEN
3030       IF OE_LINE_SECURITY.SHIPMENT_PRIORITY(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3031       -- Raise error if security returns YES, operation IS CONSTRAINED
3032         RAISE FND_API.G_EXC_ERROR;
3033       END IF;
3034       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3035     END IF;
3036   END IF;
3037   IF g_record.SHIPMENT_PRIORITY_CODE IS NOT NULL THEN
3038     l_attr:=l_attr||' 4';
3039     -- Validate defaulted value if not null
3040     IF OE_VALIDATE.SHIPMENT_PRIORITY(g_record.SHIPMENT_PRIORITY_CODE) THEN  
3041       -- There is no dependent api registered in the AK dictionary  
3042       NULL;
3043       l_attr:=l_attr||' 5';
3044     ELSE
3045       g_record.SHIPMENT_PRIORITY_CODE := NULL;
3046       l_attr:=l_attr||' 6';
3047     END IF;
3048   END IF;
3049 END IF;
3050 l_attr:= 'SHIPPED_QUANTITY';
3051  
3052 IF g_record.SHIPPED_QUANTITY = FND_API.G_MISS_NUM THEN
3053   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3054   g_record.SHIPPED_QUANTITY := NULL;
3055 END IF;
3056 l_attr:= 'SHIPPING_INSTRUCTIONS';
3057  
3058 IF g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
3059 --  Get the defaulting api registered in the AK AND default
3060     l_attr:=l_attr||' 1';
3061     g_record.SHIPPING_INSTRUCTIONS := ONT_D2_SHIPPING_INSTRUCTION.Get_Default_Value(g_record);
3062     l_attr:=l_attr||' 2';
3063 -- There is no security api registered in the AK dictionary  
3064   IF g_record.SHIPPING_INSTRUCTIONS IS NOT NULL THEN
3065     l_attr:=l_attr||' 4';
3066     -- Validate defaulted value if not null
3067     IF OE_VALIDATE.SHIPPING_INSTRUCTIONS(g_record.SHIPPING_INSTRUCTIONS) THEN  
3068       -- There is no dependent api registered in the AK dictionary  
3069       NULL;
3070       l_attr:=l_attr||' 5';
3071     ELSE
3072       g_record.SHIPPING_INSTRUCTIONS := NULL;
3073       l_attr:=l_attr||' 6';
3074     END IF;
3075   END IF;
3076 END IF;
3077 l_attr:= 'SHIPPING_INTERFACED_FLAG';
3078  
3079 IF g_record.SHIPPING_INTERFACED_FLAG = FND_API.G_MISS_CHAR THEN
3080   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3081   g_record.SHIPPING_INTERFACED_FLAG := NULL;
3082 END IF;
3083 l_attr:= 'SHIPPING_METHOD_CODE';
3084  
3085 IF g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR THEN
3086 --  Get the defaulting api registered in the AK AND default
3087     l_attr:=l_attr||' 1';
3088     g_record.SHIPPING_METHOD_CODE := ONT_D2_SHIPPING_METHOD_CODE.Get_Default_Value(g_record);
3089     l_attr:=l_attr||' 2';
3090 -- There is no security api registered in the AK dictionary  
3091   IF g_record.SHIPPING_METHOD_CODE IS NOT NULL THEN
3092     l_attr:=l_attr||' 4';
3093     -- Validate defaulted value if not null
3094     IF OE_VALIDATE.SHIPPING_METHOD(g_record.SHIPPING_METHOD_CODE) THEN  
3095       -- There is no dependent api registered in the AK dictionary  
3096       NULL;
3097       l_attr:=l_attr||' 5';
3098     ELSE
3099       g_record.SHIPPING_METHOD_CODE := NULL;
3100       l_attr:=l_attr||' 6';
3101     END IF;
3102   END IF;
3103 END IF;
3104 l_attr:= 'SHIPPING_QUANTITY';
3105  
3106 IF g_record.SHIPPING_QUANTITY = FND_API.G_MISS_NUM THEN
3107   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3108   g_record.SHIPPING_QUANTITY := NULL;
3109 END IF;
3110 l_attr:= 'SHIPPING_QUANTITY_UOM';
3111  
3112 IF g_record.SHIPPING_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
3113   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3114   g_record.SHIPPING_QUANTITY_UOM := NULL;
3115 END IF;
3116 l_attr:= 'SORT_ORDER';
3117  
3118 IF g_record.SORT_ORDER = FND_API.G_MISS_CHAR THEN
3119   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3120   g_record.SORT_ORDER := NULL;
3121 END IF;
3122 l_attr:= 'SOURCE_DOCUMENT_ID';
3123  
3124 IF g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM THEN
3125   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3126   g_record.SOURCE_DOCUMENT_ID := NULL;
3127 END IF;
3128 l_attr:= 'SOURCE_DOCUMENT_LINE_ID';
3129  
3130 IF g_record.SOURCE_DOCUMENT_LINE_ID = FND_API.G_MISS_NUM THEN
3131   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3132   g_record.SOURCE_DOCUMENT_LINE_ID := NULL;
3133 END IF;
3134 l_attr:= 'SOURCE_DOCUMENT_TYPE_ID';
3135  
3136 IF g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM THEN
3137   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3138   g_record.SOURCE_DOCUMENT_TYPE_ID := NULL;
3139 END IF;
3140 l_attr:= 'SOURCE_DOCUMENT_VERSION_NUMBER';
3141  
3142 IF g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM THEN
3143   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3144   g_record.SOURCE_DOCUMENT_VERSION_NUMBER := NULL;
3145 END IF;
3146 l_attr:= 'SOURCE_TYPE_CODE';
3147  
3148 IF g_record.SOURCE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
3149 --  Get the defaulting api registered in the AK AND default
3150     l_attr:=l_attr||' 1';
3151     g_record.SOURCE_TYPE_CODE := ONT_D2_SOURCE_TYPE_CODE.Get_Default_Value(g_record);
3152     l_attr:=l_attr||' 2';
3153   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3154   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3155     l_attr:=l_attr||' 3';
3156     IF NOT OE_GLOBALS.Equal(g_record.source_type_code, p_in_old_rec.source_type_code) THEN
3157       IF OE_LINE_SECURITY.SOURCE_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3158       -- Raise error if security returns YES, operation IS CONSTRAINED
3159         RAISE FND_API.G_EXC_ERROR;
3160       END IF;
3161       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3162     END IF;
3163   END IF;
3164   IF g_record.SOURCE_TYPE_CODE IS NOT NULL THEN
3165     l_attr:=l_attr||' 4';
3166     -- Validate defaulted value if not null
3167     IF OE_VALIDATE.SOURCE_TYPE(g_record.SOURCE_TYPE_CODE) THEN  
3168       -- There is no dependent api registered in the AK dictionary  
3169       NULL;
3170       l_attr:=l_attr||' 5';
3171     ELSE
3172       g_record.SOURCE_TYPE_CODE := NULL;
3173       l_attr:=l_attr||' 6';
3174     END IF;
3175   END IF;
3176 END IF;
3177 l_attr:= 'SPLIT_BY';
3178  
3179 IF g_record.SPLIT_BY = FND_API.G_MISS_CHAR THEN
3180   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3181   g_record.SPLIT_BY := NULL;
3182 END IF;
3183 l_attr:= 'SPLIT_FROM_LINE_ID';
3184  
3185 IF g_record.SPLIT_FROM_LINE_ID = FND_API.G_MISS_NUM THEN
3186   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3187   g_record.SPLIT_FROM_LINE_ID := NULL;
3188 END IF;
3189 l_attr:= 'SUBINVENTORY';
3190  
3191 IF g_record.SUBINVENTORY = FND_API.G_MISS_CHAR THEN
3192 --  Get the defaulting api registered in the AK AND default
3193     l_attr:=l_attr||' 1';
3194     g_record.SUBINVENTORY := ONT_D2_SUBINVENTORY.Get_Default_Value(g_record);
3195     l_attr:=l_attr||' 2';
3196 -- There is no security api registered in the AK dictionary  
3197   IF g_record.SUBINVENTORY IS NOT NULL THEN
3198     l_attr:=l_attr||' 4';
3199     -- Validate defaulted value if not null
3200     IF OE_VALIDATE.SUBINVENTORY(g_record.SUBINVENTORY) THEN  
3201       -- There is no dependent api registered in the AK dictionary  
3202       NULL;
3203       l_attr:=l_attr||' 5';
3204     ELSE
3205       g_record.SUBINVENTORY := NULL;
3206       l_attr:=l_attr||' 6';
3207     END IF;
3208   END IF;
3209 END IF;
3210 l_attr:= 'SUBSCRIPTION_ENABLE_FLAG';
3211  
3212 IF g_record.SUBSCRIPTION_ENABLE_FLAG = FND_API.G_MISS_CHAR THEN
3213   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3214   g_record.SUBSCRIPTION_ENABLE_FLAG := NULL;
3215 END IF;
3216 l_attr:= 'TASK_ID';
3217  
3218 IF g_record.TASK_ID = FND_API.G_MISS_NUM THEN
3219   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3220   g_record.TASK_ID := NULL;
3221 END IF;
3222 l_attr:= 'TAX_EXEMPT_NUMBER';
3223  
3224 IF g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR THEN
3225 --  Get the defaulting api registered in the AK AND default
3226     l_attr:=l_attr||' 1';
3227     g_record.TAX_EXEMPT_NUMBER := ONT_D2_TAX_EXEMPT_NUMBER.Get_Default_Value(g_record);
3228     l_attr:=l_attr||' 2';
3229   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3230   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3231     l_attr:=l_attr||' 3';
3232     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_number, p_in_old_rec.tax_exempt_number) THEN
3233       IF OE_LINE_SECURITY.TAX_EXEMPT_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3234       -- Raise error if security returns YES, operation IS CONSTRAINED
3235         RAISE FND_API.G_EXC_ERROR;
3236       END IF;
3237       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3238     END IF;
3239   END IF;
3240   IF g_record.TAX_EXEMPT_NUMBER IS NOT NULL THEN
3241     l_attr:=l_attr||' 4';
3242     -- Validate defaulted value if not null
3243     IF OE_VALIDATE.TAX_EXEMPT_NUMBER(g_record.TAX_EXEMPT_NUMBER) THEN  
3244       -- There is no dependent api registered in the AK dictionary  
3245       NULL;
3246       l_attr:=l_attr||' 5';
3247     ELSE
3248       g_record.TAX_EXEMPT_NUMBER := NULL;
3249       l_attr:=l_attr||' 6';
3250     END IF;
3251   END IF;
3252 END IF;
3253 l_attr:= 'TAX_EXEMPT_REASON_CODE';
3254  
3255 IF g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR THEN
3256 --  Get the defaulting api registered in the AK AND default
3257     l_attr:=l_attr||' 1';
3258     g_record.TAX_EXEMPT_REASON_CODE := ONT_D2_TAX_EXEMPT_REASON_CO.Get_Default_Value(g_record);
3259     l_attr:=l_attr||' 2';
3260   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3261   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3262     l_attr:=l_attr||' 3';
3263     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_reason_code, p_in_old_rec.tax_exempt_reason_code) THEN
3264       IF OE_LINE_SECURITY.TAX_EXEMPT_REASON(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3265       -- Raise error if security returns YES, operation IS CONSTRAINED
3266         RAISE FND_API.G_EXC_ERROR;
3267       END IF;
3268       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3269     END IF;
3270   END IF;
3271   IF g_record.TAX_EXEMPT_REASON_CODE IS NOT NULL THEN
3272     l_attr:=l_attr||' 4';
3273     -- Validate defaulted value if not null
3274     IF OE_VALIDATE.TAX_EXEMPT_REASON(g_record.TAX_EXEMPT_REASON_CODE) THEN  
3275       -- There is no dependent api registered in the AK dictionary  
3276       NULL;
3277       l_attr:=l_attr||' 5';
3278     ELSE
3279       g_record.TAX_EXEMPT_REASON_CODE := NULL;
3280       l_attr:=l_attr||' 6';
3281     END IF;
3282   END IF;
3283 END IF;
3284 l_attr:= 'TAX_POINT_CODE';
3285  
3286 IF g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR THEN
3287   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3288   g_record.TAX_POINT_CODE := NULL;
3289 END IF;
3290 l_attr:= 'TAX_RATE';
3291  
3292 IF g_record.TAX_RATE = FND_API.G_MISS_NUM THEN
3293   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3294   g_record.TAX_RATE := NULL;
3295 END IF;
3296 l_attr:= 'TAX_VALUE';
3297  
3298 IF g_record.TAX_VALUE = FND_API.G_MISS_NUM THEN
3299   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3300   g_record.TAX_VALUE := NULL;
3301 END IF;
3302 l_attr:= 'TOP_MODEL_LINE_ID';
3303  
3304 IF g_record.TOP_MODEL_LINE_ID = FND_API.G_MISS_NUM THEN
3305   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3306   g_record.TOP_MODEL_LINE_ID := NULL;
3307 END IF;
3308 l_attr:= 'TRANSACTION_PHASE_CODE';
3309  
3310 IF g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR THEN
3311   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3312   g_record.TRANSACTION_PHASE_CODE := NULL;
3313 END IF;
3314 l_attr:= 'UNIT_LIST_PERCENT';
3315  
3316 IF g_record.UNIT_LIST_PERCENT = FND_API.G_MISS_NUM THEN
3317   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3318   g_record.UNIT_LIST_PERCENT := NULL;
3319 END IF;
3320 l_attr:= 'UNIT_LIST_PRICE';
3321  
3322 IF g_record.UNIT_LIST_PRICE = FND_API.G_MISS_NUM THEN
3323   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3324   g_record.UNIT_LIST_PRICE := NULL;
3325 END IF;
3326 l_attr:= 'UNIT_PERCENT_BASE_PRICE';
3327  
3328 IF g_record.UNIT_PERCENT_BASE_PRICE = FND_API.G_MISS_NUM THEN
3329   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3330   g_record.UNIT_PERCENT_BASE_PRICE := NULL;
3331 END IF;
3332 l_attr:= 'UNIT_SELLING_PERCENT';
3333  
3334 IF g_record.UNIT_SELLING_PERCENT = FND_API.G_MISS_NUM THEN
3335   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3336   g_record.UNIT_SELLING_PERCENT := NULL;
3337 END IF;
3338 l_attr:= 'UNIT_SELLING_PRICE';
3339  
3340 IF g_record.UNIT_SELLING_PRICE = FND_API.G_MISS_NUM THEN
3341   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3342   g_record.UNIT_SELLING_PRICE := NULL;
3343 END IF;
3344 l_attr:= 'UPGRADED_FLAG';
3345  
3346 IF g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR THEN
3347   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3348   g_record.UPGRADED_FLAG := NULL;
3349 END IF;
3350 l_attr:= 'USER_ITEM_DESCRIPTION';
3351  
3352 IF g_record.USER_ITEM_DESCRIPTION = FND_API.G_MISS_CHAR THEN
3353   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3354   g_record.USER_ITEM_DESCRIPTION := NULL;
3355 END IF;
3356 l_attr:= 'VEH_CUS_ITEM_CUM_KEY_ID';
3357  
3358 IF g_record.VEH_CUS_ITEM_CUM_KEY_ID = FND_API.G_MISS_NUM THEN
3359   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3360   g_record.VEH_CUS_ITEM_CUM_KEY_ID := NULL;
3361 END IF;
3362 l_attr:= 'VISIBLE_DEMAND_FLAG';
3363  
3364 IF g_record.VISIBLE_DEMAND_FLAG = FND_API.G_MISS_CHAR THEN
3365   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3366   g_record.VISIBLE_DEMAND_FLAG := NULL;
3367 END IF;
3368  
3369     --  CHeck if there are any missing values for attrs
3370     --  If there are any missing call Default_Record again AND repeat till all the values 
3371     --  are defaulted or till the max. iterations are reached
3372  
3373      IF( 
3374       (g_record.LINE_TYPE_ID =FND_API.G_MISS_NUM)  
3375      OR (g_record.AGREEMENT_ID = FND_API.G_MISS_NUM)  
3376      OR (g_record.SOLD_TO_ORG_ID = FND_API.G_MISS_NUM)  
3377      OR (g_record.SHIP_TO_ORG_ID = FND_API.G_MISS_NUM)  
3378      OR (g_record.INVOICE_TO_ORG_ID = FND_API.G_MISS_NUM)  
3379      OR (g_record.DELIVER_TO_ORG_ID = FND_API.G_MISS_NUM)  
3380      OR (g_record.REQUEST_DATE = FND_API.G_MISS_DATE)  
3381      OR (g_record.SCHEDULE_SHIP_DATE = FND_API.G_MISS_DATE)  
3382      OR (g_record.PROMISE_DATE = FND_API.G_MISS_DATE)  
3383      OR (g_record.TAX_DATE = FND_API.G_MISS_DATE)  
3384      OR (g_record.TAX_CODE = FND_API.G_MISS_CHAR)  
3385      OR (g_record.TAX_EXEMPT_FLAG = FND_API.G_MISS_CHAR)  
3386      OR (g_record.SHIP_FROM_ORG_ID = FND_API.G_MISS_NUM)  
3387      OR (g_record.ATO_LINE_ID = FND_API.G_MISS_NUM)  
3388      OR (g_record.ACCOUNTING_RULE_ID = FND_API.G_MISS_NUM)  
3389      OR (g_record.ACCOUNTING_RULE_DURATION = FND_API.G_MISS_NUM)  
3390      OR (g_record.ACTUAL_ARRIVAL_DATE = FND_API.G_MISS_DATE)  
3391      OR (g_record.ACTUAL_FULFILLMENT_DATE = FND_API.G_MISS_DATE)  
3392      OR (g_record.ACTUAL_SHIPMENT_DATE = FND_API.G_MISS_DATE)  
3393      OR (g_record.ARRIVAL_SET_ID = FND_API.G_MISS_NUM)  
3394      OR (g_record.ARRIVAL_SET = FND_API.G_MISS_CHAR)  
3395      OR (g_record.ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3396      OR (g_record.ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3397      OR (g_record.ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3398      OR (g_record.ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3399      OR (g_record.ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3400      OR (g_record.ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3401      OR (g_record.ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3402      OR (g_record.ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3403      OR (g_record.ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3404      OR (g_record.ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3405      OR (g_record.ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3406      OR (g_record.ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3407      OR (g_record.ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3408      OR (g_record.ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3409      OR (g_record.ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3410      OR (g_record.ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3411      OR (g_record.ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3412      OR (g_record.ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3413      OR (g_record.ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3414      OR (g_record.ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3415      OR (g_record.AUTHORIZED_TO_SHIP_FLAG = FND_API.G_MISS_CHAR)  
3416      OR (g_record.AUTO_SELECTED_QUANTITY = FND_API.G_MISS_NUM)  
3417      OR (g_record.INVOICE_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3418      OR (g_record.BOOKED_FLAG = FND_API.G_MISS_CHAR)  
3419      OR (g_record.CALCULATE_PRICE_FLAG = FND_API.G_MISS_CHAR)  
3420      OR (g_record.CANCELLED_FLAG = FND_API.G_MISS_CHAR)  
3421      OR (g_record.CANCELLED_QUANTITY = FND_API.G_MISS_NUM)  
3422      OR (g_record.CHANGE_COMMENTS = FND_API.G_MISS_CHAR)  
3423      OR (g_record.CHANGE_REASON = FND_API.G_MISS_CHAR)  
3424      OR (g_record.CHARGE_PERIODICITY_CODE = FND_API.G_MISS_CHAR)  
3425      OR (g_record.COMMITMENT_ID = FND_API.G_MISS_NUM)  
3426      OR (g_record.COMPONENT_CODE = FND_API.G_MISS_CHAR)  
3427      OR (g_record.COMPONENT_NUMBER = FND_API.G_MISS_NUM)  
3428      OR (g_record.COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM)  
3429      OR (g_record.CONFIG_DISPLAY_SEQUENCE = FND_API.G_MISS_NUM)  
3430      OR (g_record.CONFIG_HEADER_ID = FND_API.G_MISS_NUM)  
3431      OR (g_record.CONFIG_REV_NBR = FND_API.G_MISS_NUM)  
3432      OR (g_record.CONFIGURATION_ID = FND_API.G_MISS_NUM)  
3433      OR (g_record.CONTEXT = FND_API.G_MISS_CHAR)  
3434      OR (g_record.CONTINGENCY_ID = FND_API.G_MISS_NUM)  
3435      OR (g_record.CREATED_BY = FND_API.G_MISS_NUM)  
3436      OR (g_record.CREATION_DATE = FND_API.G_MISS_DATE)  
3437      OR (g_record.CREDIT_INVOICE_LINE_ID = FND_API.G_MISS_NUM)  
3438      OR (g_record.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR)  
3439      OR (g_record.CUST_MODEL_SERIAL_NUMBER = FND_API.G_MISS_CHAR)  
3440      OR (g_record.CUSTOMER_DOCK_CODE = FND_API.G_MISS_CHAR)  
3441      OR (g_record.CUSTOMER_JOB = FND_API.G_MISS_CHAR)  
3442      OR (g_record.CUST_PO_NUMBER = FND_API.G_MISS_CHAR)  
3443      OR (g_record.CUSTOMER_LINE_NUMBER = FND_API.G_MISS_CHAR)  
3444      OR (g_record.CUSTOMER_PRODUCTION_LINE = FND_API.G_MISS_CHAR)  
3445      OR (g_record.CUST_PRODUCTION_SEQ_NUM = FND_API.G_MISS_CHAR)  
3446      OR (g_record.CUSTOMER_SHIPMENT_NUMBER = FND_API.G_MISS_CHAR)  
3447      OR (g_record.CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM)  
3448      OR (g_record.DB_FLAG = FND_API.G_MISS_CHAR)  
3449      OR (g_record.DELIVER_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3450      OR (g_record.DELIVERY_LEAD_TIME = FND_API.G_MISS_NUM)  
3451      OR (g_record.DEMAND_BUCKET_TYPE_CODE = FND_API.G_MISS_CHAR)  
3452      OR (g_record.DEMAND_CLASS_CODE = FND_API.G_MISS_CHAR)  
3453      OR (g_record.DEP_PLAN_REQUIRED_FLAG = FND_API.G_MISS_CHAR)  
3454      OR (g_record.EARLIEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE)  
3455      OR (g_record.END_CUSTOMER_ID = FND_API.G_MISS_NUM)  
3456      OR (g_record.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM)  
3457      OR (g_record.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM)  
3458      OR (g_record.END_ITEM_UNIT_NUMBER = FND_API.G_MISS_CHAR)  
3459      OR (g_record.EXPLOSION_DATE = FND_API.G_MISS_DATE)  
3460      OR (g_record.FOB_POINT_CODE = FND_API.G_MISS_CHAR)  
3461      OR (g_record.FIRST_ACK_CODE = FND_API.G_MISS_CHAR)  
3462      OR (g_record.FIRST_ACK_DATE = FND_API.G_MISS_DATE)  
3463      OR (g_record.FREIGHT_CARRIER_CODE = FND_API.G_MISS_CHAR)  
3464      OR (g_record.FREIGHT_TERMS_CODE = FND_API.G_MISS_CHAR)  
3465      OR (g_record.FULFILLED_FLAG = FND_API.G_MISS_CHAR)  
3466      OR (g_record.FULFILLED_QUANTITY = FND_API.G_MISS_NUM)  
3467      OR (g_record.FULFILLMENT_DATE = FND_API.G_MISS_DATE)  
3468      OR (g_record.FULFILLMENT_METHOD_CODE = FND_API.G_MISS_CHAR)  
3469      OR (g_record.GLOBAL_ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR)  
3470      OR (g_record.GLOBAL_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3471      OR (g_record.GLOBAL_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3472      OR (g_record.GLOBAL_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3473      OR (g_record.GLOBAL_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3474      OR (g_record.GLOBAL_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3475      OR (g_record.GLOBAL_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3476      OR (g_record.GLOBAL_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3477      OR (g_record.GLOBAL_ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3478      OR (g_record.GLOBAL_ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3479      OR (g_record.GLOBAL_ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3480      OR (g_record.GLOBAL_ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3481      OR (g_record.GLOBAL_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3482      OR (g_record.GLOBAL_ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3483      OR (g_record.GLOBAL_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3484      OR (g_record.GLOBAL_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3485      OR (g_record.GLOBAL_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3486      OR (g_record.GLOBAL_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3487      OR (g_record.GLOBAL_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3488      OR (g_record.GLOBAL_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3489      OR (g_record.GLOBAL_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3490      OR (g_record.PREFERRED_GRADE = FND_API.G_MISS_CHAR)  
3491      OR (g_record.HEADER_ID = FND_API.G_MISS_NUM)  
3492      OR (g_record.INDUSTRY_ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3493      OR (g_record.INDUSTRY_ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3494      OR (g_record.INDUSTRY_ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3495      OR (g_record.INDUSTRY_ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3496      OR (g_record.INDUSTRY_ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3497      OR (g_record.INDUSTRY_ATTRIBUTE21 = FND_API.G_MISS_CHAR)  
3498      OR (g_record.INDUSTRY_ATTRIBUTE22 = FND_API.G_MISS_CHAR)  
3499      OR (g_record.INDUSTRY_ATTRIBUTE23 = FND_API.G_MISS_CHAR)  
3500      OR (g_record.INDUSTRY_ATTRIBUTE24 = FND_API.G_MISS_CHAR)  
3501      OR (g_record.INDUSTRY_ATTRIBUTE25 = FND_API.G_MISS_CHAR)  
3502      OR (g_record.INDUSTRY_ATTRIBUTE26 = FND_API.G_MISS_CHAR)  
3503      OR (g_record.INDUSTRY_ATTRIBUTE27 = FND_API.G_MISS_CHAR)  
3504      OR (g_record.INDUSTRY_ATTRIBUTE28 = FND_API.G_MISS_CHAR)  
3505      OR (g_record.INDUSTRY_ATTRIBUTE29 = FND_API.G_MISS_CHAR)  
3506      OR (g_record.INDUSTRY_ATTRIBUTE30 = FND_API.G_MISS_CHAR)  
3507      OR (g_record.INDUSTRY_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3508      OR (g_record.INDUSTRY_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3509      OR (g_record.INDUSTRY_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3510      OR (g_record.INDUSTRY_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3511      OR (g_record.INDUSTRY_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3512      OR (g_record.INDUSTRY_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3513      OR (g_record.INDUSTRY_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3514      OR (g_record.INDUSTRY_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3515      OR (g_record.INDUSTRY_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3516      OR (g_record.INDUSTRY_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3517      OR (g_record.INDUSTRY_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3518      OR (g_record.INDUSTRY_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3519      OR (g_record.INDUSTRY_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3520      OR (g_record.INDUSTRY_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3521      OR (g_record.INDUSTRY_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3522      OR (g_record.INDUSTRY_CONTEXT = FND_API.G_MISS_CHAR)  
3523      OR (g_record.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR)  
3524      OR (g_record.INTERMED_SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3525      OR (g_record.INTERMED_SHIP_TO_ORG_ID = FND_API.G_MISS_NUM)  
3526      OR (g_record.INVENTORY_ITEM_ID = FND_API.G_MISS_NUM)  
3527      OR (g_record.INVOICE_INTERFACE_STATUS_CODE = FND_API.G_MISS_CHAR)  
3528      OR (g_record.INVOICED_QUANTITY = FND_API.G_MISS_NUM)  
3529      OR (g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM)  
3530      OR (g_record.ITEM_IDENTIFIER_TYPE = FND_API.G_MISS_CHAR)  
3531      OR (g_record.ITEM_REVISION = FND_API.G_MISS_CHAR)  
3532      OR (g_record.ITEM_TYPE_CODE = FND_API.G_MISS_CHAR)  
3533      OR (g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR)  
3534      OR (g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE)  
3535      OR (g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE)  
3536      OR (g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM)  
3537      OR (g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM)  
3538      OR (g_record.LATEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE)  
3539      OR (g_record.LINE_ID = FND_API.G_MISS_NUM)  
3540      OR (g_record.LINE_CATEGORY_CODE = FND_API.G_MISS_CHAR)  
3541      OR (g_record.LINE_NUMBER = FND_API.G_MISS_NUM)  
3542      OR (g_record.LINE_SET_ID = FND_API.G_MISS_NUM)  
3543      OR (g_record.LINK_TO_LINE_ID = FND_API.G_MISS_NUM)  
3544      OR (g_record.MFG_COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM)  
3545      OR (g_record.MODEL_GROUP_NUMBER = FND_API.G_MISS_NUM)  
3546      OR (g_record.OPEN_FLAG = FND_API.G_MISS_CHAR)  
3547      OR (g_record.OPERATION = FND_API.G_MISS_CHAR)  
3548      OR (g_record.OPTION_FLAG = FND_API.G_MISS_CHAR)  
3549      OR (g_record.OPTION_NUMBER = FND_API.G_MISS_NUM)  
3550      OR (g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE)  
3551      OR (g_record.ORDER_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3552      OR (g_record.ORDERED_ITEM = FND_API.G_MISS_CHAR)  
3553      OR (g_record.ORDERED_ITEM_ID = FND_API.G_MISS_NUM)  
3554      OR (g_record.ORDERED_QUANTITY = FND_API.G_MISS_NUM)  
3555      OR (g_record.ORG_ID = FND_API.G_MISS_NUM)  
3556      OR (g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR)  
3557      OR (g_record.ORIG_SYS_LINE_REF = FND_API.G_MISS_CHAR)  
3558      OR (g_record.OVER_SHIP_REASON_CODE = FND_API.G_MISS_CHAR)  
3559      OR (g_record.OVER_SHIP_RESOLVED_FLAG = FND_API.G_MISS_CHAR)  
3560      OR (g_record.IB_OWNER = FND_API.G_MISS_CHAR)  
3561      OR (g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
3562      OR (g_record.PARTY_TYPE = FND_API.G_MISS_CHAR)  
3563      OR (g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM)  
3564      OR (g_record.PLANNING_PRIORITY = FND_API.G_MISS_NUM)  
3565      OR (g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM)  
3566      OR (g_record.PRICING_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3567      OR (g_record.PRICING_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3568      OR (g_record.PRICING_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3569      OR (g_record.PRICING_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3570      OR (g_record.PRICING_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3571      OR (g_record.PRICING_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3572      OR (g_record.PRICING_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3573      OR (g_record.PRICING_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3574      OR (g_record.PRICING_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3575      OR (g_record.PRICING_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3576      OR (g_record.PRICING_CONTEXT = FND_API.G_MISS_CHAR)  
3577      OR (g_record.PRICING_DATE = FND_API.G_MISS_DATE)  
3578      OR (g_record.PRICING_QUANTITY = FND_API.G_MISS_NUM)  
3579      OR (g_record.PRICING_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3580      OR (g_record.PROGRAM_ID = FND_API.G_MISS_NUM)  
3581      OR (g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM)  
3582      OR (g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE)  
3583      OR (g_record.PROJECT_ID = FND_API.G_MISS_NUM)  
3584      OR (g_record.REFERENCE_CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM)  
3585      OR (g_record.REFERENCE_HEADER_ID = FND_API.G_MISS_NUM)  
3586      OR (g_record.REFERENCE_LINE_ID = FND_API.G_MISS_NUM)  
3587      OR (g_record.REFERENCE_TYPE = FND_API.G_MISS_CHAR)  
3588      OR (g_record.REQUEST_ID = FND_API.G_MISS_NUM)  
3589      OR (g_record.RESERVED_QUANTITY = FND_API.G_MISS_NUM)  
3590      OR (g_record.RETROBILL_REQUEST_ID = FND_API.G_MISS_NUM)  
3591      OR (g_record.RETURN_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3592      OR (g_record.RETURN_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3593      OR (g_record.RETURN_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3594      OR (g_record.RETURN_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3595      OR (g_record.RETURN_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3596      OR (g_record.RETURN_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3597      OR (g_record.RETURN_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3598      OR (g_record.RETURN_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3599      OR (g_record.RETURN_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3600      OR (g_record.RETURN_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3601      OR (g_record.RETURN_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3602      OR (g_record.RETURN_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3603      OR (g_record.RETURN_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3604      OR (g_record.RETURN_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3605      OR (g_record.RETURN_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3606      OR (g_record.RETURN_CONTEXT = FND_API.G_MISS_CHAR)  
3607      OR (g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR)  
3608      OR (g_record.RETURN_STATUS = FND_API.G_MISS_CHAR)  
3609      OR (g_record.REVENUE_AMOUNT = FND_API.G_MISS_NUM)  
3610      OR (g_record.REVREC_EXPIRATION_DAYS = FND_API.G_MISS_NUM)  
3611      OR (g_record.RLA_SCHEDULE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3612      OR (g_record.BLANKET_LINE_NUMBER = FND_API.G_MISS_NUM)  
3613      OR (g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM)  
3614      OR (g_record.BLANKET_VERSION_NUMBER = FND_API.G_MISS_NUM)  
3615      OR (g_record.SALESREP_ID = FND_API.G_MISS_NUM)  
3616      OR (g_record.SCHEDULE_ACTION_CODE = FND_API.G_MISS_CHAR)  
3617      OR (g_record.SCHEDULE_ARRIVAL_DATE = FND_API.G_MISS_DATE)  
3618      OR (g_record.SCHEDULE_STATUS_CODE = FND_API.G_MISS_CHAR)  
3619      OR (g_record.CANCELLED_QUANTITY2 = FND_API.G_MISS_NUM)  
3620      OR (g_record.FULFILLED_QUANTITY2 = FND_API.G_MISS_NUM)  
3621      OR (g_record.ORDERED_QUANTITY2 = FND_API.G_MISS_NUM)  
3622      OR (g_record.SHIPPED_QUANTITY2 = FND_API.G_MISS_NUM)  
3623      OR (g_record.SHIPPING_QUANTITY2 = FND_API.G_MISS_NUM)  
3624      OR (g_record.SHIPPING_QUANTITY_UOM2 = FND_API.G_MISS_CHAR)  
3625      OR (g_record.ORDERED_QUANTITY_UOM2 = FND_API.G_MISS_CHAR)  
3626      OR (g_record.SERVICE_BILL_OPTION_CODE = FND_API.G_MISS_CHAR)  
3627      OR (g_record.SERVICE_BILL_PROFILE_ID = FND_API.G_MISS_NUM)  
3628      OR (g_record.SERVICE_COTERMINATE_FLAG = FND_API.G_MISS_CHAR)  
3629      OR (g_record.SERVICE_COV_TEMPLATE_ID = FND_API.G_MISS_NUM)  
3630      OR (g_record.SERVICE_DURATION = FND_API.G_MISS_NUM)  
3631      OR (g_record.SERVICE_END_DATE = FND_API.G_MISS_DATE)  
3632      OR (g_record.SERVICE_NUMBER = FND_API.G_MISS_NUM)  
3633      OR (g_record.SERVICE_PERIOD = FND_API.G_MISS_CHAR)  
3634      OR (g_record.SERVICE_REFERENCE_LINE_ID = FND_API.G_MISS_NUM)  
3635      OR (g_record.SERVICE_REFERENCE_SYSTEM_ID = FND_API.G_MISS_NUM)  
3636      OR (g_record.SERVICE_REFERENCE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3637      OR (g_record.SERVICE_START_DATE = FND_API.G_MISS_DATE)  
3638      OR (g_record.SERVICE_SUBS_TEMPLATE_ID = FND_API.G_MISS_NUM)  
3639      OR (g_record.SERVICE_TXN_COMMENTS = FND_API.G_MISS_CHAR)  
3640      OR (g_record.SERVICE_TXN_REASON_CODE = FND_API.G_MISS_CHAR)  
3641      OR (g_record.SHIP_MODEL_COMPLETE_FLAG = FND_API.G_MISS_CHAR)  
3642      OR (g_record.SHIP_SET_ID = FND_API.G_MISS_NUM)  
3643      OR (g_record.SHIP_SET = FND_API.G_MISS_CHAR)  
3644      OR (g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3645      OR (g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM)  
3646      OR (g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM)  
3647      OR (g_record.SHIPMENT_NUMBER = FND_API.G_MISS_NUM)  
3648      OR (g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR)  
3649      OR (g_record.SHIPPED_QUANTITY = FND_API.G_MISS_NUM)  
3650      OR (g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
3651      OR (g_record.SHIPPING_INTERFACED_FLAG = FND_API.G_MISS_CHAR)  
3652      OR (g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR)  
3653      OR (g_record.SHIPPING_QUANTITY = FND_API.G_MISS_NUM)  
3654      OR (g_record.SHIPPING_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3655      OR (g_record.SORT_ORDER = FND_API.G_MISS_CHAR)  
3656      OR (g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM)  
3657      OR (g_record.SOURCE_DOCUMENT_LINE_ID = FND_API.G_MISS_NUM)  
3658      OR (g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM)  
3659      OR (g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM)  
3660      OR (g_record.SOURCE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3661      OR (g_record.SPLIT_BY = FND_API.G_MISS_CHAR)  
3662      OR (g_record.SPLIT_FROM_LINE_ID = FND_API.G_MISS_NUM)  
3663      OR (g_record.SUBINVENTORY = FND_API.G_MISS_CHAR)  
3664      OR (g_record.SUBSCRIPTION_ENABLE_FLAG = FND_API.G_MISS_CHAR)  
3665      OR (g_record.TASK_ID = FND_API.G_MISS_NUM)  
3666      OR (g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR)  
3667      OR (g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR)  
3668      OR (g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR)  
3669      OR (g_record.TAX_RATE = FND_API.G_MISS_NUM)  
3670      OR (g_record.TAX_VALUE = FND_API.G_MISS_NUM)  
3671      OR (g_record.TOP_MODEL_LINE_ID = FND_API.G_MISS_NUM)  
3672      OR (g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR)  
3673      OR (g_record.UNIT_LIST_PERCENT = FND_API.G_MISS_NUM)  
3674      OR (g_record.UNIT_LIST_PRICE = FND_API.G_MISS_NUM)  
3675      OR (g_record.UNIT_PERCENT_BASE_PRICE = FND_API.G_MISS_NUM)  
3676      OR (g_record.UNIT_SELLING_PERCENT = FND_API.G_MISS_NUM)  
3677      OR (g_record.UNIT_SELLING_PRICE = FND_API.G_MISS_NUM)  
3678      OR (g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR)  
3679      OR (g_record.USER_ITEM_DESCRIPTION = FND_API.G_MISS_CHAR)  
3680      OR (g_record.VEH_CUS_ITEM_CUM_KEY_ID = FND_API.G_MISS_NUM)  
3681      OR (g_record.VISIBLE_DEMAND_FLAG = FND_API.G_MISS_CHAR)  
3682     ) THEN   
3683     ONT_LINE_Def_Hdlr.Default_Record(
3684      p_x_rec => g_record,
3685      p_initial_rec => p_initial_rec,
3686      p_in_old_rec => p_in_old_rec,
3687       p_iteration => p_iteration+1 );
3688     END IF;
3689  
3690 IF p_iteration =1 THEN
3691 OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3692   p_x_rec := g_record;
3693 END IF;
3694  
3695 oe_debug_pub.ADD('Exit ONT_LINE_Def_Hdlr.Default_Record');
3696  
3697 EXCEPTION
3698  
3699   WHEN FND_API.G_EXC_ERROR THEN
3700     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3701     RAISE FND_API.G_EXC_ERROR;
3702   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3703     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3704     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3705   WHEN OTHERS THEN
3706     IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3707     THEN
3708       OE_MSG_PUB.Add_Exc_Msg
3709       ( G_PKG_NAME
3710       ,'Default_Record: '||l_attr
3711       );
3712     END IF;
3713     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3714     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3715  
3716 END Default_Record;
3717  
3718 END ONT_LINE_Def_Hdlr;