DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_BLANKET_LINE_SECURITY

Source


1 PACKAGE BODY OE_Blanket_Line_Security AS
2 /* $Header: OEXXBLNB.pls 120.1 2007/10/31 06:51:51 smmathew ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Blanket_Line_Security';
7 
8 g_order_number                   NUMBER := FND_API.G_MISS_NUM;
9 
10 -- LOCAL PROCEDURES
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_BLANKET_LINES_V%ROWTYPE
16  , x_on_operation_action	OUT NOCOPY NUMBER
17 ) RETURN NUMBER IS
18 l_constraint_id	        NUMBER;
19 l_grp	                NUMBER;
20 l_on_operation_action	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 l_ctr                   NUMBER := OE_GLOBALS.OE_AUDIT_HISTORY_TBL.count;
26 l_ind                   NUMBER;
27 l_history_captured      BOOLEAN; -- Is history captured for this line?
28 
29 BEGIN
30 
31 -- Bug 1755817: if line belongs to a different order, then
32 -- clear the cached results so that the cache is reset for
33 -- the new order
34 IF p_record.order_number <> g_order_number THEN
35    OE_PC_Constraints_Admin_Pvt.Clear_Cached_Results;
36    g_order_number := p_record.order_number;
37 END IF;
38 
39 l_result := OE_PC_Constraints_Admin_PVT.Is_OP_constrained
40     ( p_responsibility_id	=> nvl(fnd_global.resp_id, -1)
41     , p_application_id          => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
42     , p_operation	=> p_operation
43     , p_qualifier_attribute => p_record.transaction_phase_code
44     , p_entity_id	=> OE_PC_GLOBALS.G_ENTITY_BLANKET_LINE
45     , p_column_name	=> p_column_name
46     , p_check_all_cols_constraint	=> g_check_all_cols_constraint
47     , p_is_caller_defaulting	=> g_is_caller_defaulting
48     , p_use_cached_results      => 'Y'
49     , x_constraint_id	=> l_constraint_id
50     , x_constraining_conditions_grp	=> l_grp
51     , x_on_operation_action	=> x_on_operation_action
52     );
53 
54 if l_result = OE_PC_GLOBALS.YES then
55 
56     IF g_check_all_cols_constraint = 'Y'
57        AND (p_operation = OE_PC_GLOBALS.UPDATE_OP
58             OR p_operation = OE_PC_GLOBALS.CREATE_OP)
59        AND p_column_name IS NOT NULL THEN
60         SELECT column_name
61         INTO l_column_name
62         FROM oe_pc_constraints
63         WHERE constraint_id = l_constraint_id;
64         if l_column_name is null and x_on_operation_action = 0 then
65 		  oe_debug_pub.add('Constraint on UPDATE of all columns!');
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 OE_DEBUG_PUB.add('Action performed code : '||x_on_operation_action,1);
89 
90 IF l_result = OE_PC_GLOBALS.YES THEN
91    IF x_on_operation_action = 1 THEN
92       IF p_column_name = 'ORDERED_QUANTITY' THEN
93          oe_debug_pub.add('Setting Cancellation Flag to True',1);
94          oe_sales_can_util.G_REQUIRE_REASON := TRUE;
95       END IF;
96    END IF;
97 END IF;
98 */
99 /* Start AuditTrail */
100 /*
101 -- Code level should be OM-H and
102 -- if Audit Trail enabled
103 IF g_is_caller_defaulting='N' THEN
104    IF l_code_level >= '110508' and nvl(l_audit_trail_enabled,'D') <> 'D' THEN
105       OE_DEBUG_PUB.add('Audit Trail enabled ',5);
106       IF l_audit_trail_enabled = 'B' THEN  -- capture only for booked orders
107          OE_DEBUG_PUB.add('Audit Trail enabled for booked orders only ...',5);
108 
109          IF p_record.booked_flag = 'Y' THEN
110             IF l_result = OE_PC_GLOBALS.YES THEN
111                l_history_captured := FALSE;
112                IF x_on_operation_action = 1 THEN
113                   BEGIN
114                      FOR l_ind in 1..l_ctr LOOP
115                          IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
116                             l_history_captured := TRUE;
117                          END IF;
118                      END LOOP;
119                   EXCEPTION WHEN OTHERS THEN
120                      OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
121                      NULL;
122                   END;
123                   IF NOT l_history_captured THEN
124                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
125                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
126                      oe_debug_pub.add('Line Security, attribute change requires reason',1);
127                      OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
128                      OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
129                   END IF;
130                ELSIF x_on_operation_action = 2 THEN
131                   BEGIN
132                      FOR l_ind in 1..l_ctr LOOP
133                          IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
134                             l_history_captured := TRUE;
135                          END IF;
136                      END LOOP;
137                   EXCEPTION WHEN OTHERS THEN
138                      OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
139                      NULL;
140                   END;
141                   IF NOT l_history_captured THEN
142                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
143                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'H';
144                      oe_debug_pub.add('Line Security, attribute change requires history',7);
145                      IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
146                         oe_debug_pub.add('Line Security, attribute change requires history',7);
147    	                OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
148                      END IF;
149                   END IF;
150                END IF;
151             END IF;
152          END IF;
153 
154       ELSE -- capture audit for all orders
155          IF l_result = OE_PC_GLOBALS.YES THEN
156               l_history_captured := FALSE;
157               IF x_on_operation_action = 1 THEN
158                   BEGIN
159                      FOR l_ind in 1..l_ctr LOOP
160                          IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
161                             l_history_captured := TRUE;
162                          END IF;
163                      END LOOP;
164                   EXCEPTION WHEN OTHERS THEN
165                      OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
166                      NULL;
167                   END;
168                   IF NOT l_history_captured THEN
169                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
170                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
171                      oe_debug_pub.add('Line Security, attribute change requires reason',1);
172                      OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
173                      OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
174                   END IF;
175               ELSIF x_on_operation_action = 2 THEN
176                   BEGIN
177                      FOR l_ind in 1..l_ctr LOOP
178                          IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
179                             l_history_captured := TRUE;
180                          END IF;
181                      END LOOP;
182                   EXCEPTION WHEN OTHERS THEN
183                      OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
184                      NULL;
185                   END;
186                   IF NOT l_history_captured THEN
187                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
188                      OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'H';
189                      oe_debug_pub.add('Line Security, attribute change requires history',7);
190                      IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
191                         oe_debug_pub.add('Line Security, attribute change requires history',7);
192    	                OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
193                      END IF;
194                   END IF;
195               END IF;
196          END IF;
197      END IF;
198   ELSE
199      OE_DEBUG_PUB.add('Audit Trail is disabled..',5);
200   END IF;
201 END IF;
202 */
203 /* End AuditTrail */
204 IF x_on_operation_action > 0 THEN
205    l_result := OE_PC_GLOBALS.NO;
206 END IF;
207 RETURN l_result;
208 
209 END Is_Op_Constrained;
210 
211 -- PUBLIC PROCEDURES
212 
213 FUNCTION ACCOUNTING_RULE
214 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
215 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
216 ,   x_on_operation_action           OUT NOCOPY NUMBER
217 ) RETURN NUMBER
218 IS
219 l_result 	NUMBER;
220 BEGIN
221 
222     l_result := Is_OP_constrained
223         (p_operation	=> p_operation
224         ,p_column_name	=> 'ACCOUNTING_RULE_ID'
225         ,p_record	=> p_record
226         ,x_on_operation_action	=> x_on_operation_action
227         );
228 
229 RETURN(l_result);
230 
231 END ACCOUNTING_RULE;
232 
233 
234 FUNCTION CUST_PO_NUMBER
235 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
236 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
237 ,   x_on_operation_action           OUT NOCOPY NUMBER
238 ) RETURN NUMBER
239 IS
240 l_result 	NUMBER;
241 BEGIN
242 
243     l_result := Is_OP_constrained
244         (p_operation	=> p_operation
245         ,p_column_name	=> 'CUST_PO_NUMBER'
246         ,p_record	=> p_record
247         ,x_on_operation_action	=> x_on_operation_action
248         );
249 
250 RETURN(l_result);
251 
252 END CUST_PO_NUMBER;
253 
254 
255 FUNCTION DELIVER_TO_ORG
256 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
257 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
258 ,   x_on_operation_action           OUT NOCOPY NUMBER
259 ) RETURN NUMBER
260 IS
261 l_result 	NUMBER;
262 BEGIN
263 
264     l_result := Is_OP_constrained
265         (p_operation	=> p_operation
266         ,p_column_name	=> 'DELIVER_TO_ORG_ID'
267         ,p_record	=> p_record
268         ,x_on_operation_action	=> x_on_operation_action
269         );
270 
271 RETURN(l_result);
272 
273 END DELIVER_TO_ORG;
274 
275 
276 FUNCTION FREIGHT_TERMS
277 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
278 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
279 ,   x_on_operation_action           OUT NOCOPY NUMBER
280 ) RETURN NUMBER
281 IS
282 l_result 	NUMBER;
283 BEGIN
284 
285     l_result := Is_OP_constrained
286         (p_operation	=> p_operation
287         ,p_column_name	=> 'FREIGHT_TERMS_CODE'
288         ,p_record	=> p_record
289         ,x_on_operation_action	=> x_on_operation_action
290         );
291 
292 RETURN(l_result);
293 
294 END FREIGHT_TERMS;
295 
296 
297 FUNCTION INVENTORY_ITEM
298 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
299 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
300 ,   x_on_operation_action           OUT NOCOPY NUMBER
301 ) RETURN NUMBER
302 IS
303 l_result 	NUMBER;
304 BEGIN
305 
306     l_result := Is_OP_constrained
307         (p_operation	=> p_operation
308         ,p_column_name	=> 'INVENTORY_ITEM_ID'
309         ,p_record	=> p_record
310         ,x_on_operation_action	=> x_on_operation_action
311         );
312 
313 RETURN(l_result);
314 
315 END INVENTORY_ITEM;
316 
317 FUNCTION INVOICE_TO_ORG
318 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
319 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
320 ,   x_on_operation_action           OUT NOCOPY NUMBER
321 ) RETURN NUMBER
322 IS
323 l_result 	NUMBER;
324 BEGIN
325 
326     l_result := Is_OP_constrained
327         (p_operation	=> p_operation
328         ,p_column_name	=> 'INVOICE_TO_ORG_ID'
329         ,p_record	=> p_record
330         ,x_on_operation_action	=> x_on_operation_action
331         );
332 
333 RETURN(l_result);
334 
335 END INVOICE_TO_ORG;
336 
337 FUNCTION INVOICING_RULE
338 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
339 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
340 ,   x_on_operation_action           OUT NOCOPY NUMBER
341 ) RETURN NUMBER
342 IS
343 l_result 	NUMBER;
344 BEGIN
345 
346     l_result := Is_OP_constrained
347         (p_operation	=> p_operation
348         ,p_column_name	=> 'INVOICING_RULE_ID'
349         ,p_record	=> p_record
350         ,x_on_operation_action	=> x_on_operation_action
351         );
352 
353 RETURN(l_result);
354 
355 END INVOICING_RULE;
356 
357 FUNCTION LINE_NUMBER
358 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
359 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
360 ,   x_on_operation_action           OUT NOCOPY NUMBER
361 ) RETURN NUMBER
362 IS
363 l_result 	NUMBER;
364 BEGIN
365 
366     l_result := Is_OP_constrained
367         (p_operation	=> p_operation
368         ,p_column_name	=> 'LINE_NUMBER'
369         ,p_record	=> p_record
370         ,x_on_operation_action	=> x_on_operation_action
371         );
372 
373 RETURN(l_result);
374 
375 END LINE_NUMBER;
376 
377 
378 FUNCTION LINE_TYPE
379 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
380 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
381 ,   x_on_operation_action           OUT NOCOPY NUMBER
382 ) RETURN NUMBER
383 IS
384 l_result 	NUMBER;
385 BEGIN
386 
387     l_result := Is_OP_constrained
388         (p_operation	=> p_operation
389         ,p_column_name	=> 'LINE_TYPE_ID'
390         ,p_record	=> p_record
391         ,x_on_operation_action	=> x_on_operation_action
392         );
393 
394 RETURN(l_result);
395 
396 END LINE_TYPE;
397 
398 
399 
400 FUNCTION ORDER_QUANTITY_UOM
401 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
402 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
403 ,   x_on_operation_action           OUT NOCOPY NUMBER
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	=> 'ORDER_QUANTITY_UOM'
412         ,p_record	=> p_record
413         ,x_on_operation_action	=> x_on_operation_action
414         );
415 
416 RETURN(l_result);
417 
418 END ORDER_QUANTITY_UOM;
419 
423 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
420 
421 FUNCTION PACKING_INSTRUCTIONS
422 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
424 ,   x_on_operation_action           OUT NOCOPY NUMBER
425 ) RETURN NUMBER
426 IS
427 l_result  NUMBER;
428 BEGIN
429 
430     l_result := Is_OP_constrained
431         (p_operation	=> p_operation
432         ,p_column_name	=> 'PACKING_INSTRUCTIONS'
433         ,p_record	     => p_record
434         ,x_on_operation_action	=> x_on_operation_action
435         );
436 
437 
438 RETURN(l_result);
439 
440 END PACKING_INSTRUCTIONS;
441 
442 
443 FUNCTION PAYMENT_TERM
444 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
445 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
446 ,   x_on_operation_action           OUT NOCOPY NUMBER
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	=> 'PAYMENT_TERM_ID'
455         ,p_record	=> p_record
456         ,x_on_operation_action	=> x_on_operation_action
457         );
458 
459 RETURN(l_result);
460 
461 END PAYMENT_TERM;
462 
463 FUNCTION PLANNING_PRIORITY
464 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
465 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
466 ,   x_on_operation_action           OUT NOCOPY NUMBER
467 ) RETURN NUMBER
468 IS
469 l_result 	NUMBER;
470 BEGIN
471 
472     l_result := Is_OP_constrained
473         (p_operation	=> p_operation
474         ,p_column_name	=> 'PLANNING_PRIORITY'
475         ,p_record	=> p_record
476         ,x_on_operation_action	=> x_on_operation_action
477         );
478 
479 RETURN(l_result);
480 
481 END PLANNING_PRIORITY;
482 
483 
484 FUNCTION PRICE_LIST
485 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
486 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
487 ,   x_on_operation_action           OUT NOCOPY NUMBER
488 ) RETURN NUMBER
489 IS
490 l_result 	NUMBER;
491 BEGIN
492 
493     l_result := Is_OP_constrained
494         (p_operation	=> p_operation
495         ,p_column_name	=> 'PRICE_LIST_ID'
496         ,p_record	=> p_record
497         ,x_on_operation_action	=> x_on_operation_action
498         );
499 
500 RETURN(l_result);
501 
502 END PRICE_LIST;
503 
504 
505 FUNCTION PRICING_DATE
506 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
507 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
508 ,   x_on_operation_action           OUT NOCOPY NUMBER
509 ) RETURN NUMBER
510 IS
511 l_result 	NUMBER;
512 BEGIN
513 
514     l_result := Is_OP_constrained
515         (p_operation	=> p_operation
516         ,p_column_name	=> 'PRICING_DATE'
517         ,p_record	=> p_record
518         ,x_on_operation_action	=> x_on_operation_action
519         );
520 
521 RETURN(l_result);
522 
523 END PRICING_DATE;
524 
525 
526 FUNCTION PRICING_QUANTITY
527 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
528 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
529 ,   x_on_operation_action           OUT NOCOPY NUMBER
530 ) RETURN NUMBER
531 IS
532 l_result 	NUMBER;
533 BEGIN
534 
535     l_result := Is_OP_constrained
536         (p_operation	=> p_operation
537         ,p_column_name	=> 'PRICING_QUANTITY'
538         ,p_record	=> p_record
539         ,x_on_operation_action	=> x_on_operation_action
540         );
541 
542 RETURN(l_result);
543 
544 END PRICING_QUANTITY;
545 
546 
547 FUNCTION PRICING_QUANTITY_UOM
548 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
549 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
550 ,   x_on_operation_action           OUT NOCOPY NUMBER
551 ) RETURN NUMBER
552 IS
553 l_result 	NUMBER;
554 BEGIN
555 
556     l_result := Is_OP_constrained
557         (p_operation	=> p_operation
558         ,p_column_name	=> 'PRICING_QUANTITY_UOM'
559         ,p_record	=> p_record
560         ,x_on_operation_action	=> x_on_operation_action
561         );
562 
563 RETURN(l_result);
564 
565 END PRICING_QUANTITY_UOM;
566 
567 
568 FUNCTION PROJECT
569 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
570 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
571 ,   x_on_operation_action           OUT NOCOPY NUMBER
572 ) RETURN NUMBER
573 IS
574 l_result 	NUMBER;
575 BEGIN
576 
577     l_result := Is_OP_constrained
578         (p_operation	=> p_operation
579         ,p_column_name	=> 'PROJECT_ID'
580         ,p_record	=> p_record
581         ,x_on_operation_action	=> x_on_operation_action
582         );
583 
587 
584 RETURN(l_result);
585 
586 END PROJECT;
588 
589 FUNCTION PROMISE_DATE
590 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
591 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
592 ,   x_on_operation_action           OUT NOCOPY NUMBER
593 ) RETURN NUMBER
594 IS
595 l_result 	NUMBER;
596 BEGIN
597 
598     l_result := Is_OP_constrained
599         (p_operation	=> p_operation
600         ,p_column_name	=> 'PROMISE_DATE'
601         ,p_record	=> p_record
602         ,x_on_operation_action	=> x_on_operation_action
603         );
604 
605 RETURN(l_result);
606 
607 END PROMISE_DATE;
608 
609 FUNCTION REFERENCE_CUST_TRX_LINE
610 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
611 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
612 ,   x_on_operation_action           OUT NOCOPY NUMBER
613 ) RETURN NUMBER
614 IS
615 l_result 	NUMBER;
616 BEGIN
617 
618     l_result := Is_OP_constrained
619         (p_operation	=> p_operation
620         ,p_column_name	=> 'REFERENCE_CUSTOMER_TRX_LINE_ID'
621         ,p_record	=> p_record
622         ,x_on_operation_action	=> x_on_operation_action
623         );
624 
625 RETURN(l_result);
626 
627 END REFERENCE_CUST_TRX_LINE;
628 
629 FUNCTION REFERENCE_TYPE
630 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
631 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
632 ,   x_on_operation_action           OUT NOCOPY NUMBER
633 ) RETURN NUMBER
634 IS
635 l_result 	NUMBER;
636 BEGIN
637 
638     l_result := Is_OP_constrained
639         (p_operation	=> p_operation
640         ,p_column_name	=> 'REFERENCE_TYPE'
641         ,p_record	=> p_record
642         ,x_on_operation_action	=> x_on_operation_action
643         );
644 
645 RETURN(l_result);
646 
647 END REFERENCE_TYPE;
648 
649 
650 FUNCTION REQUEST_DATE
651 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
652 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
653 ,   x_on_operation_action           OUT NOCOPY NUMBER
654 ) RETURN NUMBER
655 IS
656 l_result 	NUMBER;
657 BEGIN
658 
659     l_result := Is_OP_constrained
660         (p_operation	=> p_operation
661         ,p_column_name	=> 'REQUEST_DATE'
662         ,p_record	=> p_record
663         ,x_on_operation_action	=> x_on_operation_action
664         );
665 
666 RETURN(l_result);
667 
668 END REQUEST_DATE;
669 
670 
671 FUNCTION RETURN_REASON
672 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
673 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
674 ,   x_on_operation_action           OUT NOCOPY NUMBER
675 ) RETURN NUMBER
676 IS
677 l_result 	NUMBER;
678 BEGIN
679 
680     l_result := Is_OP_constrained
681         (p_operation	=> p_operation
682         ,p_column_name	=> 'RETURN_REASON_CODE'
683         ,p_record	=> p_record
684         ,x_on_operation_action	=> x_on_operation_action
685         );
686 
687 RETURN(l_result);
688 
689 END RETURN_REASON;
690 
691 
692 FUNCTION SALESREP
693 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
694 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
695 ,   x_on_operation_action           OUT NOCOPY NUMBER
696 ) RETURN NUMBER
697 IS
698 l_result 	NUMBER;
699 BEGIN
700 
701     l_result := Is_OP_constrained
702         (p_operation	=> p_operation
703         ,p_column_name	=> 'SALESREP_ID'
704         ,p_record	=> p_record
705         ,x_on_operation_action	=> x_on_operation_action
706         );
707 
708 RETURN(l_result);
709 
710 END SALESREP;
711 
712 FUNCTION SHIP_SET
713 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
714 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
715 ,   x_on_operation_action           OUT NOCOPY NUMBER
716 ) RETURN NUMBER
717 IS
718 l_result 	NUMBER;
719 BEGIN
720 
721     l_result := Is_OP_constrained
722         (p_operation	=> p_operation
723         ,p_column_name	=> 'SHIP_SET_ID'
724         ,p_record	=> p_record
725         ,x_on_operation_action	=> x_on_operation_action
726         );
727 
728 RETURN(l_result);
729 
730 END SHIP_SET;
731 
732 FUNCTION ARRIVAL_SET
733 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
734 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
735 ,   x_on_operation_action           OUT NOCOPY NUMBER
736 ) RETURN NUMBER
737 IS
738 l_result 	NUMBER;
739 BEGIN
740 
741     l_result := Is_OP_constrained
742         (p_operation	=> p_operation
743         ,p_column_name	=> 'ARRIVAL_SET_ID'
744         ,p_record	=> p_record
745         ,x_on_operation_action	=> x_on_operation_action
746         );
747 
748 RETURN(l_result);
749 
750 END ARRIVAL_SET;
751 
752 
753 FUNCTION SCHEDULE_ARRIVAL_DATE
757 ) RETURN NUMBER
754 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
755 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
756 ,   x_on_operation_action           OUT NOCOPY NUMBER
758 IS
759 l_result 	NUMBER;
760 BEGIN
761 
762     l_result := Is_OP_constrained
763         (p_operation	=> p_operation
764         ,p_column_name	=> 'SCHEDULE_ARRIVAL_DATE'
765         ,p_record	=> p_record
766         ,x_on_operation_action	=> x_on_operation_action
767         );
768 
769 RETURN(l_result);
770 
771 END SCHEDULE_ARRIVAL_DATE;
772 
773 FUNCTION SCHEDULE_SHIP_DATE
774 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
775 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
776 ,   x_on_operation_action           OUT NOCOPY NUMBER
777 ) RETURN NUMBER
778 IS
779 l_result 	NUMBER;
780 BEGIN
781 
782     l_result := Is_OP_constrained
783         (p_operation	=> p_operation
784         ,p_column_name	=> 'SCHEDULE_SHIP_DATE'
785         ,p_record	=> p_record
786         ,x_on_operation_action	=> x_on_operation_action
787         );
788 
789 RETURN(l_result);
790 
791 END SCHEDULE_SHIP_DATE;
792 
793 
794 FUNCTION SHIPMENT_NUMBER
795 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
796 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
797 ,   x_on_operation_action           OUT NOCOPY NUMBER
798 ) RETURN NUMBER
799 IS
800 l_result 	NUMBER;
801 BEGIN
802 
803     l_result := Is_OP_constrained
804         (p_operation	=> p_operation
805         ,p_column_name	=> 'SHIPMENT_NUMBER'
806         ,p_record	=> p_record
807         ,x_on_operation_action	=> x_on_operation_action
808         );
809 
810 RETURN(l_result);
811 
812 END SHIPMENT_NUMBER;
813 
814 
815 FUNCTION SHIPMENT_PRIORITY
816 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
817 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
818 ,   x_on_operation_action           OUT NOCOPY NUMBER
819 ) RETURN NUMBER
820 IS
821 l_result 	NUMBER;
822 BEGIN
823 
824     l_result := Is_OP_constrained
825         (p_operation	=> p_operation
826         ,p_column_name	=> 'SHIPMENT_PRIORITY_CODE'
827         ,p_record	=> p_record
828         ,x_on_operation_action	=> x_on_operation_action
829         );
830 
831 RETURN(l_result);
832 
833 END SHIPMENT_PRIORITY;
834 
835 
836 FUNCTION SHIPPED_QUANTITY
837 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
838 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
839 ,   x_on_operation_action           OUT NOCOPY NUMBER
840 ) RETURN NUMBER
841 IS
842 l_result 	NUMBER;
843 BEGIN
844 
845     l_result := Is_OP_constrained
846         (p_operation	=> p_operation
847         ,p_column_name	=> 'SHIPPED_QUANTITY'
848         ,p_record	=> p_record
849         ,x_on_operation_action	=> x_on_operation_action
850         );
851 
852 RETURN(l_result);
853 
854 END SHIPPED_QUANTITY;
855 
856 FUNCTION SHIPPING_INSTRUCTIONS
857 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
858 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
859 ,   x_on_operation_action           OUT NOCOPY NUMBER
860 ) RETURN NUMBER
861 IS
862 l_result  NUMBER;
863 BEGIN
864 
865 l_result := Is_OP_constrained
866     (p_operation    => p_operation
867     ,p_column_name  => 'SHIPPING_INSTRUCTIONS'
868     ,p_record  => p_record
869     ,x_on_operation_action    => x_on_operation_action
870     );
871 
872 RETURN(l_result);
873 
874 END SHIPPING_INSTRUCTIONS;
875 
876 
877 FUNCTION SHIPPING_METHOD
878 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
879 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
880 ,   x_on_operation_action           OUT NOCOPY NUMBER
881 ) RETURN NUMBER
882 IS
883 l_result  NUMBER;
884 BEGIN
885 
886 l_result := Is_OP_constrained
887     (p_operation    => p_operation
888     ,p_column_name  => 'SHIPPING_METHOD_CODE'
889     ,p_record  => p_record
890     ,x_on_operation_action    => x_on_operation_action
891     );
892 
893 RETURN(l_result);
894 
895 END SHIPPING_METHOD;
896 
897 
898 FUNCTION SHIPPING_QUANTITY
899 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
900 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
901 ,   x_on_operation_action           OUT NOCOPY NUMBER
902 ) RETURN NUMBER
903 IS
904 l_result 	NUMBER;
905 BEGIN
906 
907     l_result := Is_OP_constrained
908         (p_operation	=> p_operation
909         ,p_column_name	=> 'SHIPPING_QUANTITY'
910         ,p_record	=> p_record
911         ,x_on_operation_action	=> x_on_operation_action
912         );
913 
914 RETURN(l_result);
915 
916 END SHIPPING_QUANTITY;
920 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
917 
918 
919 FUNCTION SHIPPING_QUANTITY_UOM
921 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
922 ,   x_on_operation_action           OUT NOCOPY NUMBER
923 ) RETURN NUMBER
924 IS
925 l_result 	NUMBER;
926 BEGIN
927 
928     l_result := Is_OP_constrained
929         (p_operation	=> p_operation
930         ,p_column_name	=> 'SHIPPING_QUANTITY_UOM'
931         ,p_record	=> p_record
932         ,x_on_operation_action	=> x_on_operation_action
933         );
934 
935 RETURN(l_result);
936 
937 END SHIPPING_QUANTITY_UOM;
938 
939 
940 FUNCTION SHIP_FROM_ORG
941 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
942 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
943 ,   x_on_operation_action           OUT NOCOPY NUMBER
944 ) RETURN NUMBER
945 IS
946 l_result 	NUMBER;
947 BEGIN
948 
949     l_result := Is_OP_constrained
950         (p_operation	=> p_operation
951         ,p_column_name	=> 'SHIP_FROM_ORG_ID'
952         ,p_record	=> p_record
953         ,x_on_operation_action	=> x_on_operation_action
954         );
955 
956 RETURN(l_result);
957 
958 END SHIP_FROM_ORG;
959 
960 FUNCTION SUBINVENTORY
961 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
962 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
963 ,   x_on_operation_action           OUT NOCOPY NUMBER
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   => 'SUBINVENTORY'
972         ,p_record   => p_record
973         ,x_on_operation_action     => x_on_operation_action
974         );
975 
976 RETURN(l_result);
977 
978 END SUBINVENTORY;
979 
980 FUNCTION SHIP_MODEL_COMPLETE
981 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
982 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
983 ,   x_on_operation_action           OUT NOCOPY NUMBER
984 ) RETURN NUMBER
985 IS
986 l_result 	NUMBER;
987 BEGIN
988 
989     l_result := Is_OP_constrained
990         (p_operation	=> p_operation
991         ,p_column_name	=> 'SHIP_MODEL_COMPLETE_FLAG'
992         ,p_record	=> p_record
993         ,x_on_operation_action	=> x_on_operation_action
994         );
995 
996 RETURN(l_result);
997 
998 END SHIP_MODEL_COMPLETE;
999 
1000 
1001 FUNCTION SHIP_TOLERANCE_ABOVE
1002 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1003 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1004 ,   x_on_operation_action           OUT NOCOPY NUMBER
1005 ) RETURN NUMBER
1006 IS
1007 l_result 	NUMBER;
1008 BEGIN
1009 
1010     l_result := Is_OP_constrained
1011         (p_operation	=> p_operation
1012         ,p_column_name	=> 'SHIP_TOLERANCE_ABOVE'
1013         ,p_record	=> p_record
1014         ,x_on_operation_action	=> x_on_operation_action
1015         );
1016 
1017 RETURN(l_result);
1018 
1019 END SHIP_TOLERANCE_ABOVE;
1020 
1021 
1022 FUNCTION SHIP_TOLERANCE_BELOW
1023 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1024 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1025 ,   x_on_operation_action           OUT NOCOPY NUMBER
1026 ) RETURN NUMBER
1027 IS
1028 l_result 	NUMBER;
1029 BEGIN
1030 
1031     l_result := Is_OP_constrained
1032         (p_operation	=> p_operation
1033         ,p_column_name	=> 'SHIP_TOLERANCE_BELOW'
1034         ,p_record	=> p_record
1035         ,x_on_operation_action	=> x_on_operation_action
1036         );
1037 
1038 RETURN(l_result);
1039 
1040 END SHIP_TOLERANCE_BELOW;
1041 
1042 
1043 FUNCTION SHIP_TO_CONTACT
1044 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1045 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1046 ,   x_on_operation_action           OUT NOCOPY NUMBER
1047 ) RETURN NUMBER
1048 IS
1049 l_result 	NUMBER;
1050 BEGIN
1051 
1052     l_result := Is_OP_constrained
1053         (p_operation	=> p_operation
1054         ,p_column_name	=> 'SHIP_TO_CONTACT_ID'
1055         ,p_record	=> p_record
1056         ,x_on_operation_action	=> x_on_operation_action
1057         );
1058 
1059 RETURN(l_result);
1060 
1061 END SHIP_TO_CONTACT;
1062 
1063 
1064 FUNCTION SHIP_TO_ORG
1065 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1066 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1067 ,   x_on_operation_action           OUT NOCOPY NUMBER
1068 ) RETURN NUMBER
1069 IS
1070 l_result 	NUMBER;
1071 BEGIN
1072 
1073     l_result := Is_OP_constrained
1074         (p_operation	=> p_operation
1075         ,p_column_name	=> 'SHIP_TO_ORG_ID'
1076         ,p_record	=> p_record
1077         ,x_on_operation_action	=> x_on_operation_action
1078         );
1079 
1083 
1080 RETURN(l_result);
1081 
1082 END SHIP_TO_ORG;
1084 
1085 FUNCTION SOLD_TO_ORG
1086 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1087 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1088 ,   x_on_operation_action           OUT NOCOPY NUMBER
1089 ) RETURN NUMBER
1090 IS
1091 l_result 	NUMBER;
1092 BEGIN
1093 
1094     l_result := Is_OP_constrained
1095         (p_operation	=> p_operation
1096         ,p_column_name	=> 'SOLD_TO_ORG_ID'
1097         ,p_record	=> p_record
1098         ,x_on_operation_action	=> x_on_operation_action
1099         );
1100 
1101 RETURN(l_result);
1102 
1103 END SOLD_TO_ORG;
1104 
1105 
1106 FUNCTION SOURCE_TYPE
1107 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1108 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1109 ,   x_on_operation_action           OUT NOCOPY NUMBER
1110 ) RETURN NUMBER
1111 IS
1112 l_result 	NUMBER;
1113 BEGIN
1114 
1115     l_result := Is_OP_constrained
1116         (p_operation	=> p_operation
1117         ,p_column_name	=> 'SOURCE_TYPE_CODE'
1118         ,p_record	=> p_record
1119         ,x_on_operation_action	=> x_on_operation_action
1120         );
1121 
1122 RETURN(l_result);
1123 
1124 END SOURCE_TYPE;
1125 
1126 
1127 FUNCTION TASK
1128 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1129 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1130 ,   x_on_operation_action           OUT NOCOPY NUMBER
1131 ) RETURN NUMBER
1132 IS
1133 l_result 	NUMBER;
1134 BEGIN
1135 
1136     l_result := Is_OP_constrained
1137         (p_operation	=> p_operation
1138         ,p_column_name	=> 'TASK_ID'
1139         ,p_record	=> p_record
1140         ,x_on_operation_action	=> x_on_operation_action
1141         );
1142 
1143 RETURN(l_result);
1144 
1145 END TASK;
1146 
1147 
1148 FUNCTION TAX
1149 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1150 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1151 ,   x_on_operation_action           OUT NOCOPY NUMBER
1152 ) RETURN NUMBER
1153 IS
1154 l_result 	NUMBER;
1155 BEGIN
1156 
1157     l_result := Is_OP_constrained
1158         (p_operation	=> p_operation
1159         ,p_column_name	=> 'TAX_CODE'
1160         ,p_record	=> p_record
1161         ,x_on_operation_action	=> x_on_operation_action
1162         );
1163 
1164 RETURN(l_result);
1165 
1166 END TAX;
1167 
1168 
1169 FUNCTION TAX_DATE
1170 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1171 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1172 ,   x_on_operation_action           OUT NOCOPY NUMBER
1173 ) RETURN NUMBER
1174 IS
1175 l_result 	NUMBER;
1176 BEGIN
1177 
1178     l_result := Is_OP_constrained
1179         (p_operation	=> p_operation
1180         ,p_column_name	=> 'TAX_DATE'
1181         ,p_record	=> p_record
1182         ,x_on_operation_action	=> x_on_operation_action
1183         );
1184 
1185 RETURN(l_result);
1186 
1187 END TAX_DATE;
1188 
1189 
1190 FUNCTION TAX_EXEMPT
1191 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1192 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1193 ,   x_on_operation_action           OUT NOCOPY NUMBER
1194 ) RETURN NUMBER
1195 IS
1196 l_result 	NUMBER;
1197 BEGIN
1198 
1199     l_result := Is_OP_constrained
1200         (p_operation	=> p_operation
1201         ,p_column_name	=> 'TAX_EXEMPT_FLAG'
1202         ,p_record	=> p_record
1203         ,x_on_operation_action	=> x_on_operation_action
1204         );
1205 
1206 RETURN(l_result);
1207 
1208 END TAX_EXEMPT;
1209 
1210 
1211 FUNCTION TAX_EXEMPT_NUMBER
1212 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1213 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1214 ,   x_on_operation_action           OUT NOCOPY NUMBER
1215 ) RETURN NUMBER
1216 IS
1217 l_result 	NUMBER;
1218 BEGIN
1219 
1220     l_result := Is_OP_constrained
1221         (p_operation	=> p_operation
1222         ,p_column_name	=> 'TAX_EXEMPT_NUMBER'
1223         ,p_record	=> p_record
1224         ,x_on_operation_action	=> x_on_operation_action
1225         );
1226 
1227 RETURN(l_result);
1228 
1229 END TAX_EXEMPT_NUMBER;
1230 
1231 
1232 FUNCTION TAX_EXEMPT_REASON
1233 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1234 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1235 ,   x_on_operation_action           OUT NOCOPY NUMBER
1236 ) RETURN NUMBER
1237 IS
1238 l_result 	NUMBER;
1239 BEGIN
1240 
1241     l_result := Is_OP_constrained
1242         (p_operation	=> p_operation
1243         ,p_column_name	=> 'TAX_EXEMPT_REASON_CODE'
1244         ,p_record	=> p_record
1245         ,x_on_operation_action	=> x_on_operation_action
1249 
1246         );
1247 
1248 RETURN(l_result);
1250 END TAX_EXEMPT_REASON;
1251 
1252 
1253 FUNCTION UNIT_LIST_PRICE
1254 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1255 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1256 ,   x_on_operation_action           OUT NOCOPY NUMBER
1257 ) RETURN NUMBER
1258 IS
1259 l_result 	NUMBER;
1260 BEGIN
1261 
1262     l_result := Is_OP_constrained
1263         (p_operation	=> p_operation
1264         ,p_column_name	=> 'UNIT_LIST_PRICE'
1265         ,p_record	=> p_record
1266         ,x_on_operation_action	=> x_on_operation_action
1267         );
1268 
1269 RETURN(l_result);
1270 
1271 END UNIT_LIST_PRICE;
1272 
1273 
1274 /*1449220*/
1275 FUNCTION ITEM_IDENTIFIER_TYPE
1276 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1277 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1278 ,   x_on_operation_action           OUT NOCOPY NUMBER
1279 ) RETURN NUMBER
1280 IS
1281 l_result 	NUMBER;
1282 BEGIN
1283 
1284     l_result := Is_OP_constrained
1285         (p_operation	=> p_operation
1286         ,p_column_name	=> 'ITEM_IDENTIFIER_TYPE'
1287         ,p_record	=> p_record
1288         ,x_on_operation_action	=> x_on_operation_action
1289         );
1290 
1291 RETURN(l_result);
1292 
1293 END ITEM_IDENTIFIER_TYPE;
1294 /*1449220*/
1295 
1296 
1297 FUNCTION BLANKET_LINE_MIN_AMOUNT
1298 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1299 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1300 ,   x_on_operation_action           OUT NOCOPY NUMBER
1301 ) RETURN NUMBER
1302 IS
1303 l_result 	NUMBER;
1304 BEGIN
1305 
1306     l_result := Is_OP_constrained
1307         (p_operation	=> p_operation
1308         ,p_column_name	=> 'BLANKET_LINE_MIN_AMOUNT'
1309         ,p_record	=> p_record
1310         ,x_on_operation_action	=> x_on_operation_action
1311         );
1312 
1313 RETURN(l_result);
1314 
1315 END BLANKET_LINE_MIN_AMOUNT;
1316 
1317 FUNCTION BLANKET_LINE_MAX_AMOUNT
1318 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1319 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1320 ,   x_on_operation_action           OUT NOCOPY NUMBER
1321 ) RETURN NUMBER
1322 IS
1323 l_result 	NUMBER;
1324 BEGIN
1325 
1326     l_result := Is_OP_constrained
1327         (p_operation	=> p_operation
1328         ,p_column_name	=> 'BLANKET_LINE_MAX_AMOUNT'
1329         ,p_record	=> p_record
1330         ,x_on_operation_action	=> x_on_operation_action
1331         );
1332 
1333 RETURN(l_result);
1334 
1335 END BLANKET_LINE_MAX_AMOUNT;
1336 
1337 FUNCTION BLANKET_MIN_QUANTITY
1338 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1339 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1340 ,   x_on_operation_action           OUT NOCOPY NUMBER
1341 ) RETURN NUMBER
1342 IS
1343 l_result 	NUMBER;
1344 BEGIN
1345 
1346     l_result := Is_OP_constrained
1347         (p_operation	=> p_operation
1348         ,p_column_name	=> 'BLANKET_MIN_QUANTITY'
1349         ,p_record	=> p_record
1350         ,x_on_operation_action	=> x_on_operation_action
1351         );
1352 
1353 RETURN(l_result);
1354 
1355 END BLANKET_MIN_QUANTITY;
1356 
1357 FUNCTION BLANKET_MAX_QUANTITY
1358 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1359 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1360 ,   x_on_operation_action           OUT NOCOPY NUMBER
1361 ) RETURN NUMBER
1362 IS
1363 l_result 	NUMBER;
1364 BEGIN
1365 
1366     l_result := Is_OP_constrained
1367         (p_operation	=> p_operation
1368         ,p_column_name	=> 'BLANKET_MAX_QUANTITY'
1369         ,p_record	=> p_record
1370         ,x_on_operation_action	=> x_on_operation_action
1371         );
1372 
1373 RETURN(l_result);
1374 
1375 END BLANKET_MAX_QUANTITY;
1376 
1377 FUNCTION MIN_RELEASE_AMOUNT
1378 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1379 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1380 ,   x_on_operation_action           OUT NOCOPY NUMBER
1381 ) RETURN NUMBER
1382 IS
1383 l_result 	NUMBER;
1384 BEGIN
1385 
1386     l_result := Is_OP_constrained
1387         (p_operation	=> p_operation
1388         ,p_column_name	=> 'MIN_RELEASE_AMOUNT'
1389         ,p_record	=> p_record
1390         ,x_on_operation_action	=> x_on_operation_action
1391         );
1392 
1393 RETURN(l_result);
1394 
1395 END MIN_RELEASE_AMOUNT;
1396 
1397 FUNCTION MAX_RELEASE_AMOUNT
1398 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1399 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1400 ,   x_on_operation_action           OUT NOCOPY NUMBER
1401 ) RETURN NUMBER
1402 IS
1403 l_result 	NUMBER;
1404 BEGIN
1405 
1406     l_result := Is_OP_constrained
1407         (p_operation	=> p_operation
1408         ,p_column_name	=> 'MAX_RELEASE_AMOUNT'
1412 
1409         ,p_record	=> p_record
1410         ,x_on_operation_action	=> x_on_operation_action
1411         );
1413 RETURN(l_result);
1414 
1415 END MAX_RELEASE_AMOUNT;
1416 
1417 FUNCTION MIN_RELEASE_QUANTITY
1418 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1419 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1420 ,   x_on_operation_action           OUT NOCOPY NUMBER
1421 ) RETURN NUMBER
1422 IS
1423 l_result 	NUMBER;
1424 BEGIN
1425 
1426     l_result := Is_OP_constrained
1427         (p_operation	=> p_operation
1428         ,p_column_name	=> 'MIN_RELEASE_QUANTITY'
1429         ,p_record	=> p_record
1430         ,x_on_operation_action	=> x_on_operation_action
1431         );
1432 
1433 RETURN(l_result);
1434 
1435 END MIN_RELEASE_QUANTITY;
1436 
1437 FUNCTION MAX_RELEASE_QUANTITY
1438 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1439 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1440 ,   x_on_operation_action           OUT NOCOPY NUMBER
1441 ) RETURN NUMBER
1442 IS
1443 l_result 	NUMBER;
1444 BEGIN
1445 
1446     l_result := Is_OP_constrained
1447         (p_operation	=> p_operation
1448         ,p_column_name	=> 'MAX_RELEASE_QUANTITY'
1449         ,p_record	=> p_record
1450         ,x_on_operation_action	=> x_on_operation_action
1451         );
1452 
1453 RETURN(l_result);
1454 
1455 END MAX_RELEASE_QUANTITY;
1456 
1457 FUNCTION OVERRIDE_BLANKET_CONTROLS_FLAG
1458 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1459 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1460 ,   x_on_operation_action           OUT NOCOPY NUMBER
1461 ) RETURN NUMBER
1462 IS
1463 l_result 	NUMBER;
1464 BEGIN
1465 
1466     l_result := Is_OP_constrained
1467         (p_operation	=> p_operation
1468         ,p_column_name	=> 'OVERRIDE_BLANKET_CONTROLS_FLAG'
1469         ,p_record	=> p_record
1470         ,x_on_operation_action	=> x_on_operation_action
1471         );
1472 
1473 RETURN(l_result);
1474 
1475 END OVERRIDE_BLANKET_CONTROLS_FLAG;
1476 
1477 FUNCTION OVERRIDE_RELEASE_CONTROLS_FLAG
1478 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1479 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1480 ,   x_on_operation_action           OUT NOCOPY NUMBER
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	=> 'OVERRIDE_RELEASE_CONTROLS_FLAG'
1489         ,p_record	=> p_record
1490         ,x_on_operation_action	=> x_on_operation_action
1491         );
1492 
1493 RETURN(l_result);
1494 
1495 END OVERRIDE_RELEASE_CONTROLS_FLAG;
1496 
1497 FUNCTION ENFORCE_ACCOUNTING_RULE_FLAG
1498 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1499 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1500 ,   x_on_operation_action           OUT NOCOPY NUMBER
1501 ) RETURN NUMBER
1502 IS
1503 l_result 	NUMBER;
1504 BEGIN
1505 
1506     l_result := Is_OP_constrained
1507         (p_operation	=> p_operation
1508         ,p_column_name	=> 'ENFORCE_ACCOUNTING_RULE_FLAG'
1509         ,p_record	=> p_record
1510         ,x_on_operation_action	=> x_on_operation_action
1511         );
1512 
1513 RETURN(l_result);
1514 
1515 END ENFORCE_ACCOUNTING_RULE_FLAG;
1516 
1517 FUNCTION ENFORCE_INVOICE_TO_FLAG
1518 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1519 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1520 ,   x_on_operation_action           OUT NOCOPY NUMBER
1521 ) RETURN NUMBER
1522 IS
1523 l_result 	NUMBER;
1524 BEGIN
1525 
1526     l_result := Is_OP_constrained
1527         (p_operation	=> p_operation
1528         ,p_column_name	=> 'ENFORCE_INVOICE_TO_FLAG'
1529         ,p_record	=> p_record
1530         ,x_on_operation_action	=> x_on_operation_action
1531         );
1532 
1533 RETURN(l_result);
1534 
1535 END ENFORCE_INVOICE_TO_FLAG;
1536 
1537 FUNCTION ENFORCE_PRICE_LIST_FLAG
1538 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1539 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1540 ,   x_on_operation_action           OUT NOCOPY NUMBER
1541 ) RETURN NUMBER
1542 IS
1543 l_result 	NUMBER;
1544 BEGIN
1545 
1546     l_result := Is_OP_constrained
1547         (p_operation	=> p_operation
1548         ,p_column_name	=> 'ENFORCE_PRICE_LIST_FLAG'
1549         ,p_record	=> p_record
1550         ,x_on_operation_action	=> x_on_operation_action
1551         );
1552 
1553 RETURN(l_result);
1554 
1555 END ENFORCE_PRICE_LIST_FLAG;
1556 
1557 FUNCTION ENFORCE_PAYMENT_TERM_FLAG
1558 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1559 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1560 ,   x_on_operation_action           OUT NOCOPY NUMBER
1561 ) RETURN NUMBER
1562 IS
1563 l_result 	NUMBER;
1564 BEGIN
1565 
1566     l_result := Is_OP_constrained
1570         ,x_on_operation_action	=> x_on_operation_action
1567         (p_operation	=> p_operation
1568         ,p_column_name	=> 'ENFORCE_PAYMENT_TERM_FLAG'
1569         ,p_record	=> p_record
1571         );
1572 
1573 RETURN(l_result);
1574 
1575 END ENFORCE_PAYMENT_TERM_FLAG;
1576 
1577 FUNCTION ENFORCE_INVOICING_RULE_FLAG
1578 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1579 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1580 ,   x_on_operation_action           OUT NOCOPY NUMBER
1581 ) RETURN NUMBER
1582 IS
1583 l_result 	NUMBER;
1584 BEGIN
1585 
1586     l_result := Is_OP_constrained
1587         (p_operation	=> p_operation
1588         ,p_column_name	=> 'ENFORCE_INVOICING_RULE_FLAG'
1589         ,p_record	=> p_record
1590         ,x_on_operation_action	=> x_on_operation_action
1591         );
1592 
1593 RETURN(l_result);
1594 
1595 END ENFORCE_INVOICING_RULE_FLAG;
1596 
1597 FUNCTION ENFORCE_SHIP_TO_FLAG
1598 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1599 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1600 ,   x_on_operation_action           OUT NOCOPY NUMBER
1601 ) RETURN NUMBER
1602 IS
1603 l_result 	NUMBER;
1604 BEGIN
1605 
1606     l_result := Is_OP_constrained
1607         (p_operation	=> p_operation
1608         ,p_column_name	=> 'ENFORCE_SHIP_TO_FLAG'
1609         ,p_record	=> p_record
1610         ,x_on_operation_action	=> x_on_operation_action
1611         );
1612 
1613 RETURN(l_result);
1614 
1615 END ENFORCE_SHIP_TO_FLAG;
1616 
1617 FUNCTION ENFORCE_FREIGHT_TERM_FLAG
1618 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1619 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1620 ,   x_on_operation_action           OUT NOCOPY NUMBER
1621 ) RETURN NUMBER
1622 IS
1623 l_result 	NUMBER;
1624 BEGIN
1625 
1626     l_result := Is_OP_constrained
1627         (p_operation	=> p_operation
1628         ,p_column_name	=> 'ENFORCE_FREIGHT_TERM_FLAG'
1629         ,p_record	=> p_record
1630         ,x_on_operation_action	=> x_on_operation_action
1631         );
1632 
1633 RETURN(l_result);
1634 
1635 END ENFORCE_FREIGHT_TERM_FLAG;
1636 
1637 FUNCTION ENFORCE_SHIPPING_METHOD_FLAG
1638 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1639 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1640 ,   x_on_operation_action           OUT NOCOPY NUMBER
1641 ) RETURN NUMBER
1642 IS
1643 l_result 	NUMBER;
1644 BEGIN
1645 
1646     l_result := Is_OP_constrained
1647         (p_operation	=> p_operation
1648         ,p_column_name	=> 'ENFORCE_SHIPPING_METHOD_FLAG'
1649         ,p_record	=> p_record
1650         ,x_on_operation_action	=> x_on_operation_action
1651         );
1652 
1653 RETURN(l_result);
1654 
1655 END ENFORCE_SHIPPING_METHOD_FLAG;
1656 
1657 FUNCTION START_DATE_ACTIVE
1658 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1659 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1660 ,   x_on_operation_action           OUT NOCOPY NUMBER
1661 ) RETURN NUMBER
1662 IS
1663 l_result 	NUMBER;
1664 BEGIN
1665 
1666     l_result := Is_OP_constrained
1667         (p_operation	=> p_operation
1668         ,p_column_name	=> 'START_DATE_ACTIVE'
1669         ,p_record	=> p_record
1670         ,x_on_operation_action	=> x_on_operation_action
1671         );
1672 
1673 RETURN(l_result);
1674 
1675 END START_DATE_ACTIVE;
1676 
1677 FUNCTION END_DATE_ACTIVE
1678 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1679 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1680 ,   x_on_operation_action           OUT NOCOPY NUMBER
1681 ) RETURN NUMBER
1682 IS
1683 l_result 	NUMBER;
1684 BEGIN
1685 
1686     l_result := Is_OP_constrained
1687         (p_operation	=> p_operation
1688         ,p_column_name	=> 'END_DATE_ACTIVE'
1689         ,p_record	=> p_record
1690         ,x_on_operation_action	=> x_on_operation_action
1691         );
1692 
1693 RETURN(l_result);
1694 
1695 END END_DATE_ACTIVE;
1696 
1697 FUNCTION PREFERRED_GRADE
1698 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1699 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1700 ,   x_on_operation_action           OUT NOCOPY NUMBER
1701 ) RETURN NUMBER
1702 IS
1703 l_result 	NUMBER;
1704 BEGIN
1705 
1706     l_result := Is_OP_constrained
1707         (p_operation	=> p_operation
1708         ,p_column_name	=> 'PREFERRED_GRADE'
1709         ,p_record	=> p_record
1710         ,x_on_operation_action	=> x_on_operation_action
1711         );
1712 
1713 RETURN(l_result);
1714 
1715 END PREFERRED_GRADE;
1716 
1717 FUNCTION DISCOUNT_PERCENT
1718 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1719 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1720 ,   x_on_operation_action           OUT NOCOPY NUMBER
1724 BEGIN
1721 ) RETURN NUMBER
1722 IS
1723 l_result 	NUMBER;
1725 
1726     l_result := Is_OP_constrained
1727         (p_operation	=> p_operation
1728         ,p_column_name	=> 'DISCOUNT_PERCENT'
1729         ,p_record	=> p_record
1730         ,x_on_operation_action	=> x_on_operation_action
1731         );
1732 
1733 RETURN(l_result);
1734 
1735 END DISCOUNT_PERCENT;
1736 
1737 FUNCTION DISCOUNT_AMOUNT
1738 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1739 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1740 ,   x_on_operation_action           OUT NOCOPY NUMBER
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	=> 'DISCOUNT_AMOUNT'
1749         ,p_record	=> p_record
1750         ,x_on_operation_action	=> x_on_operation_action
1751         );
1752 
1753 RETURN(l_result);
1754 
1755 END DISCOUNT_AMOUNT;
1756 --bug 6531947
1757 FUNCTION CONTEXT
1758 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1759 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1760 ,   x_on_operation_action           OUT NOCOPY NUMBER
1761 ) RETURN NUMBER
1762 IS
1763 l_result        NUMBER;
1764 BEGIN
1765 
1766     l_result := Is_OP_constrained
1767         (p_operation    => p_operation
1768         ,p_column_name  => 'CONTEXT'
1769         ,p_record       => p_record
1770         ,x_on_operation_action  => x_on_operation_action
1771         );
1772 
1773 RETURN(l_result);
1774 
1775 END CONTEXT;
1776 
1777 FUNCTION ATTRIBUTE1
1778 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1779 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1780 ,   x_on_operation_action           OUT NOCOPY NUMBER
1781 ) RETURN NUMBER
1782 IS
1783 l_result        NUMBER;
1784 BEGIN
1785 
1786     l_result := Is_OP_constrained
1787         (p_operation    => p_operation
1788         ,p_column_name  => 'ATTRIBUTE1'
1789         ,p_record       => p_record
1790         ,x_on_operation_action  => x_on_operation_action
1791         );
1792 
1793 RETURN(l_result);
1794 
1795 END ATTRIBUTE1;
1796 
1797 FUNCTION ATTRIBUTE2
1798 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1799 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1800 ,   x_on_operation_action           OUT NOCOPY NUMBER
1801 ) RETURN NUMBER
1802 IS
1803 l_result        NUMBER;
1804 BEGIN
1805 
1806     l_result := Is_OP_constrained
1807         (p_operation    => p_operation
1808         ,p_column_name  => 'ATTRIBUTE2'
1809         ,p_record       => p_record
1810         ,x_on_operation_action  => x_on_operation_action
1811         );
1812 
1813 RETURN(l_result);
1814 
1815 END ATTRIBUTE2;
1816 
1817 FUNCTION ATTRIBUTE3
1818 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1819 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1820 ,   x_on_operation_action           OUT NOCOPY NUMBER
1821 ) RETURN NUMBER
1822 IS
1823 l_result        NUMBER;
1824 BEGIN
1825 
1826     l_result := Is_OP_constrained
1827         (p_operation    => p_operation
1828         ,p_column_name  => 'ATTRIBUTE3'
1829         ,p_record       => p_record
1830         ,x_on_operation_action  => x_on_operation_action
1831         );
1832 
1833 RETURN(l_result);
1834 
1835 END ATTRIBUTE3;
1836 
1837 FUNCTION ATTRIBUTE4
1838 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1839 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1840 ,   x_on_operation_action           OUT NOCOPY NUMBER
1841 ) RETURN NUMBER
1842 IS
1843 l_result        NUMBER;
1844 BEGIN
1845 
1846     l_result := Is_OP_constrained
1847         (p_operation    => p_operation
1848         ,p_column_name  => 'ATTRIBUTE4'
1849         ,p_record       => p_record
1850         ,x_on_operation_action  => x_on_operation_action
1851         );
1852 
1853 RETURN(l_result);
1854 
1855 END ATTRIBUTE4;
1856 
1857 FUNCTION ATTRIBUTE5
1858 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1859 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1860 ,   x_on_operation_action           OUT NOCOPY NUMBER
1861 ) RETURN NUMBER
1862 IS
1863 l_result        NUMBER;
1864 BEGIN
1865 
1866     l_result := Is_OP_constrained
1867         (p_operation    => p_operation
1868         ,p_column_name  => 'ATTRIBUTE5'
1869         ,p_record       => p_record
1870         ,x_on_operation_action  => x_on_operation_action
1871         );
1872 
1873 RETURN(l_result);
1874 
1875 END ATTRIBUTE5;
1876 
1877 FUNCTION ATTRIBUTE6
1878 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1879 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1880 ,   x_on_operation_action           OUT NOCOPY NUMBER
1881 ) RETURN NUMBER
1882 IS
1883 l_result        NUMBER;
1884 BEGIN
1885 
1889         ,p_record       => p_record
1886     l_result := Is_OP_constrained
1887         (p_operation    => p_operation
1888         ,p_column_name  => 'ATTRIBUTE6'
1890         ,x_on_operation_action  => x_on_operation_action
1891         );
1892 
1893 RETURN(l_result);
1894 
1895 END ATTRIBUTE6;
1896 
1897 FUNCTION ATTRIBUTE7
1898 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1899 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1900 ,   x_on_operation_action           OUT NOCOPY NUMBER
1901 ) RETURN NUMBER
1902 IS
1903 l_result        NUMBER;
1904 BEGIN
1905 
1906     l_result := Is_OP_constrained
1907         (p_operation    => p_operation
1908         ,p_column_name  => 'ATTRIBUTE7'
1909         ,p_record       => p_record
1910         ,x_on_operation_action  => x_on_operation_action
1911         );
1912 
1913 RETURN(l_result);
1914 
1915 END ATTRIBUTE7;
1916 
1917 FUNCTION ATTRIBUTE8
1918 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1919 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1920 ,   x_on_operation_action           OUT NOCOPY NUMBER
1921 ) RETURN NUMBER
1922 IS
1923 l_result        NUMBER;
1924 BEGIN
1925 
1926     l_result := Is_OP_constrained
1927         (p_operation    => p_operation
1928         ,p_column_name  => 'ATTRIBUTE8'
1929         ,p_record       => p_record
1930         ,x_on_operation_action  => x_on_operation_action
1931         );
1932 
1933 RETURN(l_result);
1934 
1935 END ATTRIBUTE8;
1936 
1937 FUNCTION ATTRIBUTE9
1938 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1939 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1940 ,   x_on_operation_action           OUT NOCOPY NUMBER
1941 ) RETURN NUMBER
1942 IS
1943 l_result        NUMBER;
1944 BEGIN
1945 
1946     l_result := Is_OP_constrained
1947         (p_operation    => p_operation
1948         ,p_column_name  => 'ATTRIBUTE9'
1949         ,p_record       => p_record
1950         ,x_on_operation_action  => x_on_operation_action
1951         );
1952 
1953 RETURN(l_result);
1954 
1955 END ATTRIBUTE9;
1956 
1957 FUNCTION ATTRIBUTE10
1958 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1959 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1960 ,   x_on_operation_action           OUT NOCOPY NUMBER
1961 ) RETURN NUMBER
1962 IS
1963 l_result        NUMBER;
1964 BEGIN
1965 
1966     l_result := Is_OP_constrained
1967         (p_operation    => p_operation
1968         ,p_column_name  => 'ATTRIBUTE10'
1969         ,p_record       => p_record
1970         ,x_on_operation_action  => x_on_operation_action
1971         );
1972 
1973 RETURN(l_result);
1974 
1975 END ATTRIBUTE10;
1976 
1977 FUNCTION ATTRIBUTE11
1978 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1979 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
1980 ,   x_on_operation_action           OUT NOCOPY NUMBER
1981 ) RETURN NUMBER
1982 IS
1983 l_result        NUMBER;
1984 BEGIN
1985 
1986     l_result := Is_OP_constrained
1987         (p_operation    => p_operation
1988         ,p_column_name  => 'ATTRIBUTE11'
1989         ,p_record       => p_record
1990         ,x_on_operation_action  => x_on_operation_action
1991         );
1992 
1993 RETURN(l_result);
1994 
1995 END ATTRIBUTE11;
1996 
1997 FUNCTION ATTRIBUTE12
1998 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1999 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2000 ,   x_on_operation_action           OUT NOCOPY NUMBER
2001 ) RETURN NUMBER
2002 IS
2003 l_result        NUMBER;
2004 BEGIN
2005 
2006     l_result := Is_OP_constrained
2007         (p_operation    => p_operation
2008         ,p_column_name  => 'ATTRIBUTE12'
2009         ,p_record       => p_record
2010         ,x_on_operation_action  => x_on_operation_action
2011         );
2012 
2013 RETURN(l_result);
2014 
2015 END ATTRIBUTE12;
2016 
2017 FUNCTION ATTRIBUTE13
2018 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2019 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2020 ,   x_on_operation_action           OUT NOCOPY NUMBER
2021 ) RETURN NUMBER
2022 IS
2023 l_result        NUMBER;
2024 BEGIN
2025 
2026     l_result := Is_OP_constrained
2027         (p_operation    => p_operation
2028         ,p_column_name  => 'ATTRIBUTE13'
2029         ,p_record       => p_record
2030         ,x_on_operation_action  => x_on_operation_action
2031         );
2032 
2033 RETURN(l_result);
2034 
2035 END ATTRIBUTE13;
2036 
2037 FUNCTION ATTRIBUTE14
2038 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2039 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2040 ,   x_on_operation_action           OUT NOCOPY NUMBER
2041 ) RETURN NUMBER
2042 IS
2043 l_result        NUMBER;
2047         (p_operation    => p_operation
2044 BEGIN
2045 
2046     l_result := Is_OP_constrained
2048         ,p_column_name  => 'ATTRIBUTE14'
2049         ,p_record       => p_record
2050         ,x_on_operation_action  => x_on_operation_action
2051         );
2052 
2053 RETURN(l_result);
2054 
2055 END ATTRIBUTE14;
2056 
2057 FUNCTION ATTRIBUTE15
2058 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2059 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2060 ,   x_on_operation_action           OUT NOCOPY NUMBER
2061 ) RETURN NUMBER
2062 IS
2063 l_result        NUMBER;
2064 BEGIN
2065 
2066     l_result := Is_OP_constrained
2067         (p_operation    => p_operation
2068         ,p_column_name  => 'ATTRIBUTE15'
2069         ,p_record       => p_record
2070         ,x_on_operation_action  => x_on_operation_action
2071         );
2072 
2073 RETURN(l_result);
2074 
2075 END ATTRIBUTE15;
2076 
2077 FUNCTION ATTRIBUTE16
2078 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2079 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2080 ,   x_on_operation_action           OUT NOCOPY NUMBER
2081 ) RETURN NUMBER
2082 IS
2083 l_result        NUMBER;
2084 BEGIN
2085 
2086     l_result := Is_OP_constrained
2087         (p_operation    => p_operation
2088         ,p_column_name  => 'ATTRIBUTE16'
2089         ,p_record       => p_record
2090         ,x_on_operation_action  => x_on_operation_action
2091         );
2092 
2093 RETURN(l_result);
2094 
2095 END ATTRIBUTE16;
2096 
2097 FUNCTION ATTRIBUTE17
2098 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2099 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2100 ,   x_on_operation_action           OUT NOCOPY NUMBER
2101 ) RETURN NUMBER
2102 IS
2103 l_result        NUMBER;
2104 BEGIN
2105 
2106     l_result := Is_OP_constrained
2107         (p_operation    => p_operation
2108         ,p_column_name  => 'ATTRIBUTE17'
2109         ,p_record       => p_record
2110         ,x_on_operation_action  => x_on_operation_action
2111         );
2112 
2113 RETURN(l_result);
2114 
2115 END ATTRIBUTE17;
2116 
2117 FUNCTION ATTRIBUTE18
2118 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2119 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2120 ,   x_on_operation_action           OUT NOCOPY NUMBER
2121 ) RETURN NUMBER
2122 IS
2123 l_result        NUMBER;
2124 BEGIN
2125 
2126     l_result := Is_OP_constrained
2127         (p_operation    => p_operation
2128         ,p_column_name  => 'ATTRIBUTE18'
2129         ,p_record       => p_record
2130         ,x_on_operation_action  => x_on_operation_action
2131         );
2132 
2133 RETURN(l_result);
2134 
2135 END ATTRIBUTE18;
2136 
2137 FUNCTION ATTRIBUTE19
2138 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2139 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2140 ,   x_on_operation_action           OUT NOCOPY NUMBER
2141 ) RETURN NUMBER
2142 IS
2143 l_result        NUMBER;
2144 BEGIN
2145 
2146     l_result := Is_OP_constrained
2147         (p_operation    => p_operation
2148         ,p_column_name  => 'ATTRIBUTE19'
2149         ,p_record       => p_record
2150         ,x_on_operation_action  => x_on_operation_action
2151         );
2152 
2153 RETURN(l_result);
2154 
2155 END ATTRIBUTE19;
2156 
2157 FUNCTION ATTRIBUTE20
2158 (   p_operation                     IN  VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2159 ,   p_record                        IN  OE_AK_BLANKET_LINES_V%ROWTYPE
2160 ,   x_on_operation_action           OUT NOCOPY NUMBER
2161 ) RETURN NUMBER
2162 IS
2163 l_result        NUMBER;
2164 BEGIN
2165 
2166     l_result := Is_OP_constrained
2167         (p_operation    => p_operation
2168         ,p_column_name  => 'ATTRIBUTE20'
2169         ,p_record       => p_record
2170         ,x_on_operation_action  => x_on_operation_action
2171         );
2172 
2173 RETURN(l_result);
2174 
2175 END ATTRIBUTE20;
2176 
2177 
2178 PROCEDURE Entity
2179 (   p_LINE_rec                      IN  Oe_Blanket_Pub.LINE_Rec_Type
2180 ,   x_result                        OUT NOCOPY NUMBER
2181 ,   x_return_status                 OUT NOCOPY VARCHAR2
2182 ) IS
2183 l_operation	VARCHAR2(1);
2184 l_on_operation_action	NUMBER;
2185 l_rowtype_rec	OE_AK_BLANKET_LINES_V%ROWTYPE;
2186 BEGIN
2187 
2188 oe_debug_pub.add('Enter OE_Blanket_Line_Security.Entity',1);
2189 
2190 -- Initializing return status to SUCCESS
2191 x_return_status := FND_API.G_RET_STS_SUCCESS;
2192 
2193 IF p_LINE_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2194     l_operation := OE_PC_GLOBALS.CREATE_OP;
2195 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2196     l_operation := OE_PC_GLOBALS.UPDATE_OP;
2197 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_DELETE THEN
2198     l_operation := OE_PC_GLOBALS.DELETE_OP;
2199 ELSE
2200     oe_debug_pub.add('Invalid operation',1);
2204 OE_Blanket_Util.Line_API_Rec_To_Rowtype_Rec
2201     RAISE FND_API.G_EXC_ERROR;
2202 END IF;
2203 
2205 	(p_LINE_rec		=> p_line_rec
2206 	, x_rowtype_rec	=> l_rowtype_rec);
2207 
2208 --Initialize security global record
2209 OE_Blanket_Line_SECURITY.g_record := l_rowtype_rec;
2210 
2211 x_result := Is_OP_constrained
2212     (p_operation	=> l_operation
2213     ,p_record	=> l_rowtype_rec
2214     ,x_on_operation_action	=> l_on_operation_action
2215     );
2216 
2217 oe_debug_pub.add('Exit OE_Blanket_Line_Security.Entity',1);
2218 
2219 EXCEPTION
2220     WHEN FND_API.G_EXC_ERROR THEN
2221     x_return_status := FND_API.G_RET_STS_ERROR;
2222     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2223     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2224     WHEN OTHERS THEN
2225     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2226     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2227         OE_MSG_PUB.Add_Exc_Msg
2228         (   G_PKG_NAME
2229         ,   'Entity'
2230         );
2231     END IF;
2232 
2233 END Entity;
2234 
2235 PROCEDURE Attributes
2236 (   p_LINE_rec                      IN  Oe_Blanket_Pub.LINE_Rec_Type
2237 ,   p_old_LINE_rec                  IN  Oe_Blanket_Pub.LINE_Rec_Type := Oe_Blanket_Pub.G_MISS_BLANKET_LINE_REC
2238 ,   x_result                        OUT NOCOPY NUMBER
2239 ,   x_return_status                 OUT NOCOPY VARCHAR2
2240 ) IS
2241 l_operation	VARCHAR2(1);
2242 l_on_operation_action  NUMBER;
2243 l_result		NUMBER;
2244 l_rowtype_rec	OE_AK_BLANKET_LINES_V%ROWTYPE;
2245 l_column_name	VARCHAR2(30);
2246 l_active_flag  VARCHAR2(1);
2247 l_check_all_cols_constraint VARCHAR2(1);
2248 BEGIN
2249 oe_debug_pub.add('Enter OE_Blanket_Line_Security.Attributes',1);
2250 
2251 -- Initializing return status to SUCCESS
2252 x_return_status := FND_API.G_RET_STS_SUCCESS;
2253 
2254 -- Initializing out result to NOT CONSTRAINED
2255 x_result := OE_PC_GLOBALS.NO;
2256 
2257  -- Get the operation code to be passed to the security framework API
2258 IF p_LINE_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
2259 
2260     -- Bug 2639336 : if the order source is Copy then skip the Attribute
2261     -- level check
2262 --   IF p_LINE_rec.source_document_type_id = OE_GLOBALS.G_ORDER_SOURCE_COPY
2263 --      THEN
2264 --      RETURN;
2265 --   ELSE
2266     l_operation := OE_PC_GLOBALS.CREATE_OP;
2267 --   END IF;
2268 
2269     -- Bug 1755817: if there are no attribute-specific insert
2270     -- constraints, then no need to go further. Entity level
2271     -- security check for CREATE will be called again from
2272     -- process order after defaulting.
2273     IF NOT OE_PC_Constraints_Admin_PVT.Check_On_Insert_Exists
2274            (p_entity_id   => OE_PC_GLOBALS.G_ENTITY_LINE
2275            ,p_responsibility_id     => nvl(fnd_global.resp_id, -1)
2276            , p_application_id       => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
2277            )
2278     THEN
2279        RETURN;
2280     END IF;
2281 
2282 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
2283     l_operation := OE_PC_GLOBALS.UPDATE_OP;
2284 ELSE
2285     oe_debug_pub.add('Invalid operation',1);
2286     RAISE FND_API.G_EXC_ERROR;
2287 END IF;
2288 
2289 OE_Blanket_Util.Line_API_Rec_To_Rowtype_Rec
2290 	(p_LINE_rec		=> p_line_rec
2291 	, x_rowtype_rec	=> l_rowtype_rec);
2292 
2293 --Initialize security global record
2294 OE_Blanket_Line_SECURITY.g_record := l_rowtype_rec;
2295 
2296 -- Compare the new and old entity records and
2297 -- check constraints for all the changed attributes.
2298 
2299     IF p_line_rec.accounting_rule_id = FND_API.G_MISS_NUM THEN NULL;
2300     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.accounting_rule_id,p_old_line_rec.accounting_rule_id) THEN
2301 
2302         l_result := ACCOUNTING_RULE
2303             (p_operation        => l_operation
2304             ,p_record   => l_rowtype_rec
2305             ,x_on_operation_action => l_on_operation_action
2306             );
2307 
2308         IF l_result = OE_PC_GLOBALS.YES THEN
2309             -- set OUT result to CONSTRAINED
2310             x_result := OE_PC_GLOBALS.YES;
2311         END IF;
2312 
2313     END IF;
2314 
2315     IF p_line_rec.cust_po_number = FND_API.G_MISS_CHAR THEN NULL;
2316     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.cust_po_number,p_old_line_rec.cust_po_number) THEN
2317 
2318         l_result := CUST_PO_NUMBER
2319             (p_operation        => l_operation
2320             ,p_record   => l_rowtype_rec
2321             ,x_on_operation_action => l_on_operation_action
2322             );
2323 
2324         IF l_result = OE_PC_GLOBALS.YES THEN
2325             -- set OUT result to CONSTRAINED
2326             x_result := OE_PC_GLOBALS.YES;
2327         END IF;
2328 
2329     END IF;
2330 
2331     IF p_line_rec.deliver_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2332     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.deliver_to_org_id,p_old_line_rec.deliver_to_org_id) THEN
2333 
2334         l_result := DELIVER_TO_ORG
2335             (p_operation        => l_operation
2336             ,p_record   => l_rowtype_rec
2337             ,x_on_operation_action => l_on_operation_action
2341             -- set OUT result to CONSTRAINED
2338             );
2339 
2340         IF l_result = OE_PC_GLOBALS.YES THEN
2342             x_result := OE_PC_GLOBALS.YES;
2343         END IF;
2344 
2345     END IF;
2346 
2347     IF p_line_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN NULL;
2348     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.freight_terms_code,p_old_line_rec.freight_terms_code) THEN
2349 
2350         l_result := FREIGHT_TERMS
2351             (p_operation        => l_operation
2352             ,p_record   => l_rowtype_rec
2353             ,x_on_operation_action => l_on_operation_action
2354             );
2355 
2356         IF l_result = OE_PC_GLOBALS.YES THEN
2357             -- set OUT result to CONSTRAINED
2358             x_result := OE_PC_GLOBALS.YES;
2359         END IF;
2360 
2361     END IF;
2362 
2363     IF p_line_rec.inventory_item_id = FND_API.G_MISS_NUM THEN NULL;
2364     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.inventory_item_id,p_old_line_rec.inventory_item_id) THEN
2365 
2366         l_result := INVENTORY_ITEM
2367             (p_operation        => l_operation
2368             ,p_record   => l_rowtype_rec
2369             ,x_on_operation_action => l_on_operation_action
2370             );
2371 
2372         IF l_result = OE_PC_GLOBALS.YES THEN
2373             -- set OUT result to CONSTRAINED
2374             x_result := OE_PC_GLOBALS.YES;
2375         END IF;
2376 
2377     END IF;
2378 
2379     IF p_line_rec.invoice_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2380     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.invoice_to_org_id,p_old_line_rec.invoice_to_org_id) THEN
2381 
2382         l_result := INVOICE_TO_ORG
2383             (p_operation        => l_operation
2384             ,p_record   => l_rowtype_rec
2385             ,x_on_operation_action => l_on_operation_action
2386             );
2387 
2388         IF l_result = OE_PC_GLOBALS.YES THEN
2389             -- set OUT result to CONSTRAINED
2390             x_result := OE_PC_GLOBALS.YES;
2391         END IF;
2392 
2393     END IF;
2394 
2395     IF p_line_rec.invoicing_rule_id = FND_API.G_MISS_NUM THEN NULL;
2396     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.invoicing_rule_id,p_old_line_rec.invoicing_rule_id) THEN
2397 
2398         l_result := INVOICING_RULE
2399             (p_operation        => l_operation
2400             ,p_record   => l_rowtype_rec
2401             ,x_on_operation_action => l_on_operation_action
2402             );
2403 
2404         IF l_result = OE_PC_GLOBALS.YES THEN
2405             -- set OUT result to CONSTRAINED
2406             x_result := OE_PC_GLOBALS.YES;
2407         END IF;
2408 
2409     END IF;
2410 
2411     IF p_line_rec.item_identifier_type = FND_API.G_MISS_CHAR THEN NULL;
2412     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.item_identifier_type,p_old_line_rec.item_identifier_type) THEN
2413 
2414         l_result := ITEM_IDENTIFIER_TYPE
2415             (p_operation        => l_operation
2416             ,p_record   => l_rowtype_rec
2417             ,x_on_operation_action => l_on_operation_action
2418             );
2419 
2420         IF l_result = OE_PC_GLOBALS.YES THEN
2421             -- set OUT result to CONSTRAINED
2422             x_result := OE_PC_GLOBALS.YES;
2423         END IF;
2424 
2425     END IF;
2426 
2427     IF p_line_rec.line_number = FND_API.G_MISS_NUM THEN NULL;
2428     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.line_number,p_old_line_rec.line_number) THEN
2429 
2430         l_result := LINE_NUMBER
2431             (p_operation        => l_operation
2432             ,p_record   => l_rowtype_rec
2433             ,x_on_operation_action => l_on_operation_action
2434             );
2435 
2436         IF l_result = OE_PC_GLOBALS.YES THEN
2437             -- set OUT result to CONSTRAINED
2438             x_result := OE_PC_GLOBALS.YES;
2439         END IF;
2440 
2441     END IF;
2442 
2443     IF p_line_rec.line_type_id = FND_API.G_MISS_NUM THEN NULL;
2444     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.line_type_id,p_old_line_rec.line_type_id) THEN
2445 
2446         l_result := LINE_TYPE
2447             (p_operation        => l_operation
2448             ,p_record   => l_rowtype_rec
2449             ,x_on_operation_action => l_on_operation_action
2450             );
2451 
2452         IF l_result = OE_PC_GLOBALS.YES THEN
2453             -- set OUT result to CONSTRAINED
2454             x_result := OE_PC_GLOBALS.YES;
2455         END IF;
2456 
2457     END IF;
2458 
2459     IF p_line_rec.order_quantity_uom = FND_API.G_MISS_CHAR THEN NULL;
2460     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.order_quantity_uom,p_old_line_rec.order_quantity_uom) THEN
2461 
2462         l_result := ORDER_QUANTITY_UOM
2463             (p_operation        => l_operation
2464             ,p_record   => l_rowtype_rec
2465             ,x_on_operation_action => l_on_operation_action
2466             );
2467 
2468         IF l_result = OE_PC_GLOBALS.YES THEN
2469             -- set OUT result to CONSTRAINED
2470             x_result := OE_PC_GLOBALS.YES;
2471         END IF;
2472 
2473     END IF;
2474 
2475     IF p_line_rec.packing_instructions = FND_API.G_MISS_CHAR THEN NULL;
2479             (p_operation        => l_operation
2476     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.packing_instructions,p_old_line_rec.packing_instructions) THEN
2477 
2478         l_result := PACKING_INSTRUCTIONS
2480             ,p_record   => l_rowtype_rec
2481             ,x_on_operation_action => l_on_operation_action
2482             );
2483 
2484         IF l_result = OE_PC_GLOBALS.YES THEN
2485             -- set OUT result to CONSTRAINED
2486             x_result := OE_PC_GLOBALS.YES;
2487         END IF;
2488 
2489     END IF;
2490 
2491     IF p_line_rec.payment_term_id = FND_API.G_MISS_NUM THEN NULL;
2492     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.payment_term_id,p_old_line_rec.payment_term_id) THEN
2493 
2494         l_result := PAYMENT_TERM
2495             (p_operation        => l_operation
2496             ,p_record   => l_rowtype_rec
2497             ,x_on_operation_action => l_on_operation_action
2498             );
2499 
2500         IF l_result = OE_PC_GLOBALS.YES THEN
2501             -- set OUT result to CONSTRAINED
2502             x_result := OE_PC_GLOBALS.YES;
2503         END IF;
2504 
2505     END IF;
2506 
2507     IF p_line_rec.price_list_id = FND_API.G_MISS_NUM THEN NULL;
2508     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.price_list_id,p_old_line_rec.price_list_id) THEN
2509 
2510         l_result := PRICE_LIST
2511             (p_operation        => l_operation
2512             ,p_record   => l_rowtype_rec
2513             ,x_on_operation_action => l_on_operation_action
2514             );
2515 
2516         IF l_result = OE_PC_GLOBALS.YES THEN
2517             -- set OUT result to CONSTRAINED
2518             x_result := OE_PC_GLOBALS.YES;
2519         END IF;
2520 
2521     END IF;
2522 
2523     IF p_line_rec.salesrep_id = FND_API.G_MISS_NUM THEN NULL;
2524     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.salesrep_id,p_old_line_rec.salesrep_id) THEN
2525 
2526         l_result := SALESREP
2527             (p_operation        => l_operation
2528             ,p_record   => l_rowtype_rec
2529             ,x_on_operation_action => l_on_operation_action
2530             );
2531 
2532         IF l_result = OE_PC_GLOBALS.YES THEN
2533             -- set OUT result to CONSTRAINED
2534             x_result := OE_PC_GLOBALS.YES;
2535         END IF;
2536 
2537     END IF;
2538 
2539     IF p_line_rec.shipping_instructions = FND_API.G_MISS_CHAR THEN NULL;
2540     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_instructions,p_old_line_rec.shipping_instructions) THEN
2541 
2542         l_result := SHIPPING_INSTRUCTIONS
2543             (p_operation        => l_operation
2544             ,p_record   => l_rowtype_rec
2545             ,x_on_operation_action => l_on_operation_action
2546             );
2547 
2548         IF l_result = OE_PC_GLOBALS.YES THEN
2549             -- set OUT result to CONSTRAINED
2550             x_result := OE_PC_GLOBALS.YES;
2551         END IF;
2552 
2553     END IF;
2554 
2555     IF p_line_rec.shipping_method_code = FND_API.G_MISS_CHAR THEN NULL;
2556     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_method_code,p_old_line_rec.shipping_method_code) THEN
2557 
2558         l_result := SHIPPING_METHOD
2559             (p_operation        => l_operation
2560             ,p_record   => l_rowtype_rec
2561             ,x_on_operation_action => l_on_operation_action
2562             );
2563 
2564         IF l_result = OE_PC_GLOBALS.YES THEN
2565             -- set OUT result to CONSTRAINED
2566             x_result := OE_PC_GLOBALS.YES;
2567         END IF;
2568 
2569     END IF;
2570 
2571     IF p_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN NULL;
2572     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_from_org_id,p_old_line_rec.ship_from_org_id) THEN
2573 
2574         l_result := SHIP_FROM_ORG
2575             (p_operation        => l_operation
2576             ,p_record   => l_rowtype_rec
2577             ,x_on_operation_action => l_on_operation_action
2578             );
2579 
2580         IF l_result = OE_PC_GLOBALS.YES THEN
2581             -- set OUT result to CONSTRAINED
2582             x_result := OE_PC_GLOBALS.YES;
2583         END IF;
2584 
2585     END IF;
2586 
2587     IF p_line_rec.ship_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2588     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_to_org_id,p_old_line_rec.ship_to_org_id) THEN
2589 
2590         l_result := SHIP_TO_ORG
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 
2603     IF p_line_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN NULL;
2604     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.sold_to_org_id,p_old_line_rec.sold_to_org_id) THEN
2605 
2606         l_result := SOLD_TO_ORG
2607             (p_operation        => l_operation
2608             ,p_record   => l_rowtype_rec
2609             ,x_on_operation_action => l_on_operation_action
2610             );
2611 
2615         END IF;
2612         IF l_result = OE_PC_GLOBALS.YES THEN
2613             -- set OUT result to CONSTRAINED
2614             x_result := OE_PC_GLOBALS.YES;
2616 
2617     END IF;
2618 
2619     IF p_line_rec.unit_list_price = FND_API.G_MISS_NUM THEN NULL;
2620     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.unit_list_price,p_old_line_rec.unit_list_price) THEN
2621 
2622         l_result := UNIT_LIST_PRICE
2623             (p_operation        => l_operation
2624             ,p_record   => l_rowtype_rec
2625             ,x_on_operation_action => l_on_operation_action
2626             );
2627 
2628         IF l_result = OE_PC_GLOBALS.YES THEN
2629             -- set OUT result to CONSTRAINED
2630             x_result := OE_PC_GLOBALS.YES;
2631         END IF;
2632 
2633     END IF;
2634 
2635     IF p_line_rec.start_date_active = FND_API.G_MISS_DATE THEN NULL;
2636     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.start_date_active,p_old_line_rec.start_date_active) THEN
2637 
2638         l_result := START_DATE_ACTIVE
2639             (p_operation        => l_operation
2640             ,p_record   => l_rowtype_rec
2641             ,x_on_operation_action => l_on_operation_action
2642             );
2643 
2644         IF l_result = OE_PC_GLOBALS.YES THEN
2645             -- set OUT result to CONSTRAINED
2646             x_result := OE_PC_GLOBALS.YES;
2647         END IF;
2648 
2649     END IF;
2650 
2651     IF p_line_rec.end_date_active = FND_API.G_MISS_DATE THEN NULL;
2652     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.end_date_active,p_old_line_rec.end_date_active) THEN
2653 
2654         l_result := END_DATE_ACTIVE
2655             (p_operation        => l_operation
2656             ,p_record   => l_rowtype_rec
2657             ,x_on_operation_action => l_on_operation_action
2658             );
2659 
2660         IF l_result = OE_PC_GLOBALS.YES THEN
2661             -- set OUT result to CONSTRAINED
2662             x_result := OE_PC_GLOBALS.YES;
2663         END IF;
2664 
2665     END IF;
2666 
2667     IF p_line_rec.preferred_grade = FND_API.G_MISS_CHAR THEN NULL;
2668     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.preferred_grade,p_old_line_rec.preferred_grade) THEN
2669 
2670         l_result := PREFERRED_GRADE
2671             (p_operation        => l_operation
2672             ,p_record   => l_rowtype_rec
2673             ,x_on_operation_action => l_on_operation_action
2674             );
2675 
2676         IF l_result = OE_PC_GLOBALS.YES THEN
2677             -- set OUT result to CONSTRAINED
2678             x_result := OE_PC_GLOBALS.YES;
2679         END IF;
2680 
2681     END IF;
2682 
2683     IF p_line_rec.enforce_ship_to_flag = FND_API.G_MISS_CHAR THEN NULL;
2684     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_ship_to_flag,p_old_line_rec.enforce_ship_to_flag) THEN
2685 
2686         l_result := ENFORCE_SHIP_TO_FLAG
2687             (p_operation        => l_operation
2688             ,p_record   => l_rowtype_rec
2689             ,x_on_operation_action => l_on_operation_action
2690             );
2691 
2692         IF l_result = OE_PC_GLOBALS.YES THEN
2693             -- set OUT result to CONSTRAINED
2694             x_result := OE_PC_GLOBALS.YES;
2695         END IF;
2696 
2697     END IF;
2698 
2699     IF p_line_rec.enforce_freight_term_flag = FND_API.G_MISS_CHAR THEN NULL;
2700     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_freight_term_flag,p_old_line_rec.enforce_freight_term_flag) THEN
2701 
2702         l_result := ENFORCE_FREIGHT_TERM_FLAG
2703             (p_operation        => l_operation
2704             ,p_record   => l_rowtype_rec
2705             ,x_on_operation_action => l_on_operation_action
2706             );
2707 
2708         IF l_result = OE_PC_GLOBALS.YES THEN
2709             -- set OUT result to CONSTRAINED
2710             x_result := OE_PC_GLOBALS.YES;
2711         END IF;
2712 
2713     END IF;
2714 
2715     IF p_line_rec.enforce_shipping_method_flag = FND_API.G_MISS_CHAR THEN NULL;
2716     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_shipping_method_flag,p_old_line_rec.enforce_shipping_method_flag) THEN
2717 
2718         l_result := ENFORCE_SHIPPING_METHOD_FLAG
2719             (p_operation        => l_operation
2720             ,p_record   => l_rowtype_rec
2721             ,x_on_operation_action => l_on_operation_action
2722             );
2723 
2724         IF l_result = OE_PC_GLOBALS.YES THEN
2725             -- set OUT result to CONSTRAINED
2726             x_result := OE_PC_GLOBALS.YES;
2727         END IF;
2728 
2729     END IF;
2730 
2731     IF p_line_rec.enforce_invoice_to_flag = FND_API.G_MISS_CHAR THEN NULL;
2732     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_invoice_to_flag,p_old_line_rec.enforce_invoice_to_flag) THEN
2733 
2734         l_result := ENFORCE_INVOICE_TO_FLAG
2735             (p_operation        => l_operation
2736             ,p_record   => l_rowtype_rec
2737             ,x_on_operation_action => l_on_operation_action
2738             );
2739 
2740         IF l_result = OE_PC_GLOBALS.YES THEN
2741             -- set OUT result to CONSTRAINED
2742             x_result := OE_PC_GLOBALS.YES;
2743         END IF;
2744 
2745     END IF;
2746 
2747     IF p_line_rec.enforce_price_list_flag = FND_API.G_MISS_CHAR THEN NULL;
2748     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_price_list_flag,p_old_line_rec.enforce_price_list_flag) THEN
2749 
2753             ,x_on_operation_action => l_on_operation_action
2750         l_result := ENFORCE_PRICE_LIST_FLAG
2751             (p_operation        => l_operation
2752             ,p_record   => l_rowtype_rec
2754             );
2755 
2756         IF l_result = OE_PC_GLOBALS.YES THEN
2757             -- set OUT result to CONSTRAINED
2758             x_result := OE_PC_GLOBALS.YES;
2759         END IF;
2760 
2761     END IF;
2762 
2763     IF p_line_rec.enforce_payment_term_flag = FND_API.G_MISS_CHAR THEN NULL;
2764     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_payment_term_flag,p_old_line_rec.enforce_payment_term_flag) THEN
2765 
2766         l_result := ENFORCE_PAYMENT_TERM_FLAG
2767             (p_operation        => l_operation
2768             ,p_record   => l_rowtype_rec
2769             ,x_on_operation_action => l_on_operation_action
2770             );
2771 
2772         IF l_result = OE_PC_GLOBALS.YES THEN
2773             -- set OUT result to CONSTRAINED
2774             x_result := OE_PC_GLOBALS.YES;
2775         END IF;
2776 
2777     END IF;
2778 
2779     IF p_line_rec.enforce_accounting_rule_flag = FND_API.G_MISS_CHAR THEN NULL;
2780     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_accounting_rule_flag,p_old_line_rec.enforce_accounting_rule_flag) THEN
2781 
2782         l_result := ENFORCE_ACCOUNTING_RULE_FLAG
2783             (p_operation        => l_operation
2784             ,p_record   => l_rowtype_rec
2785             ,x_on_operation_action => l_on_operation_action
2786             );
2787 
2788         IF l_result = OE_PC_GLOBALS.YES THEN
2789             -- set OUT result to CONSTRAINED
2790             x_result := OE_PC_GLOBALS.YES;
2791         END IF;
2792 
2793     END IF;
2794 
2795     IF p_line_rec.enforce_invoicing_rule_flag = FND_API.G_MISS_CHAR THEN NULL;
2796     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.enforce_invoicing_rule_flag,p_old_line_rec.enforce_invoicing_rule_flag) THEN
2797 
2798         l_result := ENFORCE_INVOICING_RULE_FLAG
2799             (p_operation        => l_operation
2800             ,p_record   => l_rowtype_rec
2801             ,x_on_operation_action => l_on_operation_action
2802             );
2803 
2804         IF l_result = OE_PC_GLOBALS.YES THEN
2805             -- set OUT result to CONSTRAINED
2806             x_result := OE_PC_GLOBALS.YES;
2807         END IF;
2808 
2809     END IF;
2810 
2811     IF p_line_rec.blanket_min_amount = FND_API.G_MISS_NUM THEN NULL;
2812     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_min_amount,p_old_line_rec.blanket_min_amount) THEN
2813 
2814         l_result := BLANKET_LINE_MIN_AMOUNT
2815             (p_operation        => l_operation
2816             ,p_record   => l_rowtype_rec
2817             ,x_on_operation_action => l_on_operation_action
2818             );
2819 
2820         IF l_result = OE_PC_GLOBALS.YES THEN
2821             -- set OUT result to CONSTRAINED
2822             x_result := OE_PC_GLOBALS.YES;
2823         END IF;
2824 
2825     END IF;
2826 
2827     IF p_line_rec.blanket_max_amount = FND_API.G_MISS_NUM THEN NULL;
2828     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_max_amount,p_old_line_rec.blanket_max_amount) THEN
2829 
2830         l_result := BLANKET_LINE_MAX_AMOUNT
2831             (p_operation        => l_operation
2832             ,p_record   => l_rowtype_rec
2833             ,x_on_operation_action => l_on_operation_action
2834             );
2835 
2836         IF l_result = OE_PC_GLOBALS.YES THEN
2837             -- set OUT result to CONSTRAINED
2838             x_result := OE_PC_GLOBALS.YES;
2839         END IF;
2840 
2841     END IF;
2842 
2843     IF p_line_rec.blanket_min_quantity = FND_API.G_MISS_NUM THEN NULL;
2844     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_min_quantity,p_old_line_rec.blanket_min_quantity) THEN
2845 
2846         l_result := BLANKET_MIN_QUANTITY
2847             (p_operation        => l_operation
2848             ,p_record   => l_rowtype_rec
2849             ,x_on_operation_action => l_on_operation_action
2850             );
2851 
2852         IF l_result = OE_PC_GLOBALS.YES THEN
2853             -- set OUT result to CONSTRAINED
2854             x_result := OE_PC_GLOBALS.YES;
2855         END IF;
2856 
2857     END IF;
2858 
2859     IF p_line_rec.blanket_max_quantity = FND_API.G_MISS_NUM THEN NULL;
2860     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_max_quantity,p_old_line_rec.blanket_max_quantity) THEN
2861 
2862         l_result := BLANKET_MAX_QUANTITY
2863             (p_operation        => l_operation
2864             ,p_record   => l_rowtype_rec
2865             ,x_on_operation_action => l_on_operation_action
2866             );
2867 
2868         IF l_result = OE_PC_GLOBALS.YES THEN
2869             -- set OUT result to CONSTRAINED
2870             x_result := OE_PC_GLOBALS.YES;
2871         END IF;
2872 
2873     END IF;
2874 
2875     IF p_line_rec.min_release_amount = FND_API.G_MISS_NUM THEN NULL;
2876     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.min_release_amount,p_old_line_rec.min_release_amount) THEN
2877 
2878         l_result := MIN_RELEASE_AMOUNT
2879             (p_operation        => l_operation
2880             ,p_record   => l_rowtype_rec
2881             ,x_on_operation_action => l_on_operation_action
2882             );
2883 
2884         IF l_result = OE_PC_GLOBALS.YES THEN
2885             -- set OUT result to CONSTRAINED
2886             x_result := OE_PC_GLOBALS.YES;
2887         END IF;
2888 
2889     END IF;
2890 
2891     IF p_line_rec.max_release_amount = FND_API.G_MISS_NUM THEN NULL;
2892     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.max_release_amount,p_old_line_rec.max_release_amount) THEN
2893 
2894         l_result := MAX_RELEASE_AMOUNT
2895             (p_operation        => l_operation
2896             ,p_record   => l_rowtype_rec
2897             ,x_on_operation_action => l_on_operation_action
2898             );
2899 
2900         IF l_result = OE_PC_GLOBALS.YES THEN
2901             -- set OUT result to CONSTRAINED
2902             x_result := OE_PC_GLOBALS.YES;
2903         END IF;
2904 
2905     END IF;
2906 
2907     IF p_line_rec.min_release_quantity = FND_API.G_MISS_NUM THEN NULL;
2908     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.min_release_quantity,p_old_line_rec.min_release_quantity) THEN
2909 
2910         l_result := MIN_RELEASE_QUANTITY
2911             (p_operation        => l_operation
2912             ,p_record   => l_rowtype_rec
2913             ,x_on_operation_action => l_on_operation_action
2914             );
2915 
2916         IF l_result = OE_PC_GLOBALS.YES THEN
2917             -- set OUT result to CONSTRAINED
2918             x_result := OE_PC_GLOBALS.YES;
2919         END IF;
2920 
2921     END IF;
2922 
2923     IF p_line_rec.max_release_quantity = FND_API.G_MISS_NUM THEN NULL;
2924     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.max_release_quantity,p_old_line_rec.max_release_quantity) THEN
2925 
2926         l_result := MAX_RELEASE_QUANTITY
2927             (p_operation        => l_operation
2928             ,p_record   => l_rowtype_rec
2929             ,x_on_operation_action => l_on_operation_action
2930             );
2931 
2932         IF l_result = OE_PC_GLOBALS.YES THEN
2936 
2933             -- set OUT result to CONSTRAINED
2934             x_result := OE_PC_GLOBALS.YES;
2935         END IF;
2937     END IF;
2938 
2939     IF p_line_rec.override_blanket_controls_flag = FND_API.G_MISS_CHAR THEN NULL;
2940     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.override_blanket_controls_flag,p_old_line_rec.override_blanket_controls_flag) THEN
2941 
2942         l_result := OVERRIDE_BLANKET_CONTROLS_FLAG
2943             (p_operation        => l_operation
2944             ,p_record   => l_rowtype_rec
2945             ,x_on_operation_action => l_on_operation_action
2946             );
2947 
2948         IF l_result = OE_PC_GLOBALS.YES THEN
2949             -- set OUT result to CONSTRAINED
2950             x_result := OE_PC_GLOBALS.YES;
2951         END IF;
2952 
2953     END IF;
2954 
2955     IF p_line_rec.override_release_controls_flag = FND_API.G_MISS_CHAR THEN NULL;
2956     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.override_release_controls_flag,p_old_line_rec.override_release_controls_flag) THEN
2957 
2958         l_result := OVERRIDE_RELEASE_CONTROLS_FLAG
2959             (p_operation        => l_operation
2960             ,p_record   => l_rowtype_rec
2961             ,x_on_operation_action => l_on_operation_action
2962             );
2963 
2964         IF l_result = OE_PC_GLOBALS.YES THEN
2965             -- set OUT result to CONSTRAINED
2966             x_result := OE_PC_GLOBALS.YES;
2967         END IF;
2968 
2969     END IF;
2970 
2971     IF p_line_rec.pricing_uom = FND_API.G_MISS_CHAR THEN NULL;
2972     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.pricing_uom,p_old_line_rec.pricing_uom) THEN
2973 
2974         l_result := PRICING_QUANTITY_UOM
2975             (p_operation        => l_operation
2976             ,p_record   => l_rowtype_rec
2977             ,x_on_operation_action => l_on_operation_action
2978             );
2979 
2980         IF l_result = OE_PC_GLOBALS.YES THEN
2981             -- set OUT result to CONSTRAINED
2982             x_result := OE_PC_GLOBALS.YES;
2983         END IF;
2984 
2985     END IF;
2986 
2987     IF p_line_rec.discount_percent = FND_API.G_MISS_NUM THEN NULL;
2988     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.discount_percent,p_old_line_rec.discount_percent) THEN
2989 
2990         l_result := DISCOUNT_PERCENT
2991             (p_operation        => l_operation
2992             ,p_record   => l_rowtype_rec
2993             ,x_on_operation_action => l_on_operation_action
2994             );
2995 
2996         IF l_result = OE_PC_GLOBALS.YES THEN
2997             -- set OUT result to CONSTRAINED
2998             x_result := OE_PC_GLOBALS.YES;
2999         END IF;
3000 
3001     END IF;
3002 
3003     IF p_line_rec.discount_amount = FND_API.G_MISS_NUM THEN NULL;
3004     ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.discount_amount,p_old_line_rec.discount_amount) THEN
3005 
3006         l_result := DISCOUNT_AMOUNT
3007             (p_operation        => l_operation
3008             ,p_record   => l_rowtype_rec
3009             ,x_on_operation_action => l_on_operation_action
3010             );
3011 
3012         IF l_result = OE_PC_GLOBALS.YES THEN
3013             -- set OUT result to CONSTRAINED
3014             x_result := OE_PC_GLOBALS.YES;
3015         END IF;
3016 
3017     END IF;
3018 
3019 --bug6531947
3020  IF p_line_rec.CONTEXT  = FND_API.G_MISS_CHAR THEN NULL;
3021        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.CONTEXT,p_old_line_rec.CONTEXT )
3022 THEN
3023          l_result := CONTEXT
3024             (p_operation        => l_operation
3025             ,p_record   => l_rowtype_rec
3026             ,x_on_operation_action => l_on_operation_action
3027             );
3028 	            IF l_result = OE_PC_GLOBALS.YES THEN
3029             -- set OUT result to CONSTRAINED
3030             x_result := OE_PC_GLOBALS.YES;
3031         END IF;
3032 
3033     END IF;
3034 
3035 
3036       IF p_line_rec.ATTRIBUTE1 = FND_API.G_MISS_CHAR THEN NULL;
3037        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE1,p_old_line_rec.ATTRIBUTE1) THEN
3038          l_result := ATTRIBUTE1
3039             (p_operation        => l_operation
3040             ,p_record   => l_rowtype_rec
3041             ,x_on_operation_action => l_on_operation_action
3042             );
3043 	            IF l_result = OE_PC_GLOBALS.YES THEN
3044             -- set OUT result to CONSTRAINED
3045             x_result := OE_PC_GLOBALS.YES;
3046         END IF;
3047 
3048     END IF;
3049 
3050   IF p_line_rec.ATTRIBUTE2 = FND_API.G_MISS_CHAR THEN NULL;
3051        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE2,p_old_line_rec.ATTRIBUTE2) THEN
3052          l_result := ATTRIBUTE2
3053             (p_operation        => l_operation
3054             ,p_record   => l_rowtype_rec
3055             ,x_on_operation_action => l_on_operation_action
3056             );
3057 	            IF l_result = OE_PC_GLOBALS.YES THEN
3058             -- set OUT result to CONSTRAINED
3059             x_result := OE_PC_GLOBALS.YES;
3060         END IF;
3061 
3062     END IF;
3063 
3064       IF p_line_rec.ATTRIBUTE3 = FND_API.G_MISS_CHAR THEN NULL;
3065        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE3,p_old_line_rec.ATTRIBUTE3) THEN
3066          l_result := ATTRIBUTE3
3067             (p_operation        => l_operation
3068             ,p_record   => l_rowtype_rec
3069             ,x_on_operation_action => l_on_operation_action
3070             );
3071 	            IF l_result = OE_PC_GLOBALS.YES THEN
3072             -- set OUT result to CONSTRAINED
3073             x_result := OE_PC_GLOBALS.YES;
3074         END IF;
3075 
3076     END IF;
3077 
3078       IF p_line_rec.ATTRIBUTE4 = FND_API.G_MISS_CHAR THEN NULL;
3079        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE4,p_old_line_rec.ATTRIBUTE4) THEN
3083             ,x_on_operation_action => l_on_operation_action
3080          l_result := ATTRIBUTE4
3081             (p_operation        => l_operation
3082             ,p_record   => l_rowtype_rec
3084             );
3085 	            IF l_result = OE_PC_GLOBALS.YES THEN
3086             -- set OUT result to CONSTRAINED
3087             x_result := OE_PC_GLOBALS.YES;
3088         END IF;
3089 
3090     END IF;
3091 
3092       IF p_line_rec.ATTRIBUTE5 = FND_API.G_MISS_CHAR THEN NULL;
3093        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE5,p_old_line_rec.ATTRIBUTE5) THEN
3094          l_result := ATTRIBUTE5
3095             (p_operation        => l_operation
3096             ,p_record   => l_rowtype_rec
3097             ,x_on_operation_action => l_on_operation_action
3098             );
3099 	            IF l_result = OE_PC_GLOBALS.YES THEN
3100             -- set OUT result to CONSTRAINED
3101             x_result := OE_PC_GLOBALS.YES;
3102         END IF;
3103 
3104     END IF;
3105 
3106       IF p_line_rec.ATTRIBUTE6 = FND_API.G_MISS_CHAR THEN NULL;
3107        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE6,p_old_line_rec.ATTRIBUTE6) THEN
3108          l_result := ATTRIBUTE6
3109             (p_operation        => l_operation
3110             ,p_record   => l_rowtype_rec
3111             ,x_on_operation_action => l_on_operation_action
3112             );
3113 	            IF l_result = OE_PC_GLOBALS.YES THEN
3114             -- set OUT result to CONSTRAINED
3115             x_result := OE_PC_GLOBALS.YES;
3116         END IF;
3117 
3118     END IF;
3119 
3120       IF p_line_rec.ATTRIBUTE7 = FND_API.G_MISS_CHAR THEN NULL;
3121        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE7,p_old_line_rec.ATTRIBUTE7) THEN
3122          l_result := ATTRIBUTE7
3123             (p_operation        => l_operation
3124             ,p_record   => l_rowtype_rec
3125             ,x_on_operation_action => l_on_operation_action
3126             );
3127 	            IF l_result = OE_PC_GLOBALS.YES THEN
3128             -- set OUT result to CONSTRAINED
3129             x_result := OE_PC_GLOBALS.YES;
3130         END IF;
3131 
3132     END IF;
3133 
3134       IF p_line_rec.ATTRIBUTE8 = FND_API.G_MISS_CHAR THEN NULL;
3135        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE8,p_old_line_rec.ATTRIBUTE8) THEN
3136          l_result := ATTRIBUTE8
3137             (p_operation        => l_operation
3138             ,p_record   => l_rowtype_rec
3139             ,x_on_operation_action => l_on_operation_action
3140             );
3141 	            IF l_result = OE_PC_GLOBALS.YES THEN
3142             -- set OUT result to CONSTRAINED
3143             x_result := OE_PC_GLOBALS.YES;
3144         END IF;
3145 
3146     END IF;
3147 
3148       IF p_line_rec.ATTRIBUTE9 = FND_API.G_MISS_CHAR THEN NULL;
3149        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE9,p_old_line_rec.ATTRIBUTE9) THEN
3150          l_result := ATTRIBUTE9
3151             (p_operation        => l_operation
3152             ,p_record   => l_rowtype_rec
3153             ,x_on_operation_action => l_on_operation_action
3154             );
3155 	            IF l_result = OE_PC_GLOBALS.YES THEN
3156             -- set OUT result to CONSTRAINED
3157             x_result := OE_PC_GLOBALS.YES;
3158         END IF;
3159 
3160     END IF;
3161 
3162       IF p_line_rec.ATTRIBUTE10 = FND_API.G_MISS_CHAR THEN NULL;
3163        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE10,p_old_line_rec.ATTRIBUTE10) THEN
3164          l_result := ATTRIBUTE10
3165             (p_operation        => l_operation
3166             ,p_record   => l_rowtype_rec
3167             ,x_on_operation_action => l_on_operation_action
3168             );
3169 	            IF l_result = OE_PC_GLOBALS.YES THEN
3170             -- set OUT result to CONSTRAINED
3171             x_result := OE_PC_GLOBALS.YES;
3172         END IF;
3173 
3174     END IF;
3175 
3176       IF p_line_rec.ATTRIBUTE11 = FND_API.G_MISS_CHAR THEN NULL;
3177        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE11,p_old_line_rec.ATTRIBUTE11) THEN
3178          l_result := ATTRIBUTE11
3179             (p_operation        => l_operation
3180             ,p_record   => l_rowtype_rec
3181             ,x_on_operation_action => l_on_operation_action
3182             );
3183 	            IF l_result = OE_PC_GLOBALS.YES THEN
3184             -- set OUT result to CONSTRAINED
3185             x_result := OE_PC_GLOBALS.YES;
3186         END IF;
3187 
3188     END IF;
3189 
3190       IF p_line_rec.ATTRIBUTE12 = FND_API.G_MISS_CHAR THEN NULL;
3191        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE12,p_old_line_rec.ATTRIBUTE12) THEN
3192          l_result := ATTRIBUTE12
3193             (p_operation        => l_operation
3194             ,p_record   => l_rowtype_rec
3195             ,x_on_operation_action => l_on_operation_action
3196             );
3197 	            IF l_result = OE_PC_GLOBALS.YES THEN
3198             -- set OUT result to CONSTRAINED
3199             x_result := OE_PC_GLOBALS.YES;
3200         END IF;
3201 
3202     END IF;
3203 
3204       IF p_line_rec.ATTRIBUTE13 = FND_API.G_MISS_CHAR THEN NULL;
3205        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE13,p_old_line_rec.ATTRIBUTE13) THEN
3206          l_result := ATTRIBUTE13
3207             (p_operation        => l_operation
3208             ,p_record   => l_rowtype_rec
3209             ,x_on_operation_action => l_on_operation_action
3210             );
3211 	            IF l_result = OE_PC_GLOBALS.YES THEN
3212             -- set OUT result to CONSTRAINED
3213             x_result := OE_PC_GLOBALS.YES;
3214         END IF;
3215 
3216     END IF;
3217 
3218       IF p_line_rec.ATTRIBUTE14= FND_API.G_MISS_CHAR THEN NULL;
3219        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE14,p_old_line_rec.ATTRIBUTE14) THEN
3223             ,x_on_operation_action => l_on_operation_action
3220          l_result := ATTRIBUTE14
3221             (p_operation        => l_operation
3222             ,p_record   => l_rowtype_rec
3224             );
3225 	            IF l_result = OE_PC_GLOBALS.YES THEN
3226             -- set OUT result to CONSTRAINED
3227             x_result := OE_PC_GLOBALS.YES;
3228         END IF;
3229 
3230     END IF;
3231 
3232       IF p_line_rec.ATTRIBUTE15 = FND_API.G_MISS_CHAR THEN NULL;
3233        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE15,p_old_line_rec.ATTRIBUTE15) THEN
3234          l_result := ATTRIBUTE15
3235             (p_operation        => l_operation
3236             ,p_record   => l_rowtype_rec
3237             ,x_on_operation_action => l_on_operation_action
3238             );
3239 	            IF l_result = OE_PC_GLOBALS.YES THEN
3240             -- set OUT result to CONSTRAINED
3241             x_result := OE_PC_GLOBALS.YES;
3242         END IF;
3243 
3244     END IF;
3245 
3246       IF p_line_rec.ATTRIBUTE16 = FND_API.G_MISS_CHAR THEN NULL;
3247        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE16,p_old_line_rec.ATTRIBUTE16) THEN
3248          l_result := ATTRIBUTE16
3249             (p_operation        => l_operation
3250             ,p_record   => l_rowtype_rec
3251             ,x_on_operation_action => l_on_operation_action
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_line_rec.ATTRIBUTE17 = FND_API.G_MISS_CHAR THEN NULL;
3261        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE17,p_old_line_rec.ATTRIBUTE17) THEN
3262          l_result := ATTRIBUTE17
3263             (p_operation        => l_operation
3264             ,p_record   => l_rowtype_rec
3265             ,x_on_operation_action => l_on_operation_action
3266             );
3267 	            IF l_result = OE_PC_GLOBALS.YES THEN
3268             -- set OUT result to CONSTRAINED
3269             x_result := OE_PC_GLOBALS.YES;
3270         END IF;
3271 
3272     END IF;
3273 
3274       IF p_line_rec.ATTRIBUTE18 = FND_API.G_MISS_CHAR THEN NULL;
3275        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE18,p_old_line_rec.ATTRIBUTE18) THEN
3276          l_result := ATTRIBUTE18
3277             (p_operation        => l_operation
3278             ,p_record   => l_rowtype_rec
3279             ,x_on_operation_action => l_on_operation_action
3280             );
3281 	            IF l_result = OE_PC_GLOBALS.YES THEN
3282             -- set OUT result to CONSTRAINED
3283             x_result := OE_PC_GLOBALS.YES;
3284         END IF;
3285 
3286     END IF;
3287 
3288       IF p_line_rec.ATTRIBUTE19 = FND_API.G_MISS_CHAR THEN NULL;
3289        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE19,p_old_line_rec.ATTRIBUTE19) THEN
3290          l_result := ATTRIBUTE19
3291             (p_operation        => l_operation
3292             ,p_record   => l_rowtype_rec
3293             ,x_on_operation_action => l_on_operation_action
3294             );
3295 	            IF l_result = OE_PC_GLOBALS.YES THEN
3296             -- set OUT result to CONSTRAINED
3297             x_result := OE_PC_GLOBALS.YES;
3298         END IF;
3299 
3300     END IF;
3301 
3302       IF p_line_rec.ATTRIBUTE20 = FND_API.G_MISS_CHAR THEN NULL;
3303        ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ATTRIBUTE20,p_old_line_rec.ATTRIBUTE20) THEN
3304          l_result := ATTRIBUTE20
3305             (p_operation        => l_operation
3306             ,p_record   => l_rowtype_rec
3307             ,x_on_operation_action => l_on_operation_action
3308             );
3309 	            IF l_result = OE_PC_GLOBALS.YES THEN
3310             -- set OUT result to CONSTRAINED
3311             x_result := OE_PC_GLOBALS.YES;
3312         END IF;
3313 
3314     END IF;
3315 
3316 oe_debug_pub.add('Exit OE_Blanket_Line_Security.Attributes',1);
3317 
3318 EXCEPTION
3319     WHEN FND_API.G_EXC_ERROR THEN
3320     x_return_status := FND_API.G_RET_STS_ERROR;
3321     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3322     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3323     WHEN OTHERS THEN
3324     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3325     IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3326         OE_MSG_PUB.Add_Exc_Msg
3327         (   G_PKG_NAME
3328         ,   'Attributes'
3329         );
3330     END IF;
3331 
3332 END Attributes;
3333 
3334 PROCEDURE ALLOW_TRX_LINE_EXEMPTIONS
3335 ( p_application_id                  IN NUMBER,
3336   p_entity_short_name               IN VARCHAR2,
3337   p_validation_entity_short_name    IN VARCHAR2,
3338   p_validation_tmplt_short_name     IN VARCHAR2,
3339   p_record_set_tmplt_short_name     IN VARCHAR2,
3340   p_scope                           IN VARCHAR2,
3341   p_result                          OUT NOCOPY NUMBER
3342 )
3343 IS
3344     Ret_Val    VARCHAR2(1);
3345 BEGIN
3346 --    Ret_Val := FND_PROFILE.VALUE('AR_ALLOW_TRX_LINE_EXEMPTIONS');
3347     Ret_Val := FND_PROFILE.VALUE('ZX_ALLOW_TRX_LINE_EXEMPTIONS');
3348     IF Ret_Val = 'Y' THEN
3349         p_result := 1;
3350     ELSE
3351         p_result := 0;
3352     END IF;
3353 END ALLOW_TRX_LINE_EXEMPTIONS;
3354 
3355 END OE_Blanket_Line_Security;