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 30-MAR-09 23:23:31 appldev ship $ */
3  
4 --  
5 --  Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 --  All rights reserved.
7 --  
8 --  FILENAME
9 --  
10 --      ONT_LINE_Def_Hdlr
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_LINE_Def_Hdlr
15 --  
16 --  NOTES
17 --  
18 --  HISTORY
19 --  
20 --  30-MAR-09 Created
21 --  
22  
23 --  Global constant holding the package name
24 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'ONT_LINE_Def_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_NUM 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   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1674   g_record.INTERMED_SHIP_TO_ORG_ID := NULL;
1675 END IF;
1676 l_attr:= 'INVENTORY_ITEM_ID';
1677  
1678 IF g_record.INVENTORY_ITEM_ID = FND_API.G_MISS_NUM THEN
1679   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1680   g_record.INVENTORY_ITEM_ID := NULL;
1681 END IF;
1682 l_attr:= 'INVOICE_INTERFACE_STATUS_CODE';
1683  
1684 IF g_record.INVOICE_INTERFACE_STATUS_CODE = FND_API.G_MISS_CHAR THEN
1685   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1686   g_record.INVOICE_INTERFACE_STATUS_CODE := NULL;
1687 END IF;
1688 l_attr:= 'INVOICED_QUANTITY';
1689  
1690 IF g_record.INVOICED_QUANTITY = FND_API.G_MISS_NUM THEN
1691   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1692   g_record.INVOICED_QUANTITY := NULL;
1693 END IF;
1694 l_attr:= 'INVOICING_RULE_ID';
1695  
1696 IF g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM THEN
1697 --  Get the defaulting api registered in the AK AND default
1698     l_attr:=l_attr||' 1';
1699     g_record.INVOICING_RULE_ID := ONT_D2_INVOICING_RULE_ID.Get_Default_Value(g_record);
1700     l_attr:=l_attr||' 2';
1701   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1702   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1703     l_attr:=l_attr||' 3';
1704     IF NOT OE_GLOBALS.Equal(g_record.invoicing_rule_id, p_in_old_rec.invoicing_rule_id) THEN
1705       IF OE_LINE_SECURITY.INVOICING_RULE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1706       -- Raise error if security returns YES, operation IS CONSTRAINED
1707         RAISE FND_API.G_EXC_ERROR;
1708       END IF;
1709       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1710     END IF;
1711   END IF;
1712   IF g_record.INVOICING_RULE_ID IS NOT NULL THEN
1713     l_attr:=l_attr||' 4';
1714     -- Validate defaulted value if not null
1715     IF OE_VALIDATE.INVOICING_RULE(g_record.INVOICING_RULE_ID) THEN  
1716       -- There is no dependent api registered in the AK dictionary  
1717       NULL;
1718       l_attr:=l_attr||' 5';
1719     ELSE
1720       g_record.INVOICING_RULE_ID := NULL;
1721       l_attr:=l_attr||' 6';
1722     END IF;
1723   END IF;
1724 END IF;
1725 l_attr:= 'ITEM_IDENTIFIER_TYPE';
1726  
1727 IF g_record.ITEM_IDENTIFIER_TYPE = FND_API.G_MISS_CHAR THEN
1728 --  Get the defaulting api registered in the AK AND default
1729     l_attr:=l_attr||' 1';
1730     g_record.ITEM_IDENTIFIER_TYPE := ONT_D2_ITEM_IDENTIFIER_TYPE.Get_Default_Value(g_record);
1731     l_attr:=l_attr||' 2';
1732 -- There is no security api registered in the AK dictionary  
1733       -- There is no validation api registered in the AK dictionary  
1734 END IF;
1735 l_attr:= 'ITEM_REVISION';
1736  
1737 IF g_record.ITEM_REVISION = FND_API.G_MISS_CHAR THEN
1738 --  Get the defaulting api registered in the AK AND default
1739     l_attr:=l_attr||' 1';
1740     g_record.ITEM_REVISION := ONT_D2_ITEM_REVISION.Get_Default_Value(g_record);
1741     l_attr:=l_attr||' 2';
1742   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1743   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1744     l_attr:=l_attr||' 3';
1745     IF NOT OE_GLOBALS.Equal(g_record.item_revision, p_in_old_rec.item_revision) THEN
1746       IF OE_LINE_SECURITY.ITEM_REVISION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1747       -- Raise error if security returns YES, operation IS CONSTRAINED
1748         RAISE FND_API.G_EXC_ERROR;
1749       END IF;
1750       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1751     END IF;
1752   END IF;
1753   IF g_record.ITEM_REVISION IS NOT NULL THEN
1754     l_attr:=l_attr||' 4';
1755     -- Validate defaulted value if not null
1756     IF OE_VALIDATE.ITEM_REVISION(g_record.ITEM_REVISION) THEN  
1757       -- There is no dependent api registered in the AK dictionary  
1758       NULL;
1759       l_attr:=l_attr||' 5';
1760     ELSE
1761       g_record.ITEM_REVISION := NULL;
1762       l_attr:=l_attr||' 6';
1763     END IF;
1764   END IF;
1765 END IF;
1766 l_attr:= 'ITEM_TYPE_CODE';
1767  
1768 IF g_record.ITEM_TYPE_CODE = FND_API.G_MISS_CHAR THEN
1769   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1770   g_record.ITEM_TYPE_CODE := NULL;
1771 END IF;
1772 l_attr:= 'LAST_ACK_CODE';
1773  
1774 IF g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR THEN
1775   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1776   g_record.LAST_ACK_CODE := NULL;
1777 END IF;
1778 l_attr:= 'LAST_ACK_DATE';
1779  
1780 IF g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE THEN
1781   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1782   g_record.LAST_ACK_DATE := NULL;
1783 END IF;
1784 l_attr:= 'LAST_UPDATE_DATE';
1785  
1786 IF g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE THEN
1787   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1788   g_record.LAST_UPDATE_DATE := NULL;
1789 END IF;
1790 l_attr:= 'LAST_UPDATE_LOGIN';
1791  
1792 IF g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM THEN
1793   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1794   g_record.LAST_UPDATE_LOGIN := NULL;
1795 END IF;
1796 l_attr:= 'LAST_UPDATED_BY';
1797  
1798 IF g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM THEN
1799   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1800   g_record.LAST_UPDATED_BY := NULL;
1801 END IF;
1802 l_attr:= 'LATEST_ACCEPTABLE_DATE';
1803  
1804 IF g_record.LATEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE THEN
1805 --  Get the defaulting api registered in the AK AND default
1806     l_attr:=l_attr||' 1';
1807     g_record.LATEST_ACCEPTABLE_DATE := ONT_D2_LATEST_ACCEPTABLE_DA.Get_Default_Value(g_record);
1808     l_attr:=l_attr||' 2';
1809   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1810   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1811     l_attr:=l_attr||' 3';
1812     IF NOT OE_GLOBALS.Equal(g_record.latest_acceptable_date, p_in_old_rec.latest_acceptable_date) THEN
1813       IF OE_LINE_SECURITY.LATEST_ACCEPTABLE_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1814       -- Raise error if security returns YES, operation IS CONSTRAINED
1815         RAISE FND_API.G_EXC_ERROR;
1816       END IF;
1817       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1818     END IF;
1819   END IF;
1820   IF g_record.LATEST_ACCEPTABLE_DATE IS NOT NULL THEN
1821     l_attr:=l_attr||' 4';
1822     -- Validate defaulted value if not null
1823     IF OE_VALIDATE.LATEST_ACCEPTABLE_DATE(g_record.LATEST_ACCEPTABLE_DATE) THEN  
1824       -- There is no dependent api registered in the AK dictionary  
1825       NULL;
1826       l_attr:=l_attr||' 5';
1827     ELSE
1828       g_record.LATEST_ACCEPTABLE_DATE := NULL;
1829       l_attr:=l_attr||' 6';
1830     END IF;
1831   END IF;
1832 END IF;
1833 l_attr:= 'LINE_ID';
1834  
1835 IF g_record.LINE_ID = FND_API.G_MISS_NUM THEN
1836   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1837   g_record.LINE_ID := NULL;
1838 END IF;
1839 l_attr:= 'LINE_CATEGORY_CODE';
1840  
1841 IF g_record.LINE_CATEGORY_CODE = FND_API.G_MISS_CHAR THEN
1842   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1843   g_record.LINE_CATEGORY_CODE := NULL;
1844 END IF;
1845 l_attr:= 'LINE_NUMBER';
1846  
1847 IF g_record.LINE_NUMBER = FND_API.G_MISS_NUM THEN
1848   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1849   g_record.LINE_NUMBER := NULL;
1850 END IF;
1851 l_attr:= 'LINE_SET_ID';
1852  
1853 IF g_record.LINE_SET_ID = FND_API.G_MISS_NUM THEN
1854   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1855   g_record.LINE_SET_ID := NULL;
1856 END IF;
1857 l_attr:= 'LINK_TO_LINE_ID';
1858  
1859 IF g_record.LINK_TO_LINE_ID = FND_API.G_MISS_NUM THEN
1860   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1861   g_record.LINK_TO_LINE_ID := NULL;
1862 END IF;
1863 l_attr:= 'MFG_COMPONENT_SEQUENCE_ID';
1864  
1865 IF g_record.MFG_COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM THEN
1866   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1867   g_record.MFG_COMPONENT_SEQUENCE_ID := NULL;
1868 END IF;
1869 l_attr:= 'MODEL_GROUP_NUMBER';
1870  
1871 IF g_record.MODEL_GROUP_NUMBER = FND_API.G_MISS_NUM THEN
1872   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1873   g_record.MODEL_GROUP_NUMBER := NULL;
1874 END IF;
1875 l_attr:= 'OPEN_FLAG';
1876  
1877 IF g_record.OPEN_FLAG = FND_API.G_MISS_CHAR THEN
1878   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1879   g_record.OPEN_FLAG := NULL;
1880 END IF;
1881 l_attr:= 'OPERATION';
1882  
1883 IF g_record.OPERATION = FND_API.G_MISS_CHAR THEN
1884   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1885   g_record.OPERATION := NULL;
1886 END IF;
1887 l_attr:= 'OPTION_FLAG';
1888  
1889 IF g_record.OPTION_FLAG = FND_API.G_MISS_CHAR THEN
1890   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1891   g_record.OPTION_FLAG := NULL;
1892 END IF;
1893 l_attr:= 'OPTION_NUMBER';
1894  
1895 IF g_record.OPTION_NUMBER = FND_API.G_MISS_NUM THEN
1896   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1897   g_record.OPTION_NUMBER := NULL;
1898 END IF;
1899 l_attr:= 'ORDER_FIRMED_DATE';
1900  
1901 IF g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE THEN
1902 --  Get the defaulting api registered in the AK AND default
1903     l_attr:=l_attr||' 1';
1904     g_record.ORDER_FIRMED_DATE := ONT_D2_ORDER_FIRMED_DATE.Get_Default_Value(g_record);
1905     l_attr:=l_attr||' 2';
1906 -- There is no security api registered in the AK dictionary  
1907       -- There is no validation api registered in the AK dictionary  
1908 END IF;
1909 l_attr:= 'ORDER_QUANTITY_UOM';
1910  
1911 IF g_record.ORDER_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
1912 --  Get the defaulting api registered in the AK AND default
1913     l_attr:=l_attr||' 1';
1914     g_record.ORDER_QUANTITY_UOM := ONT_D2_ORDER_QUANTITY_UOM.Get_Default_Value(g_record);
1915     l_attr:=l_attr||' 2';
1916   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1917   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1918     l_attr:=l_attr||' 3';
1919     IF NOT OE_GLOBALS.Equal(g_record.order_quantity_uom, p_in_old_rec.order_quantity_uom) THEN
1920       IF OE_LINE_SECURITY.ORDER_QUANTITY_UOM(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1921       -- Raise error if security returns YES, operation IS CONSTRAINED
1922         RAISE FND_API.G_EXC_ERROR;
1923       END IF;
1924       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1925     END IF;
1926   END IF;
1927   IF g_record.ORDER_QUANTITY_UOM IS NOT NULL THEN
1928     l_attr:=l_attr||' 4';
1929     -- Validate defaulted value if not null
1930     IF OE_VALIDATE.ORDER_QUANTITY_UOM(g_record.ORDER_QUANTITY_UOM) THEN  
1931       -- if valid, clear dependent attributes
1932       OE_LINE_CL_DEP_ATTR.ORDER_QUANTITY_UOM(p_initial_rec, p_in_old_rec, g_record);
1933     ELSE
1934       g_record.ORDER_QUANTITY_UOM := NULL;
1935       l_attr:=l_attr||' 6';
1936     END IF;
1937   END IF;
1938 END IF;
1939 l_attr:= 'ORDERED_ITEM';
1940  
1941 IF g_record.ORDERED_ITEM = FND_API.G_MISS_CHAR THEN
1942   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1943   g_record.ORDERED_ITEM := NULL;
1944 END IF;
1945 l_attr:= 'ORDERED_ITEM_ID';
1946  
1947 IF g_record.ORDERED_ITEM_ID = FND_API.G_MISS_NUM THEN
1948   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1949   g_record.ORDERED_ITEM_ID := NULL;
1950 END IF;
1951 l_attr:= 'ORDERED_QUANTITY';
1952  
1953 IF g_record.ORDERED_QUANTITY = FND_API.G_MISS_NUM THEN
1954 --  Get the defaulting api registered in the AK AND default
1955     l_attr:=l_attr||' 1';
1956     g_record.ORDERED_QUANTITY := ONT_D2_ORDERED_QUANTITY.Get_Default_Value(g_record);
1957     l_attr:=l_attr||' 2';
1958   -- For UPDATE operations, check security if new defaulted value is not equal to old value
1959   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1960     l_attr:=l_attr||' 3';
1961     IF NOT OE_GLOBALS.Equal(g_record.ordered_quantity, p_in_old_rec.ordered_quantity) THEN
1962       IF OE_LINE_SECURITY.ORDERED_QUANTITY(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
1963       -- Raise error if security returns YES, operation IS CONSTRAINED
1964         RAISE FND_API.G_EXC_ERROR;
1965       END IF;
1966       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
1967     END IF;
1968   END IF;
1969   IF g_record.ORDERED_QUANTITY IS NOT NULL THEN
1970     l_attr:=l_attr||' 4';
1971     -- Validate defaulted value if not null
1972     IF OE_VALIDATE.ORDERED_QUANTITY(g_record.ORDERED_QUANTITY) THEN  
1973       -- if valid, clear dependent attributes
1974       OE_LINE_CL_DEP_ATTR.ORDERED_QUANTITY(p_initial_rec, p_in_old_rec, g_record);
1975     ELSE
1976       g_record.ORDERED_QUANTITY := NULL;
1977       l_attr:=l_attr||' 6';
1978     END IF;
1979   END IF;
1980 END IF;
1981 l_attr:= 'ORG_ID';
1982  
1983 IF g_record.ORG_ID = FND_API.G_MISS_NUM THEN
1984   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1985   g_record.ORG_ID := NULL;
1986 END IF;
1987 l_attr:= 'ORIG_SYS_DOCUMENT_REF';
1988  
1989 IF g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR THEN
1990   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1991   g_record.ORIG_SYS_DOCUMENT_REF := NULL;
1992 END IF;
1993 l_attr:= 'ORIG_SYS_LINE_REF';
1994  
1995 IF g_record.ORIG_SYS_LINE_REF = FND_API.G_MISS_CHAR THEN
1996   -- Attribute is NOT defaulting enabled, return NULL if MISSING
1997   g_record.ORIG_SYS_LINE_REF := NULL;
1998 END IF;
1999 l_attr:= 'OVER_SHIP_REASON_CODE';
2000  
2001 IF g_record.OVER_SHIP_REASON_CODE = FND_API.G_MISS_CHAR THEN
2002   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2003   g_record.OVER_SHIP_REASON_CODE := NULL;
2004 END IF;
2005 l_attr:= 'OVER_SHIP_RESOLVED_FLAG';
2006  
2007 IF g_record.OVER_SHIP_RESOLVED_FLAG = FND_API.G_MISS_CHAR THEN
2008   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2009   g_record.OVER_SHIP_RESOLVED_FLAG := NULL;
2010 END IF;
2011 l_attr:= 'IB_OWNER';
2012  
2013 IF g_record.IB_OWNER = FND_API.G_MISS_CHAR THEN
2014 --  Get the defaulting api registered in the AK AND default
2015     l_attr:=l_attr||' 1';
2016     g_record.IB_OWNER := ONT_D2_IB_OWNER.Get_Default_Value(g_record);
2017     l_attr:=l_attr||' 2';
2018   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2019   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2020     l_attr:=l_attr||' 3';
2021     IF NOT OE_GLOBALS.Equal(g_record.ib_owner, p_in_old_rec.ib_owner) THEN
2022       IF OE_LINE_SECURITY.IB_OWNER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2023       -- Raise error if security returns YES, operation IS CONSTRAINED
2024         RAISE FND_API.G_EXC_ERROR;
2025       END IF;
2026       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2027     END IF;
2028   END IF;
2029   IF g_record.IB_OWNER IS NOT NULL THEN
2030     l_attr:=l_attr||' 4';
2031       -- if valid, clear dependent attributes
2032       OE_LINE_CL_DEP_ATTR.IB_OWNER(p_initial_rec, p_in_old_rec, g_record);
2033   END IF;
2034 END IF;
2035 l_attr:= 'PACKING_INSTRUCTIONS';
2036  
2037 IF g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
2038 --  Get the defaulting api registered in the AK AND default
2039     l_attr:=l_attr||' 1';
2040     g_record.PACKING_INSTRUCTIONS := ONT_D2_PACKING_INSTRUCTIONS.Get_Default_Value(g_record);
2041     l_attr:=l_attr||' 2';
2042 -- There is no security api registered in the AK dictionary  
2043   IF g_record.PACKING_INSTRUCTIONS IS NOT NULL THEN
2044     l_attr:=l_attr||' 4';
2045     -- Validate defaulted value if not null
2046     IF OE_VALIDATE.PACKING_INSTRUCTIONS(g_record.PACKING_INSTRUCTIONS) THEN  
2047       -- There is no dependent api registered in the AK dictionary  
2048       NULL;
2049       l_attr:=l_attr||' 5';
2050     ELSE
2051       g_record.PACKING_INSTRUCTIONS := NULL;
2052       l_attr:=l_attr||' 6';
2053     END IF;
2054   END IF;
2055 END IF;
2056 l_attr:= 'PARTY_TYPE';
2057  
2058 IF g_record.PARTY_TYPE = FND_API.G_MISS_CHAR THEN
2059   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2060   g_record.PARTY_TYPE := NULL;
2061 END IF;
2062 l_attr:= 'PAYMENT_TERM_ID';
2063  
2064 IF g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM THEN
2065 --  Get the defaulting api registered in the AK AND default
2066     l_attr:=l_attr||' 1';
2067     g_record.PAYMENT_TERM_ID := ONT_D2_PAYMENT_TERM_ID.Get_Default_Value(g_record);
2068     l_attr:=l_attr||' 2';
2069   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2070   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2071     l_attr:=l_attr||' 3';
2072     IF NOT OE_GLOBALS.Equal(g_record.payment_term_id, p_in_old_rec.payment_term_id) THEN
2073       IF OE_LINE_SECURITY.PAYMENT_TERM(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2074       -- Raise error if security returns YES, operation IS CONSTRAINED
2075         RAISE FND_API.G_EXC_ERROR;
2076       END IF;
2077       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2078     END IF;
2079   END IF;
2080   IF g_record.PAYMENT_TERM_ID IS NOT NULL THEN
2081     l_attr:=l_attr||' 4';
2082     -- Validate defaulted value if not null
2083     IF OE_VALIDATE.PAYMENT_TERM(g_record.PAYMENT_TERM_ID) THEN  
2084       -- There is no dependent api registered in the AK dictionary  
2085       NULL;
2086       l_attr:=l_attr||' 5';
2087     ELSE
2088       g_record.PAYMENT_TERM_ID := NULL;
2089       l_attr:=l_attr||' 6';
2090     END IF;
2091   END IF;
2092 END IF;
2093 l_attr:= 'PLANNING_PRIORITY';
2094  
2095 IF g_record.PLANNING_PRIORITY = FND_API.G_MISS_NUM THEN
2096   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2097   g_record.PLANNING_PRIORITY := NULL;
2098 END IF;
2099 l_attr:= 'PRICE_LIST_ID';
2100  
2101 IF g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM THEN
2102 --  Get the defaulting api registered in the AK AND default
2103     l_attr:=l_attr||' 1';
2104     g_record.PRICE_LIST_ID := ONT_D2_PRICE_LIST_ID.Get_Default_Value(g_record);
2105     l_attr:=l_attr||' 2';
2106   IF g_record.PRICE_LIST_ID IS NULL 
2107    AND p_in_old_rec.PRICE_LIST_ID <> FND_API.G_MISS_NUM THEN 
2108   g_record.PRICE_LIST_ID := p_in_old_rec.PRICE_LIST_ID;
2109   END IF;
2110   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2111   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2112     l_attr:=l_attr||' 3';
2113     IF NOT OE_GLOBALS.Equal(g_record.price_list_id, p_in_old_rec.price_list_id) THEN
2114       IF OE_LINE_SECURITY.PRICE_LIST(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2115       -- Raise error if security returns YES, operation IS CONSTRAINED
2116         RAISE FND_API.G_EXC_ERROR;
2117       END IF;
2118       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2119     END IF;
2120   END IF;
2121   IF g_record.PRICE_LIST_ID IS NOT NULL THEN
2122     l_attr:=l_attr||' 4';
2123     -- Validate defaulted value if not null
2124     IF OE_VALIDATE.PRICE_LIST(g_record.PRICE_LIST_ID) THEN  
2125       -- if valid, clear dependent attributes
2126       OE_LINE_CL_DEP_ATTR.PRICE_LIST(p_initial_rec, p_in_old_rec, g_record);
2127     ELSE
2128       g_record.PRICE_LIST_ID := NULL;
2129       l_attr:=l_attr||' 6';
2130     END IF;
2131   END IF;
2132 END IF;
2133 l_attr:= 'PRICING_ATTRIBUTE1';
2134  
2135 IF g_record.PRICING_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
2136   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2137   g_record.PRICING_ATTRIBUTE1 := NULL;
2138 END IF;
2139 l_attr:= 'PRICING_ATTRIBUTE10';
2140  
2141 IF g_record.PRICING_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
2142   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2143   g_record.PRICING_ATTRIBUTE10 := NULL;
2144 END IF;
2145 l_attr:= 'PRICING_ATTRIBUTE2';
2146  
2147 IF g_record.PRICING_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
2148   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2149   g_record.PRICING_ATTRIBUTE2 := NULL;
2150 END IF;
2151 l_attr:= 'PRICING_ATTRIBUTE3';
2152  
2153 IF g_record.PRICING_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
2154   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2155   g_record.PRICING_ATTRIBUTE3 := NULL;
2156 END IF;
2157 l_attr:= 'PRICING_ATTRIBUTE4';
2158  
2159 IF g_record.PRICING_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
2160   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2161   g_record.PRICING_ATTRIBUTE4 := NULL;
2162 END IF;
2163 l_attr:= 'PRICING_ATTRIBUTE5';
2164  
2165 IF g_record.PRICING_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
2166   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2167   g_record.PRICING_ATTRIBUTE5 := NULL;
2168 END IF;
2169 l_attr:= 'PRICING_ATTRIBUTE6';
2170  
2171 IF g_record.PRICING_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
2172   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2173   g_record.PRICING_ATTRIBUTE6 := NULL;
2174 END IF;
2175 l_attr:= 'PRICING_ATTRIBUTE7';
2176  
2177 IF g_record.PRICING_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
2178   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2179   g_record.PRICING_ATTRIBUTE7 := NULL;
2180 END IF;
2181 l_attr:= 'PRICING_ATTRIBUTE8';
2182  
2183 IF g_record.PRICING_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
2184   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2185   g_record.PRICING_ATTRIBUTE8 := NULL;
2186 END IF;
2187 l_attr:= 'PRICING_ATTRIBUTE9';
2188  
2189 IF g_record.PRICING_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
2190   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2191   g_record.PRICING_ATTRIBUTE9 := NULL;
2192 END IF;
2193 l_attr:= 'PRICING_CONTEXT';
2194  
2195 IF g_record.PRICING_CONTEXT = FND_API.G_MISS_CHAR THEN
2196   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2197   g_record.PRICING_CONTEXT := NULL;
2198 END IF;
2199 l_attr:= 'PRICING_DATE';
2200  
2201 IF g_record.PRICING_DATE = FND_API.G_MISS_DATE THEN
2202 --  Get the defaulting api registered in the AK AND default
2203     l_attr:=l_attr||' 1';
2204     g_record.PRICING_DATE := ONT_D2_PRICING_DATE.Get_Default_Value(g_record);
2205     l_attr:=l_attr||' 2';
2206   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2207   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2208     l_attr:=l_attr||' 3';
2209     IF NOT OE_GLOBALS.Equal(g_record.pricing_date, p_in_old_rec.pricing_date) THEN
2210       IF OE_LINE_SECURITY.PRICING_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2211       -- Raise error if security returns YES, operation IS CONSTRAINED
2212         RAISE FND_API.G_EXC_ERROR;
2213       END IF;
2214       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2215     END IF;
2216   END IF;
2217   IF g_record.PRICING_DATE IS NOT NULL THEN
2218     l_attr:=l_attr||' 4';
2219     -- Validate defaulted value if not null
2220     IF OE_VALIDATE.PRICING_DATE(g_record.PRICING_DATE) THEN  
2221       -- There is no dependent api registered in the AK dictionary  
2222       NULL;
2223       l_attr:=l_attr||' 5';
2224     ELSE
2225       g_record.PRICING_DATE := NULL;
2226       l_attr:=l_attr||' 6';
2227     END IF;
2228   END IF;
2229 END IF;
2230 l_attr:= 'PRICING_QUANTITY';
2231  
2232 IF g_record.PRICING_QUANTITY = FND_API.G_MISS_NUM THEN
2233   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2234   g_record.PRICING_QUANTITY := NULL;
2235 END IF;
2236 l_attr:= 'PRICING_QUANTITY_UOM';
2237  
2238 IF g_record.PRICING_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
2239   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2240   g_record.PRICING_QUANTITY_UOM := NULL;
2241 END IF;
2242 l_attr:= 'PROGRAM_ID';
2243  
2244 IF g_record.PROGRAM_ID = FND_API.G_MISS_NUM THEN
2245   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2246   g_record.PROGRAM_ID := NULL;
2247 END IF;
2248 l_attr:= 'PROGRAM_APPLICATION_ID';
2249  
2250 IF g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM THEN
2251   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2252   g_record.PROGRAM_APPLICATION_ID := NULL;
2253 END IF;
2254 l_attr:= 'PROGRAM_UPDATE_DATE';
2255  
2256 IF g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE THEN
2257   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2258   g_record.PROGRAM_UPDATE_DATE := NULL;
2259 END IF;
2260 l_attr:= 'PROJECT_ID';
2261  
2262 IF g_record.PROJECT_ID = FND_API.G_MISS_NUM THEN
2263   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2264   g_record.PROJECT_ID := NULL;
2265 END IF;
2266 l_attr:= 'REFERENCE_CUSTOMR_TRX_LINE_ID';
2267  
2268 IF g_record.REFERENCE_CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM THEN
2269   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2270   g_record.REFERENCE_CUSTOMER_TRX_LINE_ID := NULL;
2271 END IF;
2272 l_attr:= 'REFERENCE_HEADER_ID';
2273  
2274 IF g_record.REFERENCE_HEADER_ID = FND_API.G_MISS_NUM THEN
2275   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2276   g_record.REFERENCE_HEADER_ID := NULL;
2277 END IF;
2278 l_attr:= 'REFERENCE_LINE_ID';
2279  
2280 IF g_record.REFERENCE_LINE_ID = FND_API.G_MISS_NUM THEN
2281   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2282   g_record.REFERENCE_LINE_ID := NULL;
2283 END IF;
2284 l_attr:= 'REFERENCE_TYPE';
2285  
2286 IF g_record.REFERENCE_TYPE = FND_API.G_MISS_CHAR THEN
2287   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2288   g_record.REFERENCE_TYPE := NULL;
2289 END IF;
2290 l_attr:= 'REQUEST_ID';
2291  
2292 IF g_record.REQUEST_ID = FND_API.G_MISS_NUM THEN
2293   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2294   g_record.REQUEST_ID := NULL;
2295 END IF;
2296 l_attr:= 'RESERVED_QUANTITY';
2297  
2298 IF g_record.RESERVED_QUANTITY = FND_API.G_MISS_NUM THEN
2299   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2300   g_record.RESERVED_QUANTITY := NULL;
2301 END IF;
2302 l_attr:= 'RETROBILL_REQUEST_ID';
2303  
2304 IF g_record.RETROBILL_REQUEST_ID = FND_API.G_MISS_NUM THEN
2305   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2306   g_record.RETROBILL_REQUEST_ID := NULL;
2307 END IF;
2308 l_attr:= 'RETURN_ATTRIBUTE1';
2309  
2310 IF g_record.RETURN_ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN
2311   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2312   g_record.RETURN_ATTRIBUTE1 := NULL;
2313 END IF;
2314 l_attr:= 'RETURN_ATTRIBUTE10';
2315  
2316 IF g_record.RETURN_ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN
2317   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2318   g_record.RETURN_ATTRIBUTE10 := NULL;
2319 END IF;
2320 l_attr:= 'RETURN_ATTRIBUTE11';
2321  
2322 IF g_record.RETURN_ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN
2323   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2324   g_record.RETURN_ATTRIBUTE11 := NULL;
2325 END IF;
2326 l_attr:= 'RETURN_ATTRIBUTE12';
2327  
2328 IF g_record.RETURN_ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN
2329   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2330   g_record.RETURN_ATTRIBUTE12 := NULL;
2331 END IF;
2332 l_attr:= 'RETURN_ATTRIBUTE13';
2333  
2334 IF g_record.RETURN_ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN
2335   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2336   g_record.RETURN_ATTRIBUTE13 := NULL;
2337 END IF;
2338 l_attr:= 'RETURN_ATTRIBUTE14';
2339  
2340 IF g_record.RETURN_ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN
2341   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2342   g_record.RETURN_ATTRIBUTE14 := NULL;
2343 END IF;
2344 l_attr:= 'RETURN_ATTRIBUTE15';
2345  
2346 IF g_record.RETURN_ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN
2347   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2348   g_record.RETURN_ATTRIBUTE15 := NULL;
2349 END IF;
2350 l_attr:= 'RETURN_ATTRIBUTE2';
2351  
2352 IF g_record.RETURN_ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN
2353   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2354   g_record.RETURN_ATTRIBUTE2 := NULL;
2355 END IF;
2356 l_attr:= 'RETURN_ATTRIBUTE3';
2357  
2358 IF g_record.RETURN_ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN
2359   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2360   g_record.RETURN_ATTRIBUTE3 := NULL;
2361 END IF;
2362 l_attr:= 'RETURN_ATTRIBUTE4';
2363  
2364 IF g_record.RETURN_ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN
2365   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2366   g_record.RETURN_ATTRIBUTE4 := NULL;
2367 END IF;
2368 l_attr:= 'RETURN_ATTRIBUTE5';
2369  
2370 IF g_record.RETURN_ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN
2371   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2372   g_record.RETURN_ATTRIBUTE5 := NULL;
2373 END IF;
2374 l_attr:= 'RETURN_ATTRIBUTE6';
2375  
2376 IF g_record.RETURN_ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN
2377   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2378   g_record.RETURN_ATTRIBUTE6 := NULL;
2379 END IF;
2380 l_attr:= 'RETURN_ATTRIBUTE7';
2381  
2382 IF g_record.RETURN_ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN
2383   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2384   g_record.RETURN_ATTRIBUTE7 := NULL;
2385 END IF;
2386 l_attr:= 'RETURN_ATTRIBUTE8';
2387  
2388 IF g_record.RETURN_ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN
2389   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2390   g_record.RETURN_ATTRIBUTE8 := NULL;
2391 END IF;
2392 l_attr:= 'RETURN_ATTRIBUTE9';
2393  
2394 IF g_record.RETURN_ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN
2395   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2396   g_record.RETURN_ATTRIBUTE9 := NULL;
2397 END IF;
2398 l_attr:= 'RETURN_CONTEXT';
2399  
2400 IF g_record.RETURN_CONTEXT = FND_API.G_MISS_CHAR THEN
2401   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2402   g_record.RETURN_CONTEXT := NULL;
2403 END IF;
2404 l_attr:= 'RETURN_REASON_CODE';
2405  
2406 IF g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR THEN
2407 --  Get the defaulting api registered in the AK AND default
2408     l_attr:=l_attr||' 1';
2409     g_record.RETURN_REASON_CODE := ONT_D2_RETURN_REASON_CODE.Get_Default_Value(g_record);
2410     l_attr:=l_attr||' 2';
2411   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2412   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2413     l_attr:=l_attr||' 3';
2414     IF NOT OE_GLOBALS.Equal(g_record.return_reason_code, p_in_old_rec.return_reason_code) THEN
2415       IF OE_LINE_SECURITY.RETURN_REASON(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2416       -- Raise error if security returns YES, operation IS CONSTRAINED
2417         RAISE FND_API.G_EXC_ERROR;
2418       END IF;
2419       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2420     END IF;
2421   END IF;
2422   IF g_record.RETURN_REASON_CODE IS NOT NULL THEN
2423     l_attr:=l_attr||' 4';
2424     -- Validate defaulted value if not null
2425     IF OE_VALIDATE.RETURN_REASON(g_record.RETURN_REASON_CODE) THEN  
2426       -- There is no dependent api registered in the AK dictionary  
2427       NULL;
2428       l_attr:=l_attr||' 5';
2429     ELSE
2430       g_record.RETURN_REASON_CODE := NULL;
2431       l_attr:=l_attr||' 6';
2432     END IF;
2433   END IF;
2434 END IF;
2435 l_attr:= 'RETURN_STATUS';
2436  
2437 IF g_record.RETURN_STATUS = FND_API.G_MISS_CHAR THEN
2438   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2439   g_record.RETURN_STATUS := NULL;
2440 END IF;
2441 l_attr:= 'REVENUE_AMOUNT';
2442  
2443 IF g_record.REVENUE_AMOUNT = FND_API.G_MISS_NUM THEN
2444   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2445   g_record.REVENUE_AMOUNT := NULL;
2446 END IF;
2447 l_attr:= 'REVREC_EXPIRATION_DAYS';
2448  
2449 IF g_record.REVREC_EXPIRATION_DAYS = FND_API.G_MISS_NUM THEN
2450   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2451   g_record.REVREC_EXPIRATION_DAYS := NULL;
2452 END IF;
2453 l_attr:= 'RLA_SCHEDULE_TYPE_CODE';
2454  
2455 IF g_record.RLA_SCHEDULE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
2456   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2457   g_record.RLA_SCHEDULE_TYPE_CODE := NULL;
2458 END IF;
2459 l_attr:= 'BLANKET_LINE_NUMBER';
2460  
2461 IF g_record.BLANKET_LINE_NUMBER = FND_API.G_MISS_NUM THEN
2462   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2463   g_record.BLANKET_LINE_NUMBER := NULL;
2464 END IF;
2465 l_attr:= 'BLANKET_NUMBER';
2466  
2467 IF g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM THEN
2468 --  Get the defaulting api registered in the AK AND default
2469     l_attr:=l_attr||' 1';
2470     g_record.BLANKET_NUMBER := ONT_D2_BLANKET_NUMBER.Get_Default_Value(g_record);
2471     l_attr:=l_attr||' 2';
2472   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2473   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2474     l_attr:=l_attr||' 3';
2475     IF NOT OE_GLOBALS.Equal(g_record.blanket_number, p_in_old_rec.blanket_number) THEN
2476       IF OE_LINE_SECURITY.BLANKET_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2477       -- Raise error if security returns YES, operation IS CONSTRAINED
2478         RAISE FND_API.G_EXC_ERROR;
2479       END IF;
2480       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2481     END IF;
2482   END IF;
2483   IF g_record.BLANKET_NUMBER IS NOT NULL THEN
2484     l_attr:=l_attr||' 4';
2485     -- Validate defaulted value if not null
2486     IF OE_VALIDATE.Blanket_Number(g_record.BLANKET_NUMBER) THEN  
2487       -- if valid, clear dependent attributes
2488       OE_LINE_CL_DEP_ATTR.BLANKET_NUMBER(p_initial_rec, p_in_old_rec, g_record);
2489     ELSE
2490       g_record.BLANKET_NUMBER := NULL;
2491       l_attr:=l_attr||' 6';
2492     END IF;
2493   END IF;
2494 END IF;
2495 l_attr:= 'BLANKET_VERSION_NUMBER';
2496  
2497 IF g_record.BLANKET_VERSION_NUMBER = FND_API.G_MISS_NUM THEN
2498   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2499   g_record.BLANKET_VERSION_NUMBER := NULL;
2500 END IF;
2501 l_attr:= 'SALESREP_ID';
2502  
2503 IF g_record.SALESREP_ID = FND_API.G_MISS_NUM THEN
2504 --  Get the defaulting api registered in the AK AND default
2505     l_attr:=l_attr||' 1';
2506     g_record.SALESREP_ID := ONT_D2_SALESREP_ID.Get_Default_Value(g_record);
2507     l_attr:=l_attr||' 2';
2508   IF g_record.SALESREP_ID IS NULL 
2509    AND p_in_old_rec.SALESREP_ID <> FND_API.G_MISS_NUM THEN 
2510   g_record.SALESREP_ID := p_in_old_rec.SALESREP_ID;
2511   END IF;
2512   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2513   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2514     l_attr:=l_attr||' 3';
2515     IF NOT OE_GLOBALS.Equal(g_record.salesrep_id, p_in_old_rec.salesrep_id) THEN
2516       IF OE_LINE_SECURITY.SALESREP(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2517       -- Raise error if security returns YES, operation IS CONSTRAINED
2518         RAISE FND_API.G_EXC_ERROR;
2519       END IF;
2520       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2521     END IF;
2522   END IF;
2523   IF g_record.SALESREP_ID IS NOT NULL THEN
2524     l_attr:=l_attr||' 4';
2525     -- Validate defaulted value if not null
2526     IF OE_VALIDATE.SALESREP(g_record.SALESREP_ID) THEN  
2527       -- There is no dependent api registered in the AK dictionary  
2528       NULL;
2529       l_attr:=l_attr||' 5';
2530     ELSE
2531       g_record.SALESREP_ID := NULL;
2532       l_attr:=l_attr||' 6';
2533     END IF;
2534   END IF;
2535 END IF;
2536 l_attr:= 'SCHEDULE_ACTION_CODE';
2537  
2538 IF g_record.SCHEDULE_ACTION_CODE = FND_API.G_MISS_CHAR THEN
2539   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2540   g_record.SCHEDULE_ACTION_CODE := NULL;
2541 END IF;
2542 l_attr:= 'SCHEDULE_ARRIVAL_DATE';
2543  
2544 IF g_record.SCHEDULE_ARRIVAL_DATE = FND_API.G_MISS_DATE THEN
2545 --  Get the defaulting api registered in the AK AND default
2546     l_attr:=l_attr||' 1';
2547     g_record.SCHEDULE_ARRIVAL_DATE := ONT_D2_SCHEDULE_ARRIVAL_DAT.Get_Default_Value(g_record);
2548     l_attr:=l_attr||' 2';
2549   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2550   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2551     l_attr:=l_attr||' 3';
2552     IF NOT OE_GLOBALS.Equal(g_record.schedule_arrival_date, p_in_old_rec.schedule_arrival_date) THEN
2553       IF OE_LINE_SECURITY.SCHEDULE_ARRIVAL_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2554       -- Raise error if security returns YES, operation IS CONSTRAINED
2555         RAISE FND_API.G_EXC_ERROR;
2556       END IF;
2557       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2558     END IF;
2559   END IF;
2560   IF g_record.SCHEDULE_ARRIVAL_DATE IS NOT NULL THEN
2561     l_attr:=l_attr||' 4';
2562     -- Validate defaulted value if not null
2563     IF OE_VALIDATE.SCHEDULE_ARRIVAL_DATE(g_record.SCHEDULE_ARRIVAL_DATE) THEN  
2564       -- There is no dependent api registered in the AK dictionary  
2565       NULL;
2566       l_attr:=l_attr||' 5';
2567     ELSE
2568       g_record.SCHEDULE_ARRIVAL_DATE := NULL;
2569       l_attr:=l_attr||' 6';
2570     END IF;
2571   END IF;
2572 END IF;
2573 l_attr:= 'SCHEDULE_STATUS_CODE';
2574  
2575 IF g_record.SCHEDULE_STATUS_CODE = FND_API.G_MISS_CHAR THEN
2576   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2577   g_record.SCHEDULE_STATUS_CODE := NULL;
2578 END IF;
2579 l_attr:= 'CANCELLED_QUANTITY2';
2580  
2581 IF g_record.CANCELLED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2582   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2583   g_record.CANCELLED_QUANTITY2 := NULL;
2584 END IF;
2585 l_attr:= 'FULFILLED_QUANTITY2';
2586  
2587 IF g_record.FULFILLED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2588   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2589   g_record.FULFILLED_QUANTITY2 := NULL;
2590 END IF;
2591 l_attr:= 'ORDERED_QUANTITY2';
2592  
2593 IF g_record.ORDERED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2594 --  Get the defaulting api registered in the AK AND default
2595     l_attr:=l_attr||' 1';
2596     g_record.ORDERED_QUANTITY2 := ONT_D2_ORDERED_QUANTITY2.Get_Default_Value(g_record);
2597     l_attr:=l_attr||' 2';
2598   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2599   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2600     l_attr:=l_attr||' 3';
2601     IF NOT OE_GLOBALS.Equal(g_record.ordered_quantity2, p_in_old_rec.ordered_quantity2) THEN
2602       IF OE_LINE_SECURITY.ORDERED_QUANTITY2(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2603       -- Raise error if security returns YES, operation IS CONSTRAINED
2604         RAISE FND_API.G_EXC_ERROR;
2605       END IF;
2606       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2607     END IF;
2608   END IF;
2609       -- There is no validation api registered in the AK dictionary  
2610 END IF;
2611 l_attr:= 'SHIPPED_QUANTITY2';
2612  
2613 IF g_record.SHIPPED_QUANTITY2 = FND_API.G_MISS_NUM THEN
2614   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2615   g_record.SHIPPED_QUANTITY2 := NULL;
2616 END IF;
2617 l_attr:= 'SHIPPING_QUANTITY2';
2618  
2619 IF g_record.SHIPPING_QUANTITY2 = FND_API.G_MISS_NUM THEN
2620   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2621   g_record.SHIPPING_QUANTITY2 := NULL;
2622 END IF;
2623 l_attr:= 'SHIPPING_QUANTITY_UOM2';
2624  
2625 IF g_record.SHIPPING_QUANTITY_UOM2 = FND_API.G_MISS_CHAR THEN
2626   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2627   g_record.SHIPPING_QUANTITY_UOM2 := NULL;
2628 END IF;
2629 l_attr:= 'ORDERED_QUANTITY_UOM2';
2630  
2631 IF g_record.ORDERED_QUANTITY_UOM2 = FND_API.G_MISS_CHAR THEN
2632 --  Get the defaulting api registered in the AK AND default
2633     l_attr:=l_attr||' 1';
2634     g_record.ORDERED_QUANTITY_UOM2 := ONT_D2_ORDERED_QUANTITY_UOM.Get_Default_Value(g_record);
2635     l_attr:=l_attr||' 2';
2636 -- There is no security api registered in the AK dictionary  
2637       -- There is no validation api registered in the AK dictionary  
2638 END IF;
2639 l_attr:= 'SERVICE_COTERMINATE_FLAG';
2640  
2641 IF g_record.SERVICE_COTERMINATE_FLAG = FND_API.G_MISS_CHAR THEN
2642   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2643   g_record.SERVICE_COTERMINATE_FLAG := NULL;
2644 END IF;
2645 l_attr:= 'SERVICE_DURATION';
2646  
2647 IF g_record.SERVICE_DURATION = FND_API.G_MISS_NUM THEN
2648 --  Get the defaulting api registered in the AK AND default
2649     l_attr:=l_attr||' 1';
2650     g_record.SERVICE_DURATION := ONT_D2_SERVICE_DURATION.Get_Default_Value(g_record);
2651     l_attr:=l_attr||' 2';
2652   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2653   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2654     l_attr:=l_attr||' 3';
2655     IF NOT OE_GLOBALS.Equal(g_record.service_duration, p_in_old_rec.service_duration) THEN
2656       IF OE_LINE_SECURITY.SERVICE_DURATION(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2657       -- Raise error if security returns YES, operation IS CONSTRAINED
2658         RAISE FND_API.G_EXC_ERROR;
2659       END IF;
2660       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2661     END IF;
2662   END IF;
2663   IF g_record.SERVICE_DURATION IS NOT NULL THEN
2664     l_attr:=l_attr||' 4';
2665     -- Validate defaulted value if not null
2666     IF OE_VALIDATE.SERVICE_DURATION(g_record.SERVICE_DURATION) THEN  
2667       -- There is no dependent api registered in the AK dictionary  
2668       NULL;
2669       l_attr:=l_attr||' 5';
2670     ELSE
2671       g_record.SERVICE_DURATION := NULL;
2672       l_attr:=l_attr||' 6';
2673     END IF;
2674   END IF;
2675 END IF;
2676 l_attr:= 'SERVICE_END_DATE';
2677  
2678 IF g_record.SERVICE_END_DATE = FND_API.G_MISS_DATE THEN
2679   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2680   g_record.SERVICE_END_DATE := NULL;
2681 END IF;
2682 l_attr:= 'SERVICE_NUMBER';
2683  
2684 IF g_record.SERVICE_NUMBER = FND_API.G_MISS_NUM THEN
2685   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2686   g_record.SERVICE_NUMBER := NULL;
2687 END IF;
2688 l_attr:= 'SERVICE_PERIOD';
2689  
2690 IF g_record.SERVICE_PERIOD = FND_API.G_MISS_CHAR THEN
2691 --  Get the defaulting api registered in the AK AND default
2692     l_attr:=l_attr||' 1';
2693     g_record.SERVICE_PERIOD := ONT_D2_SERVICE_PERIOD.Get_Default_Value(g_record);
2694     l_attr:=l_attr||' 2';
2695   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2696   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2697     l_attr:=l_attr||' 3';
2698     IF NOT OE_GLOBALS.Equal(g_record.service_period, p_in_old_rec.service_period) THEN
2699       IF OE_LINE_SECURITY.SERVICE_PERIOD(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2700       -- Raise error if security returns YES, operation IS CONSTRAINED
2701         RAISE FND_API.G_EXC_ERROR;
2702       END IF;
2703       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2704     END IF;
2705   END IF;
2706   IF g_record.SERVICE_PERIOD IS NOT NULL THEN
2707     l_attr:=l_attr||' 4';
2708     -- Validate defaulted value if not null
2709     IF OE_VALIDATE.SERVICE_PERIOD(g_record.SERVICE_PERIOD) THEN  
2710       -- There is no dependent api registered in the AK dictionary  
2711       NULL;
2712       l_attr:=l_attr||' 5';
2713     ELSE
2714       g_record.SERVICE_PERIOD := NULL;
2715       l_attr:=l_attr||' 6';
2716     END IF;
2717   END IF;
2718 END IF;
2719 l_attr:= 'SERVICE_REFERENCE_LINE_ID';
2720  
2721 IF g_record.SERVICE_REFERENCE_LINE_ID = FND_API.G_MISS_NUM THEN
2722   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2723   g_record.SERVICE_REFERENCE_LINE_ID := NULL;
2724 END IF;
2725 l_attr:= 'SERVICE_REFERENCE_SYSTEM_ID';
2726  
2727 IF g_record.SERVICE_REFERENCE_SYSTEM_ID = FND_API.G_MISS_NUM THEN
2728   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2729   g_record.SERVICE_REFERENCE_SYSTEM_ID := NULL;
2730 END IF;
2731 l_attr:= 'SERVICE_REFERENCE_TYPE_CODE';
2732  
2733 IF g_record.SERVICE_REFERENCE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
2734 --  Get the defaulting api registered in the AK AND default
2735     l_attr:=l_attr||' 1';
2736     g_record.SERVICE_REFERENCE_TYPE_CODE := ONT_D2_SERVICE_REFERENCE_TY.Get_Default_Value(g_record);
2737     l_attr:=l_attr||' 2';
2738   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2739   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2740     l_attr:=l_attr||' 3';
2741     IF NOT OE_GLOBALS.Equal(g_record.service_reference_type_code, p_in_old_rec.service_reference_type_code) THEN
2742       IF OE_LINE_SECURITY.SERVICE_REFERENCE_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2743       -- Raise error if security returns YES, operation IS CONSTRAINED
2744         RAISE FND_API.G_EXC_ERROR;
2745       END IF;
2746       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2747     END IF;
2748   END IF;
2749   IF g_record.SERVICE_REFERENCE_TYPE_CODE IS NOT NULL THEN
2750     l_attr:=l_attr||' 4';
2751     -- Validate defaulted value if not null
2752     IF OE_VALIDATE.SERVICE_REFERENCE_TYPE(g_record.SERVICE_REFERENCE_TYPE_CODE) THEN  
2753       -- There is no dependent api registered in the AK dictionary  
2754       NULL;
2755       l_attr:=l_attr||' 5';
2756     ELSE
2757       g_record.SERVICE_REFERENCE_TYPE_CODE := NULL;
2758       l_attr:=l_attr||' 6';
2759     END IF;
2760   END IF;
2761 END IF;
2762 l_attr:= 'SERVICE_START_DATE';
2763  
2764 IF g_record.SERVICE_START_DATE = FND_API.G_MISS_DATE THEN
2765 --  Get the defaulting api registered in the AK AND default
2766     l_attr:=l_attr||' 1';
2767     g_record.SERVICE_START_DATE := ONT_D2_SERVICE_START_DATE.Get_Default_Value(g_record);
2768     l_attr:=l_attr||' 2';
2769   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2770   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2771     l_attr:=l_attr||' 3';
2772     IF NOT OE_GLOBALS.Equal(g_record.service_start_date, p_in_old_rec.service_start_date) THEN
2773       IF OE_LINE_SECURITY.SERVICE_START_DATE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2774       -- Raise error if security returns YES, operation IS CONSTRAINED
2775         RAISE FND_API.G_EXC_ERROR;
2776       END IF;
2777       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2778     END IF;
2779   END IF;
2780   IF g_record.SERVICE_START_DATE IS NOT NULL THEN
2781     l_attr:=l_attr||' 4';
2782     -- Validate defaulted value if not null
2783     IF OE_VALIDATE.SERVICE_START_DATE(g_record.SERVICE_START_DATE) THEN  
2784       -- There is no dependent api registered in the AK dictionary  
2785       NULL;
2786       l_attr:=l_attr||' 5';
2787     ELSE
2788       g_record.SERVICE_START_DATE := NULL;
2789       l_attr:=l_attr||' 6';
2790     END IF;
2791   END IF;
2792 END IF;
2793 l_attr:= 'SERVICE_TXN_COMMENTS';
2794  
2795 IF g_record.SERVICE_TXN_COMMENTS = FND_API.G_MISS_CHAR THEN
2796   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2797   g_record.SERVICE_TXN_COMMENTS := NULL;
2798 END IF;
2799 l_attr:= 'SERVICE_TXN_REASON_CODE';
2800  
2801 IF g_record.SERVICE_TXN_REASON_CODE = FND_API.G_MISS_CHAR THEN
2802   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2803   g_record.SERVICE_TXN_REASON_CODE := NULL;
2804 END IF;
2805 l_attr:= 'SHIP_MODEL_COMPLETE_FLAG';
2806  
2807 IF g_record.SHIP_MODEL_COMPLETE_FLAG = FND_API.G_MISS_CHAR THEN
2808   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2809   g_record.SHIP_MODEL_COMPLETE_FLAG := NULL;
2810 END IF;
2811 l_attr:= 'SHIP_SET_ID';
2812  
2813 IF g_record.SHIP_SET_ID = FND_API.G_MISS_NUM THEN
2814   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2815   g_record.SHIP_SET_ID := NULL;
2816 END IF;
2817 l_attr:= 'SHIP_SET';
2818  
2819 IF g_record.SHIP_SET = FND_API.G_MISS_CHAR THEN
2820   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2821   g_record.SHIP_SET := NULL;
2822 END IF;
2823 l_attr:= 'SHIP_TO_CONTACT_ID';
2824  
2825 IF g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM THEN
2826 --  Get the defaulting api registered in the AK AND default
2827     l_attr:=l_attr||' 1';
2828     g_record.SHIP_TO_CONTACT_ID := ONT_D2_SHIP_TO_CONTACT_ID.Get_Default_Value(g_record);
2829     l_attr:=l_attr||' 2';
2830   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2831   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2832     l_attr:=l_attr||' 3';
2833     IF NOT OE_GLOBALS.Equal(g_record.ship_to_contact_id, p_in_old_rec.ship_to_contact_id) THEN
2834       IF OE_LINE_SECURITY.SHIP_TO_CONTACT(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2835       -- Raise error if security returns YES, operation IS CONSTRAINED
2836         RAISE FND_API.G_EXC_ERROR;
2837       END IF;
2838       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2839     END IF;
2840   END IF;
2841   IF g_record.SHIP_TO_CONTACT_ID IS NOT NULL THEN
2842     l_attr:=l_attr||' 4';
2843     -- Validate defaulted value if not null
2844     IF OE_VALIDATE.SHIP_TO_CONTACT(g_record.SHIP_TO_CONTACT_ID) THEN  
2845       -- if valid, clear dependent attributes
2846       OE_LINE_CL_DEP_ATTR.SHIP_TO_CONTACT(p_initial_rec, p_in_old_rec, g_record);
2847     ELSE
2848       g_record.SHIP_TO_CONTACT_ID := NULL;
2849       l_attr:=l_attr||' 6';
2850     END IF;
2851   END IF;
2852 END IF;
2853 l_attr:= 'SHIP_TOLERANCE_ABOVE';
2854  
2855 IF g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM THEN
2856 --  Get the defaulting api registered in the AK AND default
2857     l_attr:=l_attr||' 1';
2858     g_record.SHIP_TOLERANCE_ABOVE := ONT_D2_SHIP_TOLERANCE_ABOVE.Get_Default_Value(g_record);
2859     l_attr:=l_attr||' 2';
2860   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2861   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2862     l_attr:=l_attr||' 3';
2863     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_above, p_in_old_rec.ship_tolerance_above) THEN
2864       IF OE_LINE_SECURITY.SHIP_TOLERANCE_ABOVE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2865       -- Raise error if security returns YES, operation IS CONSTRAINED
2866         RAISE FND_API.G_EXC_ERROR;
2867       END IF;
2868       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2869     END IF;
2870   END IF;
2871   IF g_record.SHIP_TOLERANCE_ABOVE IS NOT NULL THEN
2872     l_attr:=l_attr||' 4';
2873     -- Validate defaulted value if not null
2874     IF OE_VALIDATE.SHIP_TOLERANCE_ABOVE(g_record.SHIP_TOLERANCE_ABOVE) THEN  
2875       -- There is no dependent api registered in the AK dictionary  
2876       NULL;
2877       l_attr:=l_attr||' 5';
2878     ELSE
2879       g_record.SHIP_TOLERANCE_ABOVE := NULL;
2880       l_attr:=l_attr||' 6';
2881     END IF;
2882   END IF;
2883 END IF;
2884 l_attr:= 'SHIP_TOLERANCE_BELOW';
2885  
2886 IF g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM THEN
2887 --  Get the defaulting api registered in the AK AND default
2888     l_attr:=l_attr||' 1';
2889     g_record.SHIP_TOLERANCE_BELOW := ONT_D2_SHIP_TOLERANCE_BELOW.Get_Default_Value(g_record);
2890     l_attr:=l_attr||' 2';
2891   -- For UPDATE operations, check security if new defaulted value is not equal to old value
2892   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2893     l_attr:=l_attr||' 3';
2894     IF NOT OE_GLOBALS.Equal(g_record.ship_tolerance_below, p_in_old_rec.ship_tolerance_below) THEN
2895       IF OE_LINE_SECURITY.SHIP_TOLERANCE_BELOW(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
2896       -- Raise error if security returns YES, operation IS CONSTRAINED
2897         RAISE FND_API.G_EXC_ERROR;
2898       END IF;
2899       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
2900     END IF;
2901   END IF;
2902   IF g_record.SHIP_TOLERANCE_BELOW IS NOT NULL THEN
2903     l_attr:=l_attr||' 4';
2904     -- Validate defaulted value if not null
2905     IF OE_VALIDATE.SHIP_TOLERANCE_BELOW(g_record.SHIP_TOLERANCE_BELOW) THEN  
2906       -- There is no dependent api registered in the AK dictionary  
2907       NULL;
2908       l_attr:=l_attr||' 5';
2909     ELSE
2910       g_record.SHIP_TOLERANCE_BELOW := NULL;
2911       l_attr:=l_attr||' 6';
2912     END IF;
2913   END IF;
2914 END IF;
2915 l_attr:= 'SHIPMENT_NUMBER';
2916  
2917 IF g_record.SHIPMENT_NUMBER = FND_API.G_MISS_NUM THEN
2918   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2919   g_record.SHIPMENT_NUMBER := NULL;
2920 END IF;
2921 l_attr:= 'SHIPMENT_PRIORITY_CODE';
2922  
2923 IF g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR THEN
2924 --  Get the defaulting api registered in the AK AND default
2925     l_attr:=l_attr||' 1';
2926     g_record.SHIPMENT_PRIORITY_CODE := ONT_D2_SHIPMENT_PRIORITY_CO.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.shipment_priority_code, p_in_old_rec.shipment_priority_code) THEN
2932       IF OE_LINE_SECURITY.SHIPMENT_PRIORITY(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.SHIPMENT_PRIORITY_CODE IS NOT NULL THEN
2940     l_attr:=l_attr||' 4';
2941     -- Validate defaulted value if not null
2942     IF OE_VALIDATE.SHIPMENT_PRIORITY(g_record.SHIPMENT_PRIORITY_CODE) THEN  
2943       -- There is no dependent api registered in the AK dictionary  
2944       NULL;
2945       l_attr:=l_attr||' 5';
2946     ELSE
2947       g_record.SHIPMENT_PRIORITY_CODE := NULL;
2948       l_attr:=l_attr||' 6';
2949     END IF;
2950   END IF;
2951 END IF;
2952 l_attr:= 'SHIPPED_QUANTITY';
2953  
2954 IF g_record.SHIPPED_QUANTITY = FND_API.G_MISS_NUM THEN
2955   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2956   g_record.SHIPPED_QUANTITY := NULL;
2957 END IF;
2958 l_attr:= 'SHIPPING_INSTRUCTIONS';
2959  
2960 IF g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR THEN
2961 --  Get the defaulting api registered in the AK AND default
2962     l_attr:=l_attr||' 1';
2963     g_record.SHIPPING_INSTRUCTIONS := ONT_D2_SHIPPING_INSTRUCTION.Get_Default_Value(g_record);
2964     l_attr:=l_attr||' 2';
2965 -- There is no security api registered in the AK dictionary  
2966   IF g_record.SHIPPING_INSTRUCTIONS IS NOT NULL THEN
2967     l_attr:=l_attr||' 4';
2968     -- Validate defaulted value if not null
2969     IF OE_VALIDATE.SHIPPING_INSTRUCTIONS(g_record.SHIPPING_INSTRUCTIONS) THEN  
2970       -- There is no dependent api registered in the AK dictionary  
2971       NULL;
2972       l_attr:=l_attr||' 5';
2973     ELSE
2974       g_record.SHIPPING_INSTRUCTIONS := NULL;
2975       l_attr:=l_attr||' 6';
2976     END IF;
2977   END IF;
2978 END IF;
2979 l_attr:= 'SHIPPING_INTERFACED_FLAG';
2980  
2981 IF g_record.SHIPPING_INTERFACED_FLAG = FND_API.G_MISS_CHAR THEN
2982   -- Attribute is NOT defaulting enabled, return NULL if MISSING
2983   g_record.SHIPPING_INTERFACED_FLAG := NULL;
2984 END IF;
2985 l_attr:= 'SHIPPING_METHOD_CODE';
2986  
2987 IF g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR THEN
2988 --  Get the defaulting api registered in the AK AND default
2989     l_attr:=l_attr||' 1';
2990     g_record.SHIPPING_METHOD_CODE := ONT_D2_SHIPPING_METHOD_CODE.Get_Default_Value(g_record);
2991     l_attr:=l_attr||' 2';
2992 -- There is no security api registered in the AK dictionary  
2993   IF g_record.SHIPPING_METHOD_CODE IS NOT NULL THEN
2994     l_attr:=l_attr||' 4';
2995     -- Validate defaulted value if not null
2996     IF OE_VALIDATE.SHIPPING_METHOD(g_record.SHIPPING_METHOD_CODE) THEN  
2997       -- There is no dependent api registered in the AK dictionary  
2998       NULL;
2999       l_attr:=l_attr||' 5';
3000     ELSE
3001       g_record.SHIPPING_METHOD_CODE := NULL;
3002       l_attr:=l_attr||' 6';
3003     END IF;
3004   END IF;
3005 END IF;
3006 l_attr:= 'SHIPPING_QUANTITY';
3007  
3008 IF g_record.SHIPPING_QUANTITY = FND_API.G_MISS_NUM THEN
3009   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3010   g_record.SHIPPING_QUANTITY := NULL;
3011 END IF;
3012 l_attr:= 'SHIPPING_QUANTITY_UOM';
3013  
3014 IF g_record.SHIPPING_QUANTITY_UOM = FND_API.G_MISS_CHAR THEN
3015   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3016   g_record.SHIPPING_QUANTITY_UOM := NULL;
3017 END IF;
3018 l_attr:= 'SORT_ORDER';
3019  
3020 IF g_record.SORT_ORDER = FND_API.G_MISS_CHAR THEN
3021   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3022   g_record.SORT_ORDER := NULL;
3023 END IF;
3024 l_attr:= 'SOURCE_DOCUMENT_ID';
3025  
3026 IF g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM THEN
3027   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3028   g_record.SOURCE_DOCUMENT_ID := NULL;
3029 END IF;
3030 l_attr:= 'SOURCE_DOCUMENT_LINE_ID';
3031  
3032 IF g_record.SOURCE_DOCUMENT_LINE_ID = FND_API.G_MISS_NUM THEN
3033   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3034   g_record.SOURCE_DOCUMENT_LINE_ID := NULL;
3035 END IF;
3036 l_attr:= 'SOURCE_DOCUMENT_TYPE_ID';
3037  
3038 IF g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM THEN
3039   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3040   g_record.SOURCE_DOCUMENT_TYPE_ID := NULL;
3041 END IF;
3042 l_attr:= 'SOURCE_DOCUMENT_VERSION_NUMBER';
3043  
3044 IF g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM THEN
3045   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3046   g_record.SOURCE_DOCUMENT_VERSION_NUMBER := NULL;
3047 END IF;
3048 l_attr:= 'SOURCE_TYPE_CODE';
3049  
3050 IF g_record.SOURCE_TYPE_CODE = FND_API.G_MISS_CHAR THEN
3051 --  Get the defaulting api registered in the AK AND default
3052     l_attr:=l_attr||' 1';
3053     g_record.SOURCE_TYPE_CODE := ONT_D2_SOURCE_TYPE_CODE.Get_Default_Value(g_record);
3054     l_attr:=l_attr||' 2';
3055   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3056   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3057     l_attr:=l_attr||' 3';
3058     IF NOT OE_GLOBALS.Equal(g_record.source_type_code, p_in_old_rec.source_type_code) THEN
3059       IF OE_LINE_SECURITY.SOURCE_TYPE(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3060       -- Raise error if security returns YES, operation IS CONSTRAINED
3061         RAISE FND_API.G_EXC_ERROR;
3062       END IF;
3063       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3064     END IF;
3065   END IF;
3066   IF g_record.SOURCE_TYPE_CODE IS NOT NULL THEN
3067     l_attr:=l_attr||' 4';
3068     -- Validate defaulted value if not null
3069     IF OE_VALIDATE.SOURCE_TYPE(g_record.SOURCE_TYPE_CODE) THEN  
3070       -- There is no dependent api registered in the AK dictionary  
3071       NULL;
3072       l_attr:=l_attr||' 5';
3073     ELSE
3074       g_record.SOURCE_TYPE_CODE := NULL;
3075       l_attr:=l_attr||' 6';
3076     END IF;
3077   END IF;
3078 END IF;
3079 l_attr:= 'SPLIT_BY';
3080  
3081 IF g_record.SPLIT_BY = FND_API.G_MISS_CHAR THEN
3082   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3083   g_record.SPLIT_BY := NULL;
3084 END IF;
3085 l_attr:= 'SPLIT_FROM_LINE_ID';
3086  
3087 IF g_record.SPLIT_FROM_LINE_ID = FND_API.G_MISS_NUM THEN
3088   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3089   g_record.SPLIT_FROM_LINE_ID := NULL;
3090 END IF;
3091 l_attr:= 'SUBINVENTORY';
3092  
3093 IF g_record.SUBINVENTORY = FND_API.G_MISS_CHAR THEN
3094 --  Get the defaulting api registered in the AK AND default
3095     l_attr:=l_attr||' 1';
3096     g_record.SUBINVENTORY := ONT_D2_SUBINVENTORY.Get_Default_Value(g_record);
3097     l_attr:=l_attr||' 2';
3098 -- There is no security api registered in the AK dictionary  
3099   IF g_record.SUBINVENTORY IS NOT NULL THEN
3100     l_attr:=l_attr||' 4';
3101     -- Validate defaulted value if not null
3102     IF OE_VALIDATE.SUBINVENTORY(g_record.SUBINVENTORY) THEN  
3103       -- There is no dependent api registered in the AK dictionary  
3104       NULL;
3105       l_attr:=l_attr||' 5';
3106     ELSE
3107       g_record.SUBINVENTORY := NULL;
3108       l_attr:=l_attr||' 6';
3109     END IF;
3110   END IF;
3111 END IF;
3112 l_attr:= 'TASK_ID';
3113  
3114 IF g_record.TASK_ID = FND_API.G_MISS_NUM THEN
3115   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3116   g_record.TASK_ID := NULL;
3117 END IF;
3118 l_attr:= 'TAX_EXEMPT_NUMBER';
3119  
3120 IF g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR THEN
3121 --  Get the defaulting api registered in the AK AND default
3122     l_attr:=l_attr||' 1';
3123     g_record.TAX_EXEMPT_NUMBER := ONT_D2_TAX_EXEMPT_NUMBER.Get_Default_Value(g_record);
3124     l_attr:=l_attr||' 2';
3125   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3126   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3127     l_attr:=l_attr||' 3';
3128     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_number, p_in_old_rec.tax_exempt_number) THEN
3129       IF OE_LINE_SECURITY.TAX_EXEMPT_NUMBER(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3130       -- Raise error if security returns YES, operation IS CONSTRAINED
3131         RAISE FND_API.G_EXC_ERROR;
3132       END IF;
3133       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3134     END IF;
3135   END IF;
3136   IF g_record.TAX_EXEMPT_NUMBER IS NOT NULL THEN
3137     l_attr:=l_attr||' 4';
3138     -- Validate defaulted value if not null
3139     IF OE_VALIDATE.TAX_EXEMPT_NUMBER(g_record.TAX_EXEMPT_NUMBER) THEN  
3140       -- There is no dependent api registered in the AK dictionary  
3141       NULL;
3142       l_attr:=l_attr||' 5';
3143     ELSE
3144       g_record.TAX_EXEMPT_NUMBER := NULL;
3145       l_attr:=l_attr||' 6';
3146     END IF;
3147   END IF;
3148 END IF;
3149 l_attr:= 'TAX_EXEMPT_REASON_CODE';
3150  
3151 IF g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR THEN
3152 --  Get the defaulting api registered in the AK AND default
3153     l_attr:=l_attr||' 1';
3154     g_record.TAX_EXEMPT_REASON_CODE := ONT_D2_TAX_EXEMPT_REASON_CO.Get_Default_Value(g_record);
3155     l_attr:=l_attr||' 2';
3156   -- For UPDATE operations, check security if new defaulted value is not equal to old value
3157   IF g_record.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3158     l_attr:=l_attr||' 3';
3159     IF NOT OE_GLOBALS.Equal(g_record.tax_exempt_reason_code, p_in_old_rec.tax_exempt_reason_code) THEN
3160       IF OE_LINE_SECURITY.TAX_EXEMPT_REASON(p_record => g_record, x_on_operation_action	=> l_action) = OE_PC_GLOBALS.YES THEN
3161       -- Raise error if security returns YES, operation IS CONSTRAINED
3162         RAISE FND_API.G_EXC_ERROR;
3163       END IF;
3164       OE_GLOBALS.G_ATTR_UPDATED_BY_DEF := 'Y';
3165     END IF;
3166   END IF;
3167   IF g_record.TAX_EXEMPT_REASON_CODE IS NOT NULL THEN
3168     l_attr:=l_attr||' 4';
3169     -- Validate defaulted value if not null
3170     IF OE_VALIDATE.TAX_EXEMPT_REASON(g_record.TAX_EXEMPT_REASON_CODE) THEN  
3171       -- There is no dependent api registered in the AK dictionary  
3172       NULL;
3173       l_attr:=l_attr||' 5';
3174     ELSE
3175       g_record.TAX_EXEMPT_REASON_CODE := NULL;
3176       l_attr:=l_attr||' 6';
3177     END IF;
3178   END IF;
3179 END IF;
3180 l_attr:= 'TAX_POINT_CODE';
3181  
3182 IF g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR THEN
3183   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3184   g_record.TAX_POINT_CODE := NULL;
3185 END IF;
3186 l_attr:= 'TAX_RATE';
3187  
3188 IF g_record.TAX_RATE = FND_API.G_MISS_NUM THEN
3189   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3190   g_record.TAX_RATE := NULL;
3191 END IF;
3192 l_attr:= 'TAX_VALUE';
3193  
3194 IF g_record.TAX_VALUE = FND_API.G_MISS_NUM THEN
3195   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3196   g_record.TAX_VALUE := NULL;
3197 END IF;
3198 l_attr:= 'TOP_MODEL_LINE_ID';
3199  
3200 IF g_record.TOP_MODEL_LINE_ID = FND_API.G_MISS_NUM THEN
3201   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3202   g_record.TOP_MODEL_LINE_ID := NULL;
3203 END IF;
3204 l_attr:= 'TRANSACTION_PHASE_CODE';
3205  
3206 IF g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR THEN
3207   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3208   g_record.TRANSACTION_PHASE_CODE := NULL;
3209 END IF;
3210 l_attr:= 'UNIT_LIST_PERCENT';
3211  
3212 IF g_record.UNIT_LIST_PERCENT = FND_API.G_MISS_NUM THEN
3213   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3214   g_record.UNIT_LIST_PERCENT := NULL;
3215 END IF;
3216 l_attr:= 'UNIT_LIST_PRICE';
3217  
3218 IF g_record.UNIT_LIST_PRICE = FND_API.G_MISS_NUM THEN
3219   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3220   g_record.UNIT_LIST_PRICE := NULL;
3221 END IF;
3222 l_attr:= 'UNIT_PERCENT_BASE_PRICE';
3223  
3224 IF g_record.UNIT_PERCENT_BASE_PRICE = FND_API.G_MISS_NUM THEN
3225   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3226   g_record.UNIT_PERCENT_BASE_PRICE := NULL;
3227 END IF;
3228 l_attr:= 'UNIT_SELLING_PERCENT';
3229  
3230 IF g_record.UNIT_SELLING_PERCENT = FND_API.G_MISS_NUM THEN
3231   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3232   g_record.UNIT_SELLING_PERCENT := NULL;
3233 END IF;
3234 l_attr:= 'UNIT_SELLING_PRICE';
3235  
3236 IF g_record.UNIT_SELLING_PRICE = FND_API.G_MISS_NUM THEN
3237   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3238   g_record.UNIT_SELLING_PRICE := NULL;
3239 END IF;
3240 l_attr:= 'UPGRADED_FLAG';
3241  
3242 IF g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR THEN
3243   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3244   g_record.UPGRADED_FLAG := NULL;
3245 END IF;
3246 l_attr:= 'USER_ITEM_DESCRIPTION';
3247  
3248 IF g_record.USER_ITEM_DESCRIPTION = FND_API.G_MISS_CHAR THEN
3249   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3250   g_record.USER_ITEM_DESCRIPTION := NULL;
3251 END IF;
3252 l_attr:= 'VEH_CUS_ITEM_CUM_KEY_ID';
3253  
3254 IF g_record.VEH_CUS_ITEM_CUM_KEY_ID = FND_API.G_MISS_NUM THEN
3255   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3256   g_record.VEH_CUS_ITEM_CUM_KEY_ID := NULL;
3257 END IF;
3258 l_attr:= 'VISIBLE_DEMAND_FLAG';
3259  
3260 IF g_record.VISIBLE_DEMAND_FLAG = FND_API.G_MISS_CHAR THEN
3261   -- Attribute is NOT defaulting enabled, return NULL if MISSING
3262   g_record.VISIBLE_DEMAND_FLAG := NULL;
3263 END IF;
3264  
3265     --  CHeck if there are any missing values for attrs
3266     --  If there are any missing call Default_Record again AND repeat till all the values 
3267     --  are defaulted or till the max. iterations are reached
3268  
3269      IF( 
3270       (g_record.LINE_TYPE_ID =FND_API.G_MISS_NUM)  
3271      OR (g_record.AGREEMENT_ID = FND_API.G_MISS_NUM)  
3272      OR (g_record.SOLD_TO_ORG_ID = FND_API.G_MISS_NUM)  
3273      OR (g_record.SHIP_TO_ORG_ID = FND_API.G_MISS_NUM)  
3274      OR (g_record.INVOICE_TO_ORG_ID = FND_API.G_MISS_NUM)  
3275      OR (g_record.DELIVER_TO_ORG_ID = FND_API.G_MISS_NUM)  
3276      OR (g_record.REQUEST_DATE = FND_API.G_MISS_DATE)  
3277      OR (g_record.SCHEDULE_SHIP_DATE = FND_API.G_MISS_DATE)  
3278      OR (g_record.PROMISE_DATE = FND_API.G_MISS_DATE)  
3279      OR (g_record.TAX_DATE = FND_API.G_MISS_DATE)  
3280      OR (g_record.TAX_CODE = FND_API.G_MISS_CHAR)  
3281      OR (g_record.TAX_EXEMPT_FLAG = FND_API.G_MISS_CHAR)  
3282      OR (g_record.SHIP_FROM_ORG_ID = FND_API.G_MISS_NUM)  
3283      OR (g_record.ATO_LINE_ID = FND_API.G_MISS_NUM)  
3284      OR (g_record.ACCOUNTING_RULE_ID = FND_API.G_MISS_NUM)  
3285      OR (g_record.ACCOUNTING_RULE_DURATION = FND_API.G_MISS_NUM)  
3286      OR (g_record.ACTUAL_ARRIVAL_DATE = FND_API.G_MISS_DATE)  
3287      OR (g_record.ACTUAL_FULFILLMENT_DATE = FND_API.G_MISS_DATE)  
3288      OR (g_record.ACTUAL_SHIPMENT_DATE = FND_API.G_MISS_DATE)  
3289      OR (g_record.ARRIVAL_SET_ID = FND_API.G_MISS_NUM)  
3290      OR (g_record.ARRIVAL_SET = FND_API.G_MISS_CHAR)  
3291      OR (g_record.ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3292      OR (g_record.ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3293      OR (g_record.ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3294      OR (g_record.ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3295      OR (g_record.ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3296      OR (g_record.ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3297      OR (g_record.ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3298      OR (g_record.ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3299      OR (g_record.ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3300      OR (g_record.ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3301      OR (g_record.ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3302      OR (g_record.ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3303      OR (g_record.ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3304      OR (g_record.ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3305      OR (g_record.ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3306      OR (g_record.ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3307      OR (g_record.ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3308      OR (g_record.ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3309      OR (g_record.ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3310      OR (g_record.ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3311      OR (g_record.AUTHORIZED_TO_SHIP_FLAG = FND_API.G_MISS_CHAR)  
3312      OR (g_record.AUTO_SELECTED_QUANTITY = FND_API.G_MISS_NUM)  
3313      OR (g_record.INVOICE_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3314      OR (g_record.BOOKED_FLAG = FND_API.G_MISS_CHAR)  
3315      OR (g_record.CALCULATE_PRICE_FLAG = FND_API.G_MISS_CHAR)  
3316      OR (g_record.CANCELLED_FLAG = FND_API.G_MISS_CHAR)  
3317      OR (g_record.CANCELLED_QUANTITY = FND_API.G_MISS_NUM)  
3318      OR (g_record.CHANGE_COMMENTS = FND_API.G_MISS_CHAR)  
3319      OR (g_record.CHANGE_REASON = FND_API.G_MISS_CHAR)  
3320      OR (g_record.CHARGE_PERIODICITY_CODE = FND_API.G_MISS_CHAR)  
3321      OR (g_record.COMMITMENT_ID = FND_API.G_MISS_NUM)  
3322      OR (g_record.COMPONENT_CODE = FND_API.G_MISS_CHAR)  
3323      OR (g_record.COMPONENT_NUMBER = FND_API.G_MISS_NUM)  
3324      OR (g_record.COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM)  
3325      OR (g_record.CONFIG_DISPLAY_SEQUENCE = FND_API.G_MISS_NUM)  
3326      OR (g_record.CONFIG_HEADER_ID = FND_API.G_MISS_NUM)  
3327      OR (g_record.CONFIG_REV_NBR = FND_API.G_MISS_NUM)  
3328      OR (g_record.CONFIGURATION_ID = FND_API.G_MISS_NUM)  
3329      OR (g_record.CONTEXT = FND_API.G_MISS_CHAR)  
3330      OR (g_record.CONTINGENCY_ID = FND_API.G_MISS_NUM)  
3331      OR (g_record.CREATED_BY = FND_API.G_MISS_NUM)  
3332      OR (g_record.CREATION_DATE = FND_API.G_MISS_DATE)  
3333      OR (g_record.CREDIT_INVOICE_LINE_ID = FND_API.G_MISS_NUM)  
3334      OR (g_record.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR)  
3335      OR (g_record.CUST_MODEL_SERIAL_NUMBER = FND_API.G_MISS_CHAR)  
3336      OR (g_record.CUSTOMER_DOCK_CODE = FND_API.G_MISS_CHAR)  
3337      OR (g_record.CUSTOMER_JOB = FND_API.G_MISS_CHAR)  
3338      OR (g_record.CUST_PO_NUMBER = FND_API.G_MISS_CHAR)  
3339      OR (g_record.CUSTOMER_LINE_NUMBER = FND_API.G_MISS_CHAR)  
3340      OR (g_record.CUSTOMER_PRODUCTION_LINE = FND_API.G_MISS_CHAR)  
3341      OR (g_record.CUST_PRODUCTION_SEQ_NUM = FND_API.G_MISS_CHAR)  
3342      OR (g_record.CUSTOMER_SHIPMENT_NUMBER = FND_API.G_MISS_NUM)  
3343      OR (g_record.CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM)  
3344      OR (g_record.DB_FLAG = FND_API.G_MISS_CHAR)  
3345      OR (g_record.DELIVER_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3346      OR (g_record.DELIVERY_LEAD_TIME = FND_API.G_MISS_NUM)  
3347      OR (g_record.DEMAND_BUCKET_TYPE_CODE = FND_API.G_MISS_CHAR)  
3348      OR (g_record.DEMAND_CLASS_CODE = FND_API.G_MISS_CHAR)  
3349      OR (g_record.DEP_PLAN_REQUIRED_FLAG = FND_API.G_MISS_CHAR)  
3350      OR (g_record.EARLIEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE)  
3351      OR (g_record.END_CUSTOMER_ID = FND_API.G_MISS_NUM)  
3352      OR (g_record.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM)  
3353      OR (g_record.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM)  
3354      OR (g_record.END_ITEM_UNIT_NUMBER = FND_API.G_MISS_CHAR)  
3355      OR (g_record.EXPLOSION_DATE = FND_API.G_MISS_DATE)  
3356      OR (g_record.FOB_POINT_CODE = FND_API.G_MISS_CHAR)  
3357      OR (g_record.FIRST_ACK_CODE = FND_API.G_MISS_CHAR)  
3358      OR (g_record.FIRST_ACK_DATE = FND_API.G_MISS_DATE)  
3359      OR (g_record.FREIGHT_CARRIER_CODE = FND_API.G_MISS_CHAR)  
3360      OR (g_record.FREIGHT_TERMS_CODE = FND_API.G_MISS_CHAR)  
3361      OR (g_record.FULFILLED_FLAG = FND_API.G_MISS_CHAR)  
3362      OR (g_record.FULFILLED_QUANTITY = FND_API.G_MISS_NUM)  
3363      OR (g_record.FULFILLMENT_DATE = FND_API.G_MISS_DATE)  
3364      OR (g_record.FULFILLMENT_METHOD_CODE = FND_API.G_MISS_CHAR)  
3365      OR (g_record.GLOBAL_ATTRIBUTE_CATEGORY = FND_API.G_MISS_CHAR)  
3366      OR (g_record.GLOBAL_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3367      OR (g_record.GLOBAL_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3368      OR (g_record.GLOBAL_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3369      OR (g_record.GLOBAL_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3370      OR (g_record.GLOBAL_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3371      OR (g_record.GLOBAL_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3372      OR (g_record.GLOBAL_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3373      OR (g_record.GLOBAL_ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3374      OR (g_record.GLOBAL_ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3375      OR (g_record.GLOBAL_ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3376      OR (g_record.GLOBAL_ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3377      OR (g_record.GLOBAL_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3378      OR (g_record.GLOBAL_ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3379      OR (g_record.GLOBAL_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3380      OR (g_record.GLOBAL_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3381      OR (g_record.GLOBAL_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3382      OR (g_record.GLOBAL_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3383      OR (g_record.GLOBAL_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3384      OR (g_record.GLOBAL_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3385      OR (g_record.GLOBAL_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3386      OR (g_record.PREFERRED_GRADE = FND_API.G_MISS_CHAR)  
3387      OR (g_record.HEADER_ID = FND_API.G_MISS_NUM)  
3388      OR (g_record.INDUSTRY_ATTRIBUTE16 = FND_API.G_MISS_CHAR)  
3389      OR (g_record.INDUSTRY_ATTRIBUTE17 = FND_API.G_MISS_CHAR)  
3390      OR (g_record.INDUSTRY_ATTRIBUTE18 = FND_API.G_MISS_CHAR)  
3391      OR (g_record.INDUSTRY_ATTRIBUTE19 = FND_API.G_MISS_CHAR)  
3392      OR (g_record.INDUSTRY_ATTRIBUTE20 = FND_API.G_MISS_CHAR)  
3393      OR (g_record.INDUSTRY_ATTRIBUTE21 = FND_API.G_MISS_CHAR)  
3394      OR (g_record.INDUSTRY_ATTRIBUTE22 = FND_API.G_MISS_CHAR)  
3395      OR (g_record.INDUSTRY_ATTRIBUTE23 = FND_API.G_MISS_CHAR)  
3396      OR (g_record.INDUSTRY_ATTRIBUTE24 = FND_API.G_MISS_CHAR)  
3397      OR (g_record.INDUSTRY_ATTRIBUTE25 = FND_API.G_MISS_CHAR)  
3398      OR (g_record.INDUSTRY_ATTRIBUTE26 = FND_API.G_MISS_CHAR)  
3399      OR (g_record.INDUSTRY_ATTRIBUTE27 = FND_API.G_MISS_CHAR)  
3400      OR (g_record.INDUSTRY_ATTRIBUTE28 = FND_API.G_MISS_CHAR)  
3401      OR (g_record.INDUSTRY_ATTRIBUTE29 = FND_API.G_MISS_CHAR)  
3402      OR (g_record.INDUSTRY_ATTRIBUTE30 = FND_API.G_MISS_CHAR)  
3403      OR (g_record.INDUSTRY_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3404      OR (g_record.INDUSTRY_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3405      OR (g_record.INDUSTRY_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3406      OR (g_record.INDUSTRY_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3407      OR (g_record.INDUSTRY_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3408      OR (g_record.INDUSTRY_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3409      OR (g_record.INDUSTRY_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3410      OR (g_record.INDUSTRY_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3411      OR (g_record.INDUSTRY_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3412      OR (g_record.INDUSTRY_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3413      OR (g_record.INDUSTRY_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3414      OR (g_record.INDUSTRY_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3415      OR (g_record.INDUSTRY_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3416      OR (g_record.INDUSTRY_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3417      OR (g_record.INDUSTRY_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3418      OR (g_record.INDUSTRY_CONTEXT = FND_API.G_MISS_CHAR)  
3419      OR (g_record.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR)  
3420      OR (g_record.INTERMED_SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3421      OR (g_record.INTERMED_SHIP_TO_ORG_ID = FND_API.G_MISS_NUM)  
3422      OR (g_record.INVENTORY_ITEM_ID = FND_API.G_MISS_NUM)  
3423      OR (g_record.INVOICE_INTERFACE_STATUS_CODE = FND_API.G_MISS_CHAR)  
3424      OR (g_record.INVOICED_QUANTITY = FND_API.G_MISS_NUM)  
3425      OR (g_record.INVOICING_RULE_ID = FND_API.G_MISS_NUM)  
3426      OR (g_record.ITEM_IDENTIFIER_TYPE = FND_API.G_MISS_CHAR)  
3427      OR (g_record.ITEM_REVISION = FND_API.G_MISS_CHAR)  
3428      OR (g_record.ITEM_TYPE_CODE = FND_API.G_MISS_CHAR)  
3429      OR (g_record.LAST_ACK_CODE = FND_API.G_MISS_CHAR)  
3430      OR (g_record.LAST_ACK_DATE = FND_API.G_MISS_DATE)  
3431      OR (g_record.LAST_UPDATE_DATE = FND_API.G_MISS_DATE)  
3432      OR (g_record.LAST_UPDATE_LOGIN = FND_API.G_MISS_NUM)  
3433      OR (g_record.LAST_UPDATED_BY = FND_API.G_MISS_NUM)  
3434      OR (g_record.LATEST_ACCEPTABLE_DATE = FND_API.G_MISS_DATE)  
3435      OR (g_record.LINE_ID = FND_API.G_MISS_NUM)  
3436      OR (g_record.LINE_CATEGORY_CODE = FND_API.G_MISS_CHAR)  
3437      OR (g_record.LINE_NUMBER = FND_API.G_MISS_NUM)  
3438      OR (g_record.LINE_SET_ID = FND_API.G_MISS_NUM)  
3439      OR (g_record.LINK_TO_LINE_ID = FND_API.G_MISS_NUM)  
3440      OR (g_record.MFG_COMPONENT_SEQUENCE_ID = FND_API.G_MISS_NUM)  
3441      OR (g_record.MODEL_GROUP_NUMBER = FND_API.G_MISS_NUM)  
3442      OR (g_record.OPEN_FLAG = FND_API.G_MISS_CHAR)  
3443      OR (g_record.OPERATION = FND_API.G_MISS_CHAR)  
3444      OR (g_record.OPTION_FLAG = FND_API.G_MISS_CHAR)  
3445      OR (g_record.OPTION_NUMBER = FND_API.G_MISS_NUM)  
3446      OR (g_record.ORDER_FIRMED_DATE = FND_API.G_MISS_DATE)  
3447      OR (g_record.ORDER_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3448      OR (g_record.ORDERED_ITEM = FND_API.G_MISS_CHAR)  
3449      OR (g_record.ORDERED_ITEM_ID = FND_API.G_MISS_NUM)  
3450      OR (g_record.ORDERED_QUANTITY = FND_API.G_MISS_NUM)  
3451      OR (g_record.ORG_ID = FND_API.G_MISS_NUM)  
3452      OR (g_record.ORIG_SYS_DOCUMENT_REF = FND_API.G_MISS_CHAR)  
3453      OR (g_record.ORIG_SYS_LINE_REF = FND_API.G_MISS_CHAR)  
3454      OR (g_record.OVER_SHIP_REASON_CODE = FND_API.G_MISS_CHAR)  
3455      OR (g_record.OVER_SHIP_RESOLVED_FLAG = FND_API.G_MISS_CHAR)  
3456      OR (g_record.IB_OWNER = FND_API.G_MISS_CHAR)  
3457      OR (g_record.PACKING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
3458      OR (g_record.PARTY_TYPE = FND_API.G_MISS_CHAR)  
3459      OR (g_record.PAYMENT_TERM_ID = FND_API.G_MISS_NUM)  
3460      OR (g_record.PLANNING_PRIORITY = FND_API.G_MISS_NUM)  
3461      OR (g_record.PRICE_LIST_ID = FND_API.G_MISS_NUM)  
3462      OR (g_record.PRICING_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3463      OR (g_record.PRICING_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3464      OR (g_record.PRICING_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3465      OR (g_record.PRICING_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3466      OR (g_record.PRICING_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3467      OR (g_record.PRICING_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3468      OR (g_record.PRICING_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3469      OR (g_record.PRICING_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3470      OR (g_record.PRICING_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3471      OR (g_record.PRICING_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3472      OR (g_record.PRICING_CONTEXT = FND_API.G_MISS_CHAR)  
3473      OR (g_record.PRICING_DATE = FND_API.G_MISS_DATE)  
3474      OR (g_record.PRICING_QUANTITY = FND_API.G_MISS_NUM)  
3475      OR (g_record.PRICING_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3476      OR (g_record.PROGRAM_ID = FND_API.G_MISS_NUM)  
3477      OR (g_record.PROGRAM_APPLICATION_ID = FND_API.G_MISS_NUM)  
3478      OR (g_record.PROGRAM_UPDATE_DATE = FND_API.G_MISS_DATE)  
3479      OR (g_record.PROJECT_ID = FND_API.G_MISS_NUM)  
3480      OR (g_record.REFERENCE_CUSTOMER_TRX_LINE_ID = FND_API.G_MISS_NUM)  
3481      OR (g_record.REFERENCE_HEADER_ID = FND_API.G_MISS_NUM)  
3482      OR (g_record.REFERENCE_LINE_ID = FND_API.G_MISS_NUM)  
3483      OR (g_record.REFERENCE_TYPE = FND_API.G_MISS_CHAR)  
3484      OR (g_record.REQUEST_ID = FND_API.G_MISS_NUM)  
3485      OR (g_record.RESERVED_QUANTITY = FND_API.G_MISS_NUM)  
3486      OR (g_record.RETROBILL_REQUEST_ID = FND_API.G_MISS_NUM)  
3487      OR (g_record.RETURN_ATTRIBUTE1 = FND_API.G_MISS_CHAR)  
3488      OR (g_record.RETURN_ATTRIBUTE10 = FND_API.G_MISS_CHAR)  
3489      OR (g_record.RETURN_ATTRIBUTE11 = FND_API.G_MISS_CHAR)  
3490      OR (g_record.RETURN_ATTRIBUTE12 = FND_API.G_MISS_CHAR)  
3491      OR (g_record.RETURN_ATTRIBUTE13 = FND_API.G_MISS_CHAR)  
3492      OR (g_record.RETURN_ATTRIBUTE14 = FND_API.G_MISS_CHAR)  
3493      OR (g_record.RETURN_ATTRIBUTE15 = FND_API.G_MISS_CHAR)  
3494      OR (g_record.RETURN_ATTRIBUTE2 = FND_API.G_MISS_CHAR)  
3495      OR (g_record.RETURN_ATTRIBUTE3 = FND_API.G_MISS_CHAR)  
3496      OR (g_record.RETURN_ATTRIBUTE4 = FND_API.G_MISS_CHAR)  
3497      OR (g_record.RETURN_ATTRIBUTE5 = FND_API.G_MISS_CHAR)  
3498      OR (g_record.RETURN_ATTRIBUTE6 = FND_API.G_MISS_CHAR)  
3499      OR (g_record.RETURN_ATTRIBUTE7 = FND_API.G_MISS_CHAR)  
3500      OR (g_record.RETURN_ATTRIBUTE8 = FND_API.G_MISS_CHAR)  
3501      OR (g_record.RETURN_ATTRIBUTE9 = FND_API.G_MISS_CHAR)  
3502      OR (g_record.RETURN_CONTEXT = FND_API.G_MISS_CHAR)  
3503      OR (g_record.RETURN_REASON_CODE = FND_API.G_MISS_CHAR)  
3504      OR (g_record.RETURN_STATUS = FND_API.G_MISS_CHAR)  
3505      OR (g_record.REVENUE_AMOUNT = FND_API.G_MISS_NUM)  
3506      OR (g_record.REVREC_EXPIRATION_DAYS = FND_API.G_MISS_NUM)  
3507      OR (g_record.RLA_SCHEDULE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3508      OR (g_record.BLANKET_LINE_NUMBER = FND_API.G_MISS_NUM)  
3509      OR (g_record.BLANKET_NUMBER = FND_API.G_MISS_NUM)  
3510      OR (g_record.BLANKET_VERSION_NUMBER = FND_API.G_MISS_NUM)  
3511      OR (g_record.SALESREP_ID = FND_API.G_MISS_NUM)  
3512      OR (g_record.SCHEDULE_ACTION_CODE = FND_API.G_MISS_CHAR)  
3513      OR (g_record.SCHEDULE_ARRIVAL_DATE = FND_API.G_MISS_DATE)  
3514      OR (g_record.SCHEDULE_STATUS_CODE = FND_API.G_MISS_CHAR)  
3515      OR (g_record.CANCELLED_QUANTITY2 = FND_API.G_MISS_NUM)  
3516      OR (g_record.FULFILLED_QUANTITY2 = FND_API.G_MISS_NUM)  
3517      OR (g_record.ORDERED_QUANTITY2 = FND_API.G_MISS_NUM)  
3518      OR (g_record.SHIPPED_QUANTITY2 = FND_API.G_MISS_NUM)  
3519      OR (g_record.SHIPPING_QUANTITY2 = FND_API.G_MISS_NUM)  
3520      OR (g_record.SHIPPING_QUANTITY_UOM2 = FND_API.G_MISS_CHAR)  
3521      OR (g_record.ORDERED_QUANTITY_UOM2 = FND_API.G_MISS_CHAR)  
3522      OR (g_record.SERVICE_COTERMINATE_FLAG = FND_API.G_MISS_CHAR)  
3523      OR (g_record.SERVICE_DURATION = FND_API.G_MISS_NUM)  
3524      OR (g_record.SERVICE_END_DATE = FND_API.G_MISS_DATE)  
3525      OR (g_record.SERVICE_NUMBER = FND_API.G_MISS_NUM)  
3526      OR (g_record.SERVICE_PERIOD = FND_API.G_MISS_CHAR)  
3527      OR (g_record.SERVICE_REFERENCE_LINE_ID = FND_API.G_MISS_NUM)  
3528      OR (g_record.SERVICE_REFERENCE_SYSTEM_ID = FND_API.G_MISS_NUM)  
3529      OR (g_record.SERVICE_REFERENCE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3530      OR (g_record.SERVICE_START_DATE = FND_API.G_MISS_DATE)  
3531      OR (g_record.SERVICE_TXN_COMMENTS = FND_API.G_MISS_CHAR)  
3532      OR (g_record.SERVICE_TXN_REASON_CODE = FND_API.G_MISS_CHAR)  
3533      OR (g_record.SHIP_MODEL_COMPLETE_FLAG = FND_API.G_MISS_CHAR)  
3534      OR (g_record.SHIP_SET_ID = FND_API.G_MISS_NUM)  
3535      OR (g_record.SHIP_SET = FND_API.G_MISS_CHAR)  
3536      OR (g_record.SHIP_TO_CONTACT_ID = FND_API.G_MISS_NUM)  
3537      OR (g_record.SHIP_TOLERANCE_ABOVE = FND_API.G_MISS_NUM)  
3538      OR (g_record.SHIP_TOLERANCE_BELOW = FND_API.G_MISS_NUM)  
3539      OR (g_record.SHIPMENT_NUMBER = FND_API.G_MISS_NUM)  
3540      OR (g_record.SHIPMENT_PRIORITY_CODE = FND_API.G_MISS_CHAR)  
3541      OR (g_record.SHIPPED_QUANTITY = FND_API.G_MISS_NUM)  
3542      OR (g_record.SHIPPING_INSTRUCTIONS = FND_API.G_MISS_CHAR)  
3543      OR (g_record.SHIPPING_INTERFACED_FLAG = FND_API.G_MISS_CHAR)  
3544      OR (g_record.SHIPPING_METHOD_CODE = FND_API.G_MISS_CHAR)  
3545      OR (g_record.SHIPPING_QUANTITY = FND_API.G_MISS_NUM)  
3546      OR (g_record.SHIPPING_QUANTITY_UOM = FND_API.G_MISS_CHAR)  
3547      OR (g_record.SORT_ORDER = FND_API.G_MISS_CHAR)  
3548      OR (g_record.SOURCE_DOCUMENT_ID = FND_API.G_MISS_NUM)  
3549      OR (g_record.SOURCE_DOCUMENT_LINE_ID = FND_API.G_MISS_NUM)  
3550      OR (g_record.SOURCE_DOCUMENT_TYPE_ID = FND_API.G_MISS_NUM)  
3551      OR (g_record.SOURCE_DOCUMENT_VERSION_NUMBER = FND_API.G_MISS_NUM)  
3552      OR (g_record.SOURCE_TYPE_CODE = FND_API.G_MISS_CHAR)  
3553      OR (g_record.SPLIT_BY = FND_API.G_MISS_CHAR)  
3554      OR (g_record.SPLIT_FROM_LINE_ID = FND_API.G_MISS_NUM)  
3555      OR (g_record.SUBINVENTORY = FND_API.G_MISS_CHAR)  
3556      OR (g_record.TASK_ID = FND_API.G_MISS_NUM)  
3557      OR (g_record.TAX_EXEMPT_NUMBER = FND_API.G_MISS_CHAR)  
3558      OR (g_record.TAX_EXEMPT_REASON_CODE = FND_API.G_MISS_CHAR)  
3559      OR (g_record.TAX_POINT_CODE = FND_API.G_MISS_CHAR)  
3560      OR (g_record.TAX_RATE = FND_API.G_MISS_NUM)  
3561      OR (g_record.TAX_VALUE = FND_API.G_MISS_NUM)  
3562      OR (g_record.TOP_MODEL_LINE_ID = FND_API.G_MISS_NUM)  
3563      OR (g_record.TRANSACTION_PHASE_CODE = FND_API.G_MISS_CHAR)  
3564      OR (g_record.UNIT_LIST_PERCENT = FND_API.G_MISS_NUM)  
3565      OR (g_record.UNIT_LIST_PRICE = FND_API.G_MISS_NUM)  
3566      OR (g_record.UNIT_PERCENT_BASE_PRICE = FND_API.G_MISS_NUM)  
3567      OR (g_record.UNIT_SELLING_PERCENT = FND_API.G_MISS_NUM)  
3568      OR (g_record.UNIT_SELLING_PRICE = FND_API.G_MISS_NUM)  
3569      OR (g_record.UPGRADED_FLAG = FND_API.G_MISS_CHAR)  
3570      OR (g_record.USER_ITEM_DESCRIPTION = FND_API.G_MISS_CHAR)  
3571      OR (g_record.VEH_CUS_ITEM_CUM_KEY_ID = FND_API.G_MISS_NUM)  
3572      OR (g_record.VISIBLE_DEMAND_FLAG = FND_API.G_MISS_CHAR)  
3573     ) THEN   
3574     ONT_LINE_Def_Hdlr.Default_Record(
3575      p_x_rec => g_record,
3576      p_initial_rec => p_initial_rec,
3577      p_in_old_rec => p_in_old_rec,
3578       p_iteration => p_iteration+1 );
3579     END IF;
3580  
3581 IF p_iteration =1 THEN
3582 OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3583   p_x_rec := g_record;
3584 END IF;
3585  
3586 oe_debug_pub.ADD('Exit ONT_LINE_Def_Hdlr.Default_Record');
3587  
3588 EXCEPTION
3589  
3590   WHEN FND_API.G_EXC_ERROR THEN
3591     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3592     RAISE FND_API.G_EXC_ERROR;
3593   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3594     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3595     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3596   WHEN OTHERS THEN
3597     IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3598     THEN
3599       OE_MSG_PUB.Add_Exc_Msg
3600       ( G_PKG_NAME
3601       ,'Default_Record: '||l_attr
3602       );
3603     END IF;
3604     OE_LINE_Security.G_Is_Caller_Defaulting := 'N';
3605     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3606  
3607 END Default_Record;
3608  
3609 END ONT_LINE_Def_Hdlr;