DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_HEADER_SECURITY

Source


1 PACKAGE BODY OE_Header_Security AS
2 /* $Header: OEXXHDRB.pls 120.1 2005/09/16 11:05:13 ksurendr noship $ */
3 
4 
5 --  Global constant holding the package name
6 
7 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Header_Security';
8 
9 -- LOCAL PROCEDURES
10 
11 
12 FUNCTION Is_Op_Constrained
13 ( p_operation           IN VARCHAR2
14  , p_column_name         IN VARCHAR2 DEFAULT NULL
15  , p_record       IN OE_AK_ORDER_HEADERS_V%ROWTYPE
16 , x_on_operation_action OUT NOCOPY NUMBER
17 
18 ) RETURN NUMBER IS
19 l_constraint_id	NUMBER;
20 l_grp	NUMBER;
21 l_result		NUMBER;
22 l_column_name	VARCHAR2(30);
23 l_audit_trail_enabled VARCHAR2(1) := OE_SYS_PARAMETERS.VALUE('AUDIT_TRAIL_ENABLE_FLAG');
24 l_code_level varchar2(6) := OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL;
25 --
26 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
27 
28 -- Variables for Integration Event Code
29   l_party_id            Number;
30   l_party_site_id       Number;
31   l_is_delivery_reqd    Varchar2(1);
32   l_return_status       Varchar2(30);
33   l_gen_xml             Varchar2(1) := 'P';
34 --
35 BEGIN
36 
37 l_result := OE_PC_Constraints_Admin_PVT.Is_OP_constrained
38     ( p_responsibility_id     => nvl(fnd_global.resp_id, -1)
39     , p_application_id          => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
40     , p_operation   => p_operation
41     , p_qualifier_attribute => p_record.transaction_phase_code
42     , p_entity_id   => OE_PC_GLOBALS.G_ENTITY_HEADER
43     , p_column_name => p_column_name
44     , p_check_all_cols_constraint  => g_check_all_cols_constraint
45     , p_is_caller_defaulting  => g_is_caller_defaulting
46     , x_constraint_id    => l_constraint_id
47     , x_constraining_conditions_grp     => l_grp
48     , x_on_operation_action   => x_on_operation_action
49     );
50 
51 if l_result = OE_PC_GLOBALS.YES then
52 
53     IF g_check_all_cols_constraint = 'Y'
54        AND (p_operation = OE_PC_GLOBALS.UPDATE_OP
55             OR p_operation = OE_PC_GLOBALS.CREATE_OP)
56        AND x_on_operation_action = 0
57        AND p_column_name IS NOT NULL THEN
58            SELECT column_name
59            INTO l_column_name
60            FROM oe_pc_constraints
61            WHERE constraint_id = l_constraint_id;
62            if l_column_name is null then
63               IF l_debug_level  > 0 THEN
64                  oe_debug_pub.add('There is an UPDATE constraint on all columns - Error',1);
65               END IF;
66               RAISE FND_API.G_EXC_ERROR;
67            end if;
68     END IF;
69 
70 elsif l_result = OE_PC_GLOBALS.ERROR then
71 
72     raise FND_API.G_EXC_UNEXPECTED_ERROR;
73 
74 end if;
75 
76 g_check_all_cols_constraint := 'N';
77 
78 /* Start Versioning */
79 IF l_code_level >= '110510' AND
80   ( p_column_name = 'TRANSACTION_PHASE_CODE' OR
81     x_on_operation_action IN (.1,.2))THEN
82    OE_Versioning_Util.Check_Security(p_column_name => p_column_name,
83                    p_on_operation_action => x_on_operation_action);
84 END IF;
85 /* End Versioning */
86 
87 
88 --Start Integration Framework Code
89 
90   If l_code_level          >= '110510'          And
91      l_result              = OE_PC_GLOBALS.YES  And
92      x_on_operation_action = 3                  And
93      nvl(p_record.transaction_phase_code,'F') = 'F'
94   Then
95 
96    If p_record.order_source_id = 20 Then
97     OE_Acknowledgment_Pub.Is_Delivery_Required
98                         (
99                          p_customer_id          => p_record.sold_to_org_id,
100                          p_transaction_type     => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
101                          p_transaction_subtype  => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
102                          x_party_id             => l_party_id,
103                          x_party_site_id        => l_party_site_id,
104                          x_is_delivery_required => l_is_delivery_reqd,
105                          x_return_status        => l_return_status
106                         );
107     If l_return_status    = FND_API.G_RET_STS_SUCCESS And
108        l_is_delivery_reqd = 'Y'
109     Then
110       l_gen_xml := 'B';
111     End If;
112    End If;
113         OE_delayed_requests_pvt.log_request
114            (p_entity_code                   => OE_GLOBALS.G_ENTITY_HEADER,
115             p_entity_id                     => p_record.header_id,
116             p_requesting_entity_code        => OE_GLOBALS.G_ENTITY_HEADER,
117             p_requesting_entity_id          => p_record.header_id,
118             p_request_type                  => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
119             p_request_unique_key1           => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
120             p_param1                        => p_record.header_id,
121             p_param2                        => p_record.order_source_id,
122             p_param3                        => p_record.orig_sys_document_ref,
123             p_param4                        => p_record.sold_to_org_id,
124             p_param5                        => Null,
125             p_param6                        => p_record.org_id,
126             p_param7                        => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
127             p_param8                        => Null,
128             p_param9                        => p_record.sold_to_org_id,
129             p_param10                       => l_party_site_id,
130             p_param11                       => Null,
131             p_param12                       => l_gen_xml,
132             x_return_status                 => l_return_status);
133 
134   End If;
135 
136   If l_code_level          >= '110510'          And
137      l_result              = OE_PC_GLOBALS.YES  And
138      x_on_operation_action = 0.05               And
139      nvl(p_record.transaction_phase_code,'F') = 'F'
140   Then
141 
142     OE_Versioning_Util.Check_Security
143       (p_column_name          => p_column_name,
144        p_on_operation_action  => .1);
145 
146     If p_record.order_source_id = 20 Then
147       OE_Acknowledgment_Pub.Is_Delivery_Required
148                         (
149                          p_customer_id          => p_record.sold_to_org_id,
150                          p_transaction_type     => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
151                          p_transaction_subtype  => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
152                          x_party_id             => l_party_id,
153                          x_party_site_id        => l_party_site_id,
154                          x_is_delivery_required => l_is_delivery_reqd,
155                          x_return_status        => l_return_status
156                         );
157       If l_return_status      = FND_API.G_RET_STS_SUCCESS And
158          l_is_delivery_reqd   = 'Y'
159       Then
160         l_gen_xml := 'B';
161       End If;
162     End If;
163         OE_delayed_requests_pvt.log_request
164            (p_entity_code                   => OE_GLOBALS.G_ENTITY_HEADER,
165             p_entity_id                     => p_record.header_id,
166             p_requesting_entity_code        => OE_GLOBALS.G_ENTITY_HEADER,
167             p_requesting_entity_id          => p_record.header_id,
168             p_request_type                  => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
169             p_request_unique_key1           => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
170             p_param1                        => p_record.header_id,
171             p_param2                        => p_record.order_source_id,
172             p_param3                        => p_record.orig_sys_document_ref,
173             p_param4                        => p_record.sold_to_org_id,
174             p_param5                        => Null,
175             p_param6                        => p_record.org_id,
176             p_param7                        => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
177             p_param8                        => Null,
178             p_param9                        => p_record.sold_to_org_id,
179             p_param10                       => l_party_site_id,
180             p_param11                       => Null,
181             p_param12                       => l_gen_xml,
182             x_return_status                 => l_return_status);
183 
184   End If;
185 
186   If l_code_level >= '110510'          And
187      l_result = OE_PC_GLOBALS.YES      And
188      x_on_operation_action = 0.5       And
189      nvl(p_record.transaction_phase_code,'F') = 'F'
190   Then
191     If g_is_caller_defaulting = 'N'    And
192        nvl(l_audit_trail_enabled,'D') <> 'D' And
193        not OE_GLOBALS.G_HEADER_CREATED
194     Then
195       If l_audit_trail_enabled = 'B' Then
196         If p_record.booked_flag = 'Y' Then
197           OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
198           OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
199         End If;
200       Else
201         OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
202         OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
203       End IF;
204     End If;
205 
206     If p_record.order_source_id = 20 Then
207       OE_Acknowledgment_Pub.Is_Delivery_Required
208                         (
209                          p_customer_id          => p_record.sold_to_org_id,
210                          p_transaction_type     => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
211                          p_transaction_subtype  => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
212                          x_party_id             => l_party_id,
213                          x_party_site_id        => l_party_site_id,
214                          x_is_delivery_required => l_is_delivery_reqd,
215                          x_return_status        => l_return_status
216                         );
217       If l_return_status    = FND_API.G_RET_STS_SUCCESS And
218          l_is_delivery_reqd = 'Y'
219       Then
220         l_gen_xml := 'B';
221       End If;
222     End If;
223 
224         OE_delayed_requests_pvt.log_request
225            (p_entity_code                   => OE_GLOBALS.G_ENTITY_HEADER,
226             p_entity_id                     => p_record.header_id,
227             p_requesting_entity_code        => OE_GLOBALS.G_ENTITY_HEADER,
228             p_requesting_entity_id          => p_record.header_id,
229             p_request_type                  => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
230             p_request_unique_key1           => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
231             p_param1                        => p_record.header_id,
232             p_param2                        => p_record.order_source_id,
233             p_param3                        => p_record.orig_sys_document_ref,
234             p_param4                        => p_record.sold_to_org_id,
235             p_param5                        => Null,
236             p_param6                        => p_record.org_id,
237             p_param7                        => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
238             p_param8                        => Null,
239             p_param9                        => p_record.sold_to_org_id,
240             p_param10                       => l_party_site_id,
241             p_param11                       => Null,
242             p_param12                       => l_gen_xml,
243             x_return_status                 => l_return_status);
244 
245   End If;
246 
247 --End Integration Event Code
248 
249 
250 /* Start AuditTrail */
251 IF g_is_caller_defaulting = 'N' THEN
252    IF l_code_level >= '110508' and nvl(l_audit_trail_enabled,'D') <> 'D' and
253       nvl(p_record.transaction_phase_code,'F') = 'F' and
254       not OE_GLOBALS.G_HEADER_CREATED THEN
255       IF l_audit_trail_enabled = 'B' THEN  -- capture only for booked orders
256          IF p_record.booked_flag = 'Y' THEN
257             IF l_result = OE_PC_GLOBALS.YES THEN
258                IF x_on_operation_action = 1 THEN
259                   -- set OUT result to NOT CONSTRAINED
260                   IF l_debug_level  > 0 THEN
261                       oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES REASON' , 1 ) ;
262                   END IF;
263                   OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
264                   OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
265                ELSIF x_on_operation_action = 2 THEN
266                   -- set OUT result to NOT CONSTRAINED
267                   IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
268                      IF l_debug_level  > 0 THEN
269                          oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES HISTORY' , 1 ) ;
270                      END IF;
271 	             OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
272                   END IF;
273                END IF;
274             END IF;
275          END IF;
276       ELSE -- capture audit trail for all orders
277          IF l_result = OE_PC_GLOBALS.YES THEN
278             IF x_on_operation_action = 1 THEN
279                -- set OUT result to NOT CONSTRAINED
280                IF l_debug_level  > 0 THEN
281                    oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES REASON' , 1 ) ;
282                END IF;
283                OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
284                OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
285             ELSIF x_on_operation_action = 2 THEN
286                -- set OUT result to NOT CONSTRAINED
287                IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
288                   IF l_debug_level  > 0 THEN
289                       oe_debug_pub.add(  'HEADER SECURITY , ATTRIBUTE CHANGE REQUIRES HISTORY' , 1 ) ;
290                   END IF;
291 	          OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
292                END IF;
293             END IF;
294          END IF;
295       END IF;
296    END IF;
297 END IF;
298 
299 
300 IF x_on_operation_action > 0 THEN
301    l_result := OE_PC_GLOBALS.NO;
302 END IF;
303 /* End AuditTrail */
304 RETURN l_result;
305 
306 END Is_Op_Constrained;
307 
308 
309 -- PUBLIC PROCEDURES
310 
311 
312 FUNCTION ACCOUNTING_RULE
313 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
314 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
315 , x_on_operation_action OUT NOCOPY NUMBER
316 
317 ) RETURN NUMBER
318 IS
319 l_result 	NUMBER;
320 BEGIN
321 
322 l_result := Is_OP_constrained
323     (p_operation	=> p_operation
324     ,p_column_name	=> 'ACCOUNTING_RULE_ID'
325     ,p_record	=> p_record
326     ,x_on_operation_action	=> x_on_operation_action
327     );
328 
329 RETURN(l_result);
330 
331 END ACCOUNTING_RULE;
332 
333 FUNCTION ACCOUNTING_RULE_DURATION
334 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
335 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
336 , x_on_operation_action OUT NOCOPY NUMBER
337 
338 ) RETURN NUMBER
339 IS
340 l_result 	NUMBER;
341 BEGIN
342 
343 l_result := Is_OP_constrained
344     (p_operation	=> p_operation
345     ,p_column_name	=> 'ACCOUNTING_RULE_DURATION'
346     ,p_record	=> p_record
347     ,x_on_operation_action	=> x_on_operation_action
348     );
349 
350 RETURN(l_result);
351 
352 END ACCOUNTING_RULE_DURATION;
353 
354 
355  -- Start of fix #1459428  for function definition
356 
357 FUNCTION ATTRIBUTE1
358 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
359 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
360 , x_on_operation_action OUT NOCOPY NUMBER
361 
362 ) RETURN NUMBER
363 IS
364 l_result        NUMBER;
365 BEGIN
366 
367 l_result := Is_OP_constrained
368     (p_operation        => p_operation
369     ,p_column_name      => 'ATTRIBUTE1'
370     ,p_record   => p_record
371     ,x_on_operation_action      => x_on_operation_action
372     );
373 
374 RETURN(l_result);
375 
376 END ATTRIBUTE1;
377 
378 FUNCTION ATTRIBUTE10
379 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
380 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
381 , x_on_operation_action OUT NOCOPY NUMBER
382 
383 ) RETURN NUMBER
384 IS
385 l_result        NUMBER;
386 BEGIN
387 
388 l_result := Is_OP_constrained
389     (p_operation        => p_operation
390     ,p_column_name      => 'ATTRIBUTE10'
391     ,p_record   => p_record
392     ,x_on_operation_action      => x_on_operation_action
393     );
394 
395 RETURN(l_result);
396 
397 END ATTRIBUTE10;
398 
399 FUNCTION ATTRIBUTE11
400 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
401 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
402 , x_on_operation_action OUT NOCOPY NUMBER
403 
404 ) RETURN NUMBER
405 IS
406 l_result        NUMBER;
407 BEGIN
408 
409 l_result := Is_OP_constrained
410     (p_operation        => p_operation
411     ,p_column_name      => 'ATTRIBUTE11'
412     ,p_record   => p_record
413     ,x_on_operation_action      => x_on_operation_action
414     );
415 
416 RETURN(l_result);
417 
418 END ATTRIBUTE11;
419 
420 
421 FUNCTION ATTRIBUTE12
422 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
423 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
424 , x_on_operation_action OUT NOCOPY NUMBER
425 
426 ) RETURN NUMBER
427 IS
428 l_result        NUMBER;
429 BEGIN
430 
431 l_result := Is_OP_constrained
432     (p_operation        => p_operation
433     ,p_column_name      => 'ATTRIBUTE12'
434     ,p_record   => p_record
435     ,x_on_operation_action      => x_on_operation_action
436     );
437 
438 RETURN(l_result);
439 
440 END ATTRIBUTE12;
441 
442 FUNCTION ATTRIBUTE13
443 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
444 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
445 , x_on_operation_action OUT NOCOPY NUMBER
446 
447 ) RETURN NUMBER
448 IS
449 l_result        NUMBER;
450 BEGIN
451 
452 l_result := Is_OP_constrained
453     (p_operation        => p_operation
454     ,p_column_name      => 'ATTRIBUTE13'
455     ,p_record   => p_record
456     ,x_on_operation_action      => x_on_operation_action
457     );
458 
459 RETURN(l_result);
460 
461 END ATTRIBUTE13;
462 
463 
464 FUNCTION ATTRIBUTE14
465 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
466 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
467 , x_on_operation_action OUT NOCOPY NUMBER
468 
469 ) RETURN NUMBER
470 IS
471 l_result        NUMBER;
472 BEGIN
473 
474 l_result := Is_OP_constrained
475     (p_operation        => p_operation
476     ,p_column_name      => 'ATTRIBUTE14'
477     ,p_record   => p_record
478     ,x_on_operation_action      => x_on_operation_action
479     );
480 
481 RETURN(l_result);
482 
483 END ATTRIBUTE14;
484 
485 FUNCTION ATTRIBUTE15
486 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
487 ,   p_record                        IN  OE_AK_ORDER_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      => 'ATTRIBUTE15'
498     ,p_record   => p_record
499     ,x_on_operation_action      => x_on_operation_action
500     );
501 
502 RETURN(l_result);
503 
504 END ATTRIBUTE15;
505 
506 -- For bug 2184255
507 FUNCTION ATTRIBUTE16
508 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
509 ,   p_record                        IN  OE_AK_ORDER_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      => 'ATTRIBUTE16'
520     ,p_record   => p_record
521     ,x_on_operation_action      => x_on_operation_action
522     );
523 
524 RETURN(l_result);
525 
526 END ATTRIBUTE16;
527 
528 
529 FUNCTION ATTRIBUTE17
530 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
531 ,   p_record                        IN  OE_AK_ORDER_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      => 'ATTRIBUTE17'
542     ,p_record   => p_record
543     ,x_on_operation_action      => x_on_operation_action
544     );
545 
546 RETURN(l_result);
547 
548 END ATTRIBUTE17;
549 
550 FUNCTION ATTRIBUTE18
551 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
552 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
553 , x_on_operation_action OUT NOCOPY NUMBER
554 
555 ) RETURN NUMBER
556 IS
557 l_result        NUMBER;
558 BEGIN
559 
560 l_result := Is_OP_constrained
561     (p_operation        => p_operation
562     ,p_column_name      => 'ATTRIBUTE18'
563     ,p_record   => p_record
564     ,x_on_operation_action      => x_on_operation_action
565     );
566 
567 RETURN(l_result);
568 
569 END ATTRIBUTE18;
570 
571 
572 FUNCTION ATTRIBUTE19
573 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
574 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
575 , x_on_operation_action OUT NOCOPY NUMBER
576 
577 ) RETURN NUMBER
578 IS
579 l_result        NUMBER;
580 BEGIN
581 
582 l_result := Is_OP_constrained
583     (p_operation        => p_operation
584     ,p_column_name      => 'ATTRIBUTE19'
585     ,p_record   => p_record
586     ,x_on_operation_action      => x_on_operation_action
587     );
588 
589 RETURN(l_result);
590 
591 END ATTRIBUTE19;
592 
593 
594 FUNCTION ATTRIBUTE2
595 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
596 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
597 , x_on_operation_action OUT NOCOPY NUMBER
598 
599 ) RETURN NUMBER
600 IS
601 l_result        NUMBER;
602 BEGIN
603 
604 l_result := Is_OP_constrained
605     (p_operation        => p_operation
606     ,p_column_name      => 'ATTRIBUTE2'
607     ,p_record   => p_record
608     ,x_on_operation_action      => x_on_operation_action
609     );
610 
611 RETURN(l_result);
612 
613 END ATTRIBUTE2;
614 
615 FUNCTION ATTRIBUTE20
616 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
617 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
618 , x_on_operation_action OUT NOCOPY NUMBER
619 
620 ) RETURN NUMBER
621 IS
622 l_result        NUMBER;
623 BEGIN
624 
625 l_result := Is_OP_constrained
626     (p_operation        => p_operation
627     ,p_column_name      => 'ATTRIBUTE20'
628     ,p_record   => p_record
629     ,x_on_operation_action      => x_on_operation_action
630     );
631 
632 RETURN(l_result);
633 
634 END ATTRIBUTE20;
635 
636 FUNCTION ATTRIBUTE3
637 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
638 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
639 , x_on_operation_action OUT NOCOPY NUMBER
640 
641 ) RETURN NUMBER
642 IS
643 l_result        NUMBER;
644 BEGIN
645 
646 l_result := Is_OP_constrained
647     (p_operation        => p_operation
648     ,p_column_name      => 'ATTRIBUTE3'
649     ,p_record   => p_record
650     ,x_on_operation_action      => x_on_operation_action
651     );
652 
653 RETURN(l_result);
654 
655 END ATTRIBUTE3;
656 
657 
658 FUNCTION ATTRIBUTE4
659 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
660 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
661 , x_on_operation_action OUT NOCOPY NUMBER
662 
663 ) RETURN NUMBER
664 IS
665 l_result        NUMBER;
666 BEGIN
667 
668 l_result := Is_OP_constrained
669     (p_operation        => p_operation
670     ,p_column_name      => 'ATTRIBUTE4'
671     ,p_record   => p_record
672     ,x_on_operation_action      => x_on_operation_action
673     );
674 
675 RETURN(l_result);
676 
677 END ATTRIBUTE4;
678 
679 FUNCTION ATTRIBUTE5
680 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
681 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
682 , x_on_operation_action OUT NOCOPY NUMBER
683 
684 ) RETURN NUMBER
685 IS
686 l_result        NUMBER;
687 BEGIN
688 
689 l_result := Is_OP_constrained
690     (p_operation        => p_operation
691     ,p_column_name      => 'ATTRIBUTE5'
692     ,p_record   => p_record
693     ,x_on_operation_action      => x_on_operation_action
694     );
695 
696 RETURN(l_result);
697 
698 END ATTRIBUTE5;
699 
700 
701 FUNCTION ATTRIBUTE6
702 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
703 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
704 , x_on_operation_action OUT NOCOPY NUMBER
705 
706 ) RETURN NUMBER
707 IS
708 l_result        NUMBER;
709 BEGIN
710 
711 l_result := Is_OP_constrained
712     (p_operation        => p_operation
713     ,p_column_name      => 'ATTRIBUTE6'
714     ,p_record   => p_record
715     ,x_on_operation_action      => x_on_operation_action
716     );
717 
718 RETURN(l_result);
719 
720 END ATTRIBUTE6;
721 
722 FUNCTION ATTRIBUTE7
723 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
724 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
725 , x_on_operation_action OUT NOCOPY NUMBER
726 
727 ) RETURN NUMBER
728 IS
729 l_result        NUMBER;
730 BEGIN
731 
732 l_result := Is_OP_constrained
733     (p_operation        => p_operation
734     ,p_column_name      => 'ATTRIBUTE7'
735     ,p_record   => p_record
736     ,x_on_operation_action      => x_on_operation_action
737     );
738 
739 RETURN(l_result);
740 
741 END ATTRIBUTE7;
742 
743 
744 FUNCTION ATTRIBUTE8
745 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
746 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
747 , x_on_operation_action OUT NOCOPY NUMBER
748 
749 ) RETURN NUMBER
750 IS
751 l_result        NUMBER;
752 BEGIN
753 
754 l_result := Is_OP_constrained
755     (p_operation        => p_operation
756     ,p_column_name      => 'ATTRIBUTE8'
757     ,p_record   => p_record
758     ,x_on_operation_action      => x_on_operation_action
759     );
760 
761 RETURN(l_result);
762 
763 END ATTRIBUTE8;
764 
765 FUNCTION ATTRIBUTE9
766 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
767 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
768 , x_on_operation_action OUT NOCOPY NUMBER
769 
770 ) RETURN NUMBER
771 IS
772 l_result        NUMBER;
773 BEGIN
774 
775 l_result := Is_OP_constrained
776     (p_operation        => p_operation
777     ,p_column_name      => 'ATTRIBUTE9'
778     ,p_record   => p_record
779     ,x_on_operation_action      => x_on_operation_action
780     );
781 
782 RETURN(l_result);
783 
784 END ATTRIBUTE9;
785 
786 FUNCTION CANCELLED
787 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
788 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
789 , x_on_operation_action OUT NOCOPY NUMBER
790 
791 ) RETURN NUMBER
792 IS
793 l_result 	NUMBER;
794 BEGIN
795 
796 l_result := Is_OP_constrained
797     (p_operation	=> OE_PC_GLOBALS.CANCEL_OP
798     ,p_column_name	=> null
799     ,p_record	=> p_record
800     ,x_on_operation_action	=> x_on_operation_action
801     );
802 
803 RETURN(l_result);
804 
805 END CANCELLED;
806 
807 FUNCTION AGREEMENT
808 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
809 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
810 , x_on_operation_action OUT NOCOPY NUMBER
811 
812 ) RETURN NUMBER
813 IS
814 l_result 	NUMBER;
815 BEGIN
816 
817 l_result := Is_OP_constrained
818     (p_operation	=> p_operation
819     ,p_column_name	=> 'AGREEMENT_ID'
820     ,p_record	=> p_record
821     ,x_on_operation_action	=> x_on_operation_action
822     );
823 
824 RETURN(l_result);
825 
826 END AGREEMENT;
827 
828 FUNCTION CONTEXT
829 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
830 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
831 , x_on_operation_action OUT NOCOPY NUMBER
832 
833 ) RETURN NUMBER
834 IS
835 l_result        NUMBER;
836 BEGIN
837 
838 l_result := Is_OP_constrained
839     (p_operation        => p_operation
840     ,p_column_name      => 'CONTEXT'
841     ,p_record   => p_record
842     ,x_on_operation_action      => x_on_operation_action
843     );
844 
845 RETURN(l_result);
846 
847 END CONTEXT;
848 
849 -- End  of fix #1459428  for function definition
850 
851 FUNCTION CONVERSION_RATE
852 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
853 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
854 , x_on_operation_action OUT NOCOPY NUMBER
855 
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	=> 'CONVERSION_RATE'
864     ,p_record	=> p_record
865     ,x_on_operation_action	=> x_on_operation_action
866     );
867 
868 RETURN(l_result);
869 
870 END CONVERSION_RATE;
871 
872 
873 FUNCTION CONVERSION_RATE_DATE
874 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
875 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
876 , x_on_operation_action OUT NOCOPY NUMBER
877 
878 ) RETURN NUMBER
879 IS
880 l_result 	NUMBER;
881 BEGIN
882 
883 l_result := Is_OP_constrained
884     (p_operation	=> p_operation
885     ,p_column_name	=> 'CONVERSION_RATE_DATE'
886     ,p_record	=> p_record
887     ,x_on_operation_action	=> x_on_operation_action
888     );
889 
890 RETURN(l_result);
891 
892 END CONVERSION_RATE_DATE;
893 
894 FUNCTION CUSTOMER_PREFERENCE_SET
895 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
896 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
897 , x_on_operation_action OUT NOCOPY NUMBER
898 
899 ) RETURN NUMBER
900 IS
901 l_result 	NUMBER;
902 BEGIN
903 
904 l_result := Is_OP_constrained
905     (p_operation	=> p_operation
906     ,p_column_name	=> 'CUSTOMER_PREFERENCE_SET_CODE'
907     ,p_record	=> p_record
908     ,x_on_operation_action	=> x_on_operation_action
909     );
910 
911 RETURN(l_result);
912 
913 END CUSTOMER_PREFERENCE_SET;
914 
915 FUNCTION CONVERSION_TYPE
916 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
917 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
918 , x_on_operation_action OUT NOCOPY NUMBER
919 
920 ) RETURN NUMBER
921 IS
922 l_result 	NUMBER;
923 BEGIN
924 
925 l_result := Is_OP_constrained
926     (p_operation	=> p_operation
927     ,p_column_name	=> 'CONVERSION_TYPE_CODE'
928     ,p_record	=> p_record
929     ,x_on_operation_action	=> x_on_operation_action
930     );
931 
932 RETURN(l_result);
933 
934 END CONVERSION_TYPE;
935 
936 
937 FUNCTION CREATED_BY
938 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
939 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
940 , x_on_operation_action OUT NOCOPY NUMBER
941 
942 ) RETURN NUMBER
943 IS
944 l_result 	NUMBER;
945 BEGIN
946 
947 l_result := Is_OP_constrained
948     (p_operation	=> p_operation
949     ,p_column_name	=> 'CREATED_BY'
950     ,p_record	=> p_record
951     ,x_on_operation_action	=> x_on_operation_action
952     );
953 
954 RETURN(l_result);
955 
956 END CREATED_BY;
957 
958 
959 FUNCTION CUST_PO_NUMBER
960 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
961 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
962 , x_on_operation_action OUT NOCOPY NUMBER
963 
964 ) RETURN NUMBER
965 IS
966 l_result 	NUMBER;
967 BEGIN
968 
969 l_result := Is_OP_constrained
970     (p_operation	=> p_operation
971     ,p_column_name	=> 'CUST_PO_NUMBER'
972     ,p_record	=> p_record
973     ,x_on_operation_action	=> x_on_operation_action
974     );
975 
976 RETURN(l_result);
977 
978 END CUST_PO_NUMBER;
979 
980 
981 FUNCTION DELIVER_TO_CONTACT
982 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
983 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
984 , x_on_operation_action OUT NOCOPY NUMBER
985 
986 ) RETURN NUMBER
987 IS
988 l_result 	NUMBER;
989 BEGIN
990 
991 l_result := Is_OP_constrained
992     (p_operation	=> p_operation
993     ,p_column_name	=> 'DELIVER_TO_CONTACT_ID'
994     ,p_record	=> p_record
995     ,x_on_operation_action	=> x_on_operation_action
996     );
997 
998 RETURN(l_result);
999 
1000 END DELIVER_TO_CONTACT;
1001 
1002 FUNCTION IB_OWNER
1003 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1004 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1005 , x_on_operation_action OUT NOCOPY NUMBER
1006 
1007 ) RETURN NUMBER
1008 IS
1009 l_result 	NUMBER;
1010 BEGIN
1011 
1012 l_result := Is_OP_constrained
1013     (p_operation	=> p_operation
1014     ,p_column_name	=> 'IB_OWNER'
1015     ,p_record	=> p_record
1016     ,x_on_operation_action	=> x_on_operation_action
1017     );
1018 
1019 RETURN(l_result);
1020 
1021 END IB_OWNER;
1022 
1023 FUNCTION IB_INSTALLED_AT_LOCATION
1024 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1025 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1026 , x_on_operation_action OUT NOCOPY NUMBER
1027 
1028 ) RETURN NUMBER
1029 IS
1030 l_result 	NUMBER;
1031 BEGIN
1032 
1033 l_result := Is_OP_constrained
1034     (p_operation	=> p_operation
1035     ,p_column_name	=> 'IB_INSTALLED_AT_LOCATION'
1036     ,p_record	=> p_record
1037     ,x_on_operation_action	=> x_on_operation_action
1038     );
1039 
1040 RETURN(l_result);
1041 
1042 END IB_INSTALLED_AT_LOCATION;
1043 
1044 FUNCTION IB_CURRENT_LOCATION
1045 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1046 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1047 , x_on_operation_action OUT NOCOPY NUMBER
1048 
1049 ) RETURN NUMBER
1050 IS
1051 l_result 	NUMBER;
1052 BEGIN
1053 
1054 l_result := Is_OP_constrained
1055     (p_operation	=> p_operation
1056     ,p_column_name	=> 'IB_CURRENT_LOCATION'
1057     ,p_record	=> p_record
1058     ,x_on_operation_action	=> x_on_operation_action
1059     );
1060 
1061 RETURN(l_result);
1062 
1063 END IB_CURRENT_LOCATION;
1064 
1065 FUNCTION END_CUSTOMER_CONTACT
1066 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1067 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1068 , x_on_operation_action OUT NOCOPY NUMBER
1069 
1070 ) RETURN NUMBER
1071 IS
1072 l_result 	NUMBER;
1073 BEGIN
1074 
1075 l_result := Is_OP_constrained
1076     (p_operation	=> p_operation
1077     ,p_column_name	=> 'END_CUSTOMER_CONTACT_ID'
1078     ,p_record	=> p_record
1079     ,x_on_operation_action	=> x_on_operation_action
1080     );
1081 
1082 RETURN(l_result);
1083 
1084 END END_CUSTOMER_CONTACT;
1085 
1086 
1087 FUNCTION END_CUSTOMER_SITE_USE
1088 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1089 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1090 , x_on_operation_action OUT NOCOPY NUMBER
1091 
1092 ) RETURN NUMBER
1093 IS
1094 l_result 	NUMBER;
1095 BEGIN
1096 
1097 l_result := Is_OP_constrained
1098     (p_operation	=> p_operation
1099     ,p_column_name	=> 'END_CUSTOMER_SITE_USE_ID'
1100     ,p_record	=> p_record
1101     ,x_on_operation_action	=> x_on_operation_action
1102     );
1103 
1104 RETURN(l_result);
1105 
1106 END END_CUSTOMER_SITE_USE;
1107 
1108 
1109 FUNCTION END_CUSTOMER
1110 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1111 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1112 , x_on_operation_action OUT NOCOPY NUMBER
1113 
1114 ) RETURN NUMBER
1115 IS
1116 l_result 	NUMBER;
1117 BEGIN
1118 
1119 l_result := Is_OP_constrained
1120     (p_operation	=> p_operation
1121     ,p_column_name	=> 'END_CUSTOMER_ID'
1122     ,p_record	=> p_record
1123     ,x_on_operation_action	=> x_on_operation_action
1124     );
1125 
1126 RETURN(l_result);
1127 
1128 END END_CUSTOMER;
1129 
1130 
1131 FUNCTION DELIVER_TO_ORG
1132 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1133 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1134 , x_on_operation_action OUT NOCOPY NUMBER
1135 
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	=> 'DELIVER_TO_ORG_ID'
1144     ,p_record	=> p_record
1145     ,x_on_operation_action	=> x_on_operation_action
1146     );
1147 
1148 RETURN(l_result);
1149 
1150 END DELIVER_TO_ORG;
1151 
1152 
1153 FUNCTION DEMAND_CLASS
1154 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1155 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1156 , x_on_operation_action OUT NOCOPY NUMBER
1157 
1158 ) RETURN NUMBER
1159 IS
1160 l_result 	NUMBER;
1161 BEGIN
1162 
1163 l_result := Is_OP_constrained
1164     (p_operation	=> p_operation
1165     ,p_column_name	=> 'DEMAND_CLASS_CODE'
1166     ,p_record	=> p_record
1167     ,x_on_operation_action	=> x_on_operation_action
1168     );
1169 
1170 RETURN(l_result);
1171 
1172 END DEMAND_CLASS;
1173 
1174 FUNCTION EARLIEST_SCHEDULE_LIMIT
1175 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1176 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1177 , x_on_operation_action OUT NOCOPY NUMBER
1178 
1179 ) RETURN NUMBER
1180 IS
1181 l_result 	NUMBER;
1182 BEGIN
1183 
1184 l_result := Is_OP_constrained
1185     (p_operation	=> p_operation
1186     ,p_column_name	=> 'EARLIEST_SCHEDULE_LIMIT'
1187     ,p_record	=> p_record
1188     ,x_on_operation_action	=> x_on_operation_action
1189     );
1190 
1191 RETURN(l_result);
1192 
1193 END EARLIEST_SCHEDULE_LIMIT;
1194 
1195 FUNCTION FOB_POINT
1196 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1197 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1198 , x_on_operation_action OUT NOCOPY NUMBER
1199 
1200 ) RETURN NUMBER
1201 IS
1202 l_result 	NUMBER;
1203 BEGIN
1204 
1205 l_result := Is_OP_constrained
1206     (p_operation	=> p_operation
1207     ,p_column_name	=> 'FOB_POINT_CODE'
1208     ,p_record	=> p_record
1209     ,x_on_operation_action	=> x_on_operation_action
1210     );
1211 
1212 RETURN(l_result);
1213 
1214 END FOB_POINT;
1215 
1216 
1217 FUNCTION FREIGHT_CARRIER
1218 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1219 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1220 , x_on_operation_action OUT NOCOPY NUMBER
1221 
1222 ) RETURN NUMBER
1223 IS
1224 l_result 	NUMBER;
1225 BEGIN
1226 
1227 l_result := Is_OP_constrained
1228     (p_operation	=> p_operation
1229     ,p_column_name	=> 'FREIGHT_CARRIER_CODE'
1230     ,p_record	=> p_record
1231     ,x_on_operation_action	=> x_on_operation_action
1232     );
1233 
1234 RETURN(l_result);
1235 
1236 END FREIGHT_CARRIER;
1237 
1238 
1239 FUNCTION FREIGHT_TERMS
1240 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1241 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1242 , x_on_operation_action OUT NOCOPY NUMBER
1243 
1244 ) RETURN NUMBER
1245 IS
1246 l_result 	NUMBER;
1247 BEGIN
1248 
1249 l_result := Is_OP_constrained
1250     (p_operation	=> p_operation
1251     ,p_column_name	=> 'FREIGHT_TERMS_CODE'
1252     ,p_record	=> p_record
1253     ,x_on_operation_action	=> x_on_operation_action
1254     );
1255 
1256 RETURN(l_result);
1257 
1258 END FREIGHT_TERMS;
1259 
1260 FUNCTION INVOICE_TO_CONTACT
1261 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1262 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1263 , x_on_operation_action OUT NOCOPY NUMBER
1264 
1265 ) RETURN NUMBER
1266 IS
1267 l_result 	NUMBER;
1268 BEGIN
1269 
1270 l_result := Is_OP_constrained
1271     (p_operation	=> p_operation
1272     ,p_column_name	=> 'INVOICE_TO_CONTACT_ID'
1273     ,p_record	=> p_record
1274     ,x_on_operation_action	=> x_on_operation_action
1275     );
1276 
1277 RETURN(l_result);
1278 
1279 END INVOICE_TO_CONTACT;
1280 
1281 FUNCTION INVOICE_TO_ORG
1282 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1283 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1284 , x_on_operation_action OUT NOCOPY NUMBER
1285 
1286 ) RETURN NUMBER
1287 IS
1288 l_result 	NUMBER;
1289 BEGIN
1290 
1291 l_result := Is_OP_constrained
1292     (p_operation	=> p_operation
1293     ,p_column_name	=> 'INVOICE_TO_ORG_ID'
1294     ,p_record	=> p_record
1295     ,x_on_operation_action	=> x_on_operation_action
1296     );
1297 
1298 RETURN(l_result);
1299 
1300 END INVOICE_TO_ORG;
1301 
1302 FUNCTION INVOICING_RULE
1303 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1304 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1305 , x_on_operation_action OUT NOCOPY NUMBER
1306 
1307 ) RETURN NUMBER
1308 IS
1309 l_result 	NUMBER;
1310 BEGIN
1311 
1312 l_result := Is_OP_constrained
1313     (p_operation	=> p_operation
1314     ,p_column_name	=> 'INVOICING_RULE_ID'
1315     ,p_record	=> p_record
1316     ,x_on_operation_action	=> x_on_operation_action
1317     );
1318 
1319 RETURN(l_result);
1320 
1321 END INVOICING_RULE;
1322 
1323 FUNCTION LATEST_SCHEDULE_LIMIT
1324 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1325 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1326 , x_on_operation_action OUT NOCOPY NUMBER
1327 
1328 ) RETURN NUMBER
1329 IS
1330 l_result 	NUMBER;
1331 BEGIN
1332 
1333 l_result := Is_OP_constrained
1334     (p_operation	=> p_operation
1335     ,p_column_name	=> 'LATEST_SCHEDULE_LIMIT'
1336     ,p_record	=> p_record
1337     ,x_on_operation_action	=> x_on_operation_action
1338     );
1339 
1340 RETURN(l_result);
1341 
1342 END LATEST_SCHEDULE_LIMIT;
1343 
1344 
1345 FUNCTION ORDERED_DATE
1346 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1347 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1348 , x_on_operation_action OUT NOCOPY NUMBER
1349 
1350 ) RETURN NUMBER
1351 IS
1352 l_result 	NUMBER;
1353 BEGIN
1354 
1355 l_result := Is_OP_constrained
1356     (p_operation	=> p_operation
1357     ,p_column_name	=> 'ORDERED_DATE'
1358     ,p_record	=> p_record
1359     ,x_on_operation_action	=> x_on_operation_action
1360     );
1361 
1362 RETURN(l_result);
1363 
1364 END ORDERED_DATE;
1365 
1366 
1367 FUNCTION ORDER_DATE_TYPE_CODE
1368 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1369 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1370 , x_on_operation_action OUT NOCOPY NUMBER
1371 
1372 ) RETURN NUMBER
1373 IS
1374 l_result 	NUMBER;
1375 BEGIN
1376 
1377 l_result := Is_OP_constrained
1378     (p_operation	=> p_operation
1379     ,p_column_name	=> 'ORDER_DATE_TYPE_CODE'
1380     ,p_record	=> p_record
1381     ,x_on_operation_action	=> x_on_operation_action
1382     );
1383 
1384 RETURN(l_result);
1385 
1386 END ORDER_DATE_TYPE_CODE;
1387 
1388 FUNCTION ORDER_NUMBER
1389 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1390 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1391 , x_on_operation_action OUT NOCOPY NUMBER
1392 
1393 ) RETURN NUMBER
1394 IS
1395 l_result 	NUMBER;
1396 BEGIN
1397 
1398 l_result := Is_OP_constrained
1399     (p_operation	=> p_operation
1400     ,p_column_name	=> 'ORDER_NUMBER'
1401     ,p_record	=> p_record
1402     ,x_on_operation_action	=> x_on_operation_action
1403     );
1404 
1405 RETURN(l_result);
1406 
1407 END ORDER_NUMBER;
1408 
1409 
1410 FUNCTION ORDER_SOURCE
1411 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1412 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1413 , x_on_operation_action OUT NOCOPY NUMBER
1414 
1415 ) RETURN NUMBER
1416 IS
1417 l_result 	NUMBER;
1418 BEGIN
1419 
1420 l_result := Is_OP_constrained
1421     (p_operation	=> p_operation
1422     ,p_column_name	=> 'ORDER_SOURCE_ID'
1423     ,p_record	=> p_record
1424     ,x_on_operation_action	=> x_on_operation_action
1425     );
1426 
1427 RETURN(l_result);
1428 
1429 END ORDER_SOURCE;
1430 
1431 
1432 FUNCTION ORDER_TYPE
1433 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1434 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1435 , x_on_operation_action OUT NOCOPY NUMBER
1436 
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	=> 'ORDER_TYPE_ID'
1445     ,p_record	=> p_record
1446     ,x_on_operation_action	=> x_on_operation_action
1447     );
1448 
1449 RETURN(l_result);
1450 
1451 END ORDER_TYPE;
1452 
1453 
1454 
1455 FUNCTION ORIG_SYS_DOCUMENT_REF
1456 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1457 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1458 , x_on_operation_action OUT NOCOPY NUMBER
1459 
1460 ) RETURN NUMBER
1461 IS
1462 l_result 	NUMBER;
1463 BEGIN
1464 
1465 l_result := Is_OP_constrained
1466     (p_operation	=> p_operation
1467     ,p_column_name	=> 'ORIG_SYS_DOCUMENT_REF'
1468     ,p_record	=> p_record
1469     ,x_on_operation_action	=> x_on_operation_action
1470     );
1471 
1472 RETURN(l_result);
1473 
1474 END ORIG_SYS_DOCUMENT_REF;
1475 
1476 FUNCTION PACKING_INSTRUCTIONS
1477 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1478 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1479 , x_on_operation_action OUT NOCOPY NUMBER
1480 
1481 ) RETURN NUMBER
1482 IS
1483 l_result 	NUMBER;
1484 BEGIN
1485 
1486 l_result := Is_OP_constrained
1487     (p_operation	=> p_operation
1488     ,p_column_name	=> 'PACKING_INSTRUCTIONS'
1489     ,p_record	=> p_record
1490     ,x_on_operation_action	=> x_on_operation_action
1491     );
1492 
1493 RETURN(l_result);
1494 
1495 END PACKING_INSTRUCTIONS;
1496 
1497 
1498 FUNCTION PAYMENT_TERM
1499 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1500 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1501 , x_on_operation_action OUT NOCOPY NUMBER
1502 
1503 ) RETURN NUMBER
1504 IS
1505 l_result 	NUMBER;
1506 BEGIN
1507 
1508 l_result := Is_OP_constrained
1509     (p_operation	=> p_operation
1510     ,p_column_name	=> 'PAYMENT_TERM_ID'
1511     ,p_record	=> p_record
1512     ,x_on_operation_action	=> x_on_operation_action
1513     );
1514 
1515 RETURN(l_result);
1516 
1517 END PAYMENT_TERM;
1518 
1519 
1520 FUNCTION PRICE_LIST
1521 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1522 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1523 , x_on_operation_action OUT NOCOPY NUMBER
1524 
1525 ) RETURN NUMBER
1526 IS
1527 l_result 	NUMBER;
1528 BEGIN
1529 
1530 l_result := Is_OP_constrained
1531     (p_operation	=> p_operation
1532     ,p_column_name	=> 'PRICE_LIST_ID'
1533     ,p_record	=> p_record
1534     ,x_on_operation_action	=> x_on_operation_action
1535     );
1536 
1537 RETURN(l_result);
1538 
1539 END PRICE_LIST;
1540 
1541 
1542 FUNCTION PRICING_DATE
1543 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1544 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1545 , x_on_operation_action OUT NOCOPY NUMBER
1546 
1547 ) RETURN NUMBER
1548 IS
1549 l_result 	NUMBER;
1550 BEGIN
1551 
1552 l_result := Is_OP_constrained
1553     (p_operation	=> p_operation
1554     ,p_column_name	=> 'PRICING_DATE'
1555     ,p_record	=> p_record
1556     ,x_on_operation_action	=> x_on_operation_action
1557     );
1558 
1559 RETURN(l_result);
1560 
1561 END PRICING_DATE;
1562 
1563 FUNCTION REQUEST_DATE
1564 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1565 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1566 , x_on_operation_action OUT NOCOPY NUMBER
1567 
1568 ) RETURN NUMBER
1569 IS
1570 l_result 	NUMBER;
1571 BEGIN
1572 
1573 l_result := Is_OP_constrained
1574     (p_operation	=> p_operation
1575     ,p_column_name	=> 'REQUEST_DATE'
1576     ,p_record	=> p_record
1577     ,x_on_operation_action	=> x_on_operation_action
1578     );
1579 
1580 RETURN(l_result);
1581 
1582 END REQUEST_DATE;
1583 
1584 
1585 FUNCTION RETURN_REASON
1586 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1587 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1588 , x_on_operation_action OUT NOCOPY NUMBER
1589 
1590 ) RETURN NUMBER
1591 IS
1592 l_result 	NUMBER;
1593 BEGIN
1594 
1595 l_result := Is_OP_constrained
1596     (p_operation	=> p_operation
1597     ,p_column_name	=> 'RETURN_REASON_CODE'
1598     ,p_record	=> p_record
1599     ,x_on_operation_action	=> x_on_operation_action
1600     );
1601 
1602 RETURN(l_result);
1603 
1604 END RETURN_REASON;
1605 
1606 
1607 FUNCTION SALESREP
1608 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1609 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1610 , x_on_operation_action OUT NOCOPY NUMBER
1611 
1612 ) RETURN NUMBER
1613 IS
1614 l_result 	NUMBER;
1615 BEGIN
1616 
1617 l_result := Is_OP_constrained
1618     (p_operation	=> p_operation
1619     ,p_column_name	=> 'SALESREP_ID'
1620     ,p_record	=> p_record
1621     ,x_on_operation_action	=> x_on_operation_action
1622     );
1623 
1624 RETURN(l_result);
1625 
1626 END SALESREP;
1627 
1628 
1629 FUNCTION SHIPMENT_PRIORITY
1630 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1631 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1632 , x_on_operation_action OUT NOCOPY NUMBER
1633 
1634 ) RETURN NUMBER
1635 IS
1636 l_result 	NUMBER;
1637 BEGIN
1638 
1639 l_result := Is_OP_constrained
1640     (p_operation	=> p_operation
1641     ,p_column_name	=> 'SHIPMENT_PRIORITY_CODE'
1642     ,p_record	=> p_record
1643     ,x_on_operation_action	=> x_on_operation_action
1644     );
1645 
1646 RETURN(l_result);
1647 
1648 END SHIPMENT_PRIORITY;
1649 
1650 FUNCTION SHIPPING_INSTRUCTIONS
1651 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1652 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1653 , x_on_operation_action OUT NOCOPY NUMBER
1654 
1655 ) RETURN NUMBER
1656 IS
1657 l_result 	NUMBER;
1658 BEGIN
1659 
1660 l_result := Is_OP_constrained
1661     (p_operation	=> p_operation
1662     ,p_column_name	=> 'SHIPPING_INSTRUCTIONS'
1663     ,p_record	=> p_record
1664     ,x_on_operation_action	=> x_on_operation_action
1665     );
1666 
1667 RETURN(l_result);
1668 
1669 END SHIPPING_INSTRUCTIONS;
1670 
1671 FUNCTION SHIPPING_METHOD
1672 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1673 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1674 , x_on_operation_action OUT NOCOPY NUMBER
1675 
1676 ) RETURN NUMBER
1677 IS
1678 l_result 	NUMBER;
1679 BEGIN
1680 
1681 l_result := Is_OP_constrained
1682     (p_operation	=> p_operation
1683     ,p_column_name	=> 'SHIPPING_METHOD_CODE'
1684     ,p_record	=> p_record
1685     ,x_on_operation_action	=> x_on_operation_action
1686     );
1687 
1688 RETURN(l_result);
1689 
1690 END SHIPPING_METHOD;
1691 
1692 FUNCTION SHIP_FROM_ORG
1693 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1694 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1695 , x_on_operation_action OUT NOCOPY NUMBER
1696 
1697 ) RETURN NUMBER
1698 IS
1699 l_result 	NUMBER;
1700 BEGIN
1701 
1702 l_result := Is_OP_constrained
1703     (p_operation	=> p_operation
1704     ,p_column_name	=> 'SHIP_FROM_ORG_ID'
1705     ,p_record	=> p_record
1706     ,x_on_operation_action	=> x_on_operation_action
1707     );
1708 
1709 RETURN(l_result);
1710 
1711 END SHIP_FROM_ORG;
1712 
1713 
1714 FUNCTION SHIP_TOLERANCE_ABOVE
1715 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1716 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1717 , x_on_operation_action OUT NOCOPY NUMBER
1718 
1719 ) RETURN NUMBER
1720 IS
1721 l_result 	NUMBER;
1722 BEGIN
1723 
1724 l_result := Is_OP_constrained
1725     (p_operation	=> p_operation
1726     ,p_column_name	=> 'SHIP_TOLERANCE_ABOVE'
1727     ,p_record	=> p_record
1728     ,x_on_operation_action	=> x_on_operation_action
1729     );
1730 
1731 RETURN(l_result);
1732 
1733 END SHIP_TOLERANCE_ABOVE;
1734 
1735 
1736 FUNCTION SHIP_TOLERANCE_BELOW
1737 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1738 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1739 , x_on_operation_action OUT NOCOPY NUMBER
1740 
1741 ) RETURN NUMBER
1742 IS
1743 l_result 	NUMBER;
1744 BEGIN
1745 
1746 l_result := Is_OP_constrained
1747     (p_operation	=> p_operation
1748     ,p_column_name	=> 'SHIP_TOLERANCE_BELOW'
1749     ,p_record	=> p_record
1750     ,x_on_operation_action	=> x_on_operation_action
1751     );
1752 
1753 RETURN(l_result);
1754 
1755 END SHIP_TOLERANCE_BELOW;
1756 
1757 
1758 FUNCTION SHIP_TO_CONTACT
1759 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1760 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1761 , x_on_operation_action OUT NOCOPY NUMBER
1762 
1763 ) RETURN NUMBER
1764 IS
1765 l_result 	NUMBER;
1766 BEGIN
1767 
1768 l_result := Is_OP_constrained
1769     (p_operation	=> p_operation
1770     ,p_column_name	=> 'SHIP_TO_CONTACT_ID'
1771     ,p_record	=> p_record
1772     ,x_on_operation_action	=> x_on_operation_action
1773     );
1774 
1775 RETURN(l_result);
1776 
1777 END SHIP_TO_CONTACT;
1778 
1779 
1780 FUNCTION SHIP_TO_ORG
1781 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1782 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1783 , x_on_operation_action OUT NOCOPY NUMBER
1784 
1785 ) RETURN NUMBER
1786 IS
1787 l_result 	NUMBER;
1788 BEGIN
1789 
1790 l_result := Is_OP_constrained
1791     (p_operation	=> p_operation
1792     ,p_column_name	=> 'SHIP_TO_ORG_ID'
1793     ,p_record	=> p_record
1794     ,x_on_operation_action	=> x_on_operation_action
1795     );
1796 
1797 RETURN(l_result);
1798 
1799 END SHIP_TO_ORG;
1800 
1801 
1802 FUNCTION SOLD_TO_CONTACT
1803 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1804 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1805 , x_on_operation_action OUT NOCOPY NUMBER
1806 
1807 ) RETURN NUMBER
1808 IS
1809 l_result 	NUMBER;
1810 BEGIN
1811 
1812 l_result := Is_OP_constrained
1813     (p_operation	=> p_operation
1814     ,p_column_name	=> 'SOLD_TO_CONTACT_ID'
1815     ,p_record	=> p_record
1816     ,x_on_operation_action	=> x_on_operation_action
1817     );
1818 
1819 RETURN(l_result);
1820 
1821 END SOLD_TO_CONTACT;
1822 
1823 
1824 FUNCTION SOLD_TO_ORG
1825 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1826 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1827 , x_on_operation_action OUT NOCOPY NUMBER
1828 
1829 ) RETURN NUMBER
1830 IS
1831 l_result 	NUMBER;
1832 BEGIN
1833 
1834 l_result := Is_OP_constrained
1835     (p_operation	=> p_operation
1836     ,p_column_name	=> 'SOLD_TO_ORG_ID'
1837     ,p_record	=> p_record
1838     ,x_on_operation_action	=> x_on_operation_action
1839     );
1840 
1841 RETURN(l_result);
1842 
1843 END SOLD_TO_ORG;
1844 
1845 
1846 FUNCTION SOURCE_DOCUMENT_TYPE
1847 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1848 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1849 , x_on_operation_action OUT NOCOPY NUMBER
1850 
1851 ) RETURN NUMBER
1852 IS
1853 l_result 	NUMBER;
1854 BEGIN
1855 
1856 l_result := Is_OP_constrained
1857     (p_operation	=> p_operation
1858     ,p_column_name	=> 'SOURCE_DOCUMENT_TYPE_ID'
1859     ,p_record	=> p_record
1860     ,x_on_operation_action	=> x_on_operation_action
1861     );
1862 
1863 RETURN(l_result);
1864 
1865 END SOURCE_DOCUMENT_TYPE;
1866 
1867 
1868 FUNCTION TAX_EXEMPT
1869 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1870 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1871 , x_on_operation_action OUT NOCOPY NUMBER
1872 
1873 ) RETURN NUMBER
1874 IS
1875 l_result 	NUMBER;
1876 BEGIN
1877 
1878 l_result := Is_OP_constrained
1879     (p_operation	=> p_operation
1880     ,p_column_name	=> 'TAX_EXEMPT_FLAG'
1881     ,p_record	=> p_record
1882     ,x_on_operation_action	=> x_on_operation_action
1883     );
1884 
1885 RETURN(l_result);
1886 
1887 END TAX_EXEMPT;
1888 
1889 
1890 FUNCTION TAX_EXEMPT_NUMBER
1891 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1892 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1893 , x_on_operation_action OUT NOCOPY NUMBER
1894 
1895 ) RETURN NUMBER
1896 IS
1897 l_result 	NUMBER;
1898 BEGIN
1899 
1900 l_result := Is_OP_constrained
1901     (p_operation	=> p_operation
1902     ,p_column_name	=> 'TAX_EXEMPT_NUMBER'
1903     ,p_record	=> p_record
1904     ,x_on_operation_action	=> x_on_operation_action
1905     );
1906 
1907 RETURN(l_result);
1908 
1909 END TAX_EXEMPT_NUMBER;
1910 
1911 
1912 FUNCTION TAX_EXEMPT_REASON
1913 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1914 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1915 , x_on_operation_action OUT NOCOPY NUMBER
1916 
1917 ) RETURN NUMBER
1918 IS
1919 l_result 	NUMBER;
1920 BEGIN
1921 
1922 l_result := Is_OP_constrained
1923     (p_operation	=> p_operation
1924     ,p_column_name	=> 'TAX_EXEMPT_REASON_CODE'
1925     ,p_record	=> p_record
1926     ,x_on_operation_action	=> x_on_operation_action
1927     );
1928 
1929 RETURN(l_result);
1930 
1931 END TAX_EXEMPT_REASON;
1932 
1933 
1934 
1935 FUNCTION TRANSACTIONAL_CURR
1936 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1937 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1938 , x_on_operation_action OUT NOCOPY NUMBER
1939 
1940 ) RETURN NUMBER
1941 IS
1942 l_result 	NUMBER;
1943 BEGIN
1944 
1945 l_result := Is_OP_constrained
1946     (p_operation	=> p_operation
1947     ,p_column_name	=> 'TRANSACTIONAL_CURR_CODE'
1948     ,p_record	=> p_record
1949     ,x_on_operation_action	=> x_on_operation_action
1950     );
1951 
1952 RETURN(l_result);
1953 
1954 END TRANSACTIONAL_CURR;
1955 
1956 
1957 FUNCTION CREDIT_CARD_APPROVAL_DATE
1958 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1959 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1960 , x_on_operation_action OUT NOCOPY NUMBER
1961 
1962 ) RETURN NUMBER
1963 IS
1964 l_result 	NUMBER;
1965 BEGIN
1966 
1967 l_result := Is_OP_constrained
1968     (p_operation	=> p_operation
1969     ,p_column_name	=> 'CREDIT_CARD_APPROVAL_DATE'
1970     ,p_record	=> p_record
1971     ,x_on_operation_action	=> x_on_operation_action
1972     );
1973 
1974 RETURN(l_result);
1975 
1976 END CREDIT_CARD_APPROVAL_DATE;
1977 
1978      /* The following Function is added to fix the issue #1651331 to enable
1979 	   the Sales Channel Field be allowed to set the security rules  */
1980 
1981 FUNCTION SALES_CHANNEL_CODE
1982 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1983 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
1984 , x_on_operation_action OUT NOCOPY NUMBER
1985 
1986 ) RETURN NUMBER
1987 IS
1988 l_result  NUMBER;
1989 BEGIN
1990 
1991 l_result := Is_OP_constrained
1992       (p_operation    => p_operation
1993       ,p_column_name  => 'SALES_CHANNEL_CODE'
1994 	 ,p_record  => p_record
1995 	 ,x_on_operation_action    => x_on_operation_action
1996 	 );
1997 
1998 RETURN(l_result);
1999 
2000 END SALES_CHANNEL_CODE;
2001 
2002 /* START PREPAYMENT */
2003 FUNCTION PAYMENT_TYPE
2004 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2005 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2006 , x_on_operation_action OUT NOCOPY NUMBER
2007 
2008 ) RETURN NUMBER
2009 IS
2010 l_result        NUMBER;
2011 BEGIN
2012 
2013 l_result := Is_OP_constrained
2014     (p_operation        => p_operation
2015     ,p_column_name      => 'PAYMENT_TYPE_CODE'
2016     ,p_record   => p_record
2017     ,x_on_operation_action      => x_on_operation_action
2018     );
2019 
2020 RETURN(l_result);
2021 
2022 END PAYMENT_TYPE;
2023 
2024 FUNCTION CREDIT_CARD_HOLDER_NAME
2025 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2026 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2027 , x_on_operation_action OUT NOCOPY NUMBER
2028 
2029 ) RETURN NUMBER
2030 IS
2031 l_result        NUMBER;
2032 BEGIN
2033 
2034 l_result := Is_OP_constrained
2035     (p_operation        => p_operation
2036     ,p_column_name      => 'CREDIT_CARD_HOLDER_NAME'
2037     ,p_record   => p_record
2038     ,x_on_operation_action      => x_on_operation_action
2039     );
2040 
2041 RETURN(l_result);
2042 
2043 END CREDIT_CARD_HOLDER_NAME;
2044 
2045 FUNCTION CREDIT_CARD
2046 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2047 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2048 , x_on_operation_action OUT NOCOPY NUMBER
2049 
2050 ) RETURN NUMBER
2051 IS
2052 l_result        NUMBER;
2053 BEGIN
2054 
2055 l_result := Is_OP_constrained
2056     (p_operation        => p_operation
2057     ,p_column_name      => 'CREDIT_CARD_CODE'
2058     ,p_record   => p_record
2059     ,x_on_operation_action      => x_on_operation_action
2060     );
2061 
2062 RETURN(l_result);
2063 
2064 END CREDIT_CARD;
2065 
2066 FUNCTION CREDIT_CARD_NUMBER
2067 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2068 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2069 , x_on_operation_action OUT NOCOPY NUMBER
2070 
2071 ) RETURN NUMBER
2072 IS
2073 l_result        NUMBER;
2074 BEGIN
2075 
2076 l_result := Is_OP_constrained
2077     (p_operation        => p_operation
2078     ,p_column_name      => 'CREDIT_CARD_NUMBER'
2079     ,p_record   => p_record
2080     ,x_on_operation_action      => x_on_operation_action
2081     );
2082 
2083 RETURN(l_result);
2084 
2085 END CREDIT_CARD_NUMBER;
2086 
2087 FUNCTION CREDIT_CARD_EXPIRATION_DATE
2088 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2089 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2090 , x_on_operation_action OUT NOCOPY NUMBER
2091 
2092 ) RETURN NUMBER
2093 IS
2094 l_result        NUMBER;
2095 BEGIN
2096 
2097 l_result := Is_OP_constrained
2098     (p_operation        => p_operation
2099     ,p_column_name      => 'CREDIT_CARD_EXPIRATION_DATE'
2100     ,p_record   => p_record
2101     ,x_on_operation_action      => x_on_operation_action
2102     );
2103 
2104 RETURN(l_result);
2105 
2106 END CREDIT_CARD_EXPIRATION_DATE;
2107 /* END PREPAYMENT */
2108 
2109 /* For bug 2395032 */
2110 
2111 FUNCTION PAYMENT_AMOUNT
2112 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2113 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2114 , x_on_operation_action OUT NOCOPY NUMBER
2115 
2116 ) RETURN NUMBER
2117 IS
2118 l_result        NUMBER;
2119 BEGIN
2120 
2121 l_result := Is_OP_constrained
2122     (p_operation        => p_operation
2123     ,p_column_name      => 'PAYMENT_AMOUNT'
2124     ,p_record   => p_record
2125     ,x_on_operation_action      => x_on_operation_action
2126     );
2127 
2128 RETURN(l_result);
2129 
2130 END PAYMENT_AMOUNT;
2131 
2132 FUNCTION CHECK_NUMBER
2133 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2134 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2135 , x_on_operation_action OUT NOCOPY NUMBER
2136 
2137 ) RETURN NUMBER
2138 IS
2139 l_result        NUMBER;
2140 BEGIN
2141 
2142 l_result := Is_OP_constrained
2143     (p_operation        => p_operation
2144     ,p_column_name      => 'CHECK_NUMBER'
2145     ,p_record   => p_record
2146     ,x_on_operation_action      => x_on_operation_action
2147     );
2148 
2149 RETURN(l_result);
2150 
2151 END CHECK_NUMBER;
2152 
2153 /* End 2395032 */
2154 
2155 FUNCTION BLANKET_NUMBER
2156 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2157 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2158 , x_on_operation_action OUT NOCOPY NUMBER
2159 
2160 ) RETURN NUMBER
2161 IS
2162 l_result        NUMBER;
2163 BEGIN
2164 
2165 l_result := Is_OP_constrained
2166     (p_operation        => p_operation
2167     ,p_column_name      => 'BLANKET_NUMBER'
2168     ,p_record   => p_record
2169     ,x_on_operation_action      => x_on_operation_action
2170     );
2171 
2172 RETURN(l_result);
2173 
2174 END BLANKET_NUMBER;
2175 
2176 -- QUOTING changes
2177 
2178 FUNCTION QUOTE_NUMBER
2179 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2180 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2181 , x_on_operation_action OUT NOCOPY NUMBER
2182 
2183 ) RETURN NUMBER
2184 IS
2185 l_result        NUMBER;
2186 BEGIN
2187 
2188 l_result := Is_OP_constrained
2189     (p_operation        => p_operation
2190     ,p_column_name      => 'QUOTE_NUMBER'
2191     ,p_record   => p_record
2192     ,x_on_operation_action      => x_on_operation_action
2193     );
2194 
2195 RETURN(l_result);
2196 
2197 END QUOTE_NUMBER;
2198 
2199 FUNCTION QUOTE_DATE
2200 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2201 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2202 , x_on_operation_action OUT NOCOPY NUMBER
2203 
2204 ) RETURN NUMBER
2205 IS
2206 l_result        NUMBER;
2207 BEGIN
2208 
2209 l_result := Is_OP_constrained
2210     (p_operation        => p_operation
2211     ,p_column_name      => 'QUOTE_DATE'
2212     ,p_record   => p_record
2213     ,x_on_operation_action      => x_on_operation_action
2214     );
2215 
2216 RETURN(l_result);
2217 
2218 END QUOTE_DATE;
2219 
2220 FUNCTION SALES_DOCUMENT_NAME
2221 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2222 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2223 , x_on_operation_action OUT NOCOPY NUMBER
2224 
2225 ) RETURN NUMBER
2226 IS
2227 l_result        NUMBER;
2228 BEGIN
2229 
2230 l_result := Is_OP_constrained
2231     (p_operation        => p_operation
2232     ,p_column_name      => 'SALES_DOCUMENT_NAME'
2233     ,p_record   => p_record
2234     ,x_on_operation_action      => x_on_operation_action
2235     );
2236 
2237 RETURN(l_result);
2238 
2239 END SALES_DOCUMENT_NAME;
2240 
2241 FUNCTION TRANSACTION_PHASE
2242 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2243 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2244 , x_on_operation_action OUT NOCOPY NUMBER
2245 
2246 ) RETURN NUMBER
2247 IS
2248 l_result        NUMBER;
2249 BEGIN
2250 
2251 l_result := Is_OP_constrained
2252     (p_operation        => p_operation
2253     ,p_column_name      => 'TRANSACTION_PHASE_CODE'
2254     ,p_record   => p_record
2255     ,x_on_operation_action      => x_on_operation_action
2256     );
2257 
2258 RETURN(l_result);
2259 
2260 END TRANSACTION_PHASE;
2261 
2262 FUNCTION USER_STATUS
2263 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2264 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2265 , x_on_operation_action OUT NOCOPY NUMBER
2266 
2267 ) RETURN NUMBER
2268 IS
2269 l_result        NUMBER;
2270 BEGIN
2271 
2272 l_result := Is_OP_constrained
2273     (p_operation        => p_operation
2274     ,p_column_name      => 'USER_STATUS'
2275     ,p_record   => p_record
2276     ,x_on_operation_action      => x_on_operation_action
2277     );
2278 
2279 RETURN(l_result);
2280 
2281 END USER_STATUS;
2282 
2283 FUNCTION EXPIRATION_DATE
2284 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2285 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2286 , x_on_operation_action OUT NOCOPY NUMBER
2287 
2288 ) RETURN NUMBER
2289 IS
2290 l_result        NUMBER;
2291 BEGIN
2292 
2293 l_result := Is_OP_constrained
2294     (p_operation        => p_operation
2295     ,p_column_name      => 'EXPIRATION_DATE'
2296     ,p_record   => p_record
2297     ,x_on_operation_action      => x_on_operation_action
2298     );
2299 
2300 RETURN(l_result);
2301 
2302 END EXPIRATION_DATE;
2303 
2304 FUNCTION VERSION_NUMBER
2305 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2306 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2307 , x_on_operation_action OUT NOCOPY NUMBER
2308 
2309 ) RETURN NUMBER
2310 IS
2311 l_result        NUMBER;
2312 BEGIN
2313 
2314 l_result := Is_OP_constrained
2315     (p_operation        => p_operation
2316     ,p_column_name      => 'VERSION_NUMBER'
2317     ,p_record   => p_record
2318     ,x_on_operation_action      => x_on_operation_action
2319     );
2320 
2321 RETURN(l_result);
2322 
2323 END VERSION_NUMBER;
2324 
2325 FUNCTION SOLD_TO_SITE_USE
2326 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2327 ,   p_record                        IN  OE_AK_ORDER_HEADERS_V%ROWTYPE
2328 , x_on_operation_action OUT NOCOPY NUMBER
2329 
2330 ) RETURN NUMBER
2331 IS
2332 l_result        NUMBER;
2333 BEGIN
2334 
2335 l_result := Is_OP_constrained
2336     (p_operation        => p_operation
2337      -- Bug 3378203 -
2338      -- Correct the column name
2339     ,p_column_name      => 'SOLD_TO_SITE_USE_ID'
2340     ,p_record   => p_record
2341     ,x_on_operation_action      => x_on_operation_action
2342     );
2343 
2344 RETURN(l_result);
2345 
2346 END SOLD_TO_SITE_USE;
2347 
2348 -- Quoting Changes END
2349 
2350 PROCEDURE Entity
2351 (   p_HEADER_rec                    IN  OE_Order_PUB.HEADER_Rec_Type
2352 , x_result OUT NOCOPY NUMBER
2353 
2354 , x_return_status OUT NOCOPY VARCHAR2
2355 
2356 ) IS
2357 l_operation	VARCHAR2(1);
2358 l_on_operation_action	NUMBER;
2359 l_rowtype_rec	OE_AK_ORDER_HEADERS_V%ROWTYPE;
2360 --
2361 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2362 --
2363 BEGIN
2364 IF l_debug_level  > 0 THEN
2365     oe_debug_pub.add(  'ENTER OE_HEADER_SECURITY.ENTITY' , 1 ) ;
2366 END IF;
2367 
2368 -- Initializing return status to SUCCESS
2369 x_return_status := FND_API.G_RET_STS_SUCCESS;
2370 
2371 IF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2372     l_operation := OE_PC_GLOBALS.CREATE_OP;
2373 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2374     l_operation := OE_PC_GLOBALS.UPDATE_OP;
2375 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_DELETE THEN
2376     l_operation := OE_PC_GLOBALS.DELETE_OP;
2377 ELSE
2378     IF l_debug_level  > 0 THEN
2379         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
2380     END IF;
2381     RAISE FND_API.G_EXC_ERROR;
2382 END IF;
2383 
2384 OE_HEADER_UTIL.API_Rec_To_Rowtype_Rec(p_HEADER_rec, l_rowtype_rec);
2385 
2386 -- Initialize security global record
2387 OE_Header_SECURITY.g_record := l_rowtype_rec;
2388 
2389 x_result := Is_OP_constrained
2390     (p_operation	=> l_operation
2391     ,p_record	=> l_rowtype_rec
2392     ,x_on_operation_action	=> l_on_operation_action
2393     );
2394 
2395 IF l_debug_level  > 0 THEN
2396     oe_debug_pub.add(  'EXIT OE_HEADER_SECURITY.ENTITY' , 1 ) ;
2397 END IF;
2398 
2399 EXCEPTION
2400     WHEN OTHERS THEN
2401     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2402     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2403         OE_MSG_PUB.Add_Exc_Msg
2404         (   G_PKG_NAME
2405         ,   'Entity'
2406         );
2407     END IF;
2408 
2409 END Entity;
2410 
2411 
2412 PROCEDURE Attributes
2413 (   p_HEADER_rec                    IN  OE_Order_PUB.HEADER_Rec_Type
2414 ,   p_old_HEADER_rec                IN  OE_Order_PUB.HEADER_Rec_Type := OE_Order_PUB.G_MISS_HEADER_REC
2415 , x_result OUT NOCOPY NUMBER
2416 
2417 , x_return_status OUT NOCOPY VARCHAR2
2418 
2419 ) IS
2420 l_operation	VARCHAR2(1);
2421 l_on_operation_action  NUMBER;
2422 l_result		NUMBER;
2423 l_rowtype_rec	OE_AK_ORDER_HEADERS_V%ROWTYPE;
2424 l_column_name	VARCHAR2(30);
2425 l_active_flag   VARCHAR2(1);
2426 e_inacitve_pl   EXCEPTION;
2427 l_check_all_cols_constraint VARCHAR2(1);
2428 --
2429 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2430 --
2431 BEGIN
2432 IF l_debug_level  > 0 THEN
2433     oe_debug_pub.add(  'ENTER OE_HEADER_SECURITY.ATTRIBUTES' , 1 ) ;
2434 END IF;
2435 
2436 -- Initializing return status to SUCCESS
2437 x_return_status := FND_API.G_RET_STS_SUCCESS;
2438 
2439 -- Initializing out result to NOT CONSTRAINED
2440 x_result := OE_PC_GLOBALS.NO;
2441 
2442  -- Get the operation code to be passed to the security framework API
2443 IF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2444     -- Bug 1987983 : if the order source is Copy then skip the Attribute
2445     -- level check
2446    IF p_HEADER_rec.source_document_type_id = OE_GLOBALS.G_ORDER_SOURCE_COPY
2447       THEN
2448       RETURN;
2449    ELSE
2450     l_operation := OE_PC_GLOBALS.CREATE_OP;
2451    END IF;
2452     -- Bug 1755817: if there are no attribute-specific insert
2453     -- constraints, then no need to go further. Entity level
2454     -- security check for CREATE will be called again from
2455     -- process order after defaulting.
2456     IF NOT OE_PC_Constraints_Admin_PVT.Check_On_Insert_Exists
2457            (p_entity_id   => OE_PC_GLOBALS.G_ENTITY_HEADER
2458            ,p_responsibility_id     => nvl(fnd_global.resp_id, -1)
2459            ,p_application_id        => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
2460            )
2461     THEN
2462        RETURN;
2463     END IF;
2464 
2465 ELSIF p_HEADER_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2466     l_operation := OE_PC_GLOBALS.UPDATE_OP;
2467 ELSE
2468     IF l_debug_level  > 0 THEN
2469         oe_debug_pub.add(  'INVALID OPERATION' , 1 ) ;
2470     END IF;
2471     RAISE FND_API.G_EXC_ERROR;
2472 END IF;
2473 
2474 OE_HEADER_UTIL.API_Rec_To_Rowtype_Rec(p_HEADER_rec, l_rowtype_rec);
2475 
2476 -- Initialize security global record
2477 OE_Header_SECURITY.g_record := l_rowtype_rec;
2478 
2479 -- Compare the new and old entity records and
2480 -- check constraints for all the changed attributes.
2481 
2482    IF p_header_rec.cancelled_flag <> FND_API.G_MISS_CHAR
2483      AND NOT OE_GLOBALS.Equal(p_header_rec.cancelled_flag,
2484 		 p_old_header_rec.cancelled_flag)
2485             THEN
2486 		IF p_header_rec.cancelled_flag = 'Y' THEN
2487         l_result := CANCELLED
2488             (p_operation => l_operation
2489             ,p_record    => l_rowtype_rec
2490             ,x_on_operation_action => l_on_operation_action
2491             );
2492         IF l_result = OE_PC_GLOBALS.YES THEN
2493             -- set OUT result to CONSTRAINED
2494              x_result := OE_PC_GLOBALS.YES;
2495 		   --RAISE;
2496         END IF;
2497 	     END IF;
2498 
2499     END IF;
2500 
2501     IF ((p_header_rec.price_list_id IS NOT NULL)
2502       AND (NOT oe_globals.equal(p_header_rec.price_list_id,
2503       p_old_HEADER_rec.price_list_id))
2504       AND (p_header_rec.order_category_code IS NOT NULL)
2505       AND (p_header_rec.order_category_code <>
2506                  Oe_Globals.G_RETURN_CATEGORY_CODE)) THEN
2507       BEGIN
2508         SELECT active_flag
2509         INTO l_active_flag
2510         FROM qp_List_headers_vl
2511         WHERE list_header_id = p_header_rec.price_list_id;
2512         IF(nvl(l_active_flag,'N')='N') THEN
2513           RAISE e_inacitve_pl;
2514         END IF;
2515       EXCEPTION
2516         WHEN e_inacitve_pl  THEN
2517           RAISE e_inacitve_pl ;
2518 
2519         WHEN OTHERS THEN
2520           IF l_debug_level  > 0 THEN
2521               oe_debug_pub.add(  'WHEN OTHERS' , 2 ) ;
2522           END IF;
2523       END;
2524     END IF;
2525 
2526     IF p_header_rec.accounting_rule_id = FND_API.G_MISS_NUM THEN NULL;
2527     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.accounting_rule_id,p_old_header_rec.accounting_rule_id) THEN
2528 
2529         l_result := ACCOUNTING_RULE
2530             (p_operation        => l_operation
2531             ,p_record   => l_rowtype_rec
2532             ,x_on_operation_action => l_on_operation_action
2533             );
2534 
2535         IF l_result = OE_PC_GLOBALS.YES THEN
2536             -- set OUT result to CONSTRAINED
2537             x_result := OE_PC_GLOBALS.YES;
2538         END IF;
2539 
2540     END IF;
2541 
2542    IF p_header_rec.IB_OWNER = FND_API.G_MISS_CHAR THEN NULL;
2543     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.IB_OWNER,p_old_header_rec.IB_OWNER) THEN
2544 
2545         l_result := IB_OWNER
2546             (p_operation        => l_operation
2547             ,p_record   => l_rowtype_rec
2548             ,x_on_operation_action => l_on_operation_action
2549             );
2550 
2551         IF l_result = OE_PC_GLOBALS.YES THEN
2552             -- set OUT result to CONSTRAINED
2553             x_result := OE_PC_GLOBALS.YES;
2554         END IF;
2555 
2556     END IF;
2557    IF p_header_rec.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR THEN NULL;
2558     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.IB_INSTALLED_AT_LOCATION,p_old_header_rec.IB_INSTALLED_AT_LOCATION) THEN
2559 
2560         l_result := IB_INSTALLED_AT_LOCATION
2561             (p_operation        => l_operation
2562             ,p_record   => l_rowtype_rec
2563             ,x_on_operation_action => l_on_operation_action
2564             );
2565 
2566         IF l_result = OE_PC_GLOBALS.YES THEN
2567             -- set OUT result to CONSTRAINED
2568             x_result := OE_PC_GLOBALS.YES;
2569         END IF;
2570 
2571     END IF;
2572    IF p_header_rec.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR THEN NULL;
2573     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.IB_CURRENT_LOCATION,p_old_header_rec.IB_CURRENT_LOCATION) THEN
2574 
2575         l_result := IB_CURRENT_LOCATION
2576             (p_operation        => l_operation
2577             ,p_record   => l_rowtype_rec
2578             ,x_on_operation_action => l_on_operation_action
2579             );
2580 
2581         IF l_result = OE_PC_GLOBALS.YES THEN
2582             -- set OUT result to CONSTRAINED
2583             x_result := OE_PC_GLOBALS.YES;
2584         END IF;
2585 
2586     END IF;
2587   IF p_header_rec.END_CUSTOMER_ID = FND_API.G_MISS_NUM THEN NULL;
2588     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.END_CUSTOMER_ID,p_old_header_rec.END_CUSTOMER_ID) THEN
2589 
2590         l_result := END_CUSTOMER
2591             (p_operation        => l_operation
2592             ,p_record   => l_rowtype_rec
2593             ,x_on_operation_action => l_on_operation_action
2594             );
2595 
2596         IF l_result = OE_PC_GLOBALS.YES THEN
2597             -- set OUT result to CONSTRAINED
2598             x_result := OE_PC_GLOBALS.YES;
2599         END IF;
2600 
2601     END IF;
2602   IF p_header_rec.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM THEN NULL;
2603     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.END_CUSTOMER_SITE_USE_ID,p_old_header_rec.END_CUSTOMER_SITE_USE_ID) THEN
2604 
2605         l_result := END_CUSTOMER_SITE_USE
2606             (p_operation        => l_operation
2607             ,p_record   => l_rowtype_rec
2608             ,x_on_operation_action => l_on_operation_action
2609             );
2610 
2611         IF l_result = OE_PC_GLOBALS.YES THEN
2612             -- set OUT result to CONSTRAINED
2613             x_result := OE_PC_GLOBALS.YES;
2614         END IF;
2615 
2616     END IF;
2617   IF p_header_rec.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM THEN NULL;
2618     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.END_CUSTOMER_CONTACT_ID,p_old_header_rec.END_CUSTOMER_CONTACT_ID) THEN
2619 
2620         l_result := END_CUSTOMER_CONTACT
2621             (p_operation        => l_operation
2622             ,p_record   => l_rowtype_rec
2623             ,x_on_operation_action => l_on_operation_action
2624             );
2625 
2626         IF l_result = OE_PC_GLOBALS.YES THEN
2627             -- set OUT result to CONSTRAINED
2628             x_result := OE_PC_GLOBALS.YES;
2629         END IF;
2630 
2631     END IF;
2632 
2633     IF p_header_rec.accounting_rule_duration = FND_API.G_MISS_NUM THEN NULL;
2634     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.accounting_rule_duration,p_old_header_rec.accounting_rule_duration) THEN
2635 
2636         l_result := ACCOUNTING_RULE_DURATION
2637             (p_operation        => l_operation
2638             ,p_record   => l_rowtype_rec
2639             ,x_on_operation_action => l_on_operation_action
2640             );
2641 
2642         IF l_result = OE_PC_GLOBALS.YES THEN
2643             -- set OUT result to CONSTRAINED
2644             x_result := OE_PC_GLOBALS.YES;
2645         END IF;
2646 
2647     END IF;
2648 
2649     IF p_header_rec.agreement_id = FND_API.G_MISS_NUM THEN NULL;
2650     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.agreement_id,p_old_header_rec.agreement_id) THEN
2651 
2652         l_result := AGREEMENT
2653             (p_operation        => l_operation
2654             ,p_record   => l_rowtype_rec
2655             ,x_on_operation_action => l_on_operation_action
2656             );
2657 
2658         IF l_result = OE_PC_GLOBALS.YES THEN
2659             -- set OUT result to CONSTRAINED
2660             x_result := OE_PC_GLOBALS.YES;
2661         END IF;
2662 
2663     END IF;
2664 
2665     IF p_header_rec.conversion_rate = FND_API.G_MISS_NUM THEN NULL;
2666     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.conversion_rate,p_old_header_rec.conversion_rate) THEN
2667 
2668         l_result := CONVERSION_RATE
2669             (p_operation        => l_operation
2670             ,p_record   => l_rowtype_rec
2671             ,x_on_operation_action => l_on_operation_action
2672             );
2673 
2674         IF l_result = OE_PC_GLOBALS.YES THEN
2675             -- set OUT result to CONSTRAINED
2676             x_result := OE_PC_GLOBALS.YES;
2677         END IF;
2678 
2679     END IF;
2680 
2681     IF p_header_rec.conversion_rate_date = FND_API.G_MISS_DATE THEN NULL;
2682     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.conversion_rate_date,p_old_header_rec.conversion_rate_date) THEN
2683 
2684         l_result := CONVERSION_RATE_DATE
2685             (p_operation        => l_operation
2686             ,p_record   => l_rowtype_rec
2687             ,x_on_operation_action => l_on_operation_action
2688             );
2689 
2690         IF l_result = OE_PC_GLOBALS.YES THEN
2691             -- set OUT result to CONSTRAINED
2692             x_result := OE_PC_GLOBALS.YES;
2693         END IF;
2694 
2695     END IF;
2696 
2697     IF p_header_rec.conversion_type_code = FND_API.G_MISS_CHAR THEN NULL;
2698     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.conversion_type_code,p_old_header_rec.conversion_type_code) THEN
2699 
2700         l_result := CONVERSION_TYPE
2701             (p_operation        => l_operation
2702             ,p_record   => l_rowtype_rec
2703             ,x_on_operation_action => l_on_operation_action
2704             );
2705 
2706         IF l_result = OE_PC_GLOBALS.YES THEN
2707             -- set OUT result to CONSTRAINED
2708             x_result := OE_PC_GLOBALS.YES;
2709         END IF;
2710 
2711     END IF;
2712 
2713     IF p_header_rec.created_by = FND_API.G_MISS_NUM THEN NULL;
2714     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.created_by,p_old_header_rec.created_by) THEN
2715 
2716         l_result := CREATED_BY
2717             (p_operation        => l_operation
2718             ,p_record   => l_rowtype_rec
2719             ,x_on_operation_action => l_on_operation_action
2720             );
2721 
2722         IF l_result = OE_PC_GLOBALS.YES THEN
2723             -- set OUT result to CONSTRAINED
2724             x_result := OE_PC_GLOBALS.YES;
2725         END IF;
2726 
2727     END IF;
2728 
2729     IF p_header_rec.cust_po_number = FND_API.G_MISS_CHAR THEN NULL;
2730     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.cust_po_number,p_old_header_rec.cust_po_number) THEN
2731 
2732         l_result := CUST_PO_NUMBER
2733             (p_operation        => l_operation
2734             ,p_record   => l_rowtype_rec
2735             ,x_on_operation_action => l_on_operation_action
2736             );
2737 
2738         IF l_result = OE_PC_GLOBALS.YES THEN
2739             -- set OUT result to CONSTRAINED
2740             x_result := OE_PC_GLOBALS.YES;
2741         END IF;
2742 
2743     END IF;
2744 
2745     IF p_header_rec.deliver_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
2746     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.deliver_to_contact_id,p_old_header_rec.deliver_to_contact_id) THEN
2747 
2748         l_result := DELIVER_TO_CONTACT
2749             (p_operation        => l_operation
2750             ,p_record   => l_rowtype_rec
2751             ,x_on_operation_action => l_on_operation_action
2752             );
2753 
2754         IF l_result = OE_PC_GLOBALS.YES THEN
2755             -- set OUT result to CONSTRAINED
2756             x_result := OE_PC_GLOBALS.YES;
2757         END IF;
2758 
2759     END IF;
2760 
2761     IF p_header_rec.deliver_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2762     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.deliver_to_org_id,p_old_header_rec.deliver_to_org_id) THEN
2763 
2764         l_result := DELIVER_TO_ORG
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.demand_class_code = FND_API.G_MISS_CHAR THEN NULL;
2778     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.demand_class_code,p_old_header_rec.demand_class_code) THEN
2779 
2780         l_result := DEMAND_CLASS
2781             (p_operation        => l_operation
2782             ,p_record   => l_rowtype_rec
2783             ,x_on_operation_action => l_on_operation_action
2784             );
2785 
2786         IF l_result = OE_PC_GLOBALS.YES THEN
2787             -- set OUT result to CONSTRAINED
2788             x_result := OE_PC_GLOBALS.YES;
2789         END IF;
2790 
2791     END IF;
2792 
2793     IF p_header_rec.earliest_schedule_limit = FND_API.G_MISS_NUM THEN NULL;
2794     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.earliest_schedule_limit,p_old_header_rec.earliest_schedule_limit) THEN
2795 
2796         l_result := EARLIEST_SCHEDULE_LIMIT
2797             (p_operation        => l_operation
2798             ,p_record   => l_rowtype_rec
2799             ,x_on_operation_action => l_on_operation_action
2800             );
2801 
2802         IF l_result = OE_PC_GLOBALS.YES THEN
2803             -- set OUT result to CONSTRAINED
2804             x_result := OE_PC_GLOBALS.YES;
2805         END IF;
2806 
2807     END IF;
2808 
2809     IF p_header_rec.fob_point_code = FND_API.G_MISS_CHAR THEN NULL;
2810     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.fob_point_code,p_old_header_rec.fob_point_code) THEN
2811 
2812         l_result := FOB_POINT
2813             (p_operation        => l_operation
2814             ,p_record   => l_rowtype_rec
2815             ,x_on_operation_action => l_on_operation_action
2816             );
2817 
2818         IF l_result = OE_PC_GLOBALS.YES THEN
2819             -- set OUT result to CONSTRAINED
2820             x_result := OE_PC_GLOBALS.YES;
2821         END IF;
2822 
2823     END IF;
2824 
2825     IF p_header_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN NULL;
2826     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.freight_terms_code,p_old_header_rec.freight_terms_code) THEN
2827 
2828         l_result := FREIGHT_TERMS
2829             (p_operation        => l_operation
2830             ,p_record   => l_rowtype_rec
2831             ,x_on_operation_action => l_on_operation_action
2832             );
2833 
2834         IF l_result = OE_PC_GLOBALS.YES THEN
2835             -- set OUT result to CONSTRAINED
2836             x_result := OE_PC_GLOBALS.YES;
2837         END IF;
2838 
2839     END IF;
2840 
2841     IF p_header_rec.invoice_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
2842     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.invoice_to_contact_id,p_old_header_rec.invoice_to_contact_id) THEN
2843 
2844         l_result := INVOICE_TO_CONTACT
2845             (p_operation        => l_operation
2846             ,p_record   => l_rowtype_rec
2847             ,x_on_operation_action => l_on_operation_action
2848             );
2849 
2850         IF l_result = OE_PC_GLOBALS.YES THEN
2851             -- set OUT result to CONSTRAINED
2852             x_result := OE_PC_GLOBALS.YES;
2853         END IF;
2854 
2855     END IF;
2856 
2857     IF p_header_rec.invoice_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2858     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.invoice_to_org_id,p_old_header_rec.invoice_to_org_id) THEN
2859 
2860         l_result := INVOICE_TO_ORG
2861             (p_operation        => l_operation
2862             ,p_record   => l_rowtype_rec
2863             ,x_on_operation_action => l_on_operation_action
2864             );
2865 
2866         IF l_result = OE_PC_GLOBALS.YES THEN
2867             -- set OUT result to CONSTRAINED
2868             x_result := OE_PC_GLOBALS.YES;
2869         END IF;
2870 
2871     END IF;
2872 
2873     IF p_header_rec.invoicing_rule_id = FND_API.G_MISS_NUM THEN NULL;
2874     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.invoicing_rule_id,p_old_header_rec.invoicing_rule_id) THEN
2875 
2876         l_result := INVOICING_RULE
2877             (p_operation        => l_operation
2878             ,p_record   => l_rowtype_rec
2879             ,x_on_operation_action => l_on_operation_action
2880             );
2881 
2882         IF l_result = OE_PC_GLOBALS.YES THEN
2883             -- set OUT result to CONSTRAINED
2884             x_result := OE_PC_GLOBALS.YES;
2885         END IF;
2886 
2887     END IF;
2888 
2889     IF p_header_rec.latest_schedule_limit = FND_API.G_MISS_NUM THEN NULL;
2890     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.latest_schedule_limit,p_old_header_rec.latest_schedule_limit) THEN
2891 
2892         l_result := LATEST_SCHEDULE_LIMIT
2893             (p_operation        => l_operation
2894             ,p_record   => l_rowtype_rec
2895             ,x_on_operation_action => l_on_operation_action
2896             );
2897 
2898         IF l_result = OE_PC_GLOBALS.YES THEN
2899             -- set OUT result to CONSTRAINED
2900             x_result := OE_PC_GLOBALS.YES;
2901         END IF;
2902 
2903     END IF;
2904 
2905     IF p_header_rec.ordered_date = FND_API.G_MISS_DATE THEN NULL;
2906     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ordered_date,p_old_header_rec.ordered_date) THEN
2907 
2908         l_result := ORDERED_DATE
2909             (p_operation        => l_operation
2910             ,p_record   => l_rowtype_rec
2911             ,x_on_operation_action => l_on_operation_action
2912             );
2913 
2914         IF l_result = OE_PC_GLOBALS.YES THEN
2915             -- set OUT result to CONSTRAINED
2916             x_result := OE_PC_GLOBALS.YES;
2917         END IF;
2918 
2919     END IF;
2920 
2921     IF p_header_rec.order_date_type_code = FND_API.G_MISS_CHAR THEN NULL;
2922     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.order_date_type_code,p_old_header_rec.order_date_type_code) THEN
2923 
2924         l_result := ORDER_DATE_TYPE_CODE
2925             (p_operation        => l_operation
2926             ,p_record   => l_rowtype_rec
2927             ,x_on_operation_action => l_on_operation_action
2928             );
2929 
2930         IF l_result = OE_PC_GLOBALS.YES THEN
2931             -- set OUT result to CONSTRAINED
2932             x_result := OE_PC_GLOBALS.YES;
2933         END IF;
2934 
2935     END IF;
2936 
2937     IF p_header_rec.order_number = FND_API.G_MISS_NUM THEN NULL;
2938     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.order_number,p_old_header_rec.order_number) THEN
2939 
2940         l_result := ORDER_NUMBER
2941             (p_operation        => l_operation
2942             ,p_record   => l_rowtype_rec
2943             ,x_on_operation_action => l_on_operation_action
2944             );
2945 
2946         IF l_result = OE_PC_GLOBALS.YES THEN
2947             -- set OUT result to CONSTRAINED
2948             x_result := OE_PC_GLOBALS.YES;
2949         END IF;
2950 
2951     END IF;
2952 
2953     IF p_header_rec.order_type_id = FND_API.G_MISS_NUM THEN NULL;
2954     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.order_type_id,p_old_header_rec.order_type_id) THEN
2955 
2956         l_result := ORDER_TYPE
2957             (p_operation        => l_operation
2958             ,p_record   => l_rowtype_rec
2959             ,x_on_operation_action => l_on_operation_action
2960             );
2961 
2962         IF l_result = OE_PC_GLOBALS.YES THEN
2963             -- set OUT result to CONSTRAINED
2964             x_result := OE_PC_GLOBALS.YES;
2965         END IF;
2966 
2967     END IF;
2968 
2969     IF p_header_rec.packing_instructions = FND_API.G_MISS_CHAR THEN NULL;
2970     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.packing_instructions,p_old_header_rec.packing_instructions) THEN
2971 
2972         l_result := PACKING_INSTRUCTIONS
2973             (p_operation        => l_operation
2974             ,p_record   => l_rowtype_rec
2975             ,x_on_operation_action => l_on_operation_action
2976             );
2977 
2978         IF l_result = OE_PC_GLOBALS.YES THEN
2979             -- set OUT result to CONSTRAINED
2980             x_result := OE_PC_GLOBALS.YES;
2981         END IF;
2982 
2983     END IF;
2984 
2985     IF p_header_rec.payment_term_id = FND_API.G_MISS_NUM THEN NULL;
2986     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.payment_term_id,p_old_header_rec.payment_term_id) THEN
2987 
2988         l_result := PAYMENT_TERM
2989             (p_operation        => l_operation
2990             ,p_record   => l_rowtype_rec
2991             ,x_on_operation_action => l_on_operation_action
2992             );
2993 
2994         IF l_result = OE_PC_GLOBALS.YES THEN
2995             -- set OUT result to CONSTRAINED
2996             x_result := OE_PC_GLOBALS.YES;
2997         END IF;
2998 
2999     END IF;
3000 
3001     IF p_header_rec.price_list_id = FND_API.G_MISS_NUM THEN NULL;
3002     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.price_list_id,p_old_header_rec.price_list_id) THEN
3003 
3004         l_result := PRICE_LIST
3005             (p_operation        => l_operation
3006             ,p_record   => l_rowtype_rec
3007             ,x_on_operation_action => l_on_operation_action
3008             );
3009 
3010         IF l_result = OE_PC_GLOBALS.YES THEN
3011             -- set OUT result to CONSTRAINED
3012             x_result := OE_PC_GLOBALS.YES;
3013         END IF;
3014 
3015     END IF;
3016 
3017     IF p_header_rec.pricing_date = FND_API.G_MISS_DATE THEN NULL;
3018     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.pricing_date,p_old_header_rec.pricing_date) THEN
3019 
3020         l_result := PRICING_DATE
3021             (p_operation        => l_operation
3022             ,p_record   => l_rowtype_rec
3023             ,x_on_operation_action => l_on_operation_action
3024             );
3025 
3026         IF l_result = OE_PC_GLOBALS.YES THEN
3027             -- set OUT result to CONSTRAINED
3028             x_result := OE_PC_GLOBALS.YES;
3029         END IF;
3030 
3031     END IF;
3032 
3033     IF p_header_rec.request_date = FND_API.G_MISS_DATE THEN NULL;
3034     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.request_date,p_old_header_rec.request_date) THEN
3035 
3036         l_result := REQUEST_DATE
3037             (p_operation        => l_operation
3038             ,p_record   => l_rowtype_rec
3039             ,x_on_operation_action => l_on_operation_action
3040             );
3041 
3042         IF l_result = OE_PC_GLOBALS.YES THEN
3043             -- set OUT result to CONSTRAINED
3044             x_result := OE_PC_GLOBALS.YES;
3045         END IF;
3046 
3047     END IF;
3048 
3049     IF p_header_rec.return_reason_code = FND_API.G_MISS_CHAR THEN NULL;
3050     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.return_reason_code,p_old_header_rec.return_reason_code) THEN
3051 
3052         l_result := RETURN_REASON
3053             (p_operation        => l_operation
3054             ,p_record   => l_rowtype_rec
3055             ,x_on_operation_action => l_on_operation_action
3056             );
3057 
3058         IF l_result = OE_PC_GLOBALS.YES THEN
3059             -- set OUT result to CONSTRAINED
3060             x_result := OE_PC_GLOBALS.YES;
3061         END IF;
3062 
3063     END IF;
3064 
3065     IF p_header_rec.salesrep_id = FND_API.G_MISS_NUM THEN NULL;
3066     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.salesrep_id,p_old_header_rec.salesrep_id) THEN
3067 
3068         l_result := SALESREP
3069             (p_operation        => l_operation
3070             ,p_record   => l_rowtype_rec
3071             ,x_on_operation_action => l_on_operation_action
3072             );
3073 
3074         IF l_result = OE_PC_GLOBALS.YES THEN
3075             -- set OUT result to CONSTRAINED
3076             x_result := OE_PC_GLOBALS.YES;
3077         END IF;
3078 
3079     END IF;
3080 
3081     IF p_header_rec.sales_channel_code = FND_API.G_MISS_CHAR THEN NULL;
3082     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sales_channel_code,p_old_header_rec.sales_channel_code) THEN
3083 
3084         l_result := SALES_CHANNEL_CODE
3085             (p_operation        => l_operation
3086             ,p_record   => l_rowtype_rec
3087             ,x_on_operation_action => l_on_operation_action
3088             );
3089 
3090         IF l_result = OE_PC_GLOBALS.YES THEN
3091             -- set OUT result to CONSTRAINED
3092             x_result := OE_PC_GLOBALS.YES;
3093         END IF;
3094 
3095     END IF;
3096 
3097 /* START PREPAYMENT */
3098     IF p_header_rec.payment_type_code = FND_API.G_MISS_CHAR THEN NULL;
3099     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.payment_type_code, p_old_header_rec.payment_type_code) THEN
3100 
3101         l_result := PAYMENT_TYPE
3102             (p_operation        => l_operation
3103             ,p_record   => l_rowtype_rec
3104             ,x_on_operation_action => l_on_operation_action
3105             );
3106         IF l_result = OE_PC_GLOBALS.YES THEN
3107             -- set OUT result to CONSTRAINED
3108             x_result := OE_PC_GLOBALS.YES;
3109         END IF;
3110 
3111     END IF;
3112 
3113     IF p_header_rec.credit_card_holder_name = FND_API.G_MISS_CHAR THEN NULL;
3114     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.credit_card_holder_name, p_old_header_rec.credit_card_holder_name) THEN
3115 
3116         l_result := CREDIT_CARD_HOLDER_NAME
3117             (p_operation        => l_operation
3118             ,p_record   => l_rowtype_rec
3119             ,x_on_operation_action => l_on_operation_action
3120             );
3121         IF l_result = OE_PC_GLOBALS.YES THEN
3122             -- set OUT result to CONSTRAINED
3123             x_result := OE_PC_GLOBALS.YES;
3124         END IF;
3125 
3126     END IF;
3127 
3128     IF p_header_rec.credit_card_code = FND_API.G_MISS_CHAR THEN NULL;
3129     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.credit_card_code, p_old_header_rec.credit_card_code) THEN
3130 
3131         l_result := CREDIT_CARD
3132             (p_operation        => l_operation
3133             ,p_record   => l_rowtype_rec
3134             ,x_on_operation_action => l_on_operation_action
3135             );
3136         IF l_result = OE_PC_GLOBALS.YES THEN
3137             -- set OUT result to CONSTRAINED
3138             x_result := OE_PC_GLOBALS.YES;
3139         END IF;
3140 
3141     END IF;
3142 
3143     IF p_header_rec.credit_card_number = FND_API.G_MISS_CHAR THEN NULL;
3144     --R12 CC Encryption
3145     --Since the credit card numbers are encrypted, calling
3146     --the function same credit card to determine whether the old
3147     --and new card numbers are equal.
3148     ELSIF NOT OE_GLOBALS.Is_Same_Credit_Card(p_old_header_rec.credit_card_number,
3149 	    p_header_rec.credit_card_number,
3150 	    p_old_header_rec.cc_instrument_id,
3151 	    p_header_rec.cc_instrument_id) THEN
3152         l_result := CREDIT_CARD_NUMBER
3153             (p_operation        => l_operation
3154             ,p_record   => l_rowtype_rec
3155             ,x_on_operation_action => l_on_operation_action
3156             );
3157         IF l_result = OE_PC_GLOBALS.YES THEN
3158             -- set OUT result to CONSTRAINED
3159             x_result := OE_PC_GLOBALS.YES;
3160         END IF;
3161 
3162     END IF;
3163 
3164     IF p_header_rec.credit_card_expiration_date = FND_API.G_MISS_DATE THEN NULL;
3165     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.credit_card_expiration_date, p_old_header_rec.credit_card_expiration_date) THEN
3166 
3167         l_result := CREDIT_CARD_EXPIRATION_DATE
3168             (p_operation        => l_operation
3169             ,p_record   => l_rowtype_rec
3170             ,x_on_operation_action => l_on_operation_action
3171             );
3172         IF l_result = OE_PC_GLOBALS.YES THEN
3173             -- set OUT result to CONSTRAINED
3174             x_result := OE_PC_GLOBALS.YES;
3175         END IF;
3176 
3177     END IF;
3178 /* END PREPAYMENT */
3179 
3180     IF p_header_rec.shipment_priority_code = FND_API.G_MISS_CHAR THEN NULL;
3181     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.shipment_priority_code,p_old_header_rec.shipment_priority_code) THEN
3182 
3183         l_result := SHIPMENT_PRIORITY
3184             (p_operation        => l_operation
3185             ,p_record   => l_rowtype_rec
3186             ,x_on_operation_action => l_on_operation_action
3187             );
3188 
3189         IF l_result = OE_PC_GLOBALS.YES THEN
3190             -- set OUT result to CONSTRAINED
3191             x_result := OE_PC_GLOBALS.YES;
3192         END IF;
3193 
3194     END IF;
3195 
3196     IF p_header_rec.shipping_instructions = FND_API.G_MISS_CHAR THEN NULL;
3197     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.shipping_instructions,p_old_header_rec.shipping_instructions) THEN
3198 
3199         l_result := SHIPPING_INSTRUCTIONS
3200             (p_operation        => l_operation
3201             ,p_record   => l_rowtype_rec
3202             ,x_on_operation_action => l_on_operation_action
3203             );
3204 
3205         IF l_result = OE_PC_GLOBALS.YES THEN
3206             -- set OUT result to CONSTRAINED
3207             x_result := OE_PC_GLOBALS.YES;
3208         END IF;
3209 
3210     END IF;
3211 
3212     IF p_header_rec.shipping_method_code = FND_API.G_MISS_CHAR THEN NULL;
3213     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.shipping_method_code,p_old_header_rec.shipping_method_code) THEN
3214 
3215         l_result := SHIPPING_METHOD
3216             (p_operation        => l_operation
3217             ,p_record   => l_rowtype_rec
3218             ,x_on_operation_action => l_on_operation_action
3219             );
3220 
3221         IF l_result = OE_PC_GLOBALS.YES THEN
3222             -- set OUT result to CONSTRAINED
3223             x_result := OE_PC_GLOBALS.YES;
3224         END IF;
3225 
3226     END IF;
3227 
3228     IF p_header_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN NULL;
3229     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_from_org_id,p_old_header_rec.ship_from_org_id) THEN
3230 
3231         l_result := SHIP_FROM_ORG
3232             (p_operation        => l_operation
3233             ,p_record   => l_rowtype_rec
3234             ,x_on_operation_action => l_on_operation_action
3235             );
3236 
3237         IF l_result = OE_PC_GLOBALS.YES THEN
3238             -- set OUT result to CONSTRAINED
3239             x_result := OE_PC_GLOBALS.YES;
3240         END IF;
3241 
3242     END IF;
3243 
3244     IF p_header_rec.ship_tolerance_above = FND_API.G_MISS_NUM THEN NULL;
3245     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_tolerance_above,p_old_header_rec.ship_tolerance_above) THEN
3246 
3247         l_result := SHIP_TOLERANCE_ABOVE
3248             (p_operation        => l_operation
3249             ,p_record   => l_rowtype_rec
3250             ,x_on_operation_action => l_on_operation_action
3251             );
3252 
3253         IF l_result = OE_PC_GLOBALS.YES THEN
3254             -- set OUT result to CONSTRAINED
3255             x_result := OE_PC_GLOBALS.YES;
3256         END IF;
3257 
3258     END IF;
3259 
3260     IF p_header_rec.ship_tolerance_below = FND_API.G_MISS_NUM THEN NULL;
3261     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_tolerance_below,p_old_header_rec.ship_tolerance_below) THEN
3262 
3263         l_result := SHIP_TOLERANCE_BELOW
3264             (p_operation        => l_operation
3265             ,p_record   => l_rowtype_rec
3266             ,x_on_operation_action => l_on_operation_action
3267             );
3268 
3269         IF l_result = OE_PC_GLOBALS.YES THEN
3270             -- set OUT result to CONSTRAINED
3271             x_result := OE_PC_GLOBALS.YES;
3272         END IF;
3273 
3274     END IF;
3275 
3276     IF p_header_rec.ship_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
3277     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_to_contact_id,p_old_header_rec.ship_to_contact_id) THEN
3278 
3279         l_result := SHIP_TO_CONTACT
3280             (p_operation        => l_operation
3281             ,p_record   => l_rowtype_rec
3282             ,x_on_operation_action => l_on_operation_action
3283             );
3284 
3285         IF l_result = OE_PC_GLOBALS.YES THEN
3286             -- set OUT result to CONSTRAINED
3287             x_result := OE_PC_GLOBALS.YES;
3288         END IF;
3289 
3290     END IF;
3291 
3292     IF p_header_rec.ship_to_org_id = FND_API.G_MISS_NUM THEN NULL;
3293     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.ship_to_org_id,p_old_header_rec.ship_to_org_id) THEN
3294 
3295         l_result := SHIP_TO_ORG
3296             (p_operation        => l_operation
3297             ,p_record   => l_rowtype_rec
3298             ,x_on_operation_action => l_on_operation_action
3299             );
3300 
3301         IF l_result = OE_PC_GLOBALS.YES THEN
3302             -- set OUT result to CONSTRAINED
3303             x_result := OE_PC_GLOBALS.YES;
3304         END IF;
3305 
3306     END IF;
3307 
3308     IF p_header_rec.sold_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
3309     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sold_to_contact_id,p_old_header_rec.sold_to_contact_id) THEN
3310 
3311         l_result := SOLD_TO_CONTACT
3312             (p_operation        => l_operation
3313             ,p_record   => l_rowtype_rec
3314             ,x_on_operation_action => l_on_operation_action
3315             );
3316 
3317         IF l_result = OE_PC_GLOBALS.YES THEN
3318             -- set OUT result to CONSTRAINED
3319             x_result := OE_PC_GLOBALS.YES;
3320         END IF;
3321 
3322     END IF;
3323 
3324     IF p_header_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN NULL;
3325     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sold_to_org_id,p_old_header_rec.sold_to_org_id) THEN
3326 
3327         l_result := SOLD_TO_ORG
3328             (p_operation        => l_operation
3329             ,p_record   => l_rowtype_rec
3330             ,x_on_operation_action => l_on_operation_action
3331             );
3332 
3333         IF l_result = OE_PC_GLOBALS.YES THEN
3334             -- set OUT result to CONSTRAINED
3335             x_result := OE_PC_GLOBALS.YES;
3336         END IF;
3337 
3338     END IF;
3339 
3340     IF p_header_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN NULL;
3341     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.tax_exempt_flag,p_old_header_rec.tax_exempt_flag) THEN
3342 
3343         l_result := TAX_EXEMPT
3344             (p_operation        => l_operation
3345             ,p_record   => l_rowtype_rec
3346             ,x_on_operation_action => l_on_operation_action
3347             );
3348 
3349         IF l_result = OE_PC_GLOBALS.YES THEN
3350             -- set OUT result to CONSTRAINED
3351             x_result := OE_PC_GLOBALS.YES;
3352         END IF;
3353 
3354     END IF;
3355 
3356     IF p_header_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN NULL;
3357     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.tax_exempt_number,p_old_header_rec.tax_exempt_number) THEN
3358 
3359         l_result := TAX_EXEMPT_NUMBER
3360             (p_operation        => l_operation
3361             ,p_record   => l_rowtype_rec
3362             ,x_on_operation_action => l_on_operation_action
3363             );
3364 
3365         IF l_result = OE_PC_GLOBALS.YES THEN
3366             -- set OUT result to CONSTRAINED
3367             x_result := OE_PC_GLOBALS.YES;
3368         END IF;
3369 
3370     END IF;
3371 
3372     IF p_header_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN NULL;
3373     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.tax_exempt_reason_code,p_old_header_rec.tax_exempt_reason_code) THEN
3374 
3375         l_result := TAX_EXEMPT_REASON
3376             (p_operation        => l_operation
3377             ,p_record   => l_rowtype_rec
3378             ,x_on_operation_action => l_on_operation_action
3379             );
3380 
3381         IF l_result = OE_PC_GLOBALS.YES THEN
3382             -- set OUT result to CONSTRAINED
3383             x_result := OE_PC_GLOBALS.YES;
3384         END IF;
3385 
3386     END IF;
3387 
3388     IF p_header_rec.transactional_curr_code = FND_API.G_MISS_CHAR THEN NULL;
3389     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.transactional_curr_code,p_old_header_rec.transactional_curr_code) THEN
3390 
3391         l_result := TRANSACTIONAL_CURR
3392             (p_operation        => l_operation
3393             ,p_record   => l_rowtype_rec
3394             ,x_on_operation_action => l_on_operation_action
3395             );
3396 
3397         IF l_result = OE_PC_GLOBALS.YES THEN
3398             -- set OUT result to CONSTRAINED
3399             x_result := OE_PC_GLOBALS.YES;
3400         END IF;
3401 
3402     END IF;
3403 
3404     -- for bug 2395032
3405     IF p_header_rec.payment_amount = FND_API.G_MISS_NUM THEN NULL;
3406     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.payment_amount,p_old_header_rec.payment_amount) THEN
3407 
3408         l_result := PAYMENT_AMOUNT
3409             (p_operation        => l_operation
3410             ,p_record   => l_rowtype_rec
3411             ,x_on_operation_action => l_on_operation_action
3412             );
3413 
3414         IF l_result = OE_PC_GLOBALS.YES THEN
3415             -- set OUT result to CONSTRAINED
3416             x_result := OE_PC_GLOBALS.YES;
3417         END IF;
3418 
3419     END IF;
3420 
3421     IF p_header_rec.check_number = FND_API.G_MISS_CHAR THEN NULL;
3422     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.check_number,p_old_header_rec.check_number) THEN
3423 
3424         l_result := CHECK_NUMBER
3425             (p_operation        => l_operation
3426             ,p_record   => l_rowtype_rec
3427             ,x_on_operation_action => l_on_operation_action
3428             );
3429 
3430         IF l_result = OE_PC_GLOBALS.YES THEN
3431             -- set OUT result to CONSTRAINED
3432             x_result := OE_PC_GLOBALS.YES;
3433         END IF;
3434 
3435     END IF;
3436     -- end 2395032
3437 
3438     -- BEGIN: Blankets Code Merge
3439     IF p_header_rec.blanket_number = FND_API.G_MISS_NUM THEN NULL;
3440     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.blanket_number,p_old_header_rec.blanket_number) THEN
3441 
3442         l_result := BLANKET_NUMBER
3443             (p_operation        => l_operation
3444             ,p_record   => l_rowtype_rec
3445             ,x_on_operation_action => l_on_operation_action
3446             );
3447 
3448         IF l_result = OE_PC_GLOBALS.YES THEN
3449             -- set OUT result to CONSTRAINED
3450             x_result := OE_PC_GLOBALS.YES;
3451         END IF;
3452 
3453     END IF;
3454     -- END: Blankets Code Merge
3455 
3456     -- Quoting Changes Start
3457 
3458     IF p_header_rec.quote_number = FND_API.G_MISS_NUM THEN NULL;
3459     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.quote_number,p_old_header_rec.quote_number) THEN
3460 
3461         l_result := QUOTE_NUMBER
3462             (p_operation        => l_operation
3463             ,p_record   => l_rowtype_rec
3464             ,x_on_operation_action => l_on_operation_action
3465             );
3466 
3467         IF l_result = OE_PC_GLOBALS.YES THEN
3468             -- set OUT result to CONSTRAINED
3469             x_result := OE_PC_GLOBALS.YES;
3470         END IF;
3471 
3472     END IF;
3473 
3474     IF p_header_rec.quote_date = FND_API.G_MISS_DATE THEN NULL;
3475     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.quote_date,p_old_header_rec.quote_date) THEN
3476 
3477         l_result := QUOTE_DATE
3478             (p_operation        => l_operation
3479             ,p_record   => l_rowtype_rec
3480             ,x_on_operation_action => l_on_operation_action
3481             );
3482 
3483         IF l_result = OE_PC_GLOBALS.YES THEN
3484             -- set OUT result to CONSTRAINED
3485             x_result := OE_PC_GLOBALS.YES;
3486         END IF;
3487 
3488     END IF;
3489 
3490     IF p_header_rec.sales_document_name = FND_API.G_MISS_CHAR THEN NULL;
3491     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sales_document_name,p_old_header_rec.sales_document_name) THEN
3492 
3493         l_result := SALES_DOCUMENT_NAME
3494             (p_operation        => l_operation
3495             ,p_record   => l_rowtype_rec
3496             ,x_on_operation_action => l_on_operation_action
3497             );
3498 
3499         IF l_result = OE_PC_GLOBALS.YES THEN
3500             -- set OUT result to CONSTRAINED
3501             x_result := OE_PC_GLOBALS.YES;
3502         END IF;
3503 
3504     END IF;
3505 
3506     IF p_header_rec.transaction_phase_code = FND_API.G_MISS_CHAR THEN NULL;
3507     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.transaction_phase_code,p_old_header_rec.transaction_phase_code) THEN
3508 
3509         l_result := TRANSACTION_PHASE
3510             (p_operation        => l_operation
3511             ,p_record   => l_rowtype_rec
3512             ,x_on_operation_action => l_on_operation_action
3513             );
3514 
3515         IF l_result = OE_PC_GLOBALS.YES THEN
3516             -- set OUT result to CONSTRAINED
3517             x_result := OE_PC_GLOBALS.YES;
3518         END IF;
3519 
3520     END IF;
3521 
3522     IF p_header_rec.user_status_code = FND_API.G_MISS_CHAR THEN NULL;
3523     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.user_status_code,p_old_header_rec.user_status_code) THEN
3524 
3525         l_result := USER_STATUS
3526             (p_operation        => l_operation
3527             ,p_record   => l_rowtype_rec
3528             ,x_on_operation_action => l_on_operation_action
3529             );
3530 
3531         IF l_result = OE_PC_GLOBALS.YES THEN
3532             -- set OUT result to CONSTRAINED
3533             x_result := OE_PC_GLOBALS.YES;
3534         END IF;
3535 
3536     END IF;
3537 
3538     IF p_header_rec.expiration_date = FND_API.G_MISS_DATE THEN NULL;
3539     ELSIF NOT OE_GLOBALS.EQUAL(trunc(p_header_rec.expiration_date),trunc(p_old_header_rec.expiration_date)) THEN
3540 
3541         l_result := EXPIRATION_DATE
3542             (p_operation        => l_operation
3543             ,p_record   => l_rowtype_rec
3544             ,x_on_operation_action => l_on_operation_action
3545             );
3546 
3547         IF l_result = OE_PC_GLOBALS.YES THEN
3548             -- set OUT result to CONSTRAINED
3549             x_result := OE_PC_GLOBALS.YES;
3550         END IF;
3551 
3552     END IF;
3553 
3554     IF p_header_rec.version_number = FND_API.G_MISS_NUM THEN NULL;
3555     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.version_number,p_old_header_rec.version_number) THEN
3556 
3557         l_result := VERSION_NUMBER
3558             (p_operation        => l_operation
3559             ,p_record   => l_rowtype_rec
3560             ,x_on_operation_action => l_on_operation_action
3561             );
3562 
3563         IF l_result = OE_PC_GLOBALS.YES THEN
3564             -- set OUT result to CONSTRAINED
3565             x_result := OE_PC_GLOBALS.YES;
3566         END IF;
3567 
3568     END IF;
3569 
3570     IF p_header_rec.sold_to_site_use_id = FND_API.G_MISS_NUM THEN NULL;
3571     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.sold_to_site_use_id,p_old_header_rec.sold_to_site_use_id) THEN
3572 
3573         l_result := SOLD_TO_SITE_USE
3574             (p_operation        => l_operation
3575             ,p_record   => l_rowtype_rec
3576             ,x_on_operation_action => l_on_operation_action
3577             );
3578 
3579         IF l_result = OE_PC_GLOBALS.YES THEN
3580             -- set OUT result to CONSTRAINED
3581             x_result := OE_PC_GLOBALS.YES;
3582         END IF;
3583 
3584     END IF;
3585 
3586     -- Quoting Changes END
3587 
3588     -- BEGIN: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
3589     -- Bug 2003823:
3590     -- If profile indicates that generic update constraints (e.g. seeded
3591     -- closed order condition) should not be checked for DFF, then
3592     -- set the global to 'N'.
3593     -- Also, store the current value of global in a local variable and
3594     -- re-set it after DFF check. If DFF were the only fields being
3595     -- updated and profile was set to 'N', global at the end should
3596     -- be re-set to 'Y' - this indicates to process order that no
3597     -- constrainable attributes were updated and thus, it would
3598     -- suppress entity level security check also.
3599     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
3600        l_check_all_cols_constraint := g_check_all_cols_constraint;
3601        g_check_all_cols_constraint := 'N';
3602     END IF;
3603 
3604     IF p_header_rec.context = FND_API.G_MISS_CHAR THEN NULL;
3605     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.context,p_old_header_rec.context) THEN
3606 
3607         l_result := CONTEXT
3608             (p_operation        => l_operation
3609             ,p_record   => l_rowtype_rec
3610             ,x_on_operation_action => l_on_operation_action
3611             );
3612 
3613         IF l_result = OE_PC_GLOBALS.YES THEN
3614             -- set OUT result to CONSTRAINED
3615             x_result := OE_PC_GLOBALS.YES;
3616         END IF;
3617 
3618     END IF;
3619 
3620     IF p_header_rec.attribute1 = FND_API.G_MISS_CHAR THEN NULL;
3621     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute1,p_old_header_rec.attribute1) THEN
3622 
3623         l_result := ATTRIBUTE1
3624             (p_operation        => l_operation
3625             ,p_record   => l_rowtype_rec
3626             ,x_on_operation_action => l_on_operation_action
3627             );
3628 
3629         IF l_result = OE_PC_GLOBALS.YES THEN
3630             -- set OUT result to CONSTRAINED
3631             x_result := OE_PC_GLOBALS.YES;
3632         END IF;
3633 
3634     END IF;
3635 
3636     IF p_header_rec.attribute10 = FND_API.G_MISS_CHAR THEN NULL;
3637     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute10,p_old_header_rec.attribute10) THEN
3638 
3639         l_result := ATTRIBUTE10
3640             (p_operation        => l_operation
3641             ,p_record   => l_rowtype_rec
3642             ,x_on_operation_action => l_on_operation_action
3643             );
3644 
3645         IF l_result = OE_PC_GLOBALS.YES THEN
3646             -- set OUT result to CONSTRAINED
3647             x_result := OE_PC_GLOBALS.YES;
3648         END IF;
3649 
3650     END IF;
3651 
3652     IF p_header_rec.attribute11 = FND_API.G_MISS_CHAR THEN NULL;
3653     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute11,p_old_header_rec.attribute11) THEN
3654 
3655         l_result := ATTRIBUTE11
3656             (p_operation        => l_operation
3657             ,p_record   => l_rowtype_rec
3658             ,x_on_operation_action => l_on_operation_action
3659             );
3660 
3661         IF l_result = OE_PC_GLOBALS.YES THEN
3662             -- set OUT result to CONSTRAINED
3663             x_result := OE_PC_GLOBALS.YES;
3664         END IF;
3665 
3666     END IF;
3667 
3668     IF p_header_rec.attribute12 = FND_API.G_MISS_CHAR THEN NULL;
3669     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute12,p_old_header_rec.attribute12) THEN
3670 
3671         l_result := ATTRIBUTE12
3672             (p_operation        => l_operation
3673             ,p_record   => l_rowtype_rec
3674             ,x_on_operation_action => l_on_operation_action
3675             );
3676 
3677         IF l_result = OE_PC_GLOBALS.YES THEN
3678             -- set OUT result to CONSTRAINED
3679             x_result := OE_PC_GLOBALS.YES;
3680         END IF;
3681 
3682     END IF;
3683 
3684     IF p_header_rec.attribute13 = FND_API.G_MISS_CHAR THEN NULL;
3685     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute13,p_old_header_rec.attribute13) THEN
3686 
3687         l_result := ATTRIBUTE13
3688             (p_operation        => l_operation
3689             ,p_record   => l_rowtype_rec
3690             ,x_on_operation_action => l_on_operation_action
3691             );
3692 
3693         IF l_result = OE_PC_GLOBALS.YES THEN
3694             -- set OUT result to CONSTRAINED
3695             x_result := OE_PC_GLOBALS.YES;
3696         END IF;
3697 
3698     END IF;
3699 
3700     IF p_header_rec.attribute14 = FND_API.G_MISS_CHAR THEN NULL;
3701     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute14,p_old_header_rec.attribute14) THEN
3702 
3703         l_result := ATTRIBUTE14
3704             (p_operation        => l_operation
3705             ,p_record   => l_rowtype_rec
3706             ,x_on_operation_action => l_on_operation_action
3707             );
3708 
3709         IF l_result = OE_PC_GLOBALS.YES THEN
3710             -- set OUT result to CONSTRAINED
3711             x_result := OE_PC_GLOBALS.YES;
3712         END IF;
3713 
3714     END IF;
3715 
3716     IF p_header_rec.attribute15 = FND_API.G_MISS_CHAR THEN NULL;
3717     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute15,p_old_header_rec.attribute15) THEN
3718 
3719         l_result := ATTRIBUTE15
3720             (p_operation        => l_operation
3721             ,p_record   => l_rowtype_rec
3722             ,x_on_operation_action => l_on_operation_action
3723             );
3724 
3725         IF l_result = OE_PC_GLOBALS.YES THEN
3726             -- set OUT result to CONSTRAINED
3727             x_result := OE_PC_GLOBALS.YES;
3728         END IF;
3729 
3730     END IF;
3731 
3732 --For bug 2184255
3733     IF p_header_rec.attribute16 = FND_API.G_MISS_CHAR THEN NULL;
3734     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute16,p_old_header_rec.attribute16) THEN
3735 
3736         l_result := ATTRIBUTE16
3737             (p_operation        => l_operation
3738             ,p_record   => l_rowtype_rec
3739             ,x_on_operation_action => l_on_operation_action
3740             );
3741 
3742         IF l_result = OE_PC_GLOBALS.YES THEN
3743             -- set OUT result to CONSTRAINED
3744             x_result := OE_PC_GLOBALS.YES;
3745         END IF;
3746 
3747     END IF;
3748 
3749     IF p_header_rec.attribute17 = FND_API.G_MISS_CHAR THEN NULL;
3750     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute17,p_old_header_rec.attribute17) THEN
3751 
3752         l_result := ATTRIBUTE17
3753             (p_operation        => l_operation
3754             ,p_record   => l_rowtype_rec
3755             ,x_on_operation_action => l_on_operation_action
3756             );
3757 
3758         IF l_result = OE_PC_GLOBALS.YES THEN
3759             -- set OUT result to CONSTRAINED
3760             x_result := OE_PC_GLOBALS.YES;
3761         END IF;
3762 
3763     END IF;
3764 
3765     IF p_header_rec.attribute18 = FND_API.G_MISS_CHAR THEN NULL;
3766     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute18,p_old_header_rec.attribute18) THEN
3767 
3768         l_result := ATTRIBUTE18
3769             (p_operation        => l_operation
3770             ,p_record   => l_rowtype_rec
3771             ,x_on_operation_action => l_on_operation_action
3772             );
3773 
3774         IF l_result = OE_PC_GLOBALS.YES THEN
3775             -- set OUT result to CONSTRAINED
3776             x_result := OE_PC_GLOBALS.YES;
3777         END IF;
3778 
3779     END IF;
3780 
3781     IF p_header_rec.attribute19 = FND_API.G_MISS_CHAR THEN NULL;
3782     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute19,p_old_header_rec.attribute19) THEN
3783 
3784         l_result := ATTRIBUTE19
3785             (p_operation        => l_operation
3786             ,p_record   => l_rowtype_rec
3787             ,x_on_operation_action => l_on_operation_action
3788             );
3789 
3790         IF l_result = OE_PC_GLOBALS.YES THEN
3791             -- set OUT result to CONSTRAINED
3792             x_result := OE_PC_GLOBALS.YES;
3793         END IF;
3794 
3795     END IF;
3796 
3797     IF p_header_rec.attribute2 = FND_API.G_MISS_CHAR THEN NULL;
3798     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute2,p_old_header_rec.attribute2) THEN
3799 
3800         l_result := ATTRIBUTE2
3801             (p_operation        => l_operation
3802             ,p_record   => l_rowtype_rec
3803             ,x_on_operation_action => l_on_operation_action
3804             );
3805 
3806         IF l_result = OE_PC_GLOBALS.YES THEN
3807             -- set OUT result to CONSTRAINED
3808             x_result := OE_PC_GLOBALS.YES;
3809         END IF;
3810 
3811     END IF;
3812 
3813     IF p_header_rec.attribute20 = FND_API.G_MISS_CHAR THEN NULL;
3814     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute20,p_old_header_rec.attribute20) THEN
3815 
3816         l_result := ATTRIBUTE20
3817             (p_operation        => l_operation
3818             ,p_record   => l_rowtype_rec
3819             ,x_on_operation_action => l_on_operation_action
3820             );
3821 
3822         IF l_result = OE_PC_GLOBALS.YES THEN
3823             -- set OUT result to CONSTRAINED
3824             x_result := OE_PC_GLOBALS.YES;
3825         END IF;
3826 
3827     END IF;
3828 
3829 --End bug 2184255
3830 
3831     IF p_header_rec.attribute3 = FND_API.G_MISS_CHAR THEN NULL;
3832     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute3,p_old_header_rec.attribute3) THEN
3833 
3834         l_result := ATTRIBUTE3
3835             (p_operation        => l_operation
3836             ,p_record   => l_rowtype_rec
3837             ,x_on_operation_action => l_on_operation_action
3838             );
3839 
3840         IF l_result = OE_PC_GLOBALS.YES THEN
3841             -- set OUT result to CONSTRAINED
3842             x_result := OE_PC_GLOBALS.YES;
3843         END IF;
3844 
3845     END IF;
3846 
3847     IF p_header_rec.attribute4 = FND_API.G_MISS_CHAR THEN NULL;
3848     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute4,p_old_header_rec.attribute4) THEN
3849 
3850         l_result := ATTRIBUTE4
3851             (p_operation        => l_operation
3852             ,p_record   => l_rowtype_rec
3853             ,x_on_operation_action => l_on_operation_action
3854             );
3855 
3856         IF l_result = OE_PC_GLOBALS.YES THEN
3857             -- set OUT result to CONSTRAINED
3858             x_result := OE_PC_GLOBALS.YES;
3859         END IF;
3860 
3861     END IF;
3862 
3863     IF p_header_rec.attribute5 = FND_API.G_MISS_CHAR THEN NULL;
3864     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute5,p_old_header_rec.attribute5) THEN
3865 
3866         l_result := ATTRIBUTE5
3867             (p_operation        => l_operation
3868             ,p_record   => l_rowtype_rec
3869             ,x_on_operation_action => l_on_operation_action
3870             );
3871 
3872         IF l_result = OE_PC_GLOBALS.YES THEN
3873             -- set OUT result to CONSTRAINED
3874             x_result := OE_PC_GLOBALS.YES;
3875         END IF;
3876 
3877     END IF;
3878 
3879     IF p_header_rec.attribute6 = FND_API.G_MISS_CHAR THEN NULL;
3880     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute6,p_old_header_rec.attribute6) THEN
3881 
3882         l_result := ATTRIBUTE6
3883             (p_operation        => l_operation
3884             ,p_record   => l_rowtype_rec
3885             ,x_on_operation_action => l_on_operation_action
3886             );
3887 
3888         IF l_result = OE_PC_GLOBALS.YES THEN
3889             -- set OUT result to CONSTRAINED
3890             x_result := OE_PC_GLOBALS.YES;
3891         END IF;
3892 
3893     END IF;
3894 
3895     IF p_header_rec.attribute7 = FND_API.G_MISS_CHAR THEN NULL;
3896     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute7,p_old_header_rec.attribute7) THEN
3897 
3898         l_result := ATTRIBUTE7
3899             (p_operation        => l_operation
3900             ,p_record   => l_rowtype_rec
3901             ,x_on_operation_action => l_on_operation_action
3902             );
3903 
3904         IF l_result = OE_PC_GLOBALS.YES THEN
3905             -- set OUT result to CONSTRAINED
3906             x_result := OE_PC_GLOBALS.YES;
3907         END IF;
3908 
3909     END IF;
3910 
3911     IF p_header_rec.attribute8 = FND_API.G_MISS_CHAR THEN NULL;
3912     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute8,p_old_header_rec.attribute8) THEN
3913 
3914         l_result := ATTRIBUTE8
3915             (p_operation        => l_operation
3916             ,p_record   => l_rowtype_rec
3917             ,x_on_operation_action => l_on_operation_action
3918             );
3919 
3920         IF l_result = OE_PC_GLOBALS.YES THEN
3921             -- set OUT result to CONSTRAINED
3922             x_result := OE_PC_GLOBALS.YES;
3923         END IF;
3924 
3925     END IF;
3926 
3927     IF p_header_rec.attribute9 = FND_API.G_MISS_CHAR THEN NULL;
3928     ELSIF NOT OE_GLOBALS.EQUAL(p_header_rec.attribute9,p_old_header_rec.attribute9) THEN
3929 
3930         l_result := ATTRIBUTE9
3931             (p_operation        => l_operation
3932             ,p_record   => l_rowtype_rec
3933             ,x_on_operation_action => l_on_operation_action
3934             );
3935 
3936         IF l_result = OE_PC_GLOBALS.YES THEN
3937             -- set OUT result to CONSTRAINED
3938             x_result := OE_PC_GLOBALS.YES;
3939         END IF;
3940 
3941     END IF;
3942 
3943     IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
3944        IF l_debug_level  > 0 THEN
3945            oe_debug_pub.add(  'SETTING CHECK ALL COLS CONSTRAINT TO:'||L_CHECK_ALL_COLS_CONSTRAINT ) ;
3946        END IF;
3947        g_check_all_cols_constraint := l_check_all_cols_constraint;
3948     END IF;
3949 
3950     -- END: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
3951     -- NOTE: Please add constraints check for new attributes before the
3952     -- descriptive flexfield attributes check.
3953 
3954 IF l_debug_level  > 0 THEN
3955     oe_debug_pub.add(  'EXIT OE_HEADER_SECURITY.ATTRIBUTES' , 1 ) ;
3956 END IF;
3957 
3958 EXCEPTION
3959    WHEN e_inacitve_pl THEN
3960       x_return_status := FND_API.G_RET_STS_ERROR;
3961       FND_MESSAGE.SET_NAME('ONT','OE_INACTIVE_PRICELIST');
3962       OE_MSG_PUB.ADD;
3963 
3964     WHEN FND_API.G_EXC_ERROR THEN
3965     x_return_status := FND_API.G_RET_STS_ERROR;
3966     WHEN OTHERS THEN
3967     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3968     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3969         OE_MSG_PUB.Add_Exc_Msg
3970         (   G_PKG_NAME
3971         ,   'Attributes'
3972         );
3973     END IF;
3974 
3975 END Attributes;
3976 
3977 /*---------------------------------------------------------------
3978 PROCEDURE Copied_From_Quote
3979 ----------------------------------------------------------------*/
3980 PROCEDURE Copied_From_Quote
3981 (p_application_id                 IN NUMBER
3982 ,p_entity_short_name              IN VARCHAR2
3983 ,p_validation_entity_short_name   IN VARCHAR2
3984 ,p_validation_tmplt_short_name    IN VARCHAR2
3985 ,p_record_set_short_name          IN VARCHAR2
3986 ,p_scope                          IN VARCHAR2
3987 ,x_result                         OUT NOCOPY NUMBER
3988 )
3989 IS
3990   l_phase                              VARCHAR2(30);
3991   l_source_document_id                 NUMBER;
3992   l_source_document_type_id            NUMBER;
3993   l_source_document_ver_num            NUMBER;
3994   CURSOR c_hdr IS
3995          SELECT nvl(transaction_phase_code,'F')
3996            FROM OE_ORDER_HEADERS
3997           WHERE header_id = l_source_document_id
3998             AND version_number = l_source_document_ver_num;
3999   CURSOR c_hdr_hist IS
4000          SELECT nvl(transaction_phase_code,'F')
4001            FROM OE_ORDER_HEADER_HISTORY
4002           WHERE header_id = l_source_document_id
4003             AND version_number = l_source_document_ver_num
4004             AND version_flag = 'Y';
4005 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4006 BEGIN
4007 
4008   if l_debug_level > 0 then
4009      oe_debug_pub.add('Enter Copied_From_Quote');
4010   end if;
4011 
4012   x_result := 0;
4013 
4014   IF p_validation_entity_short_name = 'HEADER' THEN
4015      l_source_document_type_id := oe_header_security.g_record.source_document_type_id;
4016      l_source_document_id := oe_header_security.g_record.source_document_id;
4017      l_source_document_ver_num :=
4018                      oe_header_security.g_record.source_document_version_number;
4019   END IF;
4020 
4021   -- If copied order
4022   IF l_source_document_type_id = 2 THEN
4023 
4024      OPEN c_hdr;
4025      FETCH c_hdr INTO l_phase;
4026         IF c_hdr%NOTFOUND THEN
4027            OPEN c_hdr_hist;
4028            FETCH c_hdr_hist INTO l_phase;
4029            CLOSE c_hdr_hist;
4030         END IF;
4031      CLOSE c_hdr;
4032 
4033      IF l_phase = 'N' THEN
4034         x_result := 1;
4035      END IF;
4036 
4037   END IF;
4038 
4039   if l_debug_level > 0 then
4040      oe_debug_pub.add('Exit Copied_From_Quote');
4041   end if;
4042 
4043 EXCEPTION
4044   WHEN OTHERS THEN
4045      if l_debug_level > 0 then
4046         oe_debug_pub.add('Others error :'||substr(sqlerrm,1,200));
4047      end if;
4048      x_result := 0;
4049 END Copied_From_Quote;
4050 
4051 END OE_Header_Security;