DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_BLANKET_HEADER_SECURITY

Source


1 PACKAGE BODY OE_Blanket_Header_Security AS
2 /* $Header: OEXXBHDB.pls 120.2.12010000.2 2008/08/04 15:09:57 amallik ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Blanket_Header_Security';
7 
8 -- LOCAL PROCEDURES
9 
10 
11 FUNCTION Is_Op_Constrained
12 ( p_operation           IN VARCHAR2
13  , p_column_name         IN VARCHAR2 DEFAULT NULL
14  , p_record       IN OE_AK_BLANKET_HEADERS_V%ROWTYPE
15 , x_on_operation_action OUT NOCOPY NUMBER
16 
17 ) RETURN NUMBER IS
18 l_constraint_id	NUMBER;
19 l_grp	NUMBER;
20 l_result		NUMBER;
21 l_column_name	VARCHAR2(30);
22 l_audit_trail_enabled VARCHAR2(1) := OE_SYS_PARAMETERS.VALUE('AUDIT_TRAIL_ENABLE_FLAG');
23 l_code_level varchar2(6) := OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL;
24 --
25 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
26 --
27 BEGIN
28 
29 l_result := OE_PC_Constraints_Admin_PVT.Is_OP_constrained
30     ( p_responsibility_id     => nvl(fnd_global.resp_id, -1)
31     , p_application_id          => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
32     , p_operation   => p_operation
33     , p_qualifier_attribute => p_record.transaction_phase_code
34     , p_entity_id   => OE_PC_GLOBALS.G_ENTITY_BLANKET_HEADER
35     , p_column_name => p_column_name
36     , p_check_all_cols_constraint  => g_check_all_cols_constraint
37     , p_is_caller_defaulting  => g_is_caller_defaulting
38     , x_constraint_id    => l_constraint_id
39     , x_constraining_conditions_grp     => l_grp
40     , x_on_operation_action   => x_on_operation_action
41     );
42 
43 if l_result = OE_PC_GLOBALS.YES then
44 
45     IF g_check_all_cols_constraint = 'Y'
46        AND (p_operation = OE_PC_GLOBALS.UPDATE_OP
47             OR p_operation = OE_PC_GLOBALS.CREATE_OP)
48        AND p_column_name IS NOT NULL THEN
49         SELECT column_name
50         INTO l_column_name
51         FROM oe_pc_constraints
52         WHERE constraint_id = l_constraint_id;
53         if l_column_name is null  and x_on_operation_action = 0 then
54             IF l_debug_level  > 0 THEN
55                 oe_debug_pub.add(  'CONSTRAINT ON UPDATE OF ALL COLUMNS!' ) ;
56             END IF;
57             RAISE FND_API.G_EXC_ERROR;
58         end if;
59     END IF;
60 
61 elsif l_result = OE_PC_GLOBALS.ERROR then
62 
63     raise FND_API.G_EXC_UNEXPECTED_ERROR;
64 
65 end if;
66 
67 g_check_all_cols_constraint := 'N';
68 
69 /* Start Versioning */
70 IF l_code_level >= '110510' AND
71   ( p_column_name = 'TRANSACTION_PHASE_CODE' OR
72     x_on_operation_action IN (.1,.2))THEN
73    OE_Versioning_Util.Check_Security(p_column_name => p_column_name,
74                    p_on_operation_action => x_on_operation_action);
75 END IF;
76 /* End Versioning */
77 
78 /* Start AuditTrail */
79 /*
80 IF g_is_caller_defaulting = 'N' THEN
81    IF l_code_level >= '110508' and nvl(l_audit_trail_enabled,'D') <> 'D' THEN
82       IF l_audit_trail_enabled = 'B' THEN  -- capture only for booked orders
83          IF p_record.booked_flag = 'Y' THEN
84             IF l_result = OE_PC_GLOBALS.YES THEN
85                IF x_on_operation_action = 1 THEN
86                   -- set OUT result to NOT CONSTRAINED
87                   IF l_debug_level  > 0 THEN
88                       oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES REASON' , 1 ) ;
89                   END IF;
90                   OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
91                   OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
92                ELSIF x_on_operation_action = 2 THEN
93                   -- set OUT result to NOT CONSTRAINED
94                   IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
95                      IF l_debug_level  > 0 THEN
96                          oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES HISTORY' , 1 ) ;
97                      END IF;
98 	             OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
99                   END IF;
100                END IF;
101             END IF;
102          END IF;
103       ELSE -- capture audit trail for all orders
104          IF l_result = OE_PC_GLOBALS.YES THEN
105             IF x_on_operation_action = 1 THEN
106                -- set OUT result to NOT CONSTRAINED
107                IF l_debug_level  > 0 THEN
108                    oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES REASON' , 1 ) ;
109                END IF;
110                OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
111                OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
112             ELSIF x_on_operation_action = 2 THEN
113                -- set OUT result to NOT CONSTRAINED
114                IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
115                   IF l_debug_level  > 0 THEN
116                       oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES HISTORY' , 1 ) ;
117                   END IF;
118 	          OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
119                END IF;
120             END IF;
121          END IF;
122       END IF;
123    END IF;
124 END IF;
125 */
126 /* End AuditTrail */
127 IF x_on_operation_action > 0 THEN
128    l_result := OE_PC_GLOBALS.NO;
129 END IF;
130 RETURN l_result;
131 
132 END Is_Op_Constrained;
133 
134 
135 -- PUBLIC PROCEDURES
136 
137 
138 FUNCTION ACCOUNTING_RULE
139 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
140 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
141 , x_on_operation_action OUT NOCOPY NUMBER
142 
143 ) RETURN NUMBER
144 IS
145 l_result 	NUMBER;
146 BEGIN
147 
148 l_result := Is_OP_constrained
149     (p_operation	=> p_operation
150     ,p_column_name	=> 'ACCOUNTING_RULE_ID'
151     ,p_record	=> p_record
152     ,x_on_operation_action	=> x_on_operation_action
153     );
154 
155 RETURN(l_result);
156 
157 END ACCOUNTING_RULE;
158 
159 FUNCTION CONVERSION_TYPE
160 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
161 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
162 , x_on_operation_action OUT NOCOPY NUMBER
163 
164 ) RETURN NUMBER
165 IS
166 l_result 	NUMBER;
167 BEGIN
168 
169 l_result := Is_OP_constrained
170     (p_operation	=> p_operation
171     ,p_column_name	=> 'CONVERSION_TYPE_CODE'
172     ,p_record	=> p_record
173     ,x_on_operation_action	=> x_on_operation_action
174     );
175 
176 RETURN(l_result);
177 
178 END CONVERSION_TYPE;
179 
180 
181 FUNCTION CUST_PO_NUMBER
182 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
183 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
184 , x_on_operation_action OUT NOCOPY NUMBER
185 
186 ) RETURN NUMBER
187 IS
188 l_result 	NUMBER;
189 BEGIN
190 
191 l_result := Is_OP_constrained
192     (p_operation	=> p_operation
193     ,p_column_name	=> 'CUST_PO_NUMBER'
194     ,p_record	=> p_record
195     ,x_on_operation_action	=> x_on_operation_action
196     );
197 
198 RETURN(l_result);
199 
200 END CUST_PO_NUMBER;
201 
202 
203 FUNCTION DELIVER_TO_ORG
204 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
205 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
206 , x_on_operation_action OUT NOCOPY NUMBER
207 
208 ) RETURN NUMBER
209 IS
210 l_result 	NUMBER;
211 BEGIN
212 
213 l_result := Is_OP_constrained
214     (p_operation	=> p_operation
215     ,p_column_name	=> 'DELIVER_TO_ORG_ID'
216     ,p_record	=> p_record
217     ,x_on_operation_action	=> x_on_operation_action
218     );
219 
220 RETURN(l_result);
221 
222 END DELIVER_TO_ORG;
223 
224 
225 FUNCTION FREIGHT_TERMS
226 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
227 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
228 , x_on_operation_action OUT NOCOPY NUMBER
229 
230 ) RETURN NUMBER
231 IS
232 l_result 	NUMBER;
233 BEGIN
234 
235 l_result := Is_OP_constrained
236     (p_operation	=> p_operation
237     ,p_column_name	=> 'FREIGHT_TERMS_CODE'
238     ,p_record	=> p_record
239     ,x_on_operation_action	=> x_on_operation_action
240     );
241 
242 RETURN(l_result);
243 
244 END FREIGHT_TERMS;
245 
246 
247 FUNCTION INVOICE_TO_ORG
248 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
249 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
250 , x_on_operation_action OUT NOCOPY NUMBER
251 
252 ) RETURN NUMBER
253 IS
254 l_result 	NUMBER;
255 BEGIN
256 
257 l_result := Is_OP_constrained
258     (p_operation	=> p_operation
259     ,p_column_name	=> 'INVOICE_TO_ORG_ID'
260     ,p_record	=> p_record
261     ,x_on_operation_action	=> x_on_operation_action
262     );
263 
264 RETURN(l_result);
265 
266 END INVOICE_TO_ORG;
267 
268 FUNCTION INVOICING_RULE
269 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
270 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
271 , x_on_operation_action OUT NOCOPY NUMBER
272 
273 ) RETURN NUMBER
274 IS
275 l_result 	NUMBER;
276 BEGIN
277 
278 l_result := Is_OP_constrained
279     (p_operation	=> p_operation
280     ,p_column_name	=> 'INVOICING_RULE_ID'
281     ,p_record	=> p_record
282     ,x_on_operation_action	=> x_on_operation_action
283     );
284 
285 RETURN(l_result);
286 
287 END INVOICING_RULE;
288 
289 FUNCTION ORDER_NUMBER
290 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
291 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
292 , x_on_operation_action OUT NOCOPY NUMBER
293 
294 ) RETURN NUMBER
295 IS
296 l_result 	NUMBER;
297 BEGIN
298 
299 l_result := Is_OP_constrained
300     (p_operation	=> p_operation
301     ,p_column_name	=> 'ORDER_NUMBER'
302     ,p_record	=> p_record
303     ,x_on_operation_action	=> x_on_operation_action
304     );
305 
306 RETURN(l_result);
307 
308 END ORDER_NUMBER;
309 
310 FUNCTION ORDER_TYPE
311 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
312 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
313 , x_on_operation_action OUT NOCOPY NUMBER
314 
315 ) RETURN NUMBER
316 IS
317 l_result 	NUMBER;
318 BEGIN
319 
320 l_result := Is_OP_constrained
321     (p_operation	=> p_operation
322     ,p_column_name	=> 'ORDER_TYPE_ID'
323     ,p_record	=> p_record
324     ,x_on_operation_action	=> x_on_operation_action
325     );
326 
327 RETURN(l_result);
328 
329 END ORDER_TYPE;
330 
331 
332 FUNCTION PACKING_INSTRUCTIONS
333 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
334 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
335 , x_on_operation_action OUT NOCOPY NUMBER
336 
337 ) RETURN NUMBER
338 IS
339 l_result 	NUMBER;
340 BEGIN
341 
342 l_result := Is_OP_constrained
343     (p_operation	=> p_operation
344     ,p_column_name	=> 'PACKING_INSTRUCTIONS'
345     ,p_record	=> p_record
346     ,x_on_operation_action	=> x_on_operation_action
347     );
348 
349 RETURN(l_result);
350 
351 END PACKING_INSTRUCTIONS;
352 
353 
354 FUNCTION PAYMENT_TERM
355 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
356 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
357 , x_on_operation_action OUT NOCOPY NUMBER
358 
359 ) RETURN NUMBER
360 IS
361 l_result 	NUMBER;
362 BEGIN
363 
364 l_result := Is_OP_constrained
365     (p_operation	=> p_operation
366     ,p_column_name	=> 'PAYMENT_TERM_ID'
367     ,p_record	=> p_record
368     ,x_on_operation_action	=> x_on_operation_action
369     );
370 
371 RETURN(l_result);
372 
373 END PAYMENT_TERM;
374 
375 
376 FUNCTION PRICE_LIST
377 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
378 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
379 , x_on_operation_action OUT NOCOPY NUMBER
380 
381 ) RETURN NUMBER
382 IS
383 l_result 	NUMBER;
384 BEGIN
385 
386 l_result := Is_OP_constrained
387     (p_operation	=> p_operation
388     ,p_column_name	=> 'PRICE_LIST_ID'
389     ,p_record	=> p_record
390     ,x_on_operation_action	=> x_on_operation_action
391     );
392 
393 RETURN(l_result);
394 
395 END PRICE_LIST;
396 
397 
398 FUNCTION SALESREP
399 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
400 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
401 , x_on_operation_action OUT NOCOPY NUMBER
402 
403 ) RETURN NUMBER
404 IS
405 l_result 	NUMBER;
406 BEGIN
407 
408 l_result := Is_OP_constrained
409     (p_operation	=> p_operation
410     ,p_column_name	=> 'SALESREP_ID'
411     ,p_record	=> p_record
412     ,x_on_operation_action	=> x_on_operation_action
413     );
414 
415 RETURN(l_result);
416 
417 END SALESREP;
418 
419 
420 FUNCTION SHIPPING_INSTRUCTIONS
421 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
422 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
423 , x_on_operation_action OUT NOCOPY NUMBER
424 
425 ) RETURN NUMBER
426 IS
427 l_result 	NUMBER;
428 BEGIN
432     ,p_column_name	=> 'SHIPPING_INSTRUCTIONS'
429 
430 l_result := Is_OP_constrained
431     (p_operation	=> p_operation
433     ,p_record	=> p_record
434     ,x_on_operation_action	=> x_on_operation_action
435     );
436 
437 RETURN(l_result);
438 
439 END SHIPPING_INSTRUCTIONS;
440 
441 FUNCTION SHIPPING_METHOD
442 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
443 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
444 , x_on_operation_action OUT NOCOPY NUMBER
445 
446 ) RETURN NUMBER
447 IS
448 l_result 	NUMBER;
449 BEGIN
450 
451 l_result := Is_OP_constrained
452     (p_operation	=> p_operation
453     ,p_column_name	=> 'SHIPPING_METHOD_CODE'
454     ,p_record	=> p_record
455     ,x_on_operation_action	=> x_on_operation_action
456     );
457 
458 RETURN(l_result);
459 
460 END SHIPPING_METHOD;
461 
462 
463 FUNCTION SHIP_FROM_ORG
464 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
465 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
466 , x_on_operation_action OUT NOCOPY NUMBER
467 
468 ) RETURN NUMBER
469 IS
470 l_result 	NUMBER;
471 BEGIN
472 
473 l_result := Is_OP_constrained
474     (p_operation	=> p_operation
475     ,p_column_name	=> 'SHIP_FROM_ORG_ID'
476     ,p_record	=> p_record
477     ,x_on_operation_action	=> x_on_operation_action
478     );
479 
480 RETURN(l_result);
481 
482 END SHIP_FROM_ORG;
483 
484 
485 FUNCTION SHIP_TO_ORG
486 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
487 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
488 , x_on_operation_action OUT NOCOPY NUMBER
489 
490 ) RETURN NUMBER
491 IS
492 l_result 	NUMBER;
493 BEGIN
494 
495 l_result := Is_OP_constrained
496     (p_operation	=> p_operation
497     ,p_column_name	=> 'SHIP_TO_ORG_ID'
498     ,p_record	=> p_record
499     ,x_on_operation_action	=> x_on_operation_action
500     );
501 
502 RETURN(l_result);
503 
504 END SHIP_TO_ORG;
505 
506 
507 FUNCTION SOLD_TO_CONTACT
508 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
509 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
510 , x_on_operation_action OUT NOCOPY NUMBER
511 
512 ) RETURN NUMBER
513 IS
514 l_result 	NUMBER;
515 BEGIN
516 
517 l_result := Is_OP_constrained
518     (p_operation	=> p_operation
519     ,p_column_name	=> 'SOLD_TO_CONTACT_ID'
520     ,p_record	=> p_record
521     ,x_on_operation_action	=> x_on_operation_action
522     );
523 
524 RETURN(l_result);
525 
526 END SOLD_TO_CONTACT;
527 
528 
529 FUNCTION SOLD_TO_ORG
530 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
531 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
532 , x_on_operation_action OUT NOCOPY NUMBER
533 
534 ) RETURN NUMBER
535 IS
536 l_result 	NUMBER;
537 BEGIN
538 
539 l_result := Is_OP_constrained
540     (p_operation	=> p_operation
541     ,p_column_name	=> 'SOLD_TO_ORG_ID'
542     ,p_record	=> p_record
543     ,x_on_operation_action	=> x_on_operation_action
544     );
545 
546 RETURN(l_result);
547 
548 END SOLD_TO_ORG;
549 
550 
551 FUNCTION TRANSACTIONAL_CURR
552 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
553 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
554 , x_on_operation_action OUT NOCOPY NUMBER
555 
556 ) RETURN NUMBER
557 IS
558 l_result 	NUMBER;
559 BEGIN
560 
561 l_result := Is_OP_constrained
562     (p_operation	=> p_operation
563     ,p_column_name	=> 'TRANSACTIONAL_CURR_CODE'
564     ,p_record	=> p_record
565     ,x_on_operation_action	=> x_on_operation_action
566     );
567 
568 RETURN(l_result);
569 
570 END TRANSACTIONAL_CURR;
571 
572 FUNCTION ENFORCE_ACCOUNTING_RULE_FLAG
573 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
574 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
575 ,   x_on_operation_action           OUT NOCOPY NUMBER
576 ) RETURN NUMBER
577 IS
578 l_result 	NUMBER;
579 BEGIN
580 
581     l_result := Is_OP_constrained
582         (p_operation	=> p_operation
583         ,p_column_name	=> 'ENFORCE_ACCOUNTING_RULE_FLAG'
584         ,p_record	=> p_record
585         ,x_on_operation_action	=> x_on_operation_action
586         );
587 
588 RETURN(l_result);
589 
590 END ENFORCE_ACCOUNTING_RULE_FLAG;
591 
592 FUNCTION ENFORCE_INVOICE_TO_FLAG
593 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
594 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
595 ,   x_on_operation_action           OUT NOCOPY NUMBER
596 ) RETURN NUMBER
597 IS
598 l_result 	NUMBER;
599 BEGIN
600 
601     l_result := Is_OP_constrained
602         (p_operation	=> p_operation
603         ,p_column_name	=> 'ENFORCE_INVOICE_TO_FLAG'
604         ,p_record	=> p_record
605         ,x_on_operation_action	=> x_on_operation_action
609 
606         );
607 
608 RETURN(l_result);
610 END ENFORCE_INVOICE_TO_FLAG;
611 
612 FUNCTION ENFORCE_PRICE_LIST_FLAG
613 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
614 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
615 ,   x_on_operation_action           OUT NOCOPY NUMBER
616 ) RETURN NUMBER
617 IS
618 l_result 	NUMBER;
619 BEGIN
620 
621     l_result := Is_OP_constrained
622         (p_operation	=> p_operation
623         ,p_column_name	=> 'ENFORCE_PRICE_LIST_FLAG'
624         ,p_record	=> p_record
625         ,x_on_operation_action	=> x_on_operation_action
626         );
627 
628 RETURN(l_result);
629 
630 END ENFORCE_PRICE_LIST_FLAG;
631 
632 FUNCTION ENFORCE_PAYMENT_TERM_FLAG
633 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
634 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
635 ,   x_on_operation_action           OUT NOCOPY NUMBER
636 ) RETURN NUMBER
637 IS
638 l_result 	NUMBER;
639 BEGIN
640 
641     l_result := Is_OP_constrained
642         (p_operation	=> p_operation
643         ,p_column_name	=> 'ENFORCE_PAYMENT_TERM_FLAG'
644         ,p_record	=> p_record
645         ,x_on_operation_action	=> x_on_operation_action
646         );
647 
648 RETURN(l_result);
649 
650 END ENFORCE_PAYMENT_TERM_FLAG;
651 
652 FUNCTION ENFORCE_INVOICING_RULE_FLAG
653 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
654 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
655 ,   x_on_operation_action           OUT NOCOPY NUMBER
656 ) RETURN NUMBER
657 IS
658 l_result 	NUMBER;
659 BEGIN
660 
661     l_result := Is_OP_constrained
662         (p_operation	=> p_operation
663         ,p_column_name	=> 'ENFORCE_INVOICING_RULE_FLAG'
664         ,p_record	=> p_record
665         ,x_on_operation_action	=> x_on_operation_action
666         );
667 
668 RETURN(l_result);
669 
670 END ENFORCE_INVOICING_RULE_FLAG;
671 
672 FUNCTION ENFORCE_SHIP_TO_FLAG
673 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
674 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
675 ,   x_on_operation_action           OUT NOCOPY NUMBER
676 ) RETURN NUMBER
677 IS
678 l_result 	NUMBER;
679 BEGIN
680 
681     l_result := Is_OP_constrained
682         (p_operation	=> p_operation
683         ,p_column_name	=> 'ENFORCE_SHIP_TO_FLAG'
684         ,p_record	=> p_record
685         ,x_on_operation_action	=> x_on_operation_action
686         );
687 
688 RETURN(l_result);
689 
690 END ENFORCE_SHIP_TO_FLAG;
691 
692 FUNCTION ENFORCE_FREIGHT_TERM_FLAG
693 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
694 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
695 ,   x_on_operation_action           OUT NOCOPY NUMBER
696 ) RETURN NUMBER
697 IS
698 l_result 	NUMBER;
699 BEGIN
700 
701     l_result := Is_OP_constrained
702         (p_operation	=> p_operation
703         ,p_column_name	=> 'ENFORCE_FREIGHT_TERM_FLAG'
704         ,p_record	=> p_record
705         ,x_on_operation_action	=> x_on_operation_action
706         );
707 
708 RETURN(l_result);
709 
710 END ENFORCE_FREIGHT_TERM_FLAG;
711 
712 FUNCTION ENFORCE_SHIPPING_METHOD_FLAG
713 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
714 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
715 ,   x_on_operation_action           OUT NOCOPY NUMBER
716 ) RETURN NUMBER
717 IS
718 l_result 	NUMBER;
719 BEGIN
720 
721     l_result := Is_OP_constrained
722         (p_operation	=> p_operation
723         ,p_column_name	=> 'ENFORCE_SHIPPING_METHOD_FLAG'
724         ,p_record	=> p_record
725         ,x_on_operation_action	=> x_on_operation_action
726         );
727 
728 RETURN(l_result);
729 
730 END ENFORCE_SHIPPING_METHOD_FLAG;
731 
732 FUNCTION START_DATE_ACTIVE
733 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
734 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
735 ,   x_on_operation_action           OUT NOCOPY NUMBER
736 ) RETURN NUMBER
737 IS
738 l_result 	NUMBER;
739 BEGIN
740 
741     l_result := Is_OP_constrained
742         (p_operation	=> p_operation
743         ,p_column_name	=> 'START_DATE_ACTIVE'
744         ,p_record	=> p_record
745         ,x_on_operation_action	=> x_on_operation_action
746         );
747 
748 RETURN(l_result);
749 
750 END START_DATE_ACTIVE;
751 
752 FUNCTION END_DATE_ACTIVE
753 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
754 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
755 ,   x_on_operation_action           OUT NOCOPY NUMBER
756 ) RETURN NUMBER
757 IS
758 l_result 	NUMBER;
759 BEGIN
760 
761     l_result := Is_OP_constrained
762         (p_operation	=> p_operation
763         ,p_column_name	=> 'END_DATE_ACTIVE'
767 
764         ,p_record	=> p_record
765         ,x_on_operation_action	=> x_on_operation_action
766         );
768 RETURN(l_result);
769 
770 END END_DATE_ACTIVE;
771 
772 FUNCTION BLANKET_MIN_AMOUNT
773 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
774 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
775 ,   x_on_operation_action           OUT NOCOPY NUMBER
776 ) RETURN NUMBER
777 IS
778 l_result 	NUMBER;
779 BEGIN
780 
781     l_result := Is_OP_constrained
782         (p_operation	=> p_operation
783         ,p_column_name	=> 'BLANKET_MIN_AMOUNT'
784         ,p_record	=> p_record
785         ,x_on_operation_action	=> x_on_operation_action
786         );
787 
788 RETURN(l_result);
789 
790 END BLANKET_MIN_AMOUNT;
791 
792 FUNCTION BLANKET_MAX_AMOUNT
793 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
794 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
795 ,   x_on_operation_action           OUT NOCOPY NUMBER
796 ) RETURN NUMBER
797 IS
798 l_result 	NUMBER;
799 BEGIN
800 
801     l_result := Is_OP_constrained
802         (p_operation	=> p_operation
803         ,p_column_name	=> 'BLANKET_MAX_AMOUNT'
804         ,p_record	=> p_record
805         ,x_on_operation_action	=> x_on_operation_action
806         );
807 
808 RETURN(l_result);
809 
810 END BLANKET_MAX_AMOUNT;
811 
812 FUNCTION VERSION_NUMBER
813 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
814 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
815 ,   x_on_operation_action           OUT NOCOPY NUMBER
816 ) RETURN NUMBER
817 IS
818 l_result 	NUMBER;
819 BEGIN
820 
821     l_result := Is_OP_constrained
822         (p_operation	=> p_operation
823         ,p_column_name	=> 'VERSION_NUMBER'
824         ,p_record	=> p_record
825         ,x_on_operation_action	=> x_on_operation_action
826         );
827 
828 RETURN(l_result);
829 
830 END VERSION_NUMBER;
831 
832 FUNCTION REVISION_CHANGE_REASON
833 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
834 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
835 ,   x_on_operation_action           OUT NOCOPY NUMBER
836 ) RETURN NUMBER
837 IS
838 l_result 	NUMBER;
839 BEGIN
840 
841     l_result := Is_OP_constrained
842         (p_operation	=> p_operation
843         ,p_column_name	=> 'REVISION_CHANGE_REASON'
844         ,p_record	=> p_record
845         ,x_on_operation_action	=> x_on_operation_action
846         );
847 
848 RETURN(l_result);
849 
850 END REVISION_CHANGE_REASON;
851 
852 FUNCTION REVISION_CHANGE_DATE
853 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
854 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
855 ,   x_on_operation_action           OUT NOCOPY NUMBER
856 ) RETURN NUMBER
857 IS
858 l_result 	NUMBER;
859 BEGIN
860 
861     l_result := Is_OP_constrained
862         (p_operation	=> p_operation
863         ,p_column_name	=> 'REVISION_CHANGE_DATE'
864         ,p_record	=> p_record
865         ,x_on_operation_action	=> x_on_operation_action
866         );
867 
868 RETURN(l_result);
869 
870 END REVISION_CHANGE_DATE;
871 
872 FUNCTION REVISION_CHANGE_COMMENTS
873 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
874 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
875 ,   x_on_operation_action           OUT NOCOPY NUMBER
876 ) RETURN NUMBER
877 IS
878 l_result 	NUMBER;
879 BEGIN
880 
881     l_result := Is_OP_constrained
882         (p_operation	=> p_operation
883         ,p_column_name	=> 'REVISION_CHANGE_COMMENTS'
884         ,p_record	=> p_record
885         ,x_on_operation_action	=> x_on_operation_action
886         );
887 
888 RETURN(l_result);
889 
890 END REVISION_CHANGE_COMMENTS;
891 
892 FUNCTION OVERRIDE_AMOUNT_FLAG
893 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
894 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
895 ,   x_on_operation_action           OUT NOCOPY NUMBER
896 ) RETURN NUMBER
897 IS
898 l_result 	NUMBER;
899 BEGIN
900 
901     l_result := Is_OP_constrained
902         (p_operation	=> p_operation
903         ,p_column_name	=> 'OVERRIDE_AMOUNT_FLAG'
904         ,p_record	=> p_record
905         ,x_on_operation_action	=> x_on_operation_action
906         );
907 
908 RETURN(l_result);
909 
910 END OVERRIDE_AMOUNT_FLAG;
911 
912 FUNCTION TRANSACTION_PHASE
913 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
914 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
915 ,   x_on_operation_action           OUT NOCOPY NUMBER
916 ) RETURN NUMBER
917 IS
918 l_result 	NUMBER;
919 BEGIN
920 
921     l_result := Is_OP_constrained
922         (p_operation	=> p_operation
926         );
923         ,p_column_name	=> 'TRANSACTION_PHASE_CODE'
924         ,p_record	=> p_record
925         ,x_on_operation_action	=> x_on_operation_action
927 
928 RETURN(l_result);
929 
930 END TRANSACTION_PHASE;
931 
932 FUNCTION SOLD_TO_SITE_USE
933 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
934 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
935 ,   x_on_operation_action           OUT NOCOPY NUMBER
936 ) RETURN NUMBER
937 IS
938 l_result 	NUMBER;
939 BEGIN
940 
941     l_result := Is_OP_constrained
942         (p_operation	=> p_operation
943         ,p_column_name	=> 'SOLD_TO_SITE_USE_ID'
944         ,p_record	=> p_record
945         ,x_on_operation_action	=> x_on_operation_action
946         );
947 
948 RETURN(l_result);
949 
950 END SOLD_TO_SITE_USE;
951 
952 FUNCTION SALES_DOCUMENT_NAME
953 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
954 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
955 ,   x_on_operation_action           OUT NOCOPY NUMBER
956 ) RETURN NUMBER
957 IS
958 l_result 	NUMBER;
959 BEGIN
960 
961     l_result := Is_OP_constrained
962         (p_operation	=> p_operation
963         ,p_column_name	=> 'SALES_DOCUMENT_NAME'
964         ,p_record	=> p_record
965         ,x_on_operation_action	=> x_on_operation_action
966         );
967 
968 RETURN(l_result);
969 
970 END SALES_DOCUMENT_NAME;
971 
972 FUNCTION CUSTOMER_SIGNATURE
973 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
974 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
975 ,   x_on_operation_action           OUT NOCOPY NUMBER
976 ) RETURN NUMBER
977 IS
978 l_result 	NUMBER;
979 BEGIN
980 
981     l_result := Is_OP_constrained
982         (p_operation	=> p_operation
983         ,p_column_name	=> 'CUSTOMER_SIGNATURE'
984         ,p_record	=> p_record
985         ,x_on_operation_action	=> x_on_operation_action
986         );
987 
988 RETURN(l_result);
989 
990 END CUSTOMER_SIGNATURE;
991 
992 FUNCTION CUSTOMER_SIGNATURE_DATE
993 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
994 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
995 ,   x_on_operation_action           OUT NOCOPY NUMBER
996 ) RETURN NUMBER
997 IS
998 l_result 	NUMBER;
999 BEGIN
1000 
1001     l_result := Is_OP_constrained
1002         (p_operation	=> p_operation
1003         ,p_column_name	=> 'CUSTOMER_SIGNATURE_DATE'
1004         ,p_record	=> p_record
1005         ,x_on_operation_action	=> x_on_operation_action
1006         );
1007 
1008 RETURN(l_result);
1009 
1010 END CUSTOMER_SIGNATURE_DATE;
1011 
1012 FUNCTION SUPPLIER_SIGNATURE
1013 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1014 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1015 ,   x_on_operation_action           OUT NOCOPY NUMBER
1016 ) RETURN NUMBER
1017 IS
1018 l_result 	NUMBER;
1019 BEGIN
1020 
1021     l_result := Is_OP_constrained
1022         (p_operation	=> p_operation
1023         ,p_column_name	=> 'SUPPLIER_SIGNATURE'
1024         ,p_record	=> p_record
1025         ,x_on_operation_action	=> x_on_operation_action
1026         );
1027 
1028 RETURN(l_result);
1029 
1030 END SUPPLIER_SIGNATURE;
1031 
1032 FUNCTION SUPPLIER_SIGNATURE_DATE
1033 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1034 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1035 ,   x_on_operation_action           OUT NOCOPY NUMBER
1036 ) RETURN NUMBER
1037 IS
1038 l_result 	NUMBER;
1039 BEGIN
1040 
1041     l_result := Is_OP_constrained
1042         (p_operation	=> p_operation
1043         ,p_column_name	=> 'SUPPLIER_SIGNATURE_DATE'
1044         ,p_record	=> p_record
1045         ,x_on_operation_action	=> x_on_operation_action
1046         );
1047 
1048 RETURN(l_result);
1049 
1050 END SUPPLIER_SIGNATURE_DATE;
1051 
1052 FUNCTION USER_STATUS
1053 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1054 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1055 ,   x_on_operation_action           OUT NOCOPY NUMBER
1056 ) RETURN NUMBER
1057 IS
1058 l_result 	NUMBER;
1059 BEGIN
1060 
1061     l_result := Is_OP_constrained
1062         (p_operation	=> p_operation
1063         ,p_column_name	=> 'USER_STATUS_CODE'
1064         ,p_record	=> p_record
1065         ,x_on_operation_action	=> x_on_operation_action
1066         );
1067 
1068 RETURN(l_result);
1069 
1070 END USER_STATUS;
1071 
1072 FUNCTION NEW_PRICE_LIST
1073 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1074 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1075 ,   x_on_operation_action           OUT NOCOPY NUMBER
1076 ) RETURN NUMBER
1077 IS
1078 l_result 	NUMBER;
1079 BEGIN
1080 
1081     l_result := Is_OP_constrained
1085         ,x_on_operation_action	=> x_on_operation_action
1082         (p_operation	=> p_operation
1083         ,p_column_name	=> 'NEW_PRICE_LIST_ID'
1084         ,p_record	=> p_record
1086         );
1087 
1088 RETURN(l_result);
1089 
1090 END NEW_PRICE_LIST;
1091 
1092 FUNCTION NEW_MODIFIER_LIST
1093 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1094 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1095 ,   x_on_operation_action           OUT NOCOPY NUMBER
1096 ) RETURN NUMBER
1097 IS
1098 l_result 	NUMBER;
1099 BEGIN
1100 
1101     l_result := Is_OP_constrained
1102         (p_operation	=> p_operation
1103         ,p_column_name	=> 'NEW_MODIFIER_LIST_ID'
1104         ,p_record	=> p_record
1105         ,x_on_operation_action	=> x_on_operation_action
1106         );
1107 
1108 RETURN(l_result);
1109 
1110 END NEW_MODIFIER_LIST;
1111 
1112 FUNCTION DEFAULT_DISCOUNT_PERCENT
1113 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1114 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1115 ,   x_on_operation_action           OUT NOCOPY NUMBER
1116 ) RETURN NUMBER
1117 IS
1118 l_result 	NUMBER;
1119 BEGIN
1120 
1121     l_result := Is_OP_constrained
1122         (p_operation	=> p_operation
1123         ,p_column_name	=> 'DEFAULT_DISCOUNT_PERCENT'
1124         ,p_record	=> p_record
1125         ,x_on_operation_action	=> x_on_operation_action
1126         );
1127 
1128 RETURN(l_result);
1129 
1130 END DEFAULT_DISCOUNT_PERCENT;
1131 
1132 FUNCTION DEFAULT_DISCOUNT_AMOUNT
1133 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1134 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1135 ,   x_on_operation_action           OUT NOCOPY NUMBER
1136 ) RETURN NUMBER
1137 IS
1138 l_result 	NUMBER;
1139 BEGIN
1140 
1141     l_result := Is_OP_constrained
1142         (p_operation	=> p_operation
1143         ,p_column_name	=> 'DEFAULT_DISCOUNT_AMOUNT'
1144         ,p_record	=> p_record
1145         ,x_on_operation_action	=> x_on_operation_action
1146         );
1147 
1148 RETURN(l_result);
1149 
1150 END DEFAULT_DISCOUNT_AMOUNT;
1151 
1152 --bug6531947
1153 FUNCTION CONTEXT
1154 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1155 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1156 ,   x_on_operation_action           OUT NOCOPY NUMBER
1157 ) RETURN NUMBER
1158 IS
1159 l_result        NUMBER;
1160 BEGIN
1161 
1162     l_result := Is_OP_constrained
1163         (p_operation    => p_operation
1164         ,p_column_name  => 'CONTEXT'
1165         ,p_record       => p_record
1166         ,x_on_operation_action  => x_on_operation_action
1167         );
1168 
1169 RETURN(l_result);
1170 
1171 END CONTEXT;
1172 
1173 FUNCTION ATTRIBUTE1
1174 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1175 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1176 ,   x_on_operation_action           OUT NOCOPY NUMBER
1177 ) RETURN NUMBER
1178 IS
1179 l_result        NUMBER;
1180 BEGIN
1181 
1182     l_result := Is_OP_constrained
1183         (p_operation    => p_operation
1184         ,p_column_name  => 'ATTRIBUTE1'
1185         ,p_record       => p_record
1186         ,x_on_operation_action  => x_on_operation_action
1187         );
1188 
1189 RETURN(l_result);
1190 
1191 END ATTRIBUTE1;
1192 
1193 FUNCTION ATTRIBUTE2
1194 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1195 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1196 ,   x_on_operation_action           OUT NOCOPY NUMBER
1197 ) RETURN NUMBER
1198 IS
1199 l_result        NUMBER;
1200 BEGIN
1201 
1202     l_result := Is_OP_constrained
1203         (p_operation    => p_operation
1204         ,p_column_name  => 'ATTRIBUTE2'
1205         ,p_record       => p_record
1206         ,x_on_operation_action  => x_on_operation_action
1207         );
1208 
1209 RETURN(l_result);
1210 
1211 END ATTRIBUTE2;
1212 
1213 FUNCTION ATTRIBUTE3
1214 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1215 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1216 ,   x_on_operation_action           OUT NOCOPY NUMBER
1217 ) RETURN NUMBER
1218 IS
1219 l_result        NUMBER;
1220 BEGIN
1221 
1222     l_result := Is_OP_constrained
1223         (p_operation    => p_operation
1224         ,p_column_name  => 'ATTRIBUTE3'
1225         ,p_record       => p_record
1226         ,x_on_operation_action  => x_on_operation_action
1227         );
1228 
1229 RETURN(l_result);
1230 
1231 END ATTRIBUTE3;
1232 
1233 FUNCTION ATTRIBUTE4
1234 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1235 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1236 ,   x_on_operation_action           OUT NOCOPY NUMBER
1237 ) RETURN NUMBER
1238 IS
1239 l_result        NUMBER;
1240 BEGIN
1241 
1245         ,p_record       => p_record
1242     l_result := Is_OP_constrained
1243         (p_operation    => p_operation
1244         ,p_column_name  => 'ATTRIBUTE4'
1246         ,x_on_operation_action  => x_on_operation_action
1247         );
1248 
1249 RETURN(l_result);
1250 
1251 END ATTRIBUTE4;
1252 
1253 FUNCTION ATTRIBUTE5
1254 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1255 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1256 ,   x_on_operation_action           OUT NOCOPY NUMBER
1257 ) RETURN NUMBER
1258 IS
1259 l_result        NUMBER;
1260 BEGIN
1261 
1262     l_result := Is_OP_constrained
1263         (p_operation    => p_operation
1264         ,p_column_name  => 'ATTRIBUTE5'
1265         ,p_record       => p_record
1266         ,x_on_operation_action  => x_on_operation_action
1267         );
1268 
1269 RETURN(l_result);
1270 
1271 END ATTRIBUTE5;
1272 
1273 FUNCTION ATTRIBUTE6
1274 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1275 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1276 ,   x_on_operation_action           OUT NOCOPY NUMBER
1277 ) RETURN NUMBER
1278 IS
1279 l_result        NUMBER;
1280 BEGIN
1281 
1282     l_result := Is_OP_constrained
1283         (p_operation    => p_operation
1284         ,p_column_name  => 'ATTRIBUTE6'
1285         ,p_record       => p_record
1286         ,x_on_operation_action  => x_on_operation_action
1287         );
1288 
1289 RETURN(l_result);
1290 
1291 END ATTRIBUTE6;
1292 
1293 FUNCTION ATTRIBUTE7
1294 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1295 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1296 ,   x_on_operation_action           OUT NOCOPY NUMBER
1297 ) RETURN NUMBER
1298 IS
1299 l_result        NUMBER;
1300 BEGIN
1301 
1302     l_result := Is_OP_constrained
1303         (p_operation    => p_operation
1304         ,p_column_name  => 'ATTRIBUTE7'
1305         ,p_record       => p_record
1306         ,x_on_operation_action  => x_on_operation_action
1307         );
1308 
1309 RETURN(l_result);
1310 
1311 END ATTRIBUTE7;
1312 
1313 FUNCTION ATTRIBUTE8
1314 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1315 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1316 ,   x_on_operation_action           OUT NOCOPY NUMBER
1317 ) RETURN NUMBER
1318 IS
1319 l_result        NUMBER;
1320 BEGIN
1321 
1322     l_result := Is_OP_constrained
1323         (p_operation    => p_operation
1324         ,p_column_name  => 'ATTRIBUTE8'
1325         ,p_record       => p_record
1326         ,x_on_operation_action  => x_on_operation_action
1327         );
1328 
1329 RETURN(l_result);
1330 
1331 END ATTRIBUTE8;
1332 
1333 FUNCTION ATTRIBUTE9
1334 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1335 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1336 ,   x_on_operation_action           OUT NOCOPY NUMBER
1337 ) RETURN NUMBER
1338 IS
1339 l_result        NUMBER;
1340 BEGIN
1341 
1342     l_result := Is_OP_constrained
1343         (p_operation    => p_operation
1344         ,p_column_name  => 'ATTRIBUTE9'
1345         ,p_record       => p_record
1346         ,x_on_operation_action  => x_on_operation_action
1347         );
1348 
1349 RETURN(l_result);
1350 
1351 END ATTRIBUTE9;
1352 
1353 FUNCTION ATTRIBUTE10
1354 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1355 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1356 ,   x_on_operation_action           OUT NOCOPY NUMBER
1357 ) RETURN NUMBER
1358 IS
1359 l_result        NUMBER;
1360 BEGIN
1361 
1362     l_result := Is_OP_constrained
1363         (p_operation    => p_operation
1364         ,p_column_name  => 'ATTRIBUTE10'
1365         ,p_record       => p_record
1366         ,x_on_operation_action  => x_on_operation_action
1367         );
1368 
1369 RETURN(l_result);
1370 
1371 END ATTRIBUTE10;
1372 
1373 FUNCTION ATTRIBUTE11
1374 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1375 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1376 ,   x_on_operation_action           OUT NOCOPY NUMBER
1377 ) RETURN NUMBER
1378 IS
1379 l_result        NUMBER;
1380 BEGIN
1381 
1382     l_result := Is_OP_constrained
1383         (p_operation    => p_operation
1384         ,p_column_name  => 'ATTRIBUTE11'
1385         ,p_record       => p_record
1386         ,x_on_operation_action  => x_on_operation_action
1387         );
1388 
1389 RETURN(l_result);
1390 
1391 END ATTRIBUTE11;
1392 
1393 FUNCTION ATTRIBUTE12
1394 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1395 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1396 ,   x_on_operation_action           OUT NOCOPY NUMBER
1397 ) RETURN NUMBER
1398 IS
1399 l_result        NUMBER;
1400 BEGIN
1401 
1402     l_result := Is_OP_constrained
1406         ,x_on_operation_action  => x_on_operation_action
1403         (p_operation    => p_operation
1404         ,p_column_name  => 'ATTRIBUTE12'
1405         ,p_record       => p_record
1407         );
1408 
1409 RETURN(l_result);
1410 
1411 END ATTRIBUTE12;
1412 
1413 FUNCTION ATTRIBUTE13
1414 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1415 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1416 ,   x_on_operation_action           OUT NOCOPY NUMBER
1417 ) RETURN NUMBER
1418 IS
1419 l_result        NUMBER;
1420 BEGIN
1421 
1422     l_result := Is_OP_constrained
1423         (p_operation    => p_operation
1424         ,p_column_name  => 'ATTRIBUTE13'
1425         ,p_record       => p_record
1426         ,x_on_operation_action  => x_on_operation_action
1427         );
1428 
1429 RETURN(l_result);
1430 
1431 END ATTRIBUTE13;
1432 
1433 FUNCTION ATTRIBUTE14
1434 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1435 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1436 ,   x_on_operation_action           OUT NOCOPY NUMBER
1437 ) RETURN NUMBER
1438 IS
1439 l_result        NUMBER;
1440 BEGIN
1441 
1442     l_result := Is_OP_constrained
1443         (p_operation    => p_operation
1444         ,p_column_name  => 'ATTRIBUTE14'
1445         ,p_record       => p_record
1446         ,x_on_operation_action  => x_on_operation_action
1447         );
1448 
1449 RETURN(l_result);
1450 
1451 END ATTRIBUTE14;
1452 
1453 FUNCTION ATTRIBUTE15
1454 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1455 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1456 ,   x_on_operation_action           OUT NOCOPY NUMBER
1457 ) RETURN NUMBER
1458 IS
1459 l_result        NUMBER;
1460 BEGIN
1461 
1462     l_result := Is_OP_constrained
1463         (p_operation    => p_operation
1464         ,p_column_name  => 'ATTRIBUTE15'
1465         ,p_record       => p_record
1466         ,x_on_operation_action  => x_on_operation_action
1467         );
1468 
1469 RETURN(l_result);
1470 
1471 END ATTRIBUTE15;
1472 
1473 FUNCTION ATTRIBUTE16
1474 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1475 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1476 ,   x_on_operation_action           OUT NOCOPY NUMBER
1477 ) RETURN NUMBER
1478 IS
1479 l_result        NUMBER;
1480 BEGIN
1481 
1482     l_result := Is_OP_constrained
1483         (p_operation    => p_operation
1484         ,p_column_name  => 'ATTRIBUTE16'
1485         ,p_record       => p_record
1486         ,x_on_operation_action  => x_on_operation_action
1487         );
1488 
1489 RETURN(l_result);
1490 
1491 END ATTRIBUTE16;
1492 
1493 FUNCTION ATTRIBUTE17
1494 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1495 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1496 ,   x_on_operation_action           OUT NOCOPY NUMBER
1497 ) RETURN NUMBER
1498 IS
1499 l_result        NUMBER;
1500 BEGIN
1501 
1502     l_result := Is_OP_constrained
1503         (p_operation    => p_operation
1504         ,p_column_name  => 'ATTRIBUTE17'
1505         ,p_record       => p_record
1506         ,x_on_operation_action  => x_on_operation_action
1507         );
1508 
1509 RETURN(l_result);
1510 
1511 END ATTRIBUTE17;
1512 
1513 FUNCTION ATTRIBUTE18
1514 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1515 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1516 ,   x_on_operation_action           OUT NOCOPY NUMBER
1517 ) RETURN NUMBER
1518 IS
1519 l_result        NUMBER;
1520 BEGIN
1521 
1522     l_result := Is_OP_constrained
1523         (p_operation    => p_operation
1524         ,p_column_name  => 'ATTRIBUTE18'
1525         ,p_record       => p_record
1526         ,x_on_operation_action  => x_on_operation_action
1527         );
1528 
1529 RETURN(l_result);
1530 
1531 END ATTRIBUTE18;
1532 
1533 FUNCTION ATTRIBUTE19
1534 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1535 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1536 ,   x_on_operation_action           OUT NOCOPY NUMBER
1537 ) RETURN NUMBER
1538 IS
1539 l_result        NUMBER;
1540 BEGIN
1541 
1542     l_result := Is_OP_constrained
1543         (p_operation    => p_operation
1544         ,p_column_name  => 'ATTRIBUTE19'
1545         ,p_record       => p_record
1546         ,x_on_operation_action  => x_on_operation_action
1547         );
1548 
1549 RETURN(l_result);
1550 
1551 END ATTRIBUTE19;
1552 
1553 FUNCTION ATTRIBUTE20
1554 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1555 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
1556 ,   x_on_operation_action           OUT NOCOPY NUMBER
1557 ) RETURN NUMBER
1558 IS
1559 l_result        NUMBER;
1560 BEGIN
1561 
1565         ,p_record       => p_record
1562     l_result := Is_OP_constrained
1563         (p_operation    => p_operation
1564         ,p_column_name  => 'ATTRIBUTE20'
1566         ,x_on_operation_action  => x_on_operation_action
1567         );
1568 
1569 RETURN(l_result);
1570 
1571 END ATTRIBUTE20;
1572 
1573 PROCEDURE Entity
1574 (   p_HEADER_rec                    IN  OE_Blanket_Pub.HEADER_Rec_Type
1575 , x_result OUT NOCOPY NUMBER
1576 
1577 , x_return_status OUT NOCOPY VARCHAR2
1578 
1579 ) IS
1580 l_operation	VARCHAR2(1);
1581 l_on_operation_action	NUMBER;
1582 l_rowtype_rec	OE_AK_BLANKET_HEADERS_V%ROWTYPE;
1583 --
1584 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1585 --
1586 BEGIN
1587 IF l_debug_level  > 0 THEN
1588     oe_debug_pub.add(  'ENTER OE_BLANKET_HEADER_SECURITY.ENTITY' , 1 ) ;
1589 END IF;
1590 
1591 -- Initializing return status to SUCCESS
1592 x_return_status := FND_API.G_RET_STS_SUCCESS;
1593 
1594 IF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1595     l_operation := OE_PC_GLOBALS.CREATE_OP;
1596 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1597     l_operation := OE_PC_GLOBALS.UPDATE_OP;
1598 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_DELETE THEN
1599     l_operation := OE_PC_GLOBALS.DELETE_OP;
1600 ELSE
1601     IF l_debug_level  > 0 THEN
1602         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
1603     END IF;
1604     RAISE FND_API.G_EXC_ERROR;
1605 END IF;
1606 
1607 OE_BLANKET_UTIL.API_Rec_To_Rowtype_Rec(p_HEADER_rec, l_rowtype_rec);
1608 
1609 -- Initialize security global record
1610 OE_Blanket_Header_Security.g_record := l_rowtype_rec;
1611 
1612 x_result := Is_OP_constrained
1613     (p_operation	=> l_operation
1614     ,p_record	=> l_rowtype_rec
1615     ,x_on_operation_action	=> l_on_operation_action
1616     );
1617 
1618 IF l_debug_level  > 0 THEN
1619     oe_debug_pub.add(  'EXIT OE_BLANKET_HEADER_SECURITY.ENTITY' , 1 ) ;
1620 END IF;
1621 
1622 EXCEPTION
1623     WHEN OTHERS THEN
1624     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1625     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1626         OE_MSG_PUB.Add_Exc_Msg
1627         (   G_PKG_NAME
1628         ,   'Entity'
1629         );
1630     END IF;
1631 
1632 END Entity;
1633 
1634 
1635 PROCEDURE Attributes
1636 (   p_HEADER_rec                    IN  OE_Blanket_Pub.HEADER_Rec_Type
1637 ,   p_old_HEADER_rec                IN  OE_Blanket_Pub.HEADER_Rec_Type := OE_Blanket_Pub.G_MISS_HEADER_REC
1638 , x_result OUT NOCOPY NUMBER
1639 
1640 , x_return_status OUT NOCOPY VARCHAR2
1641 
1642 ) IS
1643 l_operation	VARCHAR2(1);
1644 l_on_operation_action  NUMBER;
1645 l_result		NUMBER;
1646 l_rowtype_rec	OE_AK_BLANKET_HEADERS_V%ROWTYPE;
1647 l_column_name	VARCHAR2(30);
1648 l_active_flag   VARCHAR2(1);
1649 e_inacitve_pl   EXCEPTION;
1650 l_check_all_cols_constraint VARCHAR2(1);
1651 --
1652 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1653 --
1654 BEGIN
1655 IF l_debug_level  > 0 THEN
1656     oe_debug_pub.add(  'ENTER OE_BLANKET_HEADER_SECURITY.ATTRIBUTES' , 1 ) ;
1657     oe_debug_pub.add(  'new sold_to_org_id' || p_header_rec.sold_to_org_id ) ;
1658     oe_debug_pub.add(  'old sold_to_org_id' || p_old_header_rec.sold_to_org_id ) ;
1659     oe_debug_pub.add(  'new pl name ' || p_header_rec.new_price_list_name ) ;
1660     oe_debug_pub.add(  'old pl name ' || p_old_header_rec.new_price_list_name ) ;
1661 END IF;
1662 
1663 -- Initializing return status to SUCCESS
1664 x_return_status := FND_API.G_RET_STS_SUCCESS;
1665 
1666 -- Initializing out result to NOT CONSTRAINED
1667 x_result := OE_PC_GLOBALS.NO;
1668 
1669  -- Get the operation code to be passed to the security framework API
1670 IF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
1671     -- Bug 1987983 : if the order source is Copy then skip the Attribute
1672     -- level check
1673 --   IF p_HEADER_rec.source_document_type_id = OE_GLOBALS.G_ORDER_SOURCE_COPY
1674 --      THEN
1675 --      RETURN;
1676 --   ELSE
1677     l_operation := OE_PC_GLOBALS.CREATE_OP;
1678 --   END IF;
1679     -- Bug 1755817: if there are no attribute-specific insert
1680     -- constraints, then no need to go further. Entity level
1681     -- security check for CREATE will be called again from
1682     -- process order after defaulting.
1683     IF NOT OE_PC_Constraints_Admin_PVT.Check_On_Insert_Exists
1684            (p_entity_id   => OE_PC_GLOBALS.G_ENTITY_BLANKET_HEADER
1685            ,p_responsibility_id     => nvl(fnd_global.resp_id, -1)
1686            ,p_application_id          => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
1687            )
1688     THEN
1689        RETURN;
1690     END IF;
1691 
1692 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
1693     l_operation := OE_PC_GLOBALS.UPDATE_OP;
1694 ELSE
1695     IF l_debug_level  > 0 THEN
1696         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
1697     END IF;
1698     RAISE FND_API.G_EXC_ERROR;
1699 END IF;
1700 
1701 OE_BLANKET_UTIL.API_Rec_To_Rowtype_Rec(p_HEADER_rec, l_rowtype_rec);
1702 
1703 -- Initialize security global record
1707 -- check constraints for all the changed attributes.
1704 OE_Blanket_Header_Security.g_record := l_rowtype_rec;
1705 
1706 -- Compare the new and old entity records and
1708 /*
1709    IF p_header_rec.cancelled_flag <> FND_API.G_MISS_CHAR
1710      AND NOT OE_GLOBALS.Equal(p_header_rec.cancelled_flag,
1711 		 p_old_header_rec.cancelled_flag)
1712             THEN
1713 		IF p_header_rec.cancelled_flag = 'Y' THEN
1714         l_result := CANCELLED
1715             (p_operation => l_operation
1716             ,p_record    => l_rowtype_rec
1717             ,x_on_operation_action => l_on_operation_action
1718             );
1719         IF l_result = OE_PC_GLOBALS.YES THEN
1720             -- set OUT result to CONSTRAINED
1721              x_result := OE_PC_GLOBALS.YES;
1722 		   --RAISE;
1723         END IF;
1724 	     END IF;
1725 
1726     END IF;
1727 */
1728     IF ((p_header_rec.price_list_id IS NOT NULL)
1729       AND (NOT oe_globals.equal(p_header_rec.price_list_id,
1730       p_old_HEADER_rec.price_list_id))
1731       AND (p_header_rec.order_category_code IS NOT NULL)
1732       AND (p_header_rec.order_category_code <>
1733                  Oe_Globals.G_RETURN_CATEGORY_CODE)) THEN
1734       BEGIN
1735         SELECT active_flag
1736         INTO l_active_flag
1737         FROM qp_List_headers_vl
1738         WHERE list_header_id = p_header_rec.price_list_id;
1739         IF(nvl(l_active_flag,'N')='N') THEN
1740           RAISE e_inacitve_pl;
1741         END IF;
1742       EXCEPTION
1743         WHEN e_inacitve_pl  THEN
1744           RAISE e_inacitve_pl ;
1745 
1746         WHEN OTHERS THEN
1747           IF l_debug_level  > 0 THEN
1748               oe_debug_pub.add(  'WHEN OTHERS' , 2 ) ;
1749           END IF;
1750       END;
1751     END IF;
1752 
1753     IF p_header_rec.accounting_rule_id = FND_API.G_MISS_NUM THEN NULL;
1754     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.accounting_rule_id,p_old_header_rec.accounting_rule_id) THEN
1755 
1756         l_result := ACCOUNTING_RULE
1757             (p_operation        => l_operation
1758             ,p_record   => l_rowtype_rec
1759             ,x_on_operation_action => l_on_operation_action
1760             );
1761 
1762         IF l_result = OE_PC_GLOBALS.YES THEN
1763             -- set OUT result to CONSTRAINED
1764             x_result := OE_PC_GLOBALS.YES;
1765         END IF;
1766 
1767     END IF;
1768 
1769     IF p_header_rec.conversion_type_code = FND_API.G_MISS_CHAR THEN NULL;
1770     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.conversion_type_code,p_old_header_rec.conversion_type_code) THEN
1771 
1772         l_result := CONVERSION_TYPE
1773             (p_operation        => l_operation
1774             ,p_record   => l_rowtype_rec
1775             ,x_on_operation_action => l_on_operation_action
1776             );
1777 
1778         IF l_result = OE_PC_GLOBALS.YES THEN
1779             -- set OUT result to CONSTRAINED
1780             x_result := OE_PC_GLOBALS.YES;
1781         END IF;
1782 
1783     END IF;
1784 
1785     IF p_header_rec.cust_po_number = FND_API.G_MISS_CHAR THEN NULL;
1786     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.cust_po_number,p_old_header_rec.cust_po_number) THEN
1787 
1788         l_result := CUST_PO_NUMBER
1789             (p_operation        => l_operation
1790             ,p_record   => l_rowtype_rec
1791             ,x_on_operation_action => l_on_operation_action
1792             );
1793 
1794         IF l_result = OE_PC_GLOBALS.YES THEN
1795             -- set OUT result to CONSTRAINED
1796             x_result := OE_PC_GLOBALS.YES;
1797         END IF;
1798 
1799     END IF;
1800 
1801     IF p_header_rec.deliver_to_org_id = FND_API.G_MISS_NUM THEN NULL;
1802     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.deliver_to_org_id,p_old_header_rec.deliver_to_org_id) THEN
1803 
1804         l_result := DELIVER_TO_ORG
1805             (p_operation        => l_operation
1806             ,p_record   => l_rowtype_rec
1807             ,x_on_operation_action => l_on_operation_action
1808             );
1809 
1810         IF l_result = OE_PC_GLOBALS.YES THEN
1811             -- set OUT result to CONSTRAINED
1812             x_result := OE_PC_GLOBALS.YES;
1813         END IF;
1814 
1815     END IF;
1816 
1817     IF p_header_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN NULL;
1818     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.freight_terms_code,p_old_header_rec.freight_terms_code) THEN
1819 
1820         l_result := FREIGHT_TERMS
1821             (p_operation        => l_operation
1822             ,p_record   => l_rowtype_rec
1823             ,x_on_operation_action => l_on_operation_action
1824             );
1825 
1826         IF l_result = OE_PC_GLOBALS.YES THEN
1827             -- set OUT result to CONSTRAINED
1828             x_result := OE_PC_GLOBALS.YES;
1829         END IF;
1830 
1831     END IF;
1832 
1833     IF p_header_rec.invoice_to_org_id = FND_API.G_MISS_NUM THEN NULL;
1834     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.invoice_to_org_id,p_old_header_rec.invoice_to_org_id) THEN
1835 
1836         l_result := INVOICE_TO_ORG
1837             (p_operation        => l_operation
1838             ,p_record   => l_rowtype_rec
1839             ,x_on_operation_action => l_on_operation_action
1843             -- set OUT result to CONSTRAINED
1840             );
1841 
1842         IF l_result = OE_PC_GLOBALS.YES THEN
1844             x_result := OE_PC_GLOBALS.YES;
1845         END IF;
1846 
1847     END IF;
1848 
1849     IF p_header_rec.invoicing_rule_id = FND_API.G_MISS_NUM THEN NULL;
1850     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.invoicing_rule_id,p_old_header_rec.invoicing_rule_id) THEN
1851 
1852         l_result := INVOICING_RULE
1853             (p_operation        => l_operation
1854             ,p_record   => l_rowtype_rec
1855             ,x_on_operation_action => l_on_operation_action
1856             );
1857 
1858         IF l_result = OE_PC_GLOBALS.YES THEN
1859             -- set OUT result to CONSTRAINED
1860             x_result := OE_PC_GLOBALS.YES;
1861         END IF;
1862 
1863     END IF;
1864 
1865     IF p_header_rec.order_number = FND_API.G_MISS_NUM THEN NULL;
1866     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.order_number,p_old_header_rec.order_number) THEN
1867 
1868         l_result := ORDER_NUMBER
1869             (p_operation        => l_operation
1870             ,p_record   => l_rowtype_rec
1871             ,x_on_operation_action => l_on_operation_action
1872             );
1873 
1874         IF l_result = OE_PC_GLOBALS.YES THEN
1875             -- set OUT result to CONSTRAINED
1876             x_result := OE_PC_GLOBALS.YES;
1877         END IF;
1878 
1879     END IF;
1880 
1881     IF p_header_rec.order_type_id = FND_API.G_MISS_NUM THEN NULL;
1882     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.order_type_id,p_old_header_rec.order_type_id) THEN
1883 
1884         l_result := ORDER_TYPE
1885             (p_operation        => l_operation
1886             ,p_record   => l_rowtype_rec
1887             ,x_on_operation_action => l_on_operation_action
1888             );
1889 
1890         IF l_result = OE_PC_GLOBALS.YES THEN
1891             -- set OUT result to CONSTRAINED
1892             x_result := OE_PC_GLOBALS.YES;
1893         END IF;
1894 
1895     END IF;
1896 
1897     IF p_header_rec.packing_instructions = FND_API.G_MISS_CHAR THEN NULL;
1898     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.packing_instructions,p_old_header_rec.packing_instructions) THEN
1899 
1900         l_result := PACKING_INSTRUCTIONS
1901             (p_operation        => l_operation
1902             ,p_record   => l_rowtype_rec
1903             ,x_on_operation_action => l_on_operation_action
1904             );
1905 
1906         IF l_result = OE_PC_GLOBALS.YES THEN
1907             -- set OUT result to CONSTRAINED
1908             x_result := OE_PC_GLOBALS.YES;
1909         END IF;
1910 
1911     END IF;
1912 
1913     IF p_header_rec.payment_term_id = FND_API.G_MISS_NUM THEN NULL;
1914     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.payment_term_id,p_old_header_rec.payment_term_id) THEN
1915 
1916         l_result := PAYMENT_TERM
1917             (p_operation        => l_operation
1918             ,p_record   => l_rowtype_rec
1919             ,x_on_operation_action => l_on_operation_action
1920             );
1921 
1922         IF l_result = OE_PC_GLOBALS.YES THEN
1923             -- set OUT result to CONSTRAINED
1924             x_result := OE_PC_GLOBALS.YES;
1925         END IF;
1926 
1927     END IF;
1928 
1929     IF p_header_rec.price_list_id = FND_API.G_MISS_NUM THEN NULL;
1930     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.price_list_id,p_old_header_rec.price_list_id) THEN
1931 
1932         l_result := PRICE_LIST
1933             (p_operation        => l_operation
1934             ,p_record   => l_rowtype_rec
1935             ,x_on_operation_action => l_on_operation_action
1936             );
1937           IF l_debug_level  > 0 THEN
1938               oe_debug_pub.add(  'exiting price list check:' || l_result, 2 ) ;
1939           END IF;
1940 
1941         IF l_result = OE_PC_GLOBALS.YES THEN
1942             -- set OUT result to CONSTRAINED
1943             x_result := OE_PC_GLOBALS.YES;
1944         END IF;
1945 
1946     END IF;
1947 
1948     IF p_header_rec.salesrep_id = FND_API.G_MISS_NUM THEN NULL;
1949     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.salesrep_id,p_old_header_rec.salesrep_id) THEN
1950 
1951         l_result := SALESREP
1952             (p_operation        => l_operation
1953             ,p_record   => l_rowtype_rec
1954             ,x_on_operation_action => l_on_operation_action
1955             );
1956 
1957         IF l_result = OE_PC_GLOBALS.YES THEN
1958             -- set OUT result to CONSTRAINED
1959             x_result := OE_PC_GLOBALS.YES;
1960         END IF;
1961 
1962     END IF;
1963 
1964     IF p_header_rec.shipping_instructions = FND_API.G_MISS_CHAR THEN NULL;
1965     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.shipping_instructions,p_old_header_rec.shipping_instructions) THEN
1966 
1967         l_result := SHIPPING_INSTRUCTIONS
1968             (p_operation        => l_operation
1969             ,p_record   => l_rowtype_rec
1970             ,x_on_operation_action => l_on_operation_action
1971             );
1972 
1973         IF l_result = OE_PC_GLOBALS.YES THEN
1974             -- set OUT result to CONSTRAINED
1975             x_result := OE_PC_GLOBALS.YES;
1976         END IF;
1977 
1981     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.shipping_method_code,p_old_header_rec.shipping_method_code) THEN
1978     END IF;
1979 
1980     IF p_header_rec.shipping_method_code = FND_API.G_MISS_CHAR THEN NULL;
1982 
1983         l_result := SHIPPING_METHOD
1984             (p_operation        => l_operation
1985             ,p_record   => l_rowtype_rec
1986             ,x_on_operation_action => l_on_operation_action
1987             );
1988 
1989         IF l_result = OE_PC_GLOBALS.YES THEN
1990             -- set OUT result to CONSTRAINED
1991             x_result := OE_PC_GLOBALS.YES;
1992         END IF;
1993 
1994     END IF;
1995 
1996     IF p_header_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN NULL;
1997     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_from_org_id,p_old_header_rec.ship_from_org_id) THEN
1998 
1999         l_result := SHIP_FROM_ORG
2000             (p_operation        => l_operation
2001             ,p_record   => l_rowtype_rec
2002             ,x_on_operation_action => l_on_operation_action
2003             );
2004 
2005         IF l_result = OE_PC_GLOBALS.YES THEN
2006             -- set OUT result to CONSTRAINED
2007             x_result := OE_PC_GLOBALS.YES;
2008         END IF;
2009 
2010     END IF;
2011 
2012     IF p_header_rec.ship_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2013     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_to_org_id,p_old_header_rec.ship_to_org_id) THEN
2014 
2015         l_result := SHIP_TO_ORG
2016             (p_operation        => l_operation
2017             ,p_record   => l_rowtype_rec
2018             ,x_on_operation_action => l_on_operation_action
2019             );
2020 
2021         IF l_result = OE_PC_GLOBALS.YES THEN
2022             -- set OUT result to CONSTRAINED
2023             x_result := OE_PC_GLOBALS.YES;
2024         END IF;
2025 
2026     END IF;
2027 
2028     IF p_header_rec.sold_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
2029     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sold_to_contact_id,p_old_header_rec.sold_to_contact_id) THEN
2030 
2031         l_result := SOLD_TO_CONTACT
2032             (p_operation        => l_operation
2033             ,p_record   => l_rowtype_rec
2034             ,x_on_operation_action => l_on_operation_action
2035             );
2036 
2037         IF l_result = OE_PC_GLOBALS.YES THEN
2038             -- set OUT result to CONSTRAINED
2039             x_result := OE_PC_GLOBALS.YES;
2040         END IF;
2041 
2042     END IF;
2043 
2044     IF p_header_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2045     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sold_to_org_id,p_old_header_rec.sold_to_org_id) THEN
2046 
2047         l_result := SOLD_TO_ORG
2048             (p_operation        => l_operation
2049             ,p_record   => l_rowtype_rec
2050             ,x_on_operation_action => l_on_operation_action
2051             );
2052 
2053         IF l_result = OE_PC_GLOBALS.YES THEN
2054             -- set OUT result to CONSTRAINED
2055             x_result := OE_PC_GLOBALS.YES;
2056         END IF;
2057 
2058     END IF;
2059 
2060     IF p_header_rec.transactional_curr_code = FND_API.G_MISS_CHAR THEN NULL;
2061     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.transactional_curr_code,p_old_header_rec.transactional_curr_code) THEN
2062 
2063         l_result := TRANSACTIONAL_CURR
2064             (p_operation        => l_operation
2065             ,p_record   => l_rowtype_rec
2066             ,x_on_operation_action => l_on_operation_action
2067             );
2068 
2069         IF l_result = OE_PC_GLOBALS.YES THEN
2070             -- set OUT result to CONSTRAINED
2071             x_result := OE_PC_GLOBALS.YES;
2072         END IF;
2073 
2074     END IF;
2075 
2076     IF p_header_rec.enforce_ship_to_flag = FND_API.G_MISS_CHAR THEN NULL;
2077     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_ship_to_flag,p_old_header_rec.enforce_ship_to_flag) THEN
2078 
2079         l_result := ENFORCE_SHIP_TO_FLAG
2080             (p_operation        => l_operation
2081             ,p_record   => l_rowtype_rec
2082             ,x_on_operation_action => l_on_operation_action
2083             );
2084 
2085         IF l_result = OE_PC_GLOBALS.YES THEN
2086             -- set OUT result to CONSTRAINED
2087             x_result := OE_PC_GLOBALS.YES;
2088         END IF;
2089 
2090     END IF;
2091 
2092     IF p_header_rec.enforce_freight_term_flag = FND_API.G_MISS_CHAR THEN NULL;
2093     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_freight_term_flag,p_old_header_rec.enforce_freight_term_flag) THEN
2094 
2095         l_result := ENFORCE_FREIGHT_TERM_FLAG
2096             (p_operation        => l_operation
2097             ,p_record   => l_rowtype_rec
2098             ,x_on_operation_action => l_on_operation_action
2099             );
2100 
2101         IF l_result = OE_PC_GLOBALS.YES THEN
2102             -- set OUT result to CONSTRAINED
2103             x_result := OE_PC_GLOBALS.YES;
2104         END IF;
2105 
2106     END IF;
2107 
2108     IF p_header_rec.enforce_shipping_method_flag = FND_API.G_MISS_CHAR THEN NULL;
2109     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_shipping_method_flag,p_old_header_rec.enforce_shipping_method_flag) THEN
2110 
2114             ,x_on_operation_action => l_on_operation_action
2111         l_result := ENFORCE_SHIPPING_METHOD_FLAG
2112             (p_operation        => l_operation
2113             ,p_record   => l_rowtype_rec
2115             );
2116 
2117         IF l_result = OE_PC_GLOBALS.YES THEN
2118             -- set OUT result to CONSTRAINED
2119             x_result := OE_PC_GLOBALS.YES;
2120         END IF;
2121 
2122     END IF;
2123 
2124     IF p_header_rec.enforce_invoice_to_flag = FND_API.G_MISS_CHAR THEN NULL;
2125     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_invoice_to_flag,p_old_header_rec.enforce_invoice_to_flag) THEN
2126 
2127         l_result := ENFORCE_INVOICE_TO_FLAG
2128             (p_operation        => l_operation
2129             ,p_record   => l_rowtype_rec
2130             ,x_on_operation_action => l_on_operation_action
2131             );
2132 
2133         IF l_result = OE_PC_GLOBALS.YES THEN
2134             -- set OUT result to CONSTRAINED
2135             x_result := OE_PC_GLOBALS.YES;
2136         END IF;
2137 
2138     END IF;
2139 
2140     IF p_header_rec.enforce_price_list_flag = FND_API.G_MISS_CHAR THEN NULL;
2141     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_price_list_flag,p_old_header_rec.enforce_price_list_flag) THEN
2142 
2143         l_result := ENFORCE_PRICE_LIST_FLAG
2144             (p_operation        => l_operation
2145             ,p_record   => l_rowtype_rec
2146             ,x_on_operation_action => l_on_operation_action
2147             );
2148 
2149         IF l_result = OE_PC_GLOBALS.YES THEN
2150             -- set OUT result to CONSTRAINED
2151             x_result := OE_PC_GLOBALS.YES;
2152         END IF;
2153 
2154     END IF;
2155 
2156     IF p_header_rec.enforce_payment_term_flag = FND_API.G_MISS_CHAR THEN NULL;
2157     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_payment_term_flag,p_old_header_rec.enforce_payment_term_flag) THEN
2158 
2159         l_result := ENFORCE_PAYMENT_TERM_FLAG
2160             (p_operation        => l_operation
2161             ,p_record   => l_rowtype_rec
2162             ,x_on_operation_action => l_on_operation_action
2163             );
2164 
2165         IF l_result = OE_PC_GLOBALS.YES THEN
2166             -- set OUT result to CONSTRAINED
2167             x_result := OE_PC_GLOBALS.YES;
2168         END IF;
2169 
2170     END IF;
2171 
2172     IF p_header_rec.enforce_accounting_rule_flag = FND_API.G_MISS_CHAR THEN NULL;
2173     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_accounting_rule_flag,p_old_header_rec.enforce_accounting_rule_flag) THEN
2174 
2175         l_result := ENFORCE_ACCOUNTING_RULE_FLAG
2176             (p_operation        => l_operation
2177             ,p_record   => l_rowtype_rec
2178             ,x_on_operation_action => l_on_operation_action
2179             );
2180 
2181         IF l_result = OE_PC_GLOBALS.YES THEN
2182             -- set OUT result to CONSTRAINED
2183             x_result := OE_PC_GLOBALS.YES;
2184         END IF;
2185 
2186     END IF;
2187 
2188     IF p_header_rec.enforce_invoicing_rule_flag = FND_API.G_MISS_CHAR THEN NULL;
2189     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.enforce_invoicing_rule_flag,p_old_header_rec.enforce_invoicing_rule_flag) THEN
2190 
2191         l_result := ENFORCE_INVOICING_RULE_FLAG
2192             (p_operation        => l_operation
2193             ,p_record   => l_rowtype_rec
2194             ,x_on_operation_action => l_on_operation_action
2195             );
2196 
2197         IF l_result = OE_PC_GLOBALS.YES THEN
2198             -- set OUT result to CONSTRAINED
2199             x_result := OE_PC_GLOBALS.YES;
2200         END IF;
2201 
2202     END IF;
2203 
2204     IF p_header_rec.start_date_active = FND_API.G_MISS_DATE THEN NULL;
2205     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.start_date_active,p_old_header_rec.start_date_active) THEN
2206 
2207         l_result := START_DATE_ACTIVE
2208             (p_operation        => l_operation
2209             ,p_record   => l_rowtype_rec
2210             ,x_on_operation_action => l_on_operation_action
2211             );
2212 
2213         IF l_result = OE_PC_GLOBALS.YES THEN
2214             -- set OUT result to CONSTRAINED
2215             x_result := OE_PC_GLOBALS.YES;
2216         END IF;
2217 
2218     END IF;
2219 
2220     IF p_header_rec.end_date_active = FND_API.G_MISS_DATE THEN NULL;
2221     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.end_date_active,p_old_header_rec.end_date_active) THEN
2222 
2223         l_result := END_DATE_ACTIVE
2224             (p_operation        => l_operation
2225             ,p_record   => l_rowtype_rec
2226             ,x_on_operation_action => l_on_operation_action
2227             );
2228 
2229         IF l_result = OE_PC_GLOBALS.YES THEN
2230             -- set OUT result to CONSTRAINED
2231             x_result := OE_PC_GLOBALS.YES;
2232         END IF;
2233 
2234     END IF;
2235 
2236     IF p_header_rec.version_number = FND_API.G_MISS_NUM THEN NULL;
2237     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.version_number,p_old_header_rec.version_number) THEN
2238 
2239         l_result := VERSION_NUMBER
2240             (p_operation        => l_operation
2241             ,p_record   => l_rowtype_rec
2242             ,x_on_operation_action => l_on_operation_action
2246             -- set OUT result to CONSTRAINED
2243             );
2244 
2245         IF l_result = OE_PC_GLOBALS.YES THEN
2247             x_result := OE_PC_GLOBALS.YES;
2248         END IF;
2249 
2250     END IF;
2251 
2252     IF p_header_rec.revision_change_date = FND_API.G_MISS_DATE THEN NULL;
2253     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.revision_change_date,p_old_header_rec.revision_change_date) THEN
2254 
2255         l_result := REVISION_CHANGE_DATE
2256             (p_operation        => l_operation
2257             ,p_record   => l_rowtype_rec
2258             ,x_on_operation_action => l_on_operation_action
2259             );
2260 
2261         IF l_result = OE_PC_GLOBALS.YES THEN
2262             -- set OUT result to CONSTRAINED
2263             x_result := OE_PC_GLOBALS.YES;
2264         END IF;
2265 
2266     END IF;
2267 
2268     IF p_header_rec.revision_change_reason_code = FND_API.G_MISS_CHAR THEN NULL;
2269     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.revision_change_reason_code,p_old_header_rec.revision_change_reason_code) THEN
2270 
2271         l_result := REVISION_CHANGE_REASON
2272             (p_operation        => l_operation
2273             ,p_record   => l_rowtype_rec
2274             ,x_on_operation_action => l_on_operation_action
2275             );
2276 
2277         IF l_result = OE_PC_GLOBALS.YES THEN
2278             -- set OUT result to CONSTRAINED
2279             x_result := OE_PC_GLOBALS.YES;
2280         END IF;
2281 
2282     END IF;
2283 
2284     IF p_header_rec.revision_change_comments = FND_API.G_MISS_CHAR THEN NULL;
2285     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.revision_change_comments,p_old_header_rec.revision_change_comments) THEN
2286 
2287         l_result := REVISION_CHANGE_COMMENTS
2288             (p_operation        => l_operation
2289             ,p_record   => l_rowtype_rec
2290             ,x_on_operation_action => l_on_operation_action
2291             );
2292 
2293         IF l_result = OE_PC_GLOBALS.YES THEN
2294             -- set OUT result to CONSTRAINED
2295             x_result := OE_PC_GLOBALS.YES;
2296         END IF;
2297 
2298     END IF;
2299 
2300     IF p_header_rec.blanket_min_amount = FND_API.G_MISS_NUM THEN NULL;
2301     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.blanket_min_amount,p_old_header_rec.blanket_min_amount) THEN
2302 
2303         l_result := BLANKET_MIN_AMOUNT
2304             (p_operation        => l_operation
2305             ,p_record   => l_rowtype_rec
2306             ,x_on_operation_action => l_on_operation_action
2307             );
2308 
2309         IF l_result = OE_PC_GLOBALS.YES THEN
2310             -- set OUT result to CONSTRAINED
2311             x_result := OE_PC_GLOBALS.YES;
2312         END IF;
2313 
2314     END IF;
2315 
2316     IF p_header_rec.blanket_max_amount = FND_API.G_MISS_NUM THEN NULL;
2317     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.blanket_max_amount,p_old_header_rec.blanket_max_amount) THEN
2318 
2319         l_result := BLANKET_MAX_AMOUNT
2320             (p_operation        => l_operation
2321             ,p_record   => l_rowtype_rec
2322             ,x_on_operation_action => l_on_operation_action
2323             );
2324 
2325         IF l_result = OE_PC_GLOBALS.YES THEN
2326             -- set OUT result to CONSTRAINED
2327             x_result := OE_PC_GLOBALS.YES;
2328         END IF;
2329 
2330     END IF;
2331 
2332     IF p_header_rec.override_amount_flag = FND_API.G_MISS_CHAR THEN NULL;
2333     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.override_amount_flag,p_old_header_rec.override_amount_flag) THEN
2334 
2335         l_result := OVERRIDE_AMOUNT_FLAG
2336             (p_operation        => l_operation
2337             ,p_record   => l_rowtype_rec
2338             ,x_on_operation_action => l_on_operation_action
2339             );
2340 
2341         IF l_result = OE_PC_GLOBALS.YES THEN
2342             -- set OUT result to CONSTRAINED
2343             x_result := OE_PC_GLOBALS.YES;
2344         END IF;
2345 
2346     END IF;
2347 
2348     IF p_header_rec.transaction_phase_code = FND_API.G_MISS_CHAR THEN NULL;
2349     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.transaction_phase_code,p_old_header_rec.transaction_phase_code) THEN
2350 
2351         l_result := TRANSACTION_PHASE
2352             (p_operation        => l_operation
2353             ,p_record   => l_rowtype_rec
2354             ,x_on_operation_action => l_on_operation_action
2355             );
2356 
2357         IF l_result = OE_PC_GLOBALS.YES THEN
2358             -- set OUT result to CONSTRAINED
2359             x_result := OE_PC_GLOBALS.YES;
2360         END IF;
2361 
2362     END IF;
2363 
2364     IF p_header_rec.SOLD_TO_SITE_USE_ID = FND_API.G_MISS_NUM THEN NULL;
2365     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.SOLD_TO_SITE_USE_ID,p_old_header_rec.SOLD_TO_SITE_USE_ID) THEN
2366 
2367         l_result := SOLD_TO_SITE_USE
2368             (p_operation        => l_operation
2369             ,p_record   => l_rowtype_rec
2370             ,x_on_operation_action => l_on_operation_action
2371             );
2372 
2373         IF l_result = OE_PC_GLOBALS.YES THEN
2374             -- set OUT result to CONSTRAINED
2375             x_result := OE_PC_GLOBALS.YES;
2379 
2376         END IF;
2377 
2378     END IF;
2380     IF p_header_rec.SALES_DOCUMENT_NAME = FND_API.G_MISS_CHAR THEN NULL;
2381     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.SALES_DOCUMENT_NAME,p_old_header_rec.SALES_DOCUMENT_NAME) THEN
2382 
2383         l_result := SALES_DOCUMENT_NAME
2384             (p_operation        => l_operation
2385             ,p_record   => l_rowtype_rec
2386             ,x_on_operation_action => l_on_operation_action
2387             );
2388 
2389         IF l_result = OE_PC_GLOBALS.YES THEN
2390             -- set OUT result to CONSTRAINED
2391             x_result := OE_PC_GLOBALS.YES;
2392         END IF;
2393 
2394     END IF;
2395 
2396     IF p_header_rec.CUSTOMER_SIGNATURE = FND_API.G_MISS_CHAR THEN NULL;
2397     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.CUSTOMER_SIGNATURE,p_old_header_rec.CUSTOMER_SIGNATURE) THEN
2398 
2399         l_result := CUSTOMER_SIGNATURE
2400             (p_operation        => l_operation
2401             ,p_record   => l_rowtype_rec
2402             ,x_on_operation_action => l_on_operation_action
2403             );
2404 
2405         IF l_result = OE_PC_GLOBALS.YES THEN
2406             -- set OUT result to CONSTRAINED
2407             x_result := OE_PC_GLOBALS.YES;
2408         END IF;
2409 
2410     END IF;
2411 
2412     IF p_header_rec.CUSTOMER_SIGNATURE_DATE = FND_API.G_MISS_DATE THEN NULL;
2413     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.CUSTOMER_SIGNATURE_DATE,p_old_header_rec.CUSTOMER_SIGNATURE_DATE) THEN
2414 
2415         l_result := CUSTOMER_SIGNATURE_DATE
2416             (p_operation        => l_operation
2417             ,p_record   => l_rowtype_rec
2418             ,x_on_operation_action => l_on_operation_action
2419             );
2420 
2421         IF l_result = OE_PC_GLOBALS.YES THEN
2422             -- set OUT result to CONSTRAINED
2423             x_result := OE_PC_GLOBALS.YES;
2424         END IF;
2425 
2426     END IF;
2427 
2428     IF p_header_rec.SUPPLIER_SIGNATURE = FND_API.G_MISS_CHAR THEN NULL;
2429     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.SUPPLIER_SIGNATURE,p_old_header_rec.SUPPLIER_SIGNATURE) THEN
2430 
2431         l_result := SUPPLIER_SIGNATURE
2432             (p_operation        => l_operation
2433             ,p_record   => l_rowtype_rec
2434             ,x_on_operation_action => l_on_operation_action
2435             );
2436 
2437         IF l_result = OE_PC_GLOBALS.YES THEN
2438             -- set OUT result to CONSTRAINED
2439             x_result := OE_PC_GLOBALS.YES;
2440         END IF;
2441 
2442     END IF;
2443 
2444     IF p_header_rec.SUPPLIER_SIGNATURE_DATE = FND_API.G_MISS_DATE THEN NULL;
2445     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.SUPPLIER_SIGNATURE_DATE,p_old_header_rec.SUPPLIER_SIGNATURE_DATE) THEN
2446 
2447         l_result := SUPPLIER_SIGNATURE_DATE
2448             (p_operation        => l_operation
2449             ,p_record   => l_rowtype_rec
2450             ,x_on_operation_action => l_on_operation_action
2451             );
2452 
2453         IF l_result = OE_PC_GLOBALS.YES THEN
2454             -- set OUT result to CONSTRAINED
2455             x_result := OE_PC_GLOBALS.YES;
2456         END IF;
2457 
2458     END IF;
2459 
2460     IF p_header_rec.USER_STATUS_CODE = FND_API.G_MISS_CHAR THEN NULL;
2461     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.USER_STATUS_CODE,p_old_header_rec.USER_STATUS_CODE) THEN
2462 
2463         l_result := USER_STATUS
2464             (p_operation        => l_operation
2465             ,p_record   => l_rowtype_rec
2466             ,x_on_operation_action => l_on_operation_action
2467             );
2468 
2469         IF l_result = OE_PC_GLOBALS.YES THEN
2470             -- set OUT result to CONSTRAINED
2471             x_result := OE_PC_GLOBALS.YES;
2472         END IF;
2473 
2474     END IF;
2475 
2476     IF p_header_rec.NEW_PRICE_LIST_ID = FND_API.G_MISS_NUM THEN NULL;
2477     ELSIF ( NOT OE_GLOBALS.EQUAL(p_header_rec.NEW_PRICE_LIST_ID,p_old_header_rec.NEW_PRICE_LIST_ID)
2478             OR NOT OE_GLOBALS.EQUAL(p_header_rec.NEW_PRICE_LIST_NAME,p_old_header_rec.NEW_PRICE_LIST_NAME)
2479           )
2480     THEN
2481 
2482         l_result := NEW_PRICE_LIST
2483             (p_operation        => l_operation
2484             ,p_record   => l_rowtype_rec
2485             ,x_on_operation_action => l_on_operation_action
2486             );
2487 
2488         IF l_result = OE_PC_GLOBALS.YES THEN
2489             -- set OUT result to CONSTRAINED
2490             x_result := OE_PC_GLOBALS.YES;
2491         END IF;
2492 
2493     END IF;
2494 
2495     IF p_header_rec.NEW_MODIFIER_LIST_ID = FND_API.G_MISS_NUM THEN NULL;
2496     ELSIF ( NOT OE_GLOBALS.EQUAL(p_header_rec.NEW_MODIFIER_LIST_ID,p_old_header_rec.NEW_MODIFIER_LIST_ID)
2497             OR NOT OE_GLOBALS.EQUAL(p_header_rec.NEW_MODIFIER_LIST_NAME,p_old_header_rec.NEW_MODIFIER_LIST_NAME)
2498           )
2499     THEN
2500 
2501 
2502         l_result := NEW_MODIFIER_LIST
2503             (p_operation        => l_operation
2504             ,p_record   => l_rowtype_rec
2505             ,x_on_operation_action => l_on_operation_action
2506             );
2507 
2508         IF l_result = OE_PC_GLOBALS.YES THEN
2512 
2509             -- set OUT result to CONSTRAINED
2510             x_result := OE_PC_GLOBALS.YES;
2511         END IF;
2513     END IF;
2514 
2515     IF p_header_rec.DEFAULT_DISCOUNT_PERCENT = FND_API.G_MISS_NUM THEN NULL;
2516     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.DEFAULT_DISCOUNT_PERCENT,p_old_header_rec.DEFAULT_DISCOUNT_PERCENT) THEN
2517 
2518         l_result := DEFAULT_DISCOUNT_PERCENT
2519             (p_operation        => l_operation
2520             ,p_record   => l_rowtype_rec
2521             ,x_on_operation_action => l_on_operation_action
2522             );
2523 
2524         IF l_result = OE_PC_GLOBALS.YES THEN
2525             -- set OUT result to CONSTRAINED
2526             x_result := OE_PC_GLOBALS.YES;
2527         END IF;
2528 
2529     END IF;
2530 
2531     IF p_header_rec.DEFAULT_DISCOUNT_AMOUNT = FND_API.G_MISS_NUM THEN NULL;
2532     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.DEFAULT_DISCOUNT_AMOUNT,p_old_header_rec.DEFAULT_DISCOUNT_AMOUNT) THEN
2533 
2534         l_result := DEFAULT_DISCOUNT_AMOUNT
2535             (p_operation        => l_operation
2536             ,p_record   => l_rowtype_rec
2537             ,x_on_operation_action => l_on_operation_action
2538             );
2539 
2540         IF l_result = OE_PC_GLOBALS.YES THEN
2541             -- set OUT result to CONSTRAINED
2542             x_result := OE_PC_GLOBALS.YES;
2543         END IF;
2544 
2545     END IF;
2546  --bug6531947
2547 
2548     -- Bug 6609645
2549  IF p_header_rec.ON_HOLD_FLAG = FND_API.G_MISS_CHAR THEN NULL;
2550      ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ON_HOLD_FLAG,p_old_header_rec.ON_HOLD_FLAG) THEN
2551          l_result := ON_HOLD_FLAG
2552              (p_operation        => l_operation
2553              ,p_record   => l_rowtype_rec
2554              ,x_on_operation_action => l_on_operation_action
2555              );
2556 
2557          IF l_result = OE_PC_GLOBALS.YES THEN
2558              -- set OUT result to CONSTRAINED
2559              x_result := OE_PC_GLOBALS.YES;
2560          END IF;
2561 
2562  END IF;
2563 
2564  --Bug 6609645
2565 
2566  IF p_header_rec.CONTEXT  = FND_API.G_MISS_CHAR THEN NULL;
2567        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.CONTEXT,p_old_header_rec.CONTEXT
2568 ) THEN
2569          l_result := CONTEXT
2570             (p_operation        => l_operation
2571             ,p_record   => l_rowtype_rec
2572             ,x_on_operation_action => l_on_operation_action
2573             );
2574     IF l_result = OE_PC_GLOBALS.YES THEN
2575             -- set OUT result to CONSTRAINED
2576             x_result := OE_PC_GLOBALS.YES;
2577         END IF;
2578 
2579     END IF;
2580 
2581 
2582       IF p_header_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN NULL;
2583        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE1,p_old_header_rec.ATTRIBUTE1) THEN
2584          l_result := ATTRIBUTE1
2585             (p_operation        => l_operation
2586             ,p_record   => l_rowtype_rec
2587             ,x_on_operation_action => l_on_operation_action
2588             );
2589     IF l_result = OE_PC_GLOBALS.YES THEN
2590             -- set OUT result to CONSTRAINED
2591             x_result := OE_PC_GLOBALS.YES;
2592         END IF;
2593 
2594     END IF;
2595 
2596 
2597        IF p_header_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN NULL;
2598        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE2,p_old_header_rec.ATTRIBUTE2) THEN
2599          l_result := ATTRIBUTE2
2600             (p_operation        => l_operation
2601             ,p_record   => l_rowtype_rec
2602             ,x_on_operation_action => l_on_operation_action
2603             );
2604     IF l_result = OE_PC_GLOBALS.YES THEN
2605             -- set OUT result to CONSTRAINED
2606             x_result := OE_PC_GLOBALS.YES;
2607         END IF;
2608 
2609     END IF;
2610 
2611 
2612 	    IF p_header_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN NULL;
2613        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE3,p_old_header_rec.ATTRIBUTE3) THEN
2614          l_result := ATTRIBUTE3
2615             (p_operation        => l_operation
2616             ,p_record   => l_rowtype_rec
2617             ,x_on_operation_action => l_on_operation_action
2618             );
2619     IF l_result = OE_PC_GLOBALS.YES THEN
2620             -- set OUT result to CONSTRAINED
2621             x_result := OE_PC_GLOBALS.YES;
2622         END IF;
2623 
2624     END IF;
2625 
2626 
2627 	    IF p_header_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN NULL;
2628        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE4,p_old_header_rec.ATTRIBUTE4) THEN
2629          l_result := ATTRIBUTE4
2630             (p_operation        => l_operation
2631             ,p_record   => l_rowtype_rec
2632             ,x_on_operation_action => l_on_operation_action
2633             );
2634     IF l_result = OE_PC_GLOBALS.YES THEN
2635             -- set OUT result to CONSTRAINED
2636             x_result := OE_PC_GLOBALS.YES;
2637         END IF;
2638 
2639     END IF;
2640 
2641 	    IF p_header_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN NULL;
2642        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE5,p_old_header_rec.ATTRIBUTE5) THEN
2646             ,x_on_operation_action => l_on_operation_action
2643          l_result := ATTRIBUTE5
2644             (p_operation        => l_operation
2645             ,p_record   => l_rowtype_rec
2647             );
2648     IF l_result = OE_PC_GLOBALS.YES THEN
2649             -- set OUT result to CONSTRAINED
2650             x_result := OE_PC_GLOBALS.YES;
2651         END IF;
2652 
2653     END IF;
2654 
2655 
2656 	    IF p_header_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN NULL;
2657        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE6,p_old_header_rec.ATTRIBUTE6) THEN
2658          l_result := ATTRIBUTE6
2659             (p_operation        => l_operation
2660             ,p_record   => l_rowtype_rec
2661             ,x_on_operation_action => l_on_operation_action
2662             );
2663     IF l_result = OE_PC_GLOBALS.YES THEN
2664             -- set OUT result to CONSTRAINED
2665             x_result := OE_PC_GLOBALS.YES;
2666         END IF;
2667 
2668     END IF;
2669 
2670 
2671 	    IF p_header_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN NULL;
2672        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE7,p_old_header_rec.ATTRIBUTE7) THEN
2673          l_result := ATTRIBUTE7
2674             (p_operation        => l_operation
2675             ,p_record   => l_rowtype_rec
2676             ,x_on_operation_action => l_on_operation_action
2677             );
2678 
2679     IF l_result = OE_PC_GLOBALS.YES THEN
2680             -- set OUT result to CONSTRAINED
2681             x_result := OE_PC_GLOBALS.YES;
2682         END IF;
2683 
2684     END IF;
2685 
2686 	    IF p_header_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN NULL;
2687        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE8,p_old_header_rec.ATTRIBUTE8) THEN
2688          l_result := ATTRIBUTE8
2689             (p_operation        => l_operation
2690             ,p_record   => l_rowtype_rec
2691             ,x_on_operation_action => l_on_operation_action
2692             );
2693 
2694     IF l_result = OE_PC_GLOBALS.YES THEN
2695             -- set OUT result to CONSTRAINED
2696             x_result := OE_PC_GLOBALS.YES;
2697         END IF;
2698 
2699     END IF;
2700 
2701 
2702 	    IF p_header_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN NULL;
2703        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE9,p_old_header_rec.ATTRIBUTE9) THEN
2704          l_result := ATTRIBUTE9
2705             (p_operation        => l_operation
2706             ,p_record   => l_rowtype_rec
2707             ,x_on_operation_action => l_on_operation_action
2708             );
2709 
2710     IF l_result = OE_PC_GLOBALS.YES THEN
2711             -- set OUT result to CONSTRAINED
2712             x_result := OE_PC_GLOBALS.YES;
2713         END IF;
2714 
2715     END IF;
2716 
2717 	    IF p_header_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN NULL;
2718        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE10,p_old_header_rec.ATTRIBUTE10) THEN
2719          l_result := ATTRIBUTE10
2720             (p_operation        => l_operation
2721             ,p_record   => l_rowtype_rec
2722             ,x_on_operation_action => l_on_operation_action
2723             );
2724     IF l_result = OE_PC_GLOBALS.YES THEN
2725             -- set OUT result to CONSTRAINED
2726             x_result := OE_PC_GLOBALS.YES;
2727         END IF;
2728 
2729     END IF;
2730 
2731 
2732 	    IF p_header_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN NULL;
2733        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE11,p_old_header_rec.ATTRIBUTE11) THEN
2734          l_result := ATTRIBUTE11
2735             (p_operation        => l_operation
2736             ,p_record   => l_rowtype_rec
2737             ,x_on_operation_action => l_on_operation_action
2738             );
2739 
2740     IF l_result = OE_PC_GLOBALS.YES THEN
2741             -- set OUT result to CONSTRAINED
2742             x_result := OE_PC_GLOBALS.YES;
2743         END IF;
2744 
2745     END IF;
2746 
2747 	    IF p_header_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN NULL;
2748        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE12,p_old_header_rec.ATTRIBUTE12) THEN
2749          l_result := ATTRIBUTE12
2750             (p_operation        => l_operation
2751             ,p_record   => l_rowtype_rec
2752             ,x_on_operation_action => l_on_operation_action
2753             );
2754 
2755     IF l_result = OE_PC_GLOBALS.YES THEN
2756             -- set OUT result to CONSTRAINED
2757             x_result := OE_PC_GLOBALS.YES;
2758         END IF;
2759 
2760     END IF;
2761 
2762 	    IF p_header_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN NULL;
2763        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE13,p_old_header_rec.ATTRIBUTE13) THEN
2764          l_result := ATTRIBUTE13
2765             (p_operation        => l_operation
2766             ,p_record   => l_rowtype_rec
2767             ,x_on_operation_action => l_on_operation_action
2768             );
2769 
2770     IF l_result = OE_PC_GLOBALS.YES THEN
2771             -- set OUT result to CONSTRAINED
2772             x_result := OE_PC_GLOBALS.YES;
2773         END IF;
2774 
2775     END IF;
2776 
2777 	    IF p_header_rec.ATTRIBUTE14 = FND_API.G_MISS_CHAR THEN NULL;
2778        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE14,p_old_header_rec.ATTRIBUTE14) THEN
2779          l_result := ATTRIBUTE14
2783             );
2780             (p_operation        => l_operation
2781             ,p_record   => l_rowtype_rec
2782             ,x_on_operation_action => l_on_operation_action
2784 
2785     IF l_result = OE_PC_GLOBALS.YES THEN
2786             -- set OUT result to CONSTRAINED
2787             x_result := OE_PC_GLOBALS.YES;
2788         END IF;
2789 
2790     END IF;
2791 
2792 	    IF p_header_rec.ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN NULL;
2793        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE15,p_old_header_rec.ATTRIBUTE15) THEN
2794          l_result := ATTRIBUTE15
2795             (p_operation        => l_operation
2796             ,p_record   => l_rowtype_rec
2797             ,x_on_operation_action => l_on_operation_action
2798             );
2799 
2800     IF l_result = OE_PC_GLOBALS.YES THEN
2801             -- set OUT result to CONSTRAINED
2802             x_result := OE_PC_GLOBALS.YES;
2803         END IF;
2804 
2805     END IF;
2806 
2807 	    IF p_header_rec.ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN NULL;
2808        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE16,p_old_header_rec.ATTRIBUTE16) THEN
2809          l_result := ATTRIBUTE16
2810             (p_operation        => l_operation
2811             ,p_record   => l_rowtype_rec
2812             ,x_on_operation_action => l_on_operation_action
2813             );
2814 
2815     IF l_result = OE_PC_GLOBALS.YES THEN
2816             -- set OUT result to CONSTRAINED
2817             x_result := OE_PC_GLOBALS.YES;
2818         END IF;
2819 
2820     END IF;
2821 
2822 	    IF p_header_rec.ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN NULL;
2823        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE17,p_old_header_rec.ATTRIBUTE17) THEN
2824          l_result := ATTRIBUTE17
2825             (p_operation        => l_operation
2826             ,p_record   => l_rowtype_rec
2827             ,x_on_operation_action => l_on_operation_action
2828             );
2829 
2830     IF l_result = OE_PC_GLOBALS.YES THEN
2831             -- set OUT result to CONSTRAINED
2832             x_result := OE_PC_GLOBALS.YES;
2833         END IF;
2834 
2835     END IF;
2836 
2837 	    IF p_header_rec.ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN NULL;
2838        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE18,p_old_header_rec.ATTRIBUTE18) THEN
2839          l_result := ATTRIBUTE18
2840             (p_operation        => l_operation
2841             ,p_record   => l_rowtype_rec
2842             ,x_on_operation_action => l_on_operation_action
2843             );
2844     IF l_result = OE_PC_GLOBALS.YES THEN
2845             -- set OUT result to CONSTRAINED
2846             x_result := OE_PC_GLOBALS.YES;
2847         END IF;
2848 
2849     END IF;
2850 
2851 
2852 	    IF p_header_rec.ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN NULL;
2853        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE19,p_old_header_rec.ATTRIBUTE19) THEN
2854          l_result := ATTRIBUTE19
2855             (p_operation        => l_operation
2856             ,p_record   => l_rowtype_rec
2857             ,x_on_operation_action => l_on_operation_action
2858             );
2859 
2860     IF l_result = OE_PC_GLOBALS.YES THEN
2861             -- set OUT result to CONSTRAINED
2862             x_result := OE_PC_GLOBALS.YES;
2863         END IF;
2864 
2865     END IF;
2866 
2867 	    IF p_header_rec.ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN NULL;
2868        ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ATTRIBUTE20,p_old_header_rec.ATTRIBUTE20) THEN
2869          l_result := ATTRIBUTE20
2870             (p_operation        => l_operation
2871             ,p_record   => l_rowtype_rec
2872             ,x_on_operation_action => l_on_operation_action
2873             );
2874 
2875 
2876     IF l_result = OE_PC_GLOBALS.YES THEN
2877             -- set OUT result to CONSTRAINED
2878             x_result := OE_PC_GLOBALS.YES;
2879         END IF;
2880 
2881     END IF;
2882 
2883     -- BEGIN: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
2884     -- Bug 2003823:
2885     -- If profile indicates that generic update constraints (e.g. seeded
2886     -- closed order condition) should not be checked for DFF, then
2887     -- set the global to 'N'.
2888     -- Also, store the current value of global in a local variable and
2889     -- re-set it after DFF check. If DFF were the only fields being
2890     -- updated and profile was set to 'N', global at the end should
2891     -- be re-set to 'Y' - this indicates to process order that no
2892     -- constrainable attributes were updated and thus, it would
2893     -- suppress entity level security check also.
2894     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
2895        l_check_all_cols_constraint := g_check_all_cols_constraint;
2896        g_check_all_cols_constraint := 'N';
2897     END IF;
2898 
2899     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
2900        IF l_debug_level  > 0 THEN
2901            oe_debug_pub.add(  'SETTING CHECK ALL COLS CONSTRAINT TO:'||L_CHECK_ALL_COLS_CONSTRAINT ) ;
2902        END IF;
2903        g_check_all_cols_constraint := l_check_all_cols_constraint;
2904     END IF;
2905 
2906     -- END: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
2907     -- NOTE: Please add constraints check for new attributes before the
2908     -- descriptive flexfield attributes check.
2909 
2910 IF l_debug_level  > 0 THEN
2911     oe_debug_pub.add(  'EXIT OE_BLANKET_HEADER_SECURITY.ATTRIBUTES' , 1 ) ;
2912 END IF;
2913 
2914 EXCEPTION
2915    WHEN e_inacitve_pl THEN
2916       x_return_status := FND_API.G_RET_STS_ERROR;
2917       FND_MESSAGE.SET_NAME('ONT','OE_INACTIVE_PRICELIST');
2918       OE_MSG_PUB.ADD;
2919 
2920     WHEN FND_API.G_EXC_ERROR THEN
2921     x_return_status := FND_API.G_RET_STS_ERROR;
2922     WHEN OTHERS THEN
2923     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2924     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2925         OE_MSG_PUB.Add_Exc_Msg
2926         (   G_PKG_NAME
2927         ,   'Attributes'
2928         );
2929     END IF;
2930 
2931 END Attributes;
2932 
2933 FUNCTION ON_HOLD_FLAG
2934 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2935 ,   p_record                        IN  OE_AK_BLANKET_HEADERS_V%ROWTYPE
2936 ,   x_on_operation_action           OUT NOCOPY NUMBER
2937 ) RETURN NUMBER
2938 IS
2939 l_result        NUMBER;
2940 BEGIN
2941 
2942     l_result := Is_OP_constrained
2943         (p_operation    => p_operation
2944         ,p_column_name  => 'ON_HOLD_FLAG'
2945         ,p_record       => p_record
2946         ,x_on_operation_action  => x_on_operation_action
2947         );
2948 
2949 RETURN(l_result);
2950 
2951 END ON_HOLD_FLAG;
2952 END OE_Blanket_Header_Security;